空心|Aurora,万字详文:腾讯数据库专家深度探索Amazon( 八 )
在存储层 , 日志被写到持久化的存储设备后 , 主节点收到应答则不被阻塞 , 上层工作能够继续进行 , 且存储层的日志落盘操作保证了整个Aorora的日志持久化 。 然后存储层的利用日志做实时恢复 , 这样使得日志数据转变为了“Caching”中存储的页面格式的数据 。 这些工作完成 , 才相当于传统架构的数据库持久化完成 。
但是 , 因为存储层不再是单点而是分布式结构 , 故存在故障的种类变多 , 如多节点的数据在实时运行过程中的一致性问题、在系统故障后的数据恢复时多节点的数据一致性问题 。 Aurora使用如表1-2的几个概念来表示关键的一些日志点信息 , 然后凭借这些点来解决“日志数据的不一致”问题 , 这几个概念 , 分别是:
LSN,LogSequenceNumber , 日志序列号:单调递增 , 唯一标识每一条日志记录 。 如表1-2所示 , LSN1到LSN9表示共有9条日志记录 , 每条有独立的LSN值 。
CPL,ConsistencyPointLSN , 一致性点:MySQL的每个Mini事务产生的最后一个LSN为一个CPL即一致性点(一个事务包括多个Mini事务 , 一个Mini事务包括一到多个日志记录 。 这是在描述以Mini事务为基本单位的一个局部一致 , 尚不能达到事务一致) 。 如表1-2所示 , “T1-Mini-t1”T1事务的第一个Mini事务的一致性点 , 是LSN3 , 如果此时系统故障 , 之后做恢复 , 事务T1不会被恢复成功;如果事务T1在主节点被标识为了提交(InnoDB的事务提交标志 , 是在内存标识为事务已经提交 , 然后才刷出日志 , 这点不符合预写日志的要求) , 事务日志尚没有持久化到存储层 , 这意味着数据可能会丢失 。 但是 , InnoDB对这种先标识事务提交后刷日志的方式给出了不丢失数据的解决方式 , 而Aurora改变了日志的刷出机制 , 可能会改变或不改变InnoDB原有的数据一致性保障机制[12] , 如果改变了原有机制 , 论文对这一个重要点没有加以描述 , 只能存疑待问 。
SCL , SegmentCompleteLSN , 段完整LSN:每一个存储节点对应的最大连续LSN , 在系统存活期间 , 可以利用SCN与其它节点交互 , 采用Gossip协议 , 填补丢失的日志记录 。 如表1-2所示 , 只标识出了S1节点的SCL是LSN9 , 而对于S5节点 , 其SCL是LSN7 。
VCL , VolumeCompleteLSN , 卷完整LSN:每个存储节点接收到的最大连续日志ID , 因为多数派协议的使用 , 每个存储节点的VCL会不不同 。 如表1-2所示 , 没有表示出S1到S6各个存储节点的VCL , 而是只标示出了六个节点中所有VCL中的公共最大点 , 这个点 , 是系统故障后恢复所能恢复到的一致点 。 注意依旧不是事务一致而是Mini事务一致 , 存疑的是 , 不能达到事务一致 , 其意义何在?还有什么重要的细节没有公开吗?留意到下面这段话 , 我们可以看出一点端倪(存储层的恢复不需要保证事务一致 , 存储层恢复之后 , 计算层还会继续恢复工作 , 这样才能达到事务一致):
However,uponrestart,beforethedatabaseisallowedtoaccessthestoragevolume,thestorageservicedoesitsownrecoverywhichisfocusednotonuser-leveltransactions,butonmakingsurethatthedatabaseseesauniformviewofstoragedespiteitsdistributednature.
VDL , VolumnDurableLSN , 卷持久点:传统的数据库提供CheckPoint功能 , 在日志中加入一个CheckPoint点 , 作为故障恢复时的起始点 。 VDL就是存储层的“CheckPoint点” , 在VDL之前的日志 , 已经无用可以被GC , 但因存储层的日志一直在持续不断地被用于“恢复”日志为“Caching”中的数据页 , 所以其作用和原始的“CheckPoint点”相反 。 注意VDL是所有存储节点上的日志比较后得到的一个共同点 , 不是一个Segment级的点 , 这和VCL相似 , 都是PG(ProtectionGroup)级别的 。 其定义如下:
VDLortheVolumeDurableLSNasthehighestCPLthatissmallerthanorequaltoVCLandtruncatealllogrecordswithLSNgreaterthantheVDL.
推荐阅读
- 空心|招聘丨山西千沐云物联科技有限公司
- 空心|另辟捷径研发“光子芯片”,有望彻底突破美国封锁,华为突然宣布
- 空心唯心|咬一口满嘴飚汁,酥到入口即化,舔屏的节奏,看这爽爽的猪脚皮
- 醉倾城空心|40 Pro真机曝光,Mate30沦为弃机创历史,Mate
- 空心|恐怕只有华为了,2020年还敢出这样配置的手机来割韭菜的
- 空心|全面去除西方技术,打响芯片突围战!中科院出手
- 醉倾城空心|小米10让路新机跌至白菜价,雷军透露小米未来策略
- 空心|iQOO5和小米10Pro现在买谁,4k档5G旗舰终极之战
- 空心|一中国企业不惧打压,超越谷歌,力挺华为,美国全面“封锁”下
- 空心|智能增强的机器人收割机可以灵活采摘人们需要的蔬菜
