10、Aurora数据库:性能优化与故障处理全解析

Aurora数据库:性能优化与故障处理全解析

1. 用户请求处理与提交机制

在Aurora中,当接收到用户请求时,用户会话会被多路复用到工作线程。当收到提交请求时,工作线程会执行以下操作:
1. 写入提交记录。
2. 将事务放入提交队列。
3. 返回公共任务队列,查找下一个要处理的请求。

当驱动线程推进VCL(Volume Complete LSN)时,会唤醒一个专用的提交线程,该线程会扫描提交队列,查找低于新VCL的SCN(System Change Number),并向等待提交的客户端发送确认信息。这种机制避免了组提交带来的延迟,也不会让工作线程出现空闲时间。

2. 崩溃恢复机制

Aurora通过管理数据库实例中的一致性点,避免了写入和提交时的分布式共识。但实例可能会出现故障,如客户关闭、调整大小或恢复到旧时间点。在正常的提交处理中节省的时间,需要在崩溃恢复时重新建立一致性来偿还。不过,由于提交操作比崩溃发生的频率高很多个数量级,所以这种权衡是值得的。

2.1 崩溃恢复流程

当打开数据库卷进行崩溃恢复或正常启动时,数据库实例需要完成以下步骤:
1. 为构成卷的每个保护组至少达到读法定人数。
2. 通过在SCL(Segment Change Log)中找到读法定人数一致性点,本地重新计算数据库的PGCL(Protection Group Change Log)和VCL。
3. 可能会存在一些更新的参差不齐的边缘,这些代表未完成的部分写入,数据库会通过记录截断范围来剪掉这些边缘,确保即使在崩溃恢复过程中异步操作完成,也会被忽略。
4. 崩溃恢复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值