Información general sobre la replicación lógica de PostgreSQL con Aurora - Amazon Aurora

Información general sobre la replicación lógica de PostgreSQL con Aurora

Al utilizar la función de replicación lógica de PostgreSQL con su clúster de base de datos de Aurora PostgreSQL, puede replicar y sincronizar tablas individuales en lugar de toda la instancia de base de datos. La replicación lógica usa un modelo de publicación y suscripción para replicar los cambios de una fuente a uno o más destinatarios. Para ello, usa registros de cambios del registro de escritura anticipada (WAL) de PostgreSQL. La fuente, o publicador, envía los datos WAL de las tablas especificadas a uno o más destinatarios (suscriptor), replicando así los cambios y manteniendo la tabla del suscriptor sincronizada con la tabla del publicador. El conjunto de cambios del publicador se identifica mediante una publicación. Los suscriptores obtienen los cambios mediante la creación de una suscripción que define la conexión con la base de datos del publicador y sus publicaciones. Un intervalo de replicación es el mecanismo que se utiliza en este esquema para realizar un seguimiento del progreso de una suscripción.

Para los clústeres de bases de datos de Aurora PostgreSQL, los registros WAL se guardan en el almacenamiento de Aurora. El clúster de base de datos de Aurora PostgreSQL que actúa como publicador en un escenario de replicación lógica lee los datos de WAL del almacenamiento de Aurora, los decodifica y los envía al suscriptor para que los cambios se puedan aplicar a la tabla de esa instancia. El publicador utiliza un decodificador lógico para decodificar los datos y que los suscriptores puedan utilizarlos. De forma predeterminada, los clústeres de bases de datos de Aurora PostgreSQL utilizan el complemento de PostgreSQL pgoutput nativo al enviar datos. Hay otros decodificadores lógicos disponibles. Por ejemplo, Aurora PostgreSQL también admite el complemento wal2json que convierte los datos WAL a JSON.

A partir de las versiones 14.5, 13.8, 12.12 y 11.17 de Aurora PostgreSQL, Aurora PostgreSQL amplía el proceso de replicación lógica de PostgreSQL con una memoria caché de escritura para mejorar el rendimiento. Los registros de transacciones de WAL se almacenan en caché localmente, en un búfer, para reducir la cantidad de E/S del disco, es decir, la lectura del almacenamiento de Aurora durante la decodificación lógica. La caché de escritura se usa de forma predeterminada cuando usa replicación lógica para el clúster de bases de datos de Aurora PostgreSQL. Aurora proporciona varias funciones que puede usar para administrar la caché. Para obtener más información, consulte Supervisión de la memoria caché de escritura indirecta de la replicación lógica en Aurora PostgreSQL.

La replicación lógica es compatible con todas las versiones de Aurora PostgreSQL disponibles actualmente. Para obtener información detallada sobre la versión, consulte las actualizaciones de Amazon Aurora PostgreSQL en las notas de la versión de Aurora PostgreSQL.

La replicación lógica es compatible con Babelfish para Aurora PostgreSQL a partir de las siguientes versiones:

  • Versión 15.7 y posteriores

  • Versión 16.3 y posteriores

nota

Además de la característica de replicación lógica nativa de PostgreSQL introducida en PostgreSQL 10, Aurora PostgreSQL también admite la extensión pglogical. Para obtener más información, consulte Uso de pglogical para sincronizar datos entre instancias.

Para obtener información adicional sobre la implementación de PostgreSQL en la replicación lógica, consulte la sección sobre replicación lógica y la sección sobre conceptos de descodificación lógica.