分布式数据库
2023-06-09 11:50:29 0 举报
AI智能生成
分布式数据库
作者其他创作
大纲/内容
全局时钟
授时条件
时间源:单个或多个
时钟类型:物理时钟或混合逻辑时钟
授时点:一个或多个
授时方案
TrueTime:多事件源,物理时钟,多授时点(Spanner)
中心化授时(TSO):单事件源,混合逻辑时钟,单授时点(TiDB)
分布式授时(HLC):多事件源,混合逻辑时钟,多授时点(CockroachDB)
多层级中心化授时(STP):单事件源,逻辑时钟,多授时点(SequoiaDB )
中心化授时(TSO)
解决单点故障
解决性能瓶颈
分布式授时(HLC)
处理流程
多层级中心化授时(STP)
节点关系
数据分片
PGXC
Hash 分片
普通 Hash
负载均衡
扩展性差
扫描性能差
业务热点
一致性 Hash
数据聚恒
扩展性好
仍无法处理业务热点
扫描性能差
Range 静态分片
可预估业务热点
扫描高效
无法根据业务灵活调整
高可靠机制
NewSQL
Hash 分片
Range 动态分配
分片可自动分裂与合并
分片可根据访问压力调度
减少分布式事务
缩短服务延时
高可靠机制
Paxos / Raft 复制组
资源使用率高
数据复制
元数据管理
静态分片:TBase
哈希
多节点
无状态:TiDB
心跳
元数据被动接收
持久化
去中心化:CockroachDB
P2P
Gossip
复制效率
Raft 性能缺陷
日志复制过程
多事务并行操作
Raft 性能优化
批处理(Batch)
流水线(Pipeline)
并行追加日志(Append Log Parallelly)
异步应用日志(Asynchronous Apply)
一致性
数据一致性(分布式)
分析方法
状态视角
强一致性:同步复制
最终一致性:异步复制
操作视角
模型分类
线性一致性
全序关系
全局时钟
Truetime
单点授时(TSO)
相对论
因果一致性
偏序关系
逻辑时钟
逻辑混合时钟(HLC)
最终一致性
写后读一致性
单调一致性
前缀一致性
顺序一致性
其他
有界旧一致性
单调写一致性
读后写一致性
会话一致性
......
事务一致性(数据库)
ACID
原子性(Atomic):同一项业务处理过程中多个数据修改必须同时成功或撤销
隔离性(Isolation):不同业务处理过程中各自读、写数据不会相互影响
ANSI SQL-92
Critique
幻读和写倾斜
快照隔离 & MVCC
持久性(Durability):被成功提交的数据修改都能够正确地被持久化
一致性(Consistency):数据正确不会产生矛盾
产品实现
可串行化
线性一致性(Spanner)
因果一致性(CockroachDB)
快照隔离
线性一致性(TiDB)
因果一致性(YugabyteDB)
可重复读
线性一致性(GoldenDB)
已提交读
线性一致性(OceanBase 2.0+)
外部一致性
基本概念
外部特性
OLTP:写多读少,低延时,高并发的关系型数据库
海量并发:可通过水平扩展提供远高于单体的并发量
高可靠:副本机制比 RAID 更好平衡可靠性、性能和空间利用率三者的关系
海量存储:借助分布式横向扩展架构,通过物理机本地磁盘获得强大的存储能力
内部构成
客户端组件 + 单体数据库(Sharding-JDBC)
代理中间件 + 单体数据库(MyCat)
单元化架构 + 单体数据库
共享存储(Aurora)
架构风格
基本组件
客户端通讯管理器
进程管理器
查询处理器
分析器:SQL -> 语法树
优化器:查询重写和算法优化
查询重写(Query Rewrite)
算法优化(Query Optimizer)
执行器:执行查询计划,访问存储系统
事务存储管理器
访问方式:数据在磁盘的具体存储形式
锁管理:并发控制
日志管理:确保数据持久性
缓存管理:I/O 操作相关的缓存控制
共享组件和工具
编目数据管理器
复制机制
传统架构
客户端组件
代理中间件
代理节点
数据节点
分片管理节点
单元化架构
分布式架构
PGXC (PostgreSQL-XC)
架构特点
原有的单体数据继续作为数据节点
设置协调节点,在代理基础上增加了分布式事务管理、跨节点查询功能
新增了全局时钟和分片信息管理,可拆分为两个独立角色节点或合并为一个角色节点
基本组成
协调节点
客户端接入
进程管理
查询处理器
分布式事务管理
数据节点(单体数据库)
进程管理
查询处理器
事务存储管理器
共享组件
分片管理节点
全局时钟节点
NewSQL
架构特点
类似 BigTable 的分布式 KV 系统
以分片为单位采用共识算法,更小粒度的高可用单元,提高系统整体可靠性
使用 LSM-Tree 模型替换 B+ Tree 模型,大幅提升写入性能
计算与存储分离更彻底,计算节点通过网络与存储节点通讯,存在网络开销
基本组成
计算节点
客户端接入
进程管理
查询处理器
分布式事务管理
存储节点
进程管理
存储管理
共享组件
计算下推
全局时钟节点
元数据管理节点
0 条评论
下一页