Slony
概述
Slony-I 是一种“主到多从”的复制系统,支持级联(例如,一个节点可以向另一个节点馈送数据,该节点又可以向另一个节点馈送数据……)和故障转移。
状态
生产
- 版本 1.2
- 遗留版本(最后一个支持 Postgresql <8.3 的版本)
- 版本 2.0
- 已发布
- 版本 2.1
- 已发布
- 版本 2.2
- 已发布(推荐用于生产环境)
联系方式
一般信息
可扩展性 | 单一来源(主节点),最多 20 个订阅者。 |
读取扩展 | 是 |
写入扩展 | 否/轻微反向 |
触发器/过程 | 是,所有触发器都使用 C 语言编写 |
并行查询 | 否 |
故障转移/高可用性 | 是 |
在线配置 | 是 |
PostgreSQL 升级 | 是 |
分离节点/WAN | 是,但可能很笨拙 |
需要 PostgreSQL 核心修改 | 否 |
编程语言 | SQL、pl/pgsql、C/SPI、C |
许可证 | Postgres 许可证 |
完整的集群解决方案 | 否。(需要负载均衡器、连接池) |
PostgreSQL 版本 | 多个 PG 版本 - 根据 Slony-I 版本略有不同。 |
集群模型
异步级联主从复制,基于行,使用触发器和数据库中的队列。
Slony-I 可以与连接池和负载均衡器(如 pgPool2 或 DBD::Multiplex)结合使用,形成一个完整的集群系统。
用例
- 级联复制(主-->从-->从)
- 部分复制
- PostgreSQL 和服务器平台的升级
- 故障转移和从节点提升
- 在线配置
- 有限的从节点分离/重新连接
- 成熟度和现场测试(已在生产环境中使用 5 年)
Slony-I 是一种“主到多从”的复制系统,支持级联(例如,一个节点可以向另一个节点馈送数据,该节点又可以向另一个节点馈送数据……)和故障转移。Slony-I 开发的大方向是,它是一个主从复制系统,包含复制大型数据库到数量合理有限的从系统所需的所有功能和能力。Slony-I 是一个专为数据中心和备份站点设计的系统,在这些地方,正常操作模式是所有节点都可用。
缺点
- 不是完整的集群解决方案
- 设置复杂
- 对模式更改的限制
- 大批量加载和大型对象复制的性能
- 写入开销和相关维护(真空等)
- 需要多个监控点
- 主从,复制延迟
即使作为复制系统,Slony-I 的主要缺点是设置和管理的复杂性。该系统的设计,利用数据库本身来对行更新进行排队,也显著增加了 DBMS 所做的数据写入和 I/O 量。
此外,由于 Slony-I 是异步的主从系统,所有写入都必须隔离到主节点。此外,主节点和从节点之间存在明显的延迟(1-3 秒),这可能会导致用户对数据的视图不一致。
项目赞助商
由 Afilias(Christopher Browne,Steven Singer)和 OpenSCG(Jan Wieck)赞助。
网站由 CommandPrompt 托管
支持
Slony-I 可能是商业支持最好的复制/集群解决方案。以下公司提供 Slony-I 支持以及 PostgreSQL 支持:CommandPrompt、EnterpriseDB、Fujitsu 澳大利亚和 2ndQuadrant。PostgreSQL Experts、SRA、Credativ 和 End Point 等公司也提供 Slony-I 咨询服务。