Postgres-R

来自 PostgreSQL 维基
跳转到导航跳转到搜索

项目概述

Postgres-R 为共享无状态集群提供高效、快速且一致的多主复制。它与 Postgres 紧密集成,也用 C 语言编写。它基于经过科学验证的算法,并使用群组通信系统进行所有节点之间的通信和共识。

项目状态

原型,尚未准备好投入生产

项目联系人

网站:www.postgres-r.org

首席开发者:Markus Wanner

邮件列表:postgres-r-general 在 pgfoundry 上

一般信息

可扩展性 目标是几十台服务器或更多。
读取扩展 与节点数量成线性关系
写入扩展 高度依赖工作负载
触发器/过程/子事务 完全支持,对应用程序透明
并行查询 目前尚未实现,但已计划
故障转移/高可用性 可配置以实现不同级别的可用性,取决于 GCS
在线配置 节点可以随时添加或删除
PostgreSQL 升级 为升级而设计,尚未正式发布。
分离节点/广域网 尽管计划异步操作
需要 PostgreSQL 核心修改
编程语言 与 PostgreSQL 核心相同 C、flex 和 bison。
许可证 与 PostgreSQL 核心相同 类似 BSD
完整的集群解决方案 需要 GCS
PostgreSQL 版本 CVS HEAD

集群模型

一般模型:共享无状态、积极(无冲突)、到处更新(多主)数据库复制

Postgres-R 是关系数据库系统 Postgres 的扩展,为共享无状态集群提供高效、快速且一致的数据库复制。它旨在尽可能对客户端透明,默认情况下稳定且安全。

用例

Postgres-R 的主要用途是在商品硬件上构建负载均衡和高可用性数据库系统。此外,由于 Postgres-R 的灵活架构,可以轻松地扩展或调整复制过程以适应多种不同的方式。与常见的单节点数据库系统相比,Postgres-R 集群更可靠,扩展性更好,同时更便宜且更灵活。