加载中...
Citus 是 PostgreSQL 的开源分布式扩展,通过把大表按分片键切分到多个工作节点,让单机 PostgreSQL 具备横向扩展能力。它兼容原有 SQL 与生态,适合多租户 SaaS 与实时分析等需要突破单机瓶颈的场景。

| 类型 | PostgreSQL 分布式扩展 |
| 架构 | 协调节点+工作节点 |
| 扩展方式 | 水平分片 |
| 现属 | 微软 |
| 许可 | 开源 |
Citus 是 PostgreSQL 的一款开源分布式扩展,由 Citus Data 公司开发,后被微软收购。它把标准的 PostgreSQL 变成一个分布式数据库集群,能够将数据和查询分散到多台机器上并行处理,从而突破单机在存储与算力上的上限。
Citus 采用协调节点加工作节点的架构。用户按分片键把大表声明为分布表,Citus 会将其水平切分为多个分片,分布到不同工作节点。应用连接协调节点提交 SQL,协调节点负责把查询下推、拆分并汇总各节点的结果。由于它是扩展而非分支,可继续使用绝大多数 PostgreSQL 特性与工具。
Citus 特别适合多租户 SaaS 应用,可按租户 ID 作为分片键实现天然隔离与均衡;也适合面向用户的实时分析、时序与事件数据仓库等对单机容量与并发有更高要求的场景。
问:选对分片键重要吗?答:非常重要。分片键决定数据分布是否均匀,以及连接能否在节点内本地完成;选择不当会导致数据倾斜与频繁的跨节点通信,拖累性能。
问:Citus 和 PolarDB、CockroachDB 这类数据库有何不同?答:Citus 是在原生 PostgreSQL 之上做分布式扩展,强调兼容与低迁移成本,而不是从头设计的独立分布式内核。

| 类型 | PostgreSQL 分布式扩展 |
| 架构 | 协调节点+工作节点 |
| 扩展方式 | 水平分片 |
| 现属 | 微软 |
| 许可 | 开源 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