版本规划

    1.0 版本基于 Shared-Storage 的存储计算分离架构,发布必备的最小功能集合,例如:PolarVFS、刷脏和 Buffer 管理、LogIndex、SyncDDL 等。

    • PolarVFS:数据库内核中抽象出了一层 VFS 层,使得内核可以对接任意的存储,包括 bufferIO 和 directIO。
    • 刷脏和 Buffer 管理:由原来的 N 份计算+N 份存储,转变成了 N 份计算+1 份存储,主节点在刷脏时需要做协调,避免只读节点读取到超前的“未来页面”。
    • DDL 同步: 在存储计算分离后,主节点在执行 DDL 时需要兼顾只读节点对 Relation 等对象的引用,相关的 DDL 动作需要同步地在只读节点上上锁。
    • 数据库监控:支持主机和数据库的监控,同时为 HA 切换提供了判断依据。

    除了在存储计算分离架构上改动之外,2.0 版本将在优化器上进行深度的优化,例如:

    • UniqueKey:和 Plan 节点的有序性类似,UniqueKey 维护的是 Plan 节点数据的唯一性。数据的唯一性可以减少不必要的 DISTINCT、Group By,增加 Join 结果有序性判断等。
    • OnlinePromote:在主节点崩溃后,切换到任意只读节点。该只读节点无需重启,继续并行回放完所有的 WAL 之后,Promote 成为新的主节点,从而进一步降低了不可用时间。

    为了满足日益增多的 HTAP 混合负载需求,4.0 版本将发布基于 Shared-Storage 架构的分布式并行执行引擎,充分发挥多个只读节点的 CPU/MEM/IO 资源。

    经测试,在计算集群逐步扩展到 256 核时,性能仍然能够线性提升。

    5.0 版本将发布 Share-Nothing On Share-Everything 架构,结合 PolarDB 的分布式版本和 PolarDB 集中式版本的架构优势,使得多个节点都能够写入。