0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HTAP的发展现状和未来趋势

lhl545545 来源:OSC开源社区 作者:OSC开源社区 2022-09-07 16:42 次阅读

这个报告主体上分为5个章节,分别是:

背景介绍

HTAP Databases:分享最新的 HTAP 数据库技术,总结它们主要的应用场景与优缺点,并根据存储架构对它们进行分类。

HTAP Tecniques:介绍主流的 HTAP 数据库关键技术,包括事务处理技术、查询分析技术、数据组织技术、数据同步技术、查询优化技术以及资源调度技术等。

HTAP Benchmarks:介绍目前现有的主流 HTAP 基准测试。

Challenges and Open Problems:讨论 HTAP 技术未来的研究方向与挑战。

本文仅作精选分享,会省略一些非必要内容,如想了解更多,请阅读原报告。

背景介绍

1Motivation

开头还是一个老生常谈的 HTAP 起源动机问题,这个其实大家看过我们之前的文章《什么是真正的HTAP?背景篇》,也就很清楚了:HTAP(Hybrid Transactional/Analytical Processing)的概念和定义是 Gartner 在 2014 年第一次给出的,注意,这里特别提到了in-memory技术,在其定义中,HTAP 是通过内存计算技术在同一份内存数据上同时支持事务和分析的处理。

Motivation

如上图所示,左边是传统架构,要做OLAP必须先得把OLTP的数据通过ETL导过去,很麻烦,复杂度高、延迟高、运维难度大,总之一系列水深问题,一般人把握不住。

但是右边的HTAP架构就很酷了,我一个数据库采用行列共存的方式,同时进行事务和分析的处理,So easy,老板再也不用担心我做个BI报表需要“T+1”甚至“T+N”了,数据一进来就能做到实时地分析,没错,这就是我们常说的 Real-Time

83366a56-2ac6-11ed-ba43-dac502259ad0.pngGartner envisioned that, HTAP techniques willbe widely adopted in the business applicationswith real-time data analytics by 2024.

Gartner 预计 HTAP 这个技术将会在 2024 年被需要实时分析的商业应用广泛采用,因为它在很多行业都有应用场景,包括电商、财务、银行和风控等等。这里举两个栗子:

在购物节这种高并发的情形下,如果电商卖家能够实时地分析用户行为数据,并根据分析结果针对性地投放品类广告,这无疑会给卖家带来更多的收益。

银行在线上处理用户事务时还能实时地分析数据,从而检测判断该用户及其行为是否异常或者存在风险,这会让风控系统更加智能化。

实现上述的应用,HTAP 技术就是不可或缺的基础设施底座。

可以看到,过去10年里,HTAP数据库不断涌现,本篇报告作者这里根据 HTAP 数据库发展时间线梳理成三个阶段:

8365f26c-2ac6-11ed-ba43-dac502259ad0.png

第一阶段(2010-2014):HTAP 数据库主要是采用主列存(primary column store)的方式。如SAP HANA、HyPer、DB2和BLU等。

第二阶段(2014-2020):HTAP 数据库主要是扩展了以前主行存的技术,在行存上加上了列存。如SQL Server,Oracle和L-store等。

第三阶段(2020-present):HTAP 数据库主要是开启了分布式的架构实现,满足高并发的请求。如SingleStore、MySQL Heatwave和Greenplum等。

PS:StoneDB 属于第三阶段,是具有分布式架构、内存计算和行列混存的HTAP数据库。

在数据库领域,有两个公认的经验法则:

行存(Row Store):比较适合OLTP。

Row-wise,update-heavy(重更新),short-lived transactions(短时延事务)

列存(Column Store):比较适合OLAP。

column-wise,read-heavy,bandwidth-intensive queries(带宽敏感查询)

837bd910-2ac6-11ed-ba43-dac502259ad0.png

在本篇报告主要研究采用行列共存的HTAP数据库。

2A trade-off for HTAP databases

HTAP 数据库也有需要解决的问题,正所谓鱼和熊掌不可兼得,很多时候我们需要找到一个权衡点,既然是权衡,就有天平的两端,在HTAP数据库领域里,主要讨论的是工作负载隔离(Workload isolation)数据新鲜度(Data freshness) 这两个重要特性的权衡。

