Neki – 分片 PostgreSQL
一项名为 Neki 的新分片 PostgreSQL 服务由 PlanetScale 构建,它通过将 Vitess 风格的横向扩展带到 Postgres 而引发关注,同时仍是专有的托管产品。评论者主要关注它如何处理一致性、跨分片事务、约束和重新分片,并将其与 Citus、Multigres 和 PgDog 等工具比较,指出技术保证尚未被清晰记录。此次发布还引发了关于营销清晰度、在 AWS 主导的云环境中不将系统开源的决定,以及 PlanetScale 管理层公开沟通风格的争论。
Neki 是什么以及定位
- 被描述为一个分片 PostgreSQL 系统,通过一个路由层在应用和 Postgres 分片之间增加一层间接访问。
- 被宣传为“像 Vitess,但用于 Postgres”,由有 Vitess 经验的工程师构建,但声称是为 Postgres 从零实现的。
- 旨在处理在线重新分片和大规模工作负载;只作为提供方托管服务运行,不是“任何地方都能跑”。
文档、信息传达与营销
- 很多读者从发布博客中很难理解“Neki 是什么”;着陆页被认为更清晰。
- 一些人觉得该帖子缺少简明的顶层描述和一致性保证;后来编辑添加了一个“What is Neki”部分,最终又重定向到了营销页面。
- 设计和品牌获得了赞扬,但一些人仍然觉得产品模型(完全托管 vs 自托管)不清晰。
- 少数评论提到协调一致的营销(广告、多篇 HN 帖子)。
分片、事务与一致性
- 关于以下问题有疑问:
- 跨分片 JOIN 和事务如何工作。
- 是否支持跨分片外键和约束。
- 一致性模型(强一致 vs 最终一致、读写后可见选项、复制延迟)。
- 代表方表示:
- 跨分片事务已存在,但尚未具备完全原子性的 2PC;这正在推进中。
- 路由器与 Postgres 不共享代码。
- 多人要求提供清晰的保证页面以及架构/C2 图;当前文档被一些人称为“AI 风格”或含糊不清。
功能缺口与不明确之处
- 跨分片外键和约束似乎缺失;有人将此与其他分布式数据库早期版本进行比较。
- 如何处理超大表(例如 80 亿+ 行)以及单表是否可以跨多个分片仍不清楚。
- 一致性行为和故障场景在讨论串中没有得到充分文档化。
开源 vs 专有的争论
- 多位评论者非常看重开源所带来的长期安全性和供应商风险控制;有人表示对闭源毫无兴趣。
- 公司对是否开源 Neki “尚未决定”,但强调需要防止大型云提供商复制这项服务。
- 有人指出其中的讽刺意味:公司本身建立在一个开源项目之上,却让 Neki 保持闭源。
与其他系统的比较
- 被提及比较的对象包括:Citus、Multigres、pgdog、Supabase 的产品、Aurora、Cloud SQL、Spanner、Vitess/PlanetScale MySQL、MariaDB Galera、TiDB。
- 代表方强调 Neki 已经支持分片和在线重新分片,同时声称一些竞争对手尚未具备成熟的分片能力。
- 竞争性的开源项目强调可自托管和非专有化的优势。
对公司文化与语气的看法
- 关于 CEO 的公开行为以及批评竞争对手的帖子,出现了大量旁支讨论。
- 一些人觉得这种强硬、讽刺的风格有趣,或难得坦率;另一些人则认为这不专业、令人反感,或者足以让他们避开该产品。
- 争论集中在:对商业/开源核心模式采取对抗式 دفاع 是否合理,还是适得其反。