PgCluster
来自 PostgreSQL 维基
跳转到导航跳转到搜索项目概述
PGCluster 是由 Atsushi Mitani 和 PGCluster 开发团队开发的基于共享无状态架构的 PostgreSQL 多主同步复制工具。
项目状态
状态:生产/已退休
pgCluster 的主要开发者已转向 pgCluster2,而 pgCluster 的所有开发工作均已停止。虽然 pgCluster 的代码尚未完全成熟,但它正在少数几个站点投入生产使用。
存档的项目代码可在 PgFoundry 档案库 中找到
项目联系人
- Atsushi Mitani,原始开发者。
一般信息
- 可扩展性:3-6
- 读取扩展:部分
- 写入扩展:负扩展
- 触发器/过程:是
- 并行查询:否
- 故障转移/高可用性:是
- 在线配置:存在问题
- PostgreSQL 升级:否
- 分离节点/广域网:否
- 需要 PostgreSQL 内核修改:是
- 编程语言:C
- 许可证:OSS,BSD 许可证
- 完整集群:是
集群模型
通用模型:具有负载均衡和自动故障转移功能的同步多主二进制复制
用例
- 多主:所有节点看起来相同,无延迟
- 快速故障转移
- 没有单点故障(在完全实现时)
pgCluster 的主要功能是防止数据丢失或系统脱机。所有节点都是同步的,在 6 台服务器配置中,任何机器都可以丢失而不会丢失数据。它旨在提供一些读取扩展,但实际上对于大多数用户而言并非如此。
预期功能
- 高可用性
- DB 服务在故障转移、自动恢复、动态添加和升级服务器等过程中不会停止。
- 没有单点故障。
- 根据网络带宽自动调整数据传输速度。
- 负载均衡服务器和监控服务器已包含在内。
- 同步多主配置
- 对任何主节点的任何更新都会立即从其他主节点可见。
- 事务处理没有变化。
- now() 和 random() 的值被复制。
- 基于 PostgreSQL
- 与 PostgreSQL 相同的应用程序 API
缺点
- 解决方案不成熟
- 负扩展性
- 缺少在线配置
- 设置的费用/复杂性
- PostgreSQL 的分支
pgCluster 存在一些架构问题,导致其主要开发者在它真正成熟之前就重新开始了新的方法。因此,大量的错误和特殊情况没有得到处理,并且许多主要功能(如在线配置)从未完成。
一个完整的 pgcluster 至少需要 6 台机器(3 台数据库服务器、2 台负载均衡器和一台监控/故障转移控制器)。此外,它需要修改 PostgreSQL 内核,因此 pgCluster 的 PostgreSQL 版本始终落后于主流版本。
项目赞助商
支持
Cybertec.at 通过其“CyberCluster”产品为 pgCluster 提供支持。