摘要:云原生数据库具有开箱即用、弹性伸缩、按需付费等优势, 是目前学术界和工业界的研究热点. 当前, 云原生数据库仅支持“一写多读”, 即读写事务集中在单一的读写节点, 只读事务分散到多个只读节点. 将读写事务集中在单一的读写节点, 制约了系统的读写事务处理能力, 难以满足读写密集型业务需求. 为此, 提出D3C (deterministic concurrency control cloud-native database)架构, 通过设计基于确定性并发控制的云原生数据库事务处理机制来突破一写多读的限制, 支持多个读写节点并发执行读写事务. D3C将事务分拆为子事务, 并根据预先确定的全局顺序在各节点独立执行这些子事务, 以满足多个读写节点上事务执行的可串行化. 此外, 提出基于多版本机制的异步批量数据持久化等机制以保证事务处理的性能, 并提出基于一致性点的故障恢复机制以实现高可用. 实验结果表明, D3C在满足云原生数据库关键需求的同时, 在写密集场景下能够达到一写多读性能的5.1倍.