mrdrivingduck / paper-outline

🔍 To record the papers I have read.
24 stars 0 forks source link

HTAP Databases: What is New and What is Next #21

Open mrdrivingduck opened 1 year ago

mrdrivingduck commented 1 year ago

一篇关于目前 HTAP 技术发展流派的综述。

sigmod22-tutorial-paper.pdf

mrdrivingduck commented 1 year ago

关于 HTAP 的定义:2014 年 Gartner 提出能够并发执行 OLTP 和 OLAP 负载,而不需要 ETL (Extract-Transfrom-Load) 的就可以被称为 HTAP。2018 年,Gartner 扩展了 In-Process HTAP 的概念:能够把 OLTP 和 OLAP 交织在一起的架构也可以被称为 HTAP。这种新的定义意味着 HTAP 不再需要局限于一些仅存在于内存中的技术。

mrdrivingduck commented 1 year ago

架构设计分类

image

mrdrivingduck commented 1 year ago

HTAP 技术分类

OLTP 技术

  1. MVCC + 日志
  2. 2PC + Raft + 日志

OLAP 技术

  1. 内存增量 + 列扫描:数据新鲜度高
  2. 日志增量 + 列扫描:数据新鲜度中等
  3. 纯列扫描:数据新鲜度低

数据同步技术

  1. 内存内同步
  2. 基于磁盘增量的同步
  3. 从主行存重建列存

查询优化技术

  1. 列选择:按照历史负载和统计信息,选择部分列维护为列存,对这些列的查询可以被推到列存执行;选择的准确性十分重要
  2. 混合行列扫描:要么在行存上执行,要么在列存上执行,基于代价选择
  3. 使用 CPU/GPU

资源调度技术

  1. 基于负载驱动的调度:基于正在进行中的负载性能,调整 OLTP 和 OLAP 的并行比例
  2. 基于新鲜度驱动的调度:确保 OLTP 和 OLAP 同时以高吞吐运行,周期性同步数据
mrdrivingduck commented 1 year ago

未来需要解决的问题

  1. 自动化的列选择:轻量、准确
  2. 查询优化
  3. 自适应的资源调度
  4. 目前没有官方的 benchmark