工作负载隔离,就是指OLTP和OLAP之间的负载隔离程度;数据新鲜度,就是指OLAP到底能读到多新的事务性数据。

从现有的观测数据来看:

高的工作负载隔离会导致较低的数据新鲜度

低的工作负载隔离会获得较高的数据新鲜度

838e37cc-2ac6-11ed-ba43-dac502259ad0.pngTrade-off for workload isolation and data freshness
这里关于Trade-off的相关思考我们之前在对外的分享会上也屡次提及,感兴趣的同学可以前往B站观看我们最近一期的线上Meetup视频

视频地址:https://m.bilibili.com/video/BV1jB4y1577G

3Challenges for HTAP databases

作者这里提出了HTAP数据库面临的四大挑战,这里也和我们的第二篇文章《什么是真正的HTAP?挑战篇》里的观点不谋而合,可以说完全在我们提出的8点挑战范围之内:

挑战一:数据组织(Data Organization)

挑战二:数据同步(Data Synchronization)

挑战三:查询优化(Query Optimization)

挑战四:资源调度(Resource Scheduling)

83bdd0b8-2ac6-11ed-ba43-dac502259ad0.pngChallenges for HTAP databases

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)

1主行存储+内存中列存储

8407d94c-2ac6-11ed-ba43-dac502259ad0.png主行存储+内存中列存储

这类 HTAP 数据库利用主行存储作为 OLTP 工作负载的基础,并使用内存列存储处理 OLAP 工作负载。所有数据都保存在主行存储中。行存储也是内存优化的,因此可以有效地处理数据更新。更新也会附加到增量存储中,增量存储将合并到列存储中。例如,Oracle 内存双格式数据库结合了基于行的缓冲区和基于列的内存压缩单元 (IMCU) 来一起处理 OLTP 和 OLAP 工作负载。文件和更改缓存在快照元数据单元 (SMU) 中。另一个例子是 SQL Server,它在 Hekaton 行引擎中的内存表上开发了列存储索引 (CSI),以实现实时分析处理。这种类型的 HTAP 数据库具有高吞吐量,因为所有工作负载都在内存中处理。

优势:

TP 吞吐量高

AP 吞吐量高

数据新鲜度高

劣势:

AP 扩展能力低

负载隔离性低

应用:

高吞吐、低扩展(比如需要实时分析的银行系统)

案例研究1:Oracle Dual-Format

8426d856-2ac6-11ed-ba43-dac502259ad0.pngLahiri, Tirthankar, et al. "Oracle database in-memory: A dual format in-memorydatabase." In ICDE, 2015.

SIMD:单指令多数据

Max-Min Zone Map

Vector Group By:向量化

案例研究2:SQL Server

843ae97c-2ac6-11ed-ba43-dac502259ad0.pngLarson, Per-Åke, et al. "Real-time analytical processing withSQL server.” PVLDB 8(12), 2015: 1740-1751.

Persistent Column Store:持久化列存

Updatable:可更新

总结

8467285c-2ac6-11ed-ba43-dac502259ad0.png架构(a)的两个HTAP数据库对比

2分布式行存储+列存储副本

84795630-2ac6-11ed-ba43-dac502259ad0.png分布式行存储+列存储副本

此类别依赖于分布式架构来支持 HTAP。主节点在处理事务请求时将日志异步复制到从节点。主存储为行存储,选择一些从节点作为列存储服务器进行查询加速。事务以分布式方式处理以实现高可扩展性;复杂查询在具有列存储的服务器节点中执行。

优势:

负载隔离性高

扩展性高

劣势:

数据新鲜度低

应用:

对TP和AP扩展性要求比较高,同时能够容忍相对较低的数据新鲜度(比如需要实时分析的大规模电商系统)

案例研究:F1 Lightning

848e7740-2ac6-11ed-ba43-dac502259ad0.pngYang, Jiacheng, et al. "F1 Lightning: HTAP as a Service." PVLDB 13(12), 2020: 3313-3325.

总结

84a3ed28-2ac6-11ed-ba43-dac502259ad0.png架构(b)的两个HTAP数据库对比

3磁盘行存储+分布式列存储

84b7ef4e-2ac6-11ed-ba43-dac502259ad0.png

磁盘行存储 + 分布式列存储

