PostgreSQL与Oracle高可用性解决方案?


Answers:


7

Oracle的Data Guard复制类似于PostgreSQL的“使用PITR进行热/暖备用”,该版本自PostgreSQL 9.0起内置在数据库中。9.1版也添加了同步复制。PostgreSQL与Oracle相比的一个优点是,可以基于每个事务来控制Sync Rep。您可以拥有完全同步的“重要!” 在Postgres中,事务后跟一个异步的“ OK输”。

Oracle的RAC与PostgreSQL在该网格中标记为“共享磁盘故障转移”的相似。主要区别在于RAC已完全集成到Oracle产品中,而“共享磁盘故障转移”仅描述了一种执行方法。您必须围绕PostgreSQL组装必要的集群软件,并且要在PostgreSQL中复制RAC有很多高级功能。我经常听到,其中大多数设置都很复杂,以至于几乎没有Oracle安装可以使它们正确设置-仅仅是因为RAC是内置的,并不意味着它会自动设置。

在Oracle中很难做的主要事情是在PostgreSQL中也很难复制。可以在PostgreSQL中做多主机,但只能使用Bucardo这样的附加软件。而且,与Multi-Master Oracle安装程序相比,所有此类程序在使用它们方面的限制都更大。


格雷格,我真的很感谢您的视频“同步复制和耐久性调整格雷格·史密斯”昨晚观看了它!它确实帮助我了解了各种选择。我不介意Postgres中的所有复制选项,只花一点时间就可以确定适合我的应用程序的选项。
AMS

值得注意的是,在Oracle成功推销产品之后,多主服务器有时是解决问题的解决方案。
罗布·格兰特

4

我不确定我是否理解您的问题中“ Oracle支持的部分”。Oracle完全不支持Postgres。

Oracle的物理StandBy等同于PostgreSQL流复制。

使用流复制时,PostgreSQL的异步复制等效于使用“最大性能”模式的Oracle备用数据库,而PostgreSQL的同步(自9.1起)等效于使用“最大可用性”模式的Oracle备用数据库。

Oracle还有另一种称为Real Application Cluster(RAC)的选项,在Postgres中是不可用的(它也会进行负载平衡和会话自动重定向到另一个节点(如果一个节点出现故障))


我完全理解Oracle不支持postgres。我想找出的是两种产品都实现了哪些复制方法。我的想法是,如果复制方法对Oracle足够好,那么它可能是复制的更好方法之一。
AMS

2
之所以存在如此众多的复制选择,是因为每种复制选择都适合于不同类型的应用程序。有些人“足够好”而另一些人“不够好”的想法是不正确的。例如,基于触发器的复制方法在Oracle中并不流行。但是它适用于PostgreSQL和MySQL,因为它适用于Oracle并不针对的应用程序类型。
格雷格·史密斯

1

在Oracle上,您基本上可以在运行热备份和使用RAC之间进行选择。

高可用性的主要目的是消除单点故障。RAC在服务器级别执行此操作,从而允许服务器发生故障,而不会中断任何服务。您将需要在存储端使用ASM,镜像和两个或多个物理上独立的存储池(或SAN)来实现类似目的。

如果发生故障,使用热备用将意味着服务中断,但是更简单并且“工程折衷”更少

高质量的硬件也是必不可少的,例如SAS而不是SATA,冗余PSU,UPS等。

还可能需要考虑高可用性的其他方面(例如人为错误)-Oracle的本白皮书对它们进行了更深入的讨论。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.