Page 384 - 《软件学报》2024年第6期
P. 384
2960 软件学报 2024 年第 35 卷第 6 期
表 2 HTAP 数据库系统特征总结
一 数据标识号分配 数据版本同步 数据版本追踪
致 数据库 分配方式 补充功能 同步 同步
性 方式 精度 TP AP TP AP 范围 格式 组织方式 确认机制
HyPer (new) 事务号 时间点 单机TSO - - - - 链式 读 取 读 时 已 提 交
Greenplum 事务号 时间点 全局TSO - - - - 链式 的最新版本
SAP HANA 事务号 时间点 单机TSO - - 全量 数据 首先读取delta中
Hyrise 事务号 时间点 单机TSO - - 全量 数据 main单版本, 读 时 已 提 交 的 最
delta链式 新版本, 数据缺失
FoundationDB 事务号 时间点 全局TSO - - - - 时从main中读取
首 先 读 取 内 存 中
buffer链式, 读 时 已 提 交 的 最
Oracle 事务号 时间点 单机TSO - - 全量 日志 内存单版本 新版本, 数据缺失
线 时通过日志读取
性
首 先 读 取 列 存 中
行存链式, 列读 时 已 提 交 的 最
缓存已同
SQL Server 事务号 时间点 单机TSO - - 全量 数据
存单版本 新版本, 数据缺失
时从行存中读取
MemSQL 事务号 时间点 全局TSO - - 全量 数据 链式
读 取 读 时 已 提 交
发送日志& 的最新版本, 数据
TiDB 事务号 时间点 全局TSO 确认最新版 日志回放&格 全量 日志 链式 缺 失 时 等 待 数 据
式转换
本号
完成同步
Spanner 事务号 时间点 原子钟 发送日志 日志回放 全量 日志 链式
已同步日
F1 Lightning 日志号 Epoch 单机TSO 发送日志 日志回放 全量 日志 链式
志号
已同步日 日志/
IDAA 日志号 Epoch 单机TSO 发送日志 日志回放 全量 链式
志号 数据
已同步日 TP链式, AP
BatchDB 日志号 Epoch 单机TSO 发送日志 日志回放 全量 日志 读 取 当 前 已 同 步
志号 单版本
版本
已同步全
顺 发送日志& 日志回放&格
序 Vegito 事务号 Epoch 全局TSO 局最小 分割Epoch 式转换 部分 日志 块式
Epoch
MySQL 已同步事 TP链式, AP
事务号 时间点 单机TSO 发送数据 格式转换 全量 数据
Heatwave 务号 单版本
读 取 读 时 已 同 步
已同步日 main单版本, 的版本, 该版本通
ByteHTAP 日志号 时间点 单机TSO 发送日志 日志回放 全量 日志
志号 delta链式 过 合 并 m a i n 和
delta得到
当创建会话时, 创
建新的数据快照,
HyPer (old) 事务号 时间点 单机TSO - - - - -
并 读 取 该 快 照 下
的数据
缓存
会 Aurora 日志号 时间点 单机TSO 发送日志 日志回放 部分, 日志 链式
话 步日志号 存储 读 取 缓 存 中 的 版
全量 本, 数据缺失时从
缓存 存 储 中 读 取 版 本
缓存已同 发送日志& 日志回放&缓 部分, 缓存链式, 存 一致的快照
PolarDB 日志号 时间点 单机TSO 日志
步日志号 刷脏控制 存版本对齐 存储 储单版本
全量
[9]
Greenplum 作为分布式的行列混存数据库, 只有在分布式事务中才需要设置全局的事务号, 对于仅在本地执
行的事务, 则由节点自行维护版本, 不需要全局统一. 在开始分布式事务时, Greenplum 的主节点首先对所有节点