ZNBase 是由浪潮于近期开源的一款 HTAP 分布式数据库,也是首个即将被开放原子开源基金会接纳的国产数据库项目。该数据库系统为应对日益剧增的混合负载场景研发,能够混合事务和分析场景,适用更多数据应用需求。为实现 HTAP 的特性,该数据库系统中的列存引擎子系统在整个系统架构中扮演了重要的角色。 优品拍拍
支撑 ZNBase 的 HTAP 功能的是多模存储引擎,在其中结构化数据的处理上,存储可以分成行存和列存,是分别针对 OLTP 和 OLAP 场景的优化,而支撑 OLAP 场景的就是的列存引擎。
列存引擎是 ZNBase 数据库系统 HTAP 形态的核心组件,用于存储和管理数据的列存副本,是行存引擎的扩展,列存引擎在提供良好隔离性的同时,也兼顾了读时强一致性。列存副本通过 Raft Learner 协议异步复制,但是在读取的时候通过 Raft 校对索引方式达到 Learner 和 Leader 的同步。这个架构很好地解决了 HTAP 场景的隔离性以及列存同步的问题。