YMatrix 通过“可信数据库”测评!超融合架构能否成为未来趋势?
近日北京四维纵横旗下 YMatrix 数据库通过中国信通院“可信数据库”分布式分析型数据库基础能力测试,满足信通院对于分布式分析型数据库在基本功能、兼容性要求、安全性要求、容错及扩展性等多个领域的测试要求。
公司简介
北京四维纵横数据技术有限公司( YMatrix )成立于 2020 年 8 月,是一家专注于新一代数据基础设施的创新型基础软件公司,为企业提供相关软件产品及一站式解决方案。公司创始团队均来自 Oracle、IBM、Teradata 和 Greenplum 等国际一线数据库企业,致力于创造智能化、高性能、低成本的数据产品,持续推动数据智能技术的突破与发展,为客户创造长期价值。
YMatrix(原MatrixDB)是四维纵横推出的超融合型分布式数据库产品,是一款同时支持在线事务处理(OLTP)、在线分析处理(OLAP)和物联网时序应用的超融合型分布式数据库,具备严格分布式事务一致性、水平在线扩容、兼容 PostgreSQL/Greenplum 协议和生态等重要特性,以“超融合”理念破解传统架构复杂、运维成本高的难题,为企业提供“一站式”的数据存储方案。
系统架构
YMatrix 源于 Greenplum,采用了 Share-nothing 并行架构,各个节点独立运行,不共享内存和存储,节点之间仅通过网络通信进行协作。一个完整的集群中包含三种角色:

主节点
主节点不存储业务数据,仅存储包括所有数据元素定义及属性集合的系统元数据,也就是我们常说的数据字典。
作为应用访问数据库的入口,负责接收并管理客户端的连接请求,对客户端提交的 SQL 语句进行解析,生成分布式执行计划,并将生成的查询计划分发给所有数据节点 (Segment) 执行,最后汇总各数据节点执行后的结果,最终返回给客户端。
备用主节点
备用主节点提供元数据备份及一致性的保障,当主节点发生故障时,备用主节点会自动提升为新的主节点,以保障集群服务的连续性。备用主节点与主节点必须部署在不同的物理服务器。
数据节点
数据节点是 YMatrix 数据存储、计算的核心单元,又可以细分为主实例和镜像实例。
表数据会根据配置打散分布到各个主实例 (Primary) 中,每个主实例独立保存与其他主实例完全不重合的数据分片。当执行查询时,主节点生成查询计划后分发至所有主实例并行执行,通过并行计算提升查询响应速度。
镜像实例和主实例数据保持一致,当主实例出现故障时,则会启动镜像实例,由此来保障服务不中断。
技术创新
尽管同源于 Greenplum,YMatrix 并没有躺着前辈的身上吃老本,而是基于 Greenplum 不断的进行技术创新,从而发展出自己的特色。
高可用控制能力增强
YMatrix 和 Greenplum 都是通过镜机制来确保系统的高可用性,但 Greenplum 整个高可用状态的切换都是由主节点负责的,一旦主节点宕机,整个系统就会处于瘫痪状态,需要通过手工连接至备用主节点进行操作,对应用系统的影响时间变得不可控。
YMatrix 引入独立的服务管理整个集群状态,通过构建 etcd 集群对实例进行存活探测,保证无论是主节点还是数据节点宕机,集群都能自动切换服务,保证服务不中断。
存储引擎全面升级
Greenplum 支持经典的 HEAP 行存引擎和 AOCO 列存存储,分别适用于 OLTP 事务处理型交易和 OLAP 分析型交易系统。AOCO 分析型查询表现好,其原理是一个列一个文件,但对于大表,多表并发写加上 MPP 处理机制,会造成文件数量爆炸性增加,带来许多问题,生产环境实际使用不多。

YMatrix 除了支持 HEAP 行存引擎之外,还自主研发了基于 LSMTree 的行列混合存储引擎 MARS3。相比于 Greenplum 的 AOCO,MARS3 首先将一张大表分为几个块,每个块内又按列存储,从而提供列存在分析型查询中的性能优势。通过自研编码链压缩算法,可针对不同数据类型使用不同的压缩算法,显著降低数据存储成本。
执行引擎性能提升
Greenplum 使用传统的火山引擎,对于数据量大的分析型查询,单行处理性能非常差。YMatrix 对执行引擎进行了全面的向量化改造,能够利用 CPU 的并行计算指令集批量处理数据,结合 MARS3 存储的列存能力,大大提升数据处理效果。
自研的 Domino 流计算引擎,通过 SQL 即可实现数据的实时流式加工,替代 Flink、Spark 等复杂组件,简化了数据处理流程,提升数据分析效率。
写在最后
YMatrix 当前在墨天轮的排行榜第 53 位,相比于半年前的排名有大幅的提升。在时序数据库细分领域,墨天轮共收录了 21 款产品,YMatrix 排名第 7,位置虽然相对靠前,但这个赛道的竞争也同样激烈!

时序数据库的使用场景相对有限,而 YMatrix 倡导的 OLTP+OLAP+时序三合一的模式,有效的拓展了产品的使用边界,能够让用户的数据库架构变得更加简洁,从而具备比其他时序数据库更强的竞争力。相信假以时日,YMatrix 还会更得更大的进步!
