空心|Aurora,万字详文:腾讯数据库专家深度探索Amazon( 四 )
第二部分是“Logging+Storage” , 日志和持久化存储 。 日志与传统数据库对于预写日志(WAL)的利用方式与MySQL不同 , 这点是Aurora实现计算与存储分离的核心(下一节详述存储层实现细节) 。
如图1-5所示 , 对于日志数据 , 从PrimaryRWDB写出到一个存储节点 , 每个AZ至少有2份数据 , 写出的日志数据会自动复制到3个AZ中的6个存储节点 , 当其中的多数节点回应写日志成功 , 则向上层返回写成功的ACK 。 这表明写日志信息采用了多数派协议(quorum) 。
MySQL的事务模型符合SS2PL协议[⑥] , 当日志成功写出 , 就可以在内存中标识事务提交成功[⑦] , 而写日志信息是一个批量的、有序的IO操作 , 再加上Aurora去除了大量的缓冲区脏数据的随机写操作 , 因此Aurora的整体性能得到大幅提升 。
借用官方论文的一组对比数据 , 可以感性认识存储和计算分离的所带来的巨大好处 , 如图1-6所示 , MySQL的每个事务的IO花费是Aurora的7.79倍 , 而事务处理量Aurora是MySQL的35倍 , 相差明显 。
Inthismodel,theprimaryonlywriteslogrecordstothestorageserviceandstreamsthoselogrecordsaswellasmetadataupdatestothereplicainstances.
但是 , 日志的应用功能是被放到了存储层实现的 , 如原文描述:
Instead,thelogapplicatorispushedtothestoragetierwhereitcanbeusedtogeneratedatabasepagesinbackgroundorondemand.
而官方的网站[⑧]用图1-7描述了备机的数据 , 是从存储节点读入的 。
推荐阅读
- 空心|招聘丨山西千沐云物联科技有限公司
- 空心|另辟捷径研发“光子芯片”,有望彻底突破美国封锁,华为突然宣布
- 空心唯心|咬一口满嘴飚汁,酥到入口即化,舔屏的节奏,看这爽爽的猪脚皮
- 醉倾城空心|40 Pro真机曝光,Mate30沦为弃机创历史,Mate
- 空心|恐怕只有华为了,2020年还敢出这样配置的手机来割韭菜的
- 空心|全面去除西方技术,打响芯片突围战!中科院出手
- 醉倾城空心|小米10让路新机跌至白菜价,雷军透露小米未来策略
- 空心|iQOO5和小米10Pro现在买谁,4k档5G旗舰终极之战
- 空心|一中国企业不惧打压,超越谷歌,力挺华为,美国全面“封锁”下
- 空心|智能增强的机器人收割机可以灵活采摘人们需要的蔬菜