¿Soluciones de alta disponibilidad de PostgreSQL vs. Oracle?

8

PostgreSQL tiene una matriz de diferentes opciones de alta disponibilidad que representan muchas formas diferentes de construir la replicación en un RDBMS.

Aquí está la matriz de características de alta disponibilidad, equilibrio de carga y replicación de PostgreSQL

Preguntas

  • ¿Cuáles de los enfoques en la matriz de alta disponibilidad de PostgreSQL son compatibles con Oracle?
  • ¿Oracle tiene alta disponibilidad con técnicas que no están disponibles con PostgreSQL?
ams
fuente

Respuestas:

7

La replicación de Data Guard de Oracle es similar al "Hot / Warm Standby usando PITR" de PostgreSQL, que está integrado en la base de datos a partir de PostgreSQL 9.0. La versión 9.1 también agrega replicación síncrona. Una ventaja que PostgreSQL tiene sobre Oracle aquí es que Sync Rep puede controlarse por transacción. Puede tener un "¡Importante!" Totalmente sincronizado Transacción seguida de un asíncrono "OK para perder" uno en Postgres.

El RAC de Oracle es similar a lo que PostgreSQL etiqueta "Failover de disco compartido" en esa cuadrícula. La principal diferencia es que RAC está completamente integrado en el producto de Oracle, mientras que "Shared Disk Failover" solo describe un método para hacer algo. Debe reunir el software de clusterware necesario en torno a eso para PostgreSQL, y hay una variedad de cosas avanzadas que RAC hará que tenga dificultades para duplicar en PostgreSQL. Regularmente escucho que la mayoría de esas cosas son tan complicadas de configurar que pocas instalaciones de Oracle tampoco funcionan bien, solo porque RAC está incorporado no significa que se configure automáticamente.

Lo principal que puede hacer en Oracle que es muy difícil de duplicar también en PostgreSQL es la replicación multimaestro. Es posible hacer multi-master en PostgreSQL, pero solo con software adicional como Bucardo. Y todos estos programas aún tienen más restricciones sobre lo que puede hacer con ellos que las que proporcionan las instalaciones de Oracle Multi-Master.

Greg Smith
fuente
Greg Realmente aprecié tu video "Replicación sincrónica y ajuste de durabilidad Greg Smith" ¡Lo vi anoche! Realmente me ayudó a entender las diversas opciones. No me importan todas las opciones de replicación en Postgres, solo toma un tiempo descubrir cuál es la correcta para mi aplicación.
enms.
Vale la pena señalar que multi-master a veces es una solución que busca un problema, luego de un exitoso lanzamiento de ventas de Oracle.
Rob Grant
4

No estoy seguro de entender la parte "compatible con Oracle" en su pregunta. Postgres no es "compatible" por Oracle de ninguna manera.

El StandBy físico de Oracle es equivalente a la replicación de transmisión PostgreSQL.

Cuando se usa la replicación de transmisión, la replicación asíncrona de PostgreSQL es equivalente al modo de espera de Oracle usando el modo "Máximo rendimiento", mientras que la replicación síncrona de PostgreSQL (desde 9.1) es equivalente al modo de espera de Oracle usando el modo "Disponibilidad máxima".

Oracle tiene otra opción que se llama Real Application Cluster (RAC), que es algo que no está disponible en Postgres (también equilibra la carga y redirige automáticamente la sesión a otro nodo, si se cae)

un caballo sin nombre
fuente
Entiendo completamente que Postgres no es compatible con Oracle. Lo que intento averiguar es qué enfoques de replicación implementan ambos productos. Creo que si un enfoque de replicación es lo suficientemente bueno para Oracle, entonces probablemente sea uno de los mejores enfoques para la replicación.
enms.
2
La razón por la que hay tantas opciones de replicación es que cada una es adecuada para un tipo diferente de aplicación. La idea de que algunos son "suficientemente buenos" y otros no, no es cierta. Por ejemplo, el enfoque de replicación basado en disparadores no es popular para Oracle. Pero está en PostgreSQL y MySQL, porque es adecuado para tipos de aplicaciones a las que Oracle no apunta.
Greg Smith
1

En Oracle, básicamente puede elegir entre ejecutar un hot standby y usar RAC .

El objetivo principal de la alta disponibilidad es eliminar puntos únicos de falla. RAC hace esto a nivel de servidor permitiendo la falla de un servidor sin ninguna interrupción del servicio. Deberá lograr algo similar en el extremo del almacenamiento utilizando ASM , duplicación y dos o más agrupaciones de almacenamiento físicamente independientes (o una SAN).

El uso de un modo de espera activo significará la interrupción del servicio en caso de falla, pero es más simple y tiene menos "compensaciones de ingeniería".

El hardware de buena calidad también es esencial, por ejemplo, SAS no SATA, PSU redundantes, UPS, etc.

También hay otros aspectos de la alta disponibilidad que puede necesitar considerar (p. Ej., Error humano): este informe técnico de Oracle los analiza con mayor profundidad.

Jack dice que intente topanswers.xyz
fuente