这种数据库利用基于磁盘的 RDBMS 和分布式内存列存储 (IMCS) 来支持 HTAP。RDBMS 保留了 OLTP 工作负载的全部容量,并且深度集成了 IMCS 集群以加速查询处理。列数据从行存储中提取,热数据驻留在 IMCS 中,冷数据将被驱逐到磁盘。例如,MySQL Heatwave将 MySQL 数据库与称为 Heatwave 的分布式 IMCS 集群相结合,以实现实时分析。事务在 MySQL 数据库中完全执行。经常访问的列将被加载到 Heatwave。当复杂查询进来时,可以下推到IMCS引擎进行查询加速。

优势:

负载隔离性高

AP吞吐量和扩展性高

劣势:

数据新鲜度不高

Medium(On-premise):部署在本地,在不同机器上会有数据新鲜度的牺牲

Low(Cloud-based):部署在云端,网络延迟会影响数据新鲜度

应用:

对AP扩展性要求比较高,同时能够容忍相对较低的数据新鲜度(比如需要实时分析的IoT应用)

案例研究1:MySQL Heatwave

84d8c494-2ac6-11ed-ba43-dac502259ad0.pngMySQL Heatwave. Real-time Analytics for MySQL Database Service, August 2021, Version 3.0

Auto-pilot service:自动调优(一些云服务,可以在系统中自动帮客户实现数据分区、查询优化和资源调度等等)

Auto-Sunc:自动同步(可实现定时定量同步数据)

案例研究2:Oracle RAC

84ed3564-2ac6-11ed-ba43-dac502259ad0.pngLahiri, Tirthankar, et al. "Oracle database in-memory: A dual format in-memorydatabase." In ICDE, 2015.

Auto-Sunc:自动同步(基于阈值的方式)

总结

850c1a74-2ac6-11ed-ba43-dac502259ad0.png架构(c)的两个HTAP数据库对比

4主列存储+增量行存储

85237bce-2ac6-11ed-ba43-dac502259ad0.png主列存储+增量行存储

此类数据库利用主列存储作为 OLAP 的基础,并使用增量行存储处理 OLTP。内存中的 delta-main HTAP 数据库将整个数据存储在主列存储中。数据更新附加到基于行的增量存储。OLAP 性能很高,因为列存储是高度读取优化的。但是,由于 OLTP 工作负载只有一个增量行存储,因此 OLTP 的可伸缩性很低。一个代表是 SAPHANA 。它将内存中的数据存储分为三层:L1-delta、L2-delta 和 Main。L1-delta以逐行格式保持数据更新。当达到阈值时,将 L1-delta 中的数据附加到 L2-delta。L2-delta 将数据转换为列数据,然后将数据合并到主列存储中。最后,将列数据持久化到磁盘存储。

优势:

数据新鲜度高

AP吞吐量高

劣势:

TP可扩展性不高

负载隔离性不高

应用:

高AP吞吐量、高数据新鲜度(比如需要实时分析的风控系统)

案例1:SAP HANA

854bf4fa-2ac6-11ed-ba43-dac502259ad0.pngSikka, Vishal, et al. "Efficient transaction processing in SAP HANA database: the end of a column store myth.” In SIGMOD. 2012.

案例2:Hyper(Column)

856304a6-2ac6-11ed-ba43-dac502259ad0.pngNeumann, Thomas, Tobias Mühlbauer, and Alfons Kemper. "Fast serializable multi-version concurrencycontrol for main-memory database systems." In SIGMOD ,2015.

总结

858757ac-2ac6-11ed-ba43-dac502259ad0.png架构(d)的两个HTAP数据库对比

5四种架构HTAP数据库的对比

85b3c27e-2ac6-11ed-ba43-dac502259ad0.png

HTAP 相关技术

HTAP的相关技术包括(1)事务处理;(2)分析处理;(3) 数据同步;(4) 查询优化;(5)资源调度。这些关键技术被最先进的 HTAP 数据库采用。然而,它们在各种指标上各有利弊,例如效率、可扩展性和新鲜度等等。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 内存
    +关注

    关注

    8

    文章

    3009

    浏览量

    73957
  • 智能化
    +关注

    关注

    15

    文章

    4845

    浏览量

    55324
  • 数据库
    +关注

    关注

    7

    文章

    3781

    浏览量

    64331

