PostgreSQL具有不同的高可用性选项矩阵,这些选项代表了将复制构建到关系数据库管理系统中的许多不同方法。
这是PostgreSQL高可用性、负载平衡和复制功能矩阵
问题
发布于 2011-12-20 01:41:32
Oracle的数据保护复制与PostgreSQL的“使用PITR的热/温备用”类似,后者内置于PostgreSQL 9.0的数据库中。版本9.1也添加了同步复制。与甲骨文相比,PostgreSQL的一个优点是可以在每个事务的基础上控制同步Rep。您可以拥有一个完全同步的“重要!”在Postgres中,后面跟着异步“确定丢失”的事务。
甲骨文的RAC类似于PostgreSQL在该网格中标记的“共享磁盘故障转移”。主要的区别是RAC完全集成到Oracle的产品中,而“共享磁盘故障转移”只是描述了一种做某事的方法。您必须围绕PostgreSQL组装必要的集群软件,并且RAC做了许多高级的事情,您将很难在PostgreSQL中复制。我经常听说,大多数的设置都是如此的复杂,以至于很少有Oracle安装能够正确地安装它们--仅仅因为RAC是内置的--并不意味着它会自动地设置自己。
在甲骨文中,在PostgreSQL中很难复制的主要事情是多主复制。在PostgreSQL中可以做多个主版,但只有在像布卡多这样的附加软件中才能做到。而且,所有这些程序对您可以使用它们的操作仍然有比多主Oracle安装所提供的更多的限制。
发布于 2011-12-19 08:14:18
我不太明白你的问题中“由甲骨文支持”的部分。Postgres在任何方面都不被Oracle“支持”。
甲骨文的物理StandBy相当于PostgreSQL流复制。
当使用流复制时,PostgreSQL的异步复制等同于使用“最大性能”模式的Oracle备用,而PostgreSQL的同步(自9.1)复制等效于使用“最大可用性”模式的Oracle备用。
Oracle还有另一个选项,称为真正的应用程序集群(RAC),它是Postgres中不可用的东西(它还负责负载平衡和会话自动重定向,如果其中一个节点下降)
发布于 2011-12-19 08:23:27
在Oracle上,您基本上可以在运行热备份和使用RAC之间进行选择。
高可用性的主要目的是消除单个故障点。RAC在服务器级别这样做,允许服务器在没有任何服务中断的情况下发生故障。您需要在存储端使用ASM、镜像和两个或更多物理独立的存储池(或SAN)实现类似的功能。
使用热备用将意味着在发生故障时服务中断,但更简单,“工程权衡”更少。
高质量的硬件也是必不可少的,如非SATA,冗余PSU,UPS等。
您可能还需要考虑高可用性的其他方面(例如人为错误)--甲骨文的这份白皮书对它们进行了更深入的讨论。
https://dba.stackexchange.com/questions/9352
复制相似问题