TP 和 AP 在数据库领域由来已久,而 HTAP 这个词从 Gartner 在 2014 年创造出来开始,就担负着满足企业用对数据库的终极幻想的重任——让一个数据库同时支持事务处理和分析查询两种负载。
然而,多年来虽然不断涌现宣称自己具备 HTAP 能力的数据库产品,可事实上,大多数宣称具备 HTAP 能力的数据库,都只是在自己原有的 TP 或 AP 能力基础上,在另一个领域内做出了有限的增强,并不真正具备独立同时支撑企业生产环境中绝大多数 TP 和 AP 负载的能力。
曾经有客户问,是不是选一款 HTAP 数据库产品,就能让业务库跑起来分析负载,从而彻底拆掉数据仓库,这样岂不是既省钱又省心?
在过去,答案当然是否定的。对于一张存储在库里的表,TP 和 AP 性能是鱼和熊掌不能兼得,始终是不能平衡的天平。
TP 数据库支撑的通常都是“停不起、拖不起”,需要快速响应的业务,负载以短小的查询、事务为主;而 AP 查询则动辄 10+ 表 JOIN, 运行时间按分钟计。 后者一旦跑起来,先不要说数据库会不会被压垮,仅仅因为资源大量消耗,TP 业务被拖慢也是难免,这是企业用户所承受不起的代价。
如果不能充分隔离 TP 、AP 负载,最大限度保障 TP 系统的安全和响应速度,那无论如何都不能算是真正具备 HTAP 能力的产品。
虽然行存作为数据最基础、最自然的形式,早已能够满足数据库最基础的交易型业务的需求,而在涉及海量数据的分析场景时,只有使用列式存储,实现一次读一批、算一批,避免传统行存的按行读取数据再提取出所需列的低效操作,才能从根本上提升查询速度。
倘若只用列存,它在 TP 方面天生的性能不佳,UPDATE/DELETE 支持不好的问题就会被彻底放大,完全无法满足业务对数据库 TP 能力的要求。
如何在 HTAP 场景中平衡行存和列存的优劣势?对于这个难以绕过的问题,不同产品解法不同:
SAP 的 HANA,选择了最暴力但是大力出奇迹的做法 - 用内存,实际用钱换性能。即便不算软件成本,单纯硬件成本就会是一笔极大的投资,即便大企业,随着数据量增长成本也会变得难以承受,有人甚至称之为“挑战道德底线的价格” 。
而另一个友商, 选择了数据双存 - 用冗余存储和复杂度换性能。
一份数据同时存储为行存和列存,执行时优化器判断是 TP 算子,就走左侧行存,AP 型算子,则走列存。
这种方案最大的难点在于优化器:由于生产环境十分复杂,要通过查询的特征并结合两种不同的存储生成最佳的查询计划,复杂度较简单的方案指数级上升,因此效果也很难尽如人意。
针对 HTAP 这两个难题,YMatrix 有自己的解法。这张架构示意图展示了 YMatrix 是解决资源隔离和行存列存不兼得的问题的:
在 YMatrix 中,我们允许将集群划分成不同域,每个域都独占一台或者多台机器。
这样就可以将 TP 业务放在一个独立的域中,而 AP 则放在另外一个域中 两边独占主机资源,从而保证资源隔离,互不影响。
无论 AP 区域执行的查询有多复杂,运行多久,在资源层面,都不会侵占 TP 区域,从而保障了关键的 TP 业务不受影响,提供稳定服务。
而在实际的项目中,针对 TP 型业务,我们可以为每条业务线单独分配一个域,这样不仅能做到 AP、TP 的负载隔离,还能做到业务间的负载隔离。
YMatrix 既支持经典的行存,也有自己的列存引擎 - MARS3。
事实上 MARS3 是比经典列存更为先进的“行列混存”存储引擎,针对大数据分析的场景,不但性能还有进一步提升,而且完美的解决了一般列存不支持 UPDATE/DELETE, 以及点差性能较差的问题。
MARS3 存储示意图
(一个数据表会被分为若干个独立的块,每个块内采用列式存储,并且进行了排序等优化)
通过划分不同的域,使用不同的存储,YMatrix 能够同时满足 TP、AP 不同的负载需求,最后一个问题就是两边的同步了。
利用独创的 Domino 流计算引擎,YMatrix 可以将 TP 域每一笔业务都实时同步至 AP 域,实现业务数据到分析结果的秒级延迟。
同时,Domino 流计算引擎还能进行实时的数据加工,一条交易数据同步到数仓域后,可以直接实时加工 - 原来只能在晚上进行报表刷新的的数据现在变成了即时更新,进一步提升了分析的实时性。
YMatrix 的 HTAP 架构,不仅已经在多个客户中落地,而且支撑了极高的 TP、AP 负载。
YMatrix 和友商一起,为某全国排名前 2 的医药连锁零售上市企业提供了具备细粒度的业财一体实时分析能力的产品。YMatrix 在该项目中充分展现了产品的 HTAP 能力 和实时分析能力:
在 TP 方面,支撑月新增 3000 万交易凭证的业务流程稳定、高效运行
在 AP 方面,实现百亿级数据报表分钟级返回
实现了实时分析,做到 ERP 内达成业务发生到报表更新秒/分钟级延迟
如何在保障业务连续性的同时,提供高效的实时分析能力,已成为许多公司面前的挑战。YMatrix 超融合数据库凭借其独特的架构优势,成功解决了传统数据库在处理复杂交易负载(TP)和海量数据分析(AP)时的平衡难题。
通过创新的资源隔离、行列混存以及实时同步技术,YMatrix 为企业提供了真正的 HTAP 能力,不仅提升了数据处理效率,还保障了系统的高可用性和低延迟。
如果您对 HTAP 感兴趣,可以联系我们(或点击下方阅读原文),了解更多关于 YMatrix HTAP 的相关信息!