原文标题:深度干货!一篇Paper带您读懂HTAP

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    2017全球LED照明驱动电源市场发展现状未来趋势概述

    LED照明应用市场的飞速发展,上游产业也活跃起来,近年来LED驱动电源保持年均30%以上的增长,较LED其他配套和辅料行业发展要好。QYResearch发布的《2017全球LED照明驱动电源市场发展现状
    发表于 11-07 11:17

    2018年车联网的发展现状发展机遇解读

    我国车联网的发展现状是怎样的?未来发展机遇有哪些?车联网是近年来很热的一个话题,虽然我国车联网还处在探索发展期,但是很多人对车联网的发展
    发表于 01-23 16:17

    FPGA的发展现状如何?

    FPGA的发展现状如何?赛灵思推出的领域目标设计平台如何简化设计、缩短开发时间?
    发表于 04-08 06:18

    有关音频编码标准的发展现状及其趋势

    音频信号是什么?音频编码技术分为哪几类?音频编码技术有哪些应用?音频编码标准发展现状如何?数字音频编码技术有怎样的发展趋势
    发表于 04-14 07:00

    嵌入式系统开源软件发展现状如何?

    嵌入式系统开源软件发展现状如何?
    发表于 04-26 06:23

    汽车用基础电子元器件发展现状趋势是什么?

    汽车用基础电子元器件发展现状如何?国内汽车用基础电子元器件发展现状如何?汽车用基础电子元器件发展趋势是什么?
    发表于 05-17 06:27

    探讨智能视频分析技术的应用现状发展趋势

    智能视频分析技术的应用现状如何?“”未来智能视频分析技术的发展趋势怎样?
    发表于 06-03 06:44

    广播电视发展现状趋势

    广播电视发展现状趋势【摘要】 近年来,随着信息技术的不断发展,数字、网络等先进的信息技术成为时代主体,为避免传统广播电视行业受到冲击,广播电视技术也在不断更新换代,从节目的录制、编辑到后续的传输
    发表于 07-21 09:43

    云计算产业发展现状趋势

    云计算产业发展现状趋势,本文讲的是云计算时代IT产业六大发展趋势,【IT168 资讯】1946年2月14日第一台计算机诞生,至今已经有50多年的历史,随着计算机和网络的普及,全球经济步入发展
    发表于 07-27 06:25

    浅析变频器发展现状趋势

    浅析变频器发展现状趋势(原文链接)变频器:利用电力半导体器件的通断作用将工频电源变换为另一频率的电能控制装置。其作用对象主要是电动机。分类:交—交(频率电压可变)、交—直—交(整流、逆变)性能优劣
    发表于 09-03 06:40

    中国医疗电子发展现状未来趋势

    中国医疗电子发展现状未来趋势    如今我国已经进入一个人口老龄化的时代,截至去年底,我国60岁以上的老年人口已经达到1.6亿,而我国医疗器械产业
    发表于 11-16 11:12 1135次阅读

    RFID国内外发展现状趋势探究

    具体介绍了RFID国内外发展现状趋势探究,然后做出了总结。
    发表于 05-30 14:20 19次下载

    智能医疗发展现状趋势分析

    目前智能智能医疗与我们的生活已经息息相关,本文主要介绍了智能医疗带成的发展趋势和智能医疗发展现状以及未来智能医疗发展方向进行了分析。
    发表于 12-29 17:16 7235次阅读

    深度解读工控安全技术发展现状与应用趋势

    本文将分析工控安全技术发展现状,盘点国内外工控安全主流厂商发展态势,分析我国工控安全市场发展现状,展望未来工控安全技术的发展与应用
    发表于 05-25 10:42 3712次阅读
    深度解读工控安全技术<b class='flag-5'>发展现状</b>与应用<b class='flag-5'>趋势</b>

    工控机厂家发展现状未来趋势

    中发挥着重要作用。本文将探讨工控机厂家的发展现状、市场需求、技术创新以及未来趋势。一、工控机厂家发展现状工控机厂家是指专门从事工业控制计算机设计、研发、生产和销售的企业。在中国
    的头像 发表于 09-29 11:01 533次阅读
    工控机厂家<b class='flag-5'>发展现状</b>及<b class='flag-5'>未来</b><b class='flag-5'>趋势</b>