同源于 Greenplum,重构于内核,YMatrix 完成了真正意义上的“底层换芯”。在存储、执行引擎、高可用机制等关键能力上实现全面升级,不只是国产化替代,更是面向未来的进化之路。 向下兼容,向上升级,YMatrix 用核心技术的跃迁,打开了国产数据库的“高端局”。
尽管 Greenplum 已不再开源,但它的架构理念、技术积累并未被时间淘汰。作为原班人马打造的新一代产品,YMatrix 在多个关键层面延续了 Greenplum 的核心设计,比如架构模式、执行机制和接口兼容性等。
对于一个查询,Greenplum 和 YMatrix 采用的是 "分而治之"的策略,每个 Segment 只处理自己分区的数据,通过并行架构实现线性扩展能力。例如一个10亿条记录的聚合查询,会被自动拆分成 100 个 Segment 并行处理,每个只需处理约 1000 万条数据,执行时间自然可以大幅降低。
Greenplum 和 YMatrix 都是基于 PostgreSQL 体系,使用常用的数据库客户端都可以选择使用 PostgreSQL 驱动访问。
使用应用程序访问时也都可以完全兼容 PostgreSQL
YMatrix 和 Greenplum 都是通过镜像机制来确保系统的高可用性,但是控制的方式有所不同。
它的基本原理是每个 Segment 实例会在另一个数据节点上有一个完全一致的镜像实例,且数据保持一致,这样当一个 Segment 实例出现故障时,其镜像实例就会启用,保障服务不中断。
P (Primary): 当前工作的 Segment 实例 M (Mirror): 镜像实例
Greenplum
Greenplum 对于 Segment 实例的探测,整个高可用状态的切换都由主节点负责,因此,一旦主节点宕机,整个系统就会处于瘫痪状态,需要通过手工连接至 Standby 进行操作,让它代替主节点进行工作。
YMatrix
相较 Greenplum, YMatrix 引入独立的服务管理整个集群状态。 通过在集群中随机选取奇数个阶段,构建 etcd 集群,并有相应的进程对实例的存活进行探测;分布式架构与etcd的强一致性存储,保证了无论是主节点还是数据节点宕机,集群都能自动切换服务,保证服务不中断。
Greenplum
YMatrix
Greenplum
使用的是传统的火山引擎,其特点是一行一行(Tuple) 处理数据,对于数据量大的分析型查询,一行一行处理显然就慢的多了。
虽然 Greenplum 有 AOCO 这样的列存,但是由于其执行引擎没有进行相应的改造,虽然能做到一次从存储中取一批数据,但计算还是一行一行的,无法充分发挥列存优势。
YMatrix
YMatrix 对执行器进行了全面的向量化改造,能够利用 CPU 的并行计算指令集,按批计算数据,再配合 MARS3 存储的列存能力,二者达成 1+1 > 2 的效果。
YMatrix 对于企业而言,这意味着:
📈 性能提升 2-5 倍,无需重写业务逻辑
🔄 秒级容灾自动切换,运维更省心
🔌完整兼容 PostgreSQL 生态,迁移几乎无成本
YMatrix 在性能更强、部署更稳、运维更省的同时,依然保持对 Greenplum 和 PostgreSQL 的高度兼容性——技术团队无需重写业务逻辑,即可几乎零改造平滑迁移,快速切换到新一代企业级超融合数据库平台。