分布式数据库

服务于写多读少、低延时、海量并发 OLTP 场景的,具备海量数据存储能力和高可靠性的关系型数据库

一致性

观察数据一致性的两个视角:

同构和异构数据库

分布式数据存储

数据复制

提供了只读事务的性能,但更新事务的开销会变大

架构风格

PostgreSQL-XC

20221212171450

NewSQL

20221212171629

很多产品为了获得更好的计算性能,会尽量将更多计算下压到存储节点执行,更偏向于PostgreSQL-XC风格

全局时钟

TrueTime

时间源是 GPS 和原子钟,所以属于多时间源和物理时钟,同时它也采用了多点授时机制,依赖于特定硬件设备

HLC

每个节点会使用本地时钟作为参照,但不受到时钟回拨的影响,可以保证单调递增。本质上,HLC 还是 Lamport 逻辑时钟的变体,所以对于不同节点上没有调用关系的两个事件,是无法精确判断先后关系的

TSO

20221212172944

STP

20221212173331

分片

PGXC

普通哈希可以均衡数据分布,缺点就是扩展性不好

一致性哈希扩展性好,但是仍无法处理业务热点

range分片也只支持静态分片,虽然可以预估业务热点,但无法根据业务灵活调整

NewSQL

分片可以自动完成分裂与合并,也可以根据访问压力调度分片

只有动态了,才能自适应各种业务场景下的数据变化,平衡存储、访问压力、分布式事务和访问链路延时等多方面的诉求

高可靠

对于 NewSQL 来说,分片是高可靠的最小单元;而对于 PGXC,分片的高可靠要依附于节点的高可靠

NewSQL 架构下,分片采用 Paxos 或 Raft 算法可以构成复制组,这种复制机制相比 PGXC 的主备节点复制,提供了更高的可靠性

透明性

分布式事务

系统结构

系统故障模式

提交协议

事务处理的可选择性模型

分布式数据库中的并发控制

封锁协议

数据项复制

时间戳

全局唯一标识符 = 局部唯一时间戳+站点标识符

弱一致性级别的复制

延迟传播

死锁处理

局部等待图;全局等待图

可用性

基于多数的方法

读一个、写所有可用的方法

站点重建

分布式查询处理

查询转换

连接处理

半连接策略

异构分布式数据库

数据统一视图

查询处理

多数据库中的事务管理

基于云的数据库

目录系统

目录访问协议