
引领 PG 生态进入物联网时代


翻越时序场景的珠穆朗玛
作为 PostgreSQL 中文社区的老朋友, 近几年来 YMatrix 从未缺席技术大会。此次,YMatrix 技术服务团队负责人王健,受邀现场参会,并分享了 YMatrix 最新的产品特性及场景实践。

王健表示,在支持客户的过程中,才真切感受到来自实际场景的极限挑战。以新能源智能汽车场景为例:
第一,数据规模非常巨大。数十万辆车 x 数千个指标 ,7x24 小时源源不断地生产数据,同时还要处理来自传输链路上的各种不确定因素,比如延迟、乱序、异频等。
第二,成功将数据存储入库,才只刚刚完成了一半,后面还要响应来自业务端的各种查询分析需求,比如基于轨迹数据的实时追踪、对故障风险的实时预警或是对事故的归因分析,等等。而这些需求的频度、SQL 查询的复杂度、对实时性的要求,都越来越高。 第三,运维压力很大。最直接的就是扩容,以及背后的成本考量。数据不断写入,并且规模还在快速增长。扩容势在必行,但如何更经济地存,并且能更方便地执行扩容,这都是切实的需求。
YMatrix 如何应对?王健分享了其中的几个关键点:
MatrixGate: YMatrix 提供的一个数据写入套件。对外暴露统一的数据接口,而在内部实际上有一整套机制和通信协议来和数据库对接,保障写入性能,因此性能很好,但使用起来却很简单,并可通过横向扩展的的方式保障高并发。目前实测 MatrixGate 可以承载上亿点每秒的写入,可做到毫秒级的写入延迟。更重的是支持 ACID 特性,保证全链路数据强一致性。

编码链:YMatrix 可以支持多种压缩算法:Floatint、Gorilla、Zigzag、LRE、zstd、lz4、delta-delta ,等等。根据不同数据类型可以选择最合适的一种,同时还可以将这些算法编排在一起,也就是编码链,这样针对不同的数据类型分别采用最适用的算法,从而取得整体最优效果。测试数据显示 YMatrix 目前最高可达到 13:1 的压缩比。

MARS2 存储引擎:这是 YMatrix 自研的一款行/列混合存储引擎,数据顺序写入,因此可以做到很快的写入速度,同时支持异频乱序插入。在其内部采用了很多机制,如块级索引、多级合并等等,有效地降低内部开销和资源消耗,从而提升整体的运作效率。另外,MARS2 可以支持做持续预聚集,达到类似 Flink 的实时计算能力,针对某个指标可以在数据一入库之后就计算出它的 count、avg、 或者 sum 值等等。当查询这些值的时候,可以做到毫秒级返回,这种特性在车联网的场景中非常有帮助。

向量化:向量化的实质是充分地利用好 CPU 的 L2/L3 Cache 以及 SIMD 指令集,从而实现查询运算性能的大幅提升。YMatrix 做了比较全面化的向量化,包括算子、表达式、函数、类型转换。同时也对全链路上的重要环节做了向量化:scan、filter、motion ,以及比较高频被使用的窗口函数,等等。


荣膺大奖,持续探索
在本届大会上,为表彰生态创新,全方位激发技术、场景及产品的突破性探索,大会也面向 PG 生态中的优秀产品,评选并颁奖。YMatrix 荣幸获颁“数据库最佳产品奖”。

YMatrix 完全兼容 PG 和 GP 生态,在继承这两款经典数据库的基础上,一直致力于物联网大数据场景的探索与创新。面向未来,YMatrix 将持续深耕物联网大数据分析,深入场景细节,围绕全类型数据融通和全场景综合分析,不断优化性能,扩展功能,提升易用性。YMatrix 也将更深入地融入生态、贡献生态,为 PG 在物联时代的发展,注入能量。
一条有爱的分割线
PG 技术大会一年一届,技术探索永无止境,唯有无限进步。我们明年见!








