这个用户很懒,还没有个人简介
私信
主帖 27
回帖
视频
提问
回答
资源
专栏
(转载公众号:晓磊聊DB)引入数学概率问题:之前上学时都学过,把几组小球放几个盒子,然后计算概率的问题,那么我有10组小球(每组3个),放5个盒子里(每个盒子不能空着),会有多大的概率在2个盒子损坏的情况下,保证每组小球至少保留1个?Tikv可用性图下面对上图简单解释下:(1)以上都是在region默认3副本的情况下的讨论。(2)以上的可用性都是在大量region的情况下,无论有多少个tikv节点,一个region的3个副本肯定会调度到K...
2022-04-21 22:37:07 233浏览 0点赞 0回复 0收藏
(转载公众号:晓磊聊DB)一、名词解释什么是Aerospike数据库?Aerospike是一款分布式NoSQL数据库:数据混合存储架构(key存储时:key是以索引的方式存内存,value存SSD硬盘)作为分布式数据库,大规模数据下的扩展性和稳定性高性能+强一致相比于纯内存的Redis方案,显著降低成本运维成本的降低:易维护+自动rebalance数据什么是XDR?跨数据中心复制(XDR)在Aerospike群集之间透明地、异步地复制数据。对于核心数据,一般都需要...
2022-04-21 22:19:51 195浏览 0点赞 0回复 0收藏
1.概述TiDB4.0版本开始推出PlacementRule(放置规则)功能,是用于控制region副本调度的一套规则系统,通过placementrule可以控制某段连续数据的副本数、位置、region类型等,以满足不同的数据分布需求,默认集群初始化完成后会有一个默认的控制副本数的placementrule。5.0版本前该功能为默认关闭,且官方建议仅在tiflash上使用。Placementrule使用时需要json格式的配置文件,并通过pdctl工具设置和查看,需要设置好规则的应用顺...
2022-04-21 21:54:09 125浏览 0点赞 0回复 0收藏
悲观事务加锁验证TiDB采用percolator事务模型,使用defaultCF存储数据,LOCKCF存储锁信息,WriteCF存储提交版本信息。上述CF的数据存储格式为:TiDB在3.0.8版本前使用乐观事务模式,乐观事务模式下数据写入时首先在tidbserver侧缓存,然后在用户提交时prewrite阶段进行冲突检测和写入数据,commit阶段写入版本信息、清除锁信息。悲观事务模型下在DML阶段就会写入悲观锁,从事务模型可以看到tidb内锁的实现是靠tikv的LOCKCF内写...
2022-04-21 21:42:41 123浏览 0点赞 0回复 0收藏
一、key解码1、直接使用TIDBDECODEKEY函数进行解析pdctlregion查看的key信息是一串十六进制字符串TIDBDECODEKEY是5.0版本开始有的tidb内置函数可以将key解析为包含tableidrowed的json格式2、使用ctl工具转换(1)使用tikvctltoescaped将key转换为escapedraw格式解析处理的格式已经包含t、r(2)使用tikvctltohex将每组字符转换为十六进制使用转换后的十六进制进行替换(3)使用tidbctldecoder进行解码二、解析MVCC信息1、假设我们已经...
2022-04-21 21:29:08 179浏览 0点赞 0回复 0收藏
一、系统环境软硬件配置系统部署注:tidb、压测软件、负载均衡、监控(Promethuesgrafana)等均部署在一起。参数设置二、测试内容在线扩容(1)每主机有2个raid0组,初始创建3个tikv存储节点,挂接目录data,每主机1个tikv使用1个raid组。(2)使用sysbench(128线程)进行oltpreadwrite读写操作。(3)连续增加3个tikv存储节点检测是否能够实现存储节点一键扩容,挂接目录data1,达到每主机2个tikv节点,各使用1个raid组,共计6个t...
2022-04-21 21:16:19 119浏览 0点赞 0回复 0收藏
一、测试说明版本:5.0.3本文依照官方文档’通过拓扑label进行副本调度’的模拟测试,测试模拟5副本3个中心(zone)中其中一个zone完全隔离情况下的副本调度情况,测试内容如下:1、验证默认配置下isolationlevel为空时,zone:z3完全隔离情况下是否会将相同副本调度到同一主机2、验证isolationlevelhost时,zone:z3完全隔离情况下是否会将相同副本调度到同一主机3、验证isolationlevelhost、strictlymatchlabeltrue时,...
2022-04-21 20:38:07 95浏览 0点赞 0回复 0收藏
1、前言  错误的SQL执行计划是生产系统中经常碰到的问题,如未使用正确的索引、表关联方式或顺序错误等,在CBO的优化器下大部分问题是由于统计信息陈旧导致执行计划评估不准确,一般定期收集统计信息即可解决该问题。有较多的时候需要固定执行计划,普遍的做法就是通过SQL内添加HINT强制指定优化器的行为,该方式可以很好的达到控制执行计划的效果,但存在的问题是如果使用的话则必须修改应用程序,而且后续强制指定...
2022-04-21 20:27:00 135浏览 0点赞 0回复 0收藏
1.概述  两地三中心架构,即生产数据中心、同城灾备中心、异地灾备中心的高可用容灾方案。在这种模式下,两个城市的三个数据中心互联互通,如果一个数据中心发生故障或灾难,其他数据中心可以正常运行并对关键业务或全部业务实现接管。相比同城多中心方案,两地三中心具有跨城级高可用能力,可以应对城市级自然灾害。  TiDB分布式数据库通过Raft算法原生支持两地三中心架构的建设,并保证数据库集群数据的...
2022-04-19 15:21:38 179浏览 0点赞 0回复 0收藏
1、前言随着国内互联网企业的快速发展,传统的oracle数据库架构在成本和扩展性上已不能满足要求,更多的企业将目光转向了开源的MySQL数据库,由于MySQL本身是一个单机数据库其本身并不具备横向扩展能力,于是出现了应用侧的分库分表方案。进一步的又开发出分库分表中间件,由中间件完成分库分表的管理,避免了应用侧的复杂性,分库分表虽然一定程度解决了扩展性的问题,但也存在着其他比较严重的问题,比如:必须指定分库键、分...
2022-04-19 15:01:12 284浏览 0点赞 0回复 0收藏
在了解IndexLookUp执行过程前,先介绍下mysql索引扫描的执行作为对比(此处借用网络图),一条SQL执行时在存储引擎侧首先通读取索引中符合条件记录的主键(可能涉及ICP、组合索引部分列等),然后根据主键去表中读取记录,之后将记录返回给server层,再由server层根据其他条件进行过滤后返回客户端。上述过程中索引扫描和回表操作都是在存储引擎侧完成。IndexLookUp算子是tidb通过扫描索引然后通过rowid回表的扫描过程,包含2个子算...
2022-04-19 14:54:28 137浏览 0点赞 0回复 0收藏
一、前言OceanBase和TiDB作为国内2款的比较流行的兼容MySQL协议的开源数据库使用者也越来越多,两种数据库不仅在架构原理上有较大差异,在开源方式上有较大的不同:TiDB采用的ApacheLicense2.0开源协议,其第一行代码提交就是在github上,和企业版相比社区版只是不包含访问白名单和审计2个插件功能,其他与企业版完全相同且同步发版(之前闭源的tiflash也于2022.4.1完全开源)。OceanBase社区版采用国内的木兰公共协议MulanPubL2....
2022-04-19 14:50:24 149浏览 0点赞 0回复 0收藏
TiKV节点缩容不掉,通常遇到的情况:1、经常遇到的情况是:3个节点的tikv集群缩容肯定会一直卡着,因为没有新节点接受要下线kv的regionpeer。2、另外就是除缩容tikv外,剩下的KV硬盘使用情况比较高,到达schedule.highspaceratio0.6的限制,导致该tikv的region无法迁移。但是今天要讨论的是:我先执行了扩容,然后再进行的缩容,仍然卡着就说不过去了。问题现场版本:TiDBv5.2.1情况说明:这个tidb是有tiflash节点的,并且这个...
2022-04-16 22:22:02 282浏览 0点赞 0回复 0收藏
(转载公众号:晓磊聊DB)当大家看到这个标题时,就已经知道了下面几点:(1)出了撒子问题?ok,集群所有KV节点存储硬盘使用80%以上,凌晨触发频繁报警,搞DB的兄弟们还能不能愉快的睡觉?(2)谁搞的?ok,GC不干活。(3)真正导致问题的原因是啥?OK,TiCDC背锅。完了,看到这里本篇文章就基本介绍完了,会不会被劝退?但是老铁千万别走,且听我将细节娓娓道来,后面有“干货”,我会说明我到底做了啥子操作降低硬盘使用;GC...
2022-04-16 21:59:54 157浏览 0点赞 0回复 0收藏
(转载公众号:晓磊聊DB)各种数据库官方都有硬件有一定要求,本文就比较普惠的告诉大家为啥要这样设置,以及不同的设置有啥不同。首先硬件都在适配操作系统的,数据库是安装在操作系统之上。不同的分布式数据库对于软件和硬件都有一些推荐配置。比如TiDB在Linux平台推荐CentOS7.3+版本,并且如果要运行生产环境的集群,TiDBPDTiKV等组件都有最低的CPU、内存、硬盘、网卡要求。本文在满足这些需求的基础上,探讨下硬件参数优化...
2022-04-16 21:39:15 186浏览 0点赞 0回复 0收藏
(转载公众号:晓磊聊DB)乐观悲观模型是数据库常用的2种事务模型,首先从字义上对2种事务模型进行简单区分,比如我要更新Table中的一行数据,乐观模型就是“乐观”的认为不会有其他事务也同时更新同一行数据,所以拿数据时不用加锁,最后在提交时才判断下是否有同时更新的事务。悲观模型就是“悲观”的认为会有其他事务会更新我要更新的数据,所以会在拿数据时就会加锁,这样保证自己更新时数据不会被别人再修改。乐观悲观事务...
2022-04-16 21:24:01 125浏览 0点赞 0回复 0收藏
(转载公众号:晓磊聊DB)首先什么是“生态系统”?生态系统(英语:Ecosystem)是指在一个特定环境内,相互作用的所有生物和此一环境的统称。此特定环境里的非生物因子(例如空气、水及土壤等)与其间的生物之间具交互作用,不断地进行物质的交换和能量的传递,并借由物质流和能量流的连接,而形成一个整体,即称此为生态系统或生态系。上面是来自维基百科的解释,生态系统主要讨论是是生物学领域物质交换和能量传递的系统。那...
2022-04-16 21:00:55 276浏览 0点赞 0回复 0收藏
(转载公众号:晓磊聊DB)首先来一张大图给大家展示下数据库的进化历史,本篇文章会基于下面这个图展开数据管理技术的产生和发展聊分布式数据库之前,先看看数据库的由来。我对数据库的最初认知来自于大学所学的一本书籍《数据库系统概论》(王珊萨师煊版本),下面开始聊聊数据管理。•人工管理数据20世纪50年之前,数据靠存储在纸带、卡片、磁带上。这样的数据一般都是用于科学计算,数据一般不需要长期保存,一般都是有程...
2022-04-16 20:55:23 153浏览 0点赞 0回复 0收藏
(转载公众号:晓磊聊DB)为什么定性能优化这个主题?写在TUG企业行将走进58同城之前,作为TUG的华北区leader,在定这次企业行主题时,就想到TiDB性能优化这个大方向,因为在asktug网站的主题提问或者分享方案以及线下的交流中,听到不少关于TIDB性能优化的案例,一般都是基于一些“惨痛”的踩坑事故,分析问题现场,查看基于官方文档、Asktug论坛或者跟Pingcap技术专家交流后,定位问题,提供性能优化的方案,最后解决问题。这...
2022-04-13 13:30:10 227浏览 0点赞 0回复 0收藏
(转载公众号:晓磊聊DB)TiCDC是一款通过拉取TiKV变更日志实现的TiDB增量数据同步工具,具有将数据还原到与上游任意TSO一致状态的能力,同时提供开放数据协议(TiCDCOpenProtocol),支持其他系统订阅数据变更。TiCDC业务使用场景描述(1)增量数据抽取需求数仓ETL每天凌晨基于table(createdateorupdatedate)增量或者全量的数据抽取:目前离线报表业务为了凌晨产出报表,数仓团队凌晨需要从我们核心的物料TiDB集群(70+节点)中抽...
2022-04-13 13:16:00 102浏览 0点赞 0回复 0收藏
获得成就
已积累 1013 人气
获得 0 个点赞
获得 0 次收藏