2024.10 blog review
2024-10-09
Database
Taurus
Taurus 华为GaussDB的云原生架构,Aurora派系,log as database,认为网络是瓶颈,和同类产品相比,核心的一些差异点在于:
- 与Aurora不同的是,拆分了Log Service和Page Service, 跟Neon一样。(不过我暂时还没get到拆分的优点,也许log和page的workload不太一样,这样可以区分开?
- RW给RO传输的不是完整的log,而是只传输了log的meta信息, RO节点根据meta信息从Log Service读取log来更新自己的buffer pool。这样好处是减轻了RW节点的压力,将压力和带宽转移给可以scale的Log Service层
另一篇Taurus-MM介绍的是multi-master架构,挺有意思的。
- 用一个Global Lock Manager模块来做PCC,Master节点修改Page前需要申请Page X-lock,大多数情况下不需要访问GLM,只有在出现冲突时或者第一次申请时才会访问GLM,访问后可以在本地Lease,直到超时或者被其他Master申请。
- 将标量时钟和向量时钟结合,同Page的更新使用标量时间戳来维护依赖关系,因为有GLM的存在,这个偏序关系会通过GLM这个中心节点传播;而Master1、Master2将自己产生的一批log(涉及多个页面)传给Master3,Master3需要用向量时钟来分辨两批log的偏序关系,因为涉及不同页面。