重磅更新|PolarDB分布式版V2.4 列存引擎正式开源
导读1:架构简介
计算节点是系统的入口,采用无状态设计,包括SQL解析器、优化器、执行器等模块。负责数据分布式路由、计算及动态调度,负责分布式事务2PC协调、全局二级索引维护等,同时提供SQL限流、三权分立等企业级特性。
2. 存储节点(DN,Data Node)
存储节点负责数据的持久化,基于多数派 Paxos 协议提供数据高可靠、强一致保障,同时通过 MVCC 维护分布式事务可见性。
3. 元数据服务(GMS,Global Meta Service)
元数据服务负责维护全局强一致的Table/Schema,Statistics等系统Meta信息,维护账号、权限等安全信息,同时提供全局授时服务(即TSO)。
4. 日志节点(CDC,Change Data Capture)
日志节点提供完全兼容MySQL Binlog格式和协议的增量订阅能力,提供兼容MySQL Replication协议的主从复制能力。
5. 列存节点(Columnar)
列存节点提供持久化列存索引,实时消费分布式事务的binlog日志,基于对象存储介质构建列存索引,能满足实时更新的需求、以及结合计算节点可提供列存的快照一致性查询能力。
🔗 开源地址
https://github.com/polardb/polardbx-sql
导读2:版本说明
梳理下PolarDB分布式版开源脉络:
▶︎ 2021年10月,在云栖大会上,阿里云正式对外开源了云原生数据库PolarDB分布式版,采用全内核开源的模式,开源内容包含计算引擎、存储引擎、日志引擎、Kube等。
▶︎ 2022年1月,PolarDB分布式版正式发布2.0.0版本,继2021年10月20号云栖大会正式开源后的第一次版本更新,更新内容包括新增集群扩缩容、以及binlog生态兼容等特性,兼容maxwell和debezium增量日志订阅,以及新增其他众多新特性和修复若干问题。
▶︎ 2022年3月,PolarDB分布式版正式发布2.1.0版本,包含了四大核心特性,全面提升 PolarDB分布式版稳定性和生态兼容性,其中包含基于Paxos的三副本共识协议。
▶︎ 2022年5月,PolarDB分布式版正式发布2.1.1版本,重点推出冷热数据新特性,可以支持业务表的数据按照数据特性分别存储在不同的存储介质上,比如将冷数据存储到Aliyun OSS对象存储上。
▶︎ 2022年10月,PolarDB分布式版正式发布2.2.0版本,这是一个重要的里程碑版本,重点推出符合分布式数据库金融标准下的企业级和国产ARM适配,共包括八大核心特性,全面提升PolarDB分布式版分布式数据库在金融、通讯、政务等行业的普适性。
▶︎ 2023年3月,PolarDB分布式版正式发布2.2.1版本,在分布式数据库金融标准能力基础上,重点加强了生产级关键能力,全面提升PolarDB分布式版面向数据库生产环境的易用性和安全性,比如:提供数据快速导入、性能测试验证、生产部署建议等。
▶︎ 2023年10月份,PolarDB分布式版正式发布2.3.0版本,重点推出PolarDB分布式版标准版(集中式形态),将PolarDB分布式版中的DN节点提供单独服务,支持paxos协议的多副本模式、lizard分布式事务引擎,同时可以100%兼容MySQL,对应PolarDB-X公有云的标准版[1]。
2024年4月份,PolarDB分布式版正式发布2.4.0版本,重点推出列存节点Columnar,可以提供持久化列存索引(Clustered Columnar Index,CCI)。PolarDB分布式版的行存表默认有主键索引和二级索引,列存索引是一份额外基于列式结构的二级索引(默认覆盖行存所有列),一张表可以同时具备行存和列存的数据,结合计算节点CN的向量化计算,可以满足分布式下的查询加速的诉求,实现HTAP一体化的体验和效果。
01、列存索引