
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在前几期的文章中给大家简单介绍了分布式数据库架构需要用到的一些编程知识等内容,而本文我们就继续来了解和学习一下,分布式数据库存储需要关注哪些问题。
在性能上,thelog(redolog)isthedatabase,简单说Aurora没有直接存储MySQL的innodbpage数据页,只有一份redolog日志(个人理解应该是区别于innodb的wal,多是概念的相似,没有做深度考证),当需要读取数据时将redolog转换为datapage。这样设计由于只存储了一份redo数据(批量+顺序I/O)无需写datapage因此也不存在缓冲区刷脏跟随机I/O写的问题,这相比于MySQL写I/O放大要精简很多,因此性能要提升很多。引用公开资料结论:事务I/O开销只有MySQL1/7事务处理能力是MySQL的35倍。
不过有利就有弊,AuroraServer层还是原汁原味的MySQLServer(100%兼容原生MySQL),读取数据时不可能直接读取redolog,需要将redolog转换为datapage,转换是要支付CPU代价的。当然基于该特殊设计还有一些其他比较好用的功能如秒级备份(俗称拍快照),就不多介绍了。
其次在容量上,存储构建在S3共享存储之上,对于容量扩展可以支撑足够大的数据量(64TB),多个副本之间通过Gossip协议保障数据一致性的,得益于S3的设计副本间的数据同步是非常高效的,因此副本间的数据延迟非常低。笔者在写该文档时顺便查了一下当天的副本延迟监控P90居然都不到1s,对比原生MySQL即使是优化后的GroupCommit+MTS也很难做到这一点。
值得一提的是,正是基于logisdata的设计+S3log同步避免了多数据副本间为数据一致性采取的2PC/3PC提交或者更复杂的Paxos算法,非常niubility的设计。后Aurora的存储容量是弹性伸缩的,DBA无需主动扩容,不过从使用经验上看,在业务释放空间后似乎并没有做“缩”的动作,会继续按照此前实例使用的大存储来计费(略坑),这点目前不清楚具体原因是啥!
在结构变更方面,目前跟原生MySQL一样也是fastddl,在labmode(实验室模式默认关闭状态,官方不推荐用……)支持Instantddl,不过只针对addcolumn操作,目前DDL操作其实还是以pt-osc/gh-ost为主。虽然大表容量的问题解决了但对于超大表的运维还会存在一定的问题。即使通过pt-osc/gh-ost能丝滑变更,以及MySQL没有明确规定单表大小及行数上限,但出于b-tree的原因在行数过多后还是会影响到读写性能,笔者在实际使用过程中就出现了一张400G的单表DDL超过12小时的情况,为此发布系统不得不block这个表的发布长达一年的时间。存储计算分离的形态下,尽管架构是分布式的,在具体的设计思想上也非常先进,但对于解决大表问题还是稍稍有一点小遗憾,不过相比传统单机数据库已经不用担心容量问题了,这一点对于业务体量不大既不想用中间件也不想对业务动刀的公司而言似乎也是不错的选择,况且SQL协议100%兼容。
此外,通过将计算下推到分布式存储的多个存储单元上实现并行查询从而具备一定的分析能力,也很难满足分析型场景要求。不过,存储计算分离的形态天然具备同城+异地容灾能力。
在使用Aurora的使用体感上,笔者更倾向于把它当作一个不宕机的容量性能无限扩展的单机数据库来使用,当业务体量到一定程度后出于易维护的角度考虑,后大概率还是要拆的。后建议如果中间件能力缺乏又不想因拆导致的后续一堆麻烦的问题,即使维护麻烦一点也可以继续使用。
PolarDB与Aurora类似,也采用了存储计算分离架构,因此也能很好解决容量、性能问题,同时也做到100%的协议兼容与较低的数据延迟,至于谁优谁劣,由于二者设计理念不同,以及个人水平有限,不做过多评价跟分析。
PolarDB在比较关心的大表解决方案上做了优化增强,主要解决方法就是通过分区表,如分区键跟主键/键解耦(MySQL则要求pk/uk必须包含分区键),分区锁支持将锁从表粒度降低到分区粒度显著增强并行能力。不过分区能力的增强仍旧不能避免大表下btree局限问题。为此,PolarDB又将btree改成Blink-Tree(没有深入了解,简单说就是通过对节点添加额外字段实现tree调整时全局加锁到部分加锁,进而提高并发度)。同时对于大表DDL问题,PolarDB除支持instantddl能力外还通过并行DDL能力充分利用存储I/O能力加速DDL进度。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!请读者仅作参考。更多内容请加抖音太原达内IT培训学习了解。