PlanetScale 的 Neki
摘要
Neki 是由 PlanetScale 提供的分片式 Postgres 解决方案,可实现水平扩展至数亿 QPS 和 PB 级数据,且操作零停机。
暂无内容
查看缓存全文
缓存时间: 2026/09/10 17:16
# Neki | PlanetScale 推出的分片Postgres
来源:https://neki.dev/
## 分片Postgres 已至
现已推出
Neki 是 PlanetScale 打造的分片Postgres。每个分片都是真实的Postgres实例。Neki 通过添加路由器、边车组件和控制平面,使其能够超越单机限制,扩展到每秒数亿次查询和PB级数据,同时实现零宕机。
招财猫 Neki
\[ NEKI \]
应用程序
分片01
分片02
分片03
分片04
应用程序连接到 Neki 路由器,路由器将查询路由到Postgres分片。一个第四分片正在进行在线分裂。
将Postgres扩展到超越单机极限,达到每秒数亿次查询和PB级数据规模。
随着工作负载增长,分裂热分片。Neki 创建新的目标分片,通过复制使其数据同步,并通过拓扑变更迁移流量。
在数据库保持在线的状态下,将数据迁移到新的分片布局。无需重写应用或安排维护窗口,即可重新平衡容量。
每个分片都是真实的Postgres实例。Neki 添加了横向扩展Postgres所需的路由器、边车组件和控制平面。
05
让平台负责健康状况追踪、副本提升和路由更新。应用程序始终使用同一个Postgres端点。
06
作为协调的工作流在各分片间执行模式变更。Neki 针对每个分片采用合适的方法,并追踪整个切换过程的进度。
07
在分片数据库层内部进行连接池化。Neki 路由时能感知拓扑、分片健康状态和会话状态。
08
将不同的表或工作负载分配到不同的分片组。根据所需硬件配置,对热数据、冷数据或隔离数据进行独立扩展。
09
在可用区之间,将每个分片作为高可用Postgres集群运行。故障被隔离在尽可能小的单元内。
10
定义数据如何映射到分片、分片组和分片索引。放置策略是显式的、可审查的,并为受控的重分片而设计。
在单个事务中跨分片写入。Neki 协调提交操作,确保变更的原子性:要么所有分片都应用变更,要么都不应用。
使用显式工作流进行数据导入、重分片、模式变更、切换和清理。Neki 使分布式Postgres操作可重复执行。
通过相同的在线迁移模型升级到新Postgres版本:创建目标分片组、复制、切换并退役旧分片组。
在源数据库持续服务流量的同时导入到Neki。当目标就绪时,进行复制、验证和切换。
每个Neki分片都有自己的WAL和逻辑复制路径。CDC 保持与标准Postgres模式以及每个分片的流兼容。
从单个分片起步,随业务增长进行分裂。通过零停机导入迁移现有数据库,或联系团队讨论您的工作负载。
相似文章
Neki
Neki是来自PlanetScale的分片式PostgreSQL,旨在保持标准PostgreSQL兼容性和内置在线工作流程的同时,实现跨多台服务器扩展PostgreSQL数据库。
大规模并行 Postgres 备份
PlanetScale 描述了它如何通过为每个分片启动 EC2 实例、从对象存储恢复之前的备份并重放 WAL,来对分片 Postgres 数据库执行大规模并行备份,从而实现超过 50 GB/s 的 PB 级备份速度。
@PlanetScale:数据库太慢?本地挂载 NVMe 存储带来无上限 IOPS,把数据中心级性能搬进云端……
PlanetScale 推出基于本地 NVMe 存储的高性能云托管方案,为 Vitess 与 Postgres 提供无上限 IOPS 与横向扩展能力。
Neki平台上每秒1.18亿次查询
PlanetScale在其Neki平台上实现了每秒1.18亿次查询的性能,并在512个分片上实现了线性扩展,展示了卓越的数据库操作性能和吞吐量。
让768台服务器看起来像1台
PlanetScale介绍了如何使用数据库分片将关系型数据库从单台服务器扩展到768台服务器,并解决诸如写入限制和资源争用等瓶颈问题。