htap是什么
HTAP是混合 OLTP 和 OLAP 业务同时处理的系统,2014年Garnter公司给出了严格的定义:混合事务/分析处理(HTAP)是一种新兴的应用体系结构,它打破了事务处理和分析之间的“墙”。它支持更多的信息和“实时业务”的决策。
一、HTAP的定义
数据库系统一般可以按照负载类型分成操作型数据库(Operational Support System)和决策型数据库(Decision Support System)。操作型数据库主要用于应对日常流水类业务,主要是面向消费者类的业务;决策型数据库主要应对的是企业报表类,可视化等统计类业务,主要面向企业类的业务。
针对两类系统的数据管理和系统设计方式都有很大差异。
(1)对OLTP的数据模型采用基本的约束E-R图模型,而OLAP的数据模型则需要采用特殊的“星型模型”,数据立方等数据仓库相关的技术。
(2)对OLTP的数据存储通常采用行式组织,而OLAP采用列式组织。
(3)OLTP的业务通常对实时要求比OLAP高很多。
(4)传统的数据库,为了同时支持两类业务。通常采用两个数据源, 分别对两套系统进行优化设计。
OLTP的数据定期会通过ETL(提取,转换,加载)工具把数据同步导入OLAP系统中。这就涉及到数据源滞后的问题。 OLAP的数据滞后,导致分析出来的结果时效性不够,对决策支持类系统的要求不够。比如说,双11期间,用户购物的行为和推荐系统的推荐结果之间的时间差越短,越有可能提高销量。
HTAP是混合 OLTP 和 OLAP 业务同时处理的系统,2014年Garnter公司给出了严格的定义:混合事务/分析处理(HTAP)是一种新兴的应用体系结构,它打破了事务处理和分析之间的“墙”。它支持更多的信息和“实时业务”的决策。
二、HTAP系统好处
数据不需要从操作型数据库导入到决策类系统;
操作事务,实时地对分析业务可见;
上钻下取等分析操作,时刻操作最新的数据;
减少对副本的要求。
总结:HTAP大白话理解:如何在OLTP单一数据系统上,提供OLAP操作。
现有技术
在单一系统中,同时应对OLTP和OLAP两类业务,目前表现较好的方案是基于多版本的事务并发系统。MVCC的特点是写不会阻塞读操作,读也不会阻塞写操作,是属于读优化的数据库系统。但MVCC的两个缺点导致这类系统不太适合HTAP。(1)当分析查询要扫描读取的数据的版本过多,扫描旧版本所花费的时间很长,严重拖累性能。(2)MVCC的垃圾回收机制很浪费计算资源,拖累性能。
最后,推荐我们的管理工具给大家。