前言
自 YMatrix 5.0 于 2022 年 12 月正式发布以来,YMatrix 团队在两年间针对数仓场景,不但在性能、稳定性上不断打磨自研存储引擎 MARS3 以及自研向量化执行引擎,大幅提升了 YMatrix 在 “离线分析” 这一场景中的性能表现;更针对“实时分析”这一数据分析前沿场景,在业内率先打造了库内流计算功能,使得“实时分析”这一需要诸多技术栈堆叠才能完成的功能,通过 YMatrix 6.0 使用 SQL 即可实现。
YMatrix 6.0 的发布不仅标志着我们在“实时分析”场景中的重大技术突破,也是我们在“超融合”之路上重要的一步。藉由强大的分析能力和领先的实时流计算功能,YMatrix 6.0 为企业数仓建设提供了全新“一栈式” 方案,让企业数仓迈进“实时分析”时代。
01 关键突破—Domino 流计算引擎
通过 SQL 实现业务发生到分析报表实时更新
数据仓库场景已经发展了数十年,虽然技术不断革新,性能不断提升,但我们对数据处理的本质方式依然没有明显改变,依然是以批处理方式为主流,提供的分析能力也只能是以 T+1 为主。
为了满足用户对分析服务不断提升的实时性要求,近年来出现了大量的全新的数据产品和架构,通过如Storm、 Flink、 Spark等产品,在原有数据链路上“附加”流式数据处理链路,以“库外流批”架构实时分析的计算能力。
虽然“库外流批架构” 能够一定程度上满足用户对分析实时性的要求,但其也有着明显的缺陷:
- 技术栈复杂,需额外配置软、硬件,不但本身运行成本高,维护成本更高。
- 无法保障数据正确性,仍需每日重新执行跑批任务修正结果。
经过研发团队的专注攻关,我们在 YMatrix 6.0 中发布了革命性的 Domino 流计算引擎。它的功能可以由用的 Domino (多米诺骨牌)这一名字生动的解释:一条数据的变动,会触发一个数据的变动,多级级联,实现多米诺骨牌式的连锁反应。
在实际应用场景中,一条新增的销售,可以立即触发月度、年度的统计信息更新,也可以同时触发不同部门的报表更新,甚至穿透多级,最终反应产品平均利润率的变化。过去,要实时进行这些计算都需要借助许多第三方工具,而通过 Domino 流计算引擎,我们现在使用 SQL 即可在数据库内搭建这样的流计算过程。
后续我们还会通过一系列文章,向大家介绍这一突破性技术。
02 更加可靠—异地灾备技术
为关键场景的数据安全提供可靠保障
在 YMatrix 5.0 中,我们通过引入 etcd 构建了 ALOHA 高可用服务,实现了集群内单点故障 3s 自动转移,并能够做到主节点宕机时备用主节点自动切换。
在此基础上,为了满足客户对数据基础设施安全性的要求,特别是交易相关场景中对数据安全性的严苛要求,我们在 YMatrix 6.0 中发布了异地灾备功能。
YMatrix 6.0 中提供的异地灾备功能有以下功能特点:
-
同步/异步双模式:同步模式提供更强的数据一致性,异步模式提供更佳性能;
-
异构灾备:通过构建较主集群节点数量更少的灾备集群,可明显降低灾备成本;
-
灾备集群可读:灾备集群数据可读,用以临时开发或随机查询,提升硬件利用率。
目前,该功能仍属于实验性功能;后续我们也会通过一系列文章,向大家介绍灾备集群的部署方法。
03 深入打磨—存储引擎+向量化
千锤百炼,打造更快更稳定的数据库内核
存储与查询是数据库性能的两大基石,任何一个数据库性能都无法脱离这两项能力讨论。在 YMatrix 5.0 中,我们发布了自研的 MARS3 存储引擎,它和向量化计算引擎一起,是提升 YMatrix 在分析场景中查询性能的关键技术。
如今,随着 MARS3 已在我们的客户中被广泛使用。作为 YMatrix 原创的基础性技术,研发团队在近 2 年时间中进行持续改进,在客户场景中反复打磨,在稳定性、性能方面都有了明显提升,MARS3 存储引擎通过行列混存、数据预聚集和有序存储等提升数据查询性能,支持数据的加密存储和解密查询,在保证数据读写效率的同时可以兼顾数据分析性能;针对向量化计算引擎,我们在原有的基础上,针对包括窗口函数在内的复杂算子,继续进行向量化改造,以实现在分析场景中查询性能的进一步提升。
接下来,我们也会陆续发布文章,介绍 YMatrix 6.0 的最新性能测试结果。
04 灵活全面—智域技术
极致灵动,提供更佳 TP 性能表现
除了在分析能力的跨越性提升,YMatrix 6.0 在交易场景中也发布了融合多项技术创新的新特性 - 智域技术。
通常来说,作为分布式数据库,由于数据分布在不同位置,在处理小查询时,分布式架构本身复杂性带来的任务处理、数据传输开销会对并发数、响应速度等带来较为明显的影响,也就是说,在以小查询为主的交易型场景中,分布式数据库表现可能明显逊色于单机数据库。
针对这一问题,我们用创新的方式进行了一系列优化,如:
-
允许将表指定存储在特定节点上,避免查询时数据移动开销;
-
针对目标数据仅在特定节点上查询,仅在有数据存在的节点上进行计算,减少无关节点空转;
-
针对目标数据仅在单一节点上查询,将查询直接下推至数据节点进行计算,减少对主节点资源消耗。
通过多种技术手段的联合优化,针对交易型场景,在并发数,响应速度方面,YMatrix 6.0 可提供极佳性能表现;而在此基础上,真正做到一库支撑 TP + AP 场景,并藉由流计算技术,实现实时分析,从而真正为客户提供具备 HTAP 能力的 “一栈式” 数据基础设施。
目前,基于“智域技术”的 HTAP 架构已经通过我们的战略合作伙伴用友,在多家客户中落地,而它展现出的交易性能、分析性能、架构弹性上的优势,也得到了客户方和合作方的广泛好评。
更多YMatrix6.0内容,扫描下方二维码获取白皮书。