PlanetScale的分片Postgres服务Neki预览版发布一个月,新增只读副本和低至每月50美元的小型Metal实例。工程团队合并超650项改动,重点提升查询层:支持更多SQL语法、标准工具导出、批量写入提速(分布式INSERT SELECT约76倍、COPY约5倍),并新增分布式执行计划查看。此外还支持Terraform管理扩展、Azure区域部署、分支指标接入MCP。
StackGres 团队使用开源 Citus 在 EKS 上进行基准测试,在单行主键读、无写入场景下,以 24 个 worker 和 48 个查询路由器实现 1000 万 TPS,p50 延迟约 1 毫秒。相比 PlanetScale 的 Neki,Citus 以不到一半的数据节点和约 65% 的 vCPU 达到同等吞吐,成本约为其五分之一。团队将公开复现代码。
PlanetScale 的分片 Postgres 系统 Neki 通过路由器集中执行序列操作,以保证跨分片唯一性。文章区分三类表达式:不可变、稳定(如 now(),在路由器求值一次)、易变(如 nextval(),须按行基数逐行求值)。Neki 先获取表表达式,再在路由器上叠加序列求值,将唯一值下发各分片完成更新。
PlanetScale 现已在微软 Azure 上线,用户可在美国中部、东部及西欧区域创建 Postgres 和 Neki 数据库,暂不支持 Vitess。Azure 版提供高可用、查询洞察和自动备份等功能。为适配 Azure 网络,团队采用 /28 地址块分配方案,将 IP 容量提升 16 倍,单网络支持超百万 Pod IP。现有数据库可联系支持迁移。
Neki在PostgreSQL客户端与数据库之间引入路由层,核心设计是“尽量不做无用功”。它不预先解码所有结果,而是保留原始PostgreSQL协议字节,按需惰性处理:点查询直接透传字节;LIMIT仅需行边界;排序只解码排序键;投影通过复制列帧实现,无需解码;仅聚合等必须计算时才生成新值。这种分层可组合设计大幅减少解码与序列化开销。
Neki为Postgres提供基于原生实例的分片扩展。核心组件:PostgresManager管理实例,Sidecar连接池,Router统一入口解析并路由查询,Admin负责故障转移与持久性策略,Operator在Kubernetes上管理生命周期,Replicator支持表迁移、重分片和在线DDL。etcd存储数据拓扑,确保各组件配置一致。
Neki平台预览版发布后,团队通过简单单分片主键查询测试扩展性。从5分片扩展到512分片,实现每秒1.185亿次查询,处理1.22 PiB数据,吞吐量随分片数线性增长。每分片约23万QPS,路由器p99延迟6.06毫秒,错误率约180万分之一。该测试为只读、无副本、无故障切换。
PlanetScale发布Neki平台预览版,这是一个专为Postgres设计的分布式分片系统。每个分片运行真实Postgres,通过路由器解析并分发查询,支持连接池、在线DDL、零停机升级和重新分片。用户可先不分片运行,需要时再扩展。目前仅供测试,不建议用于生产环境。
Neki路由器利用分片数据库解决查询路由问题,通过Neki计划决定查询发送至哪些分片,而Postgres计划处理分片内执行。路由器集群支持大量客户端连接,无需每连接一个Postgres进程。查询可路由至单分片或散射至全部分片并聚合结果。路由器无状态,易于扩展,分片扩展数据存储,路由器扩展连接处理。
Postgres分片历史:从MySQL因LAMP流行而领先,到Postgres的PL/Proxy、Instagram逻辑分片、Citus扩展等方案。Neki作为新方案,结合前人经验,提供显式分片、真实Postgres集群、可扩展路由器和完整生命周期管理,旨在简化分片复杂度,实现行星级扩展。
Neki的数据拓扑采用JSON配置,定义PostgreSQL分片方案,包括分片索引(哈希、模、范围策略)、分片组(物理分片及键范围)和数据库绑定。该配置指导路由器将查询映射到正确分片,支持灵活数据放置,并可在重分片时动态更新,使多服务器如同单一数据库。
数据库分片是扩展Postgres和MySQL的有效方法,尤其适用于数据超过几TB的情况。通过将数据和查询分布到多个服务器,分片解决了单一数据库的瓶颈问题。应用程序可以通过代理层和负载均衡器与多个分片进行交互。Neki和Vitess是处理大规模数据库复杂性的关键工具。
PlanetScale推出了托管的分片Postgres服务,旨在提升AWS和Google Cloud上的性能与可靠性。该服务基于NVMe驱动器,提供“无限I/O”,降低延迟并提高一致性。通过Neki实现Postgres的水平扩展,尽管Neki尚未开源,但该服务的上线标志着Postgres在开源数据库中的受欢迎程度上升。
PlanetScale正式发布Postgres支持,用户可创建并迁移Postgres数据库。该平台结合了PlanetScale与Postgres的优势,受到众多公司的信赖。Neki是其Postgres分片解决方案,未来将开源发布。
Neki是由Vitess团队推出的开源项目,旨在将Vitess的强大功能应用于高负载的Postgres工作负载。Neki并非Vitess的分支,而是从基础原则出发进行设计。
完成下面两步后,将自动完成登录并继续当前操作。