HTAP的关键技术有哪些?| StoneDB学术分享会第③期

在最新一届国际数据库顶级会议 ACM SIGMOD 2022 上,来自清华大学的李国良和张超两位老师发表了一篇论文:《HTAP Database: What is New and What is Next》,并做了 《HTAP Database:A Tutorial》 的专项报告。这几期学术分享会的文章,StoneDB将系统地梳理一下两位老师的报告,带读者了解 HTAP 的发展现状和未来趋势。

在第一期分享中:StoneDB:深度干货!一篇Paper带您读懂HTAP | StoneDB学术分享会第①期 我们已经把HTAP产生的背景和现有的HTAP数据库及其技术栈做了一个简单的介绍,这一期,我们将着重讲一讲报告中对HTAP关键技术的解读。

在正式开始前,先给上期简单收个尾,报告中提到 HTAP 数据库除了以下四种:

  • Primary Row Store + InMemory Column Store
  • Distributed Row Store + Column Store Replica
  • Disk Row Store + Distributed Column Store
  • Primary Column Store + Delta Row Store

还补充了3种,感兴趣的读者可以自行了解:

  • Row-based HTAP systems:如 Hyper(Row)、BatchDB等
  • Column-based HTAP systems:如 Caldera、RateupDB等
  • Spark-based HTAP systems:如 Splice Machine、Wildfire等

下面进入正文,本篇报告中主要介绍了HTAP的五大类关键技术,分别是:

  1. Transaction Processing(事务处理技术)
  2. Analytical Processing(查询分析技术)
  3. Data Synchronization(数据同步技术)
  4. Query Optimization(查询优化技术)
  5. Resource Scheduling(资源调度技术)

file Overview of HTAP Techniques

这些关键技术被最先进的 HTAP 数据库采用。然而,它们在各种指标上各有利弊,例如效率、可扩展性和数据新鲜度。

file An Overview of HTAP Techniques

Part1 事务处理 (TP) 技术

HTAP 数据库中的 OLTP 工作负载是通过行存储处理的,但不同的架构会导致不同的 TP 技术。它主要由两种类型组成。

1. 使用内存增量更新的单机事务处理

Standalone Transaction Processing with In-Memory Delta Update 关键技术点:

  • 通过MVCC协议进行单机事务处理
  • 通过内存增量更新进行insert/delete/update操作

相关数据库:Oracle、SQL Server和SAP HANA等 file Standalone TP for insert/delete/update operations

上面这张图介绍了单机事务处理执行insert/delete/operations操作的一个逻辑过程,总体上是借助 MVCC+logging,它依赖于 MVCC 协议和日志记录技术来处理事务。具体来说,每个插入首先写入日志和行存储,然后附加到内存中的增量存储。更新创建具有新生命周期的行的新版本,即开始时间戳和结束时间戳,即旧版本在删除位图中被标记为删除行。因此,事务处理是高效的,因为 DML 操作是在内存中执行的。请注意,某些方法可能会将数据写入行存储 或增量行存储 ,并且它们可能仅在事务提交时写入日志。 一般有三种方式来实现内存增量存储,分别是:Heaptable(堆表)、Index organized table(索引组织表)L1 cache(一级缓存),具体区别如下表: file Three implementations for an in-memory delta store

三者主要的区别在于插入(insertion)速度、查询(lookup)速度和容量(capacity)大小上。

2. 使用日志回放的分布式事务处理

Distributed Transaction Processing with Log Replay

关键技术点:

  • Two-Phase Commit(2PC)`+Paxos 用于分布式TP和数据复制
  • 使用Log replay(日志回放)更新行存储和列存储

相关数据库:F1 Lightning 注:这里有稍有不同的分布式TP方案,就是采用主从复制(Master-slave replication)的方式实现HTAP,比如 Singlestore。 file 如上图所示,这种主从复制的方式下,主节点处理事务,然后将日志复制到从节点再做分析。

另外就是通过 2PC+Raft+logging,它依赖于分布式架构。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值