Blog

Inicio / Blog / La guía de captura de datos modificados (CDC) para PostgreSQL

Tabla de Contenido
El automatizado, Sin código Pila de datos

Aprende cómo Astera Data Stack puede simplificar y agilizar la gestión de datos de su empresa.

La guía de captura de datos modificados (CDC) para PostgreSQL

Usman Hasan Khan

Estratega de contenido

7 de febrero de 2024.

Este artículo sirve como una guía completa para cambiar la captura de datos (CDC) en PostgreSQL, también conocido como Postgres. Le guiará a través de las diferentes formas de implementar Postgres CDC, incluidos los pros y los contras, así como una alternativa automatizada a todos los métodos manuales. 

También abordará la importancia de PostgreSQL CDC. Antes de comenzar, dejemos de lado algunos conceptos básicos. 

¿Qué es PostgreSQL? 

PostgreSQL es un De código abierto base de datos relacional sistema de gestión (RDBMS). Su versatilidad permite su uso tanto como base de datos y como almacén de datos cuando sea necesario. 

PostgreSQL también es completamente gratuito y sus usuarios disfrutan constantemente de un amplio desarrollo de código abierto y de un soporte confiable. Estas son algunas de las principales razones de su impresionante longevidad: PostgreSQL existe desde hace más de dos décadas y continúa figurando entre las bases de datos relacionales más utilizadas. para la gestión de datos . 

Características y aplicaciones de PostgreSQL 

  • Además de ser gratuito, PostgreSQL también se ha ganado una gran reputación por su adaptabilidad y extensibilidad. Se integra perfectamente con sus sistemas existentes y cumple con los estándares SQL, para que sepa qué esperar.
  • Con soporte integrado para la captura de datos modificados, Postgres proporciona un un mecanismo robusto para rastrear y capturar cambios en la base de datos.
  • Es Compatible con ACID, altamente seguro y capaz de manejar fallas de procesamiento, por lo que puede contar con la validez de los datos.
  • Admite consultas JSON y SQL.
  • Como base de datos relacional, PostgreSQL almacena elementos de datos en forma de tablas donde las filas también se denominan tuplas y cada tupla se identifica con una clave única. Las columnas almacenan los atributos de cada elemento de datos correspondiente. 

Una tabla que muestra cómo se almacenan los datos en una base de datos PostgreSQL, con etiquetas para tuplas y atributos.

Estas características hacen de PostgreSQL la elección correcta para muchas aplicaciones. unos pocos de los cuales incluyen: 

  • Base de datos transaccional: Cuando con frecuencia necesita acceso rápido a información para usar en un producto o aplicación, PostgreSQL es la elección correcta de base de datos, ya que su estructura relacional recupera datos relevantes a altas velocidades.
  • Almacenamiento de datos: Una base de datos funciona bien para operaciones de datos transaccionales pero no para análisis, y lo contrario ocurre con un almacén de datos. Los dos se complementan por lo que puede apalancamiento tus datos más fácilmente. La compatibilidad de PostgreSQL con herramientas de Business Intelligence lo convierte en una opción práctica. opción para cumplir con sus requisitos de minería de datos, análisis y BI.
  • Servicios basados ​​en la localización: Usando el PostGIS extensión, puedes utilice PostgreSQL para almacenar, indexar y consultar datos geoespaciales según sea necesario. Esto lo hace una elección inteligente para servicios basados ​​en localización y Sistemas de Información Geográfica (SIG).
  • Transacciones OLTP: PostgreSQL es comúnmente utilizado para transacciones de procesamiento de transacciones en línea (OLTP) en muchas industrias, incluyendo comercio electrónico (compras en línea y actualizaciones de stock), banca (transferencias de fondos, retiros en cajeros automáticos), y controles de saldo), ventas (transacciones minoristas, generación de facturas y puntos de fidelidad), y servicios (reserva de citas, actualizaciones de servicios, y pagos por servicios prestados). 

¿Por qué Necesitas Postgres CDC? 

Supongamos que necesita los datos más actualizados para fines de generación de informes. ahora, excepto que aún no puedes tenerlo ya que la próxima sincronización está programada para horas desde ahora. La sincronización manual es una opción, pero si su empresa es de gran tamaño y maneja grandes volúmenes de datos, el procesamiento por lotes puede convertirse rápidamente en un obstáculo. Puede dar lugar a errores, al uso de información desactualizada y a informes incorrectos.

En última instancia, su toma de decisiones se verá afectada ya que no tendrá los datos actualizados que necesita para seguir los pasos que debe. 

Este es exactamente el tipo de escenario que puede evitar con Postgres CDC. 

Postgres Los métodos CDC lo ayudan a rastrear y manejar cambios en sus bases de datos. La acción más común en tales casos es la replicación de los cambios en el origen en un almacén de datos de destino. Este le permite mantener sus datos sincronizados entre múltiples bases de datos. 

Una reseña de cliente para Astera.

Cómo funciona ¿Funciona PostgreSQL CDC y qué hace? 

Postgres CDC garantiza que todos los sistemas tengan acceso constante a la versión más actualizada de sus datos, por lo que son trabajando siempre con información actualizada. Postgresccambiar la captura de datos también tiene algunos adicional beneficios, tales como: 

  • Postgres CDC puede ayudarle a reducir su proveedor costos de uso de la red, ya que solo se procesarán los últimos cambios durante cada sincronización en lugar de todo el conjunto de datos.
  • Aanalítica y tareas similares requieren más recursos ejecutar, impactos tan frecuentes del procesamiento por lotes El rendimiento de la base de datos de Postgres con el tiempo e interrumpe su funcionalidad. Postgres CDC inicialmente hace copias de la base de datos y luego las actualiza gradualmente con datos modificados. Este El proceso es mucho más ligero. que el procesamiento por lotes, manteniendo su base de datos más rápida y eficiente.
  • Gestión de datos maestros (MDM) El sistema funcionar más fluidamente con Postgres CDC en vigor. Con datos modificados de fuentes dispares que se actualizan continuamente en el sistema MDM, todos sus equipos utilizan el los mismos datos actualizados. Esto puede mejorar la colaboración y la coordinación y acelerar mejores decisiones comerciales.
  • Incluso puede utilizar cambiar la captura de datos con Postgres como mecanismo de recuperación ante desastres para sus datos. CDC en tiempo real le ayuda a realizar copias de seguridad de bases de datos críticas y crear redundancias que pueden resultar útiles en casos de fallas del sistema, ataques de malware, errores humanos y otras situaciones similares.    

Memétodos para implementar PostgreSQL CHange DATA Captitud 

Un gráfico que muestra los diferentes tipos de técnicas CDC de PostgreSQL.

Como se mencionó anteriormente, Postgres CDC rastreará y replicará cualquier cambio de datos en múltiples bases de datos. El método CDC que elija puede ser por lotes o en tiempo real, ya que CDC no tener algún requisito relacionado con el tiempo.  

Puede implementar Postgres CDC en unos pocos días.istinto formas basadas en sus requisitos operativos, y lo haremos Échales un vistazo más de cerca a continuación: 

TAparejos 

El CDC de Postgres basado en activadores también se conoce como “procedimiento de abastecimiento de eventos”.." En este método, se crea un registro de eventos dedicado que sirve como fuente principal de información. Como sugiere su nombre, este método depende en gran medida de desencadenantes, que son crucial en cada transacción de la base de datos y capturar eventos en en tiempo real. 

Un gatillo programa la base de datos para que se comporte de una manera particular cada vez que ocurre un evento específico se produce. Este evento podría ser la introducción de nuevos datos, actualizaciones de datos existentes o la eliminación de datos existentes de la base de datos. 

Los activadores CDC de Postgres son altamente personalizables. Puede configurarlos para que se ejecuten antes o después de los eventos mencionados anteriormente, para que se ejecuten para cada cambio individual o para que se ejecuten una vez para un grupo de cambios. Incluso puede imponer condiciones operativas a los activadores, haciendo que se ejecuten sólo cuando se activa una tupla específica. modificado o ejecutarse sólo como respuesta a determinadas acciones. 

Los activadores en Postgres CDC funcionan bien para rastrear cambios en tablas, registrarlos en una tabla diferente y crear un registro de cada cambio. Para implementar Postgres basado en disparadores cambiar la captura de datos, puede crear activadores de auditoría en su base de datos de Postgres que rastrearán todos los eventos relacionados con acciones como INSERTAR, ACTUALIZAR y ELIMINAR. 

Dado que este método opera a nivel SQL, puede consultar la tabla Captura de datos modificados y Identifique todos los cambios. Esta es un ejemplo de una función de activación: 

Fragmento de código para crear una tabla 'users_cdc' en Postgres.

Este código creará una tabla llamada 'usuarios_cdc'para almacenar información de captura de datos de cambio, capturar información como la ID de usuario, operacióntipo de ion (INSERT, UPDATE, DELETE), marca de tiempo del cambio y el usuario antes y después del cambio información. 

Código para crear una función de activación en Postgres.

Este código define un PL/pgSQL función ('capturar_cambios') desencadenados después de las operaciones INSERTAR, ACTUALIZAR O ELIMINAR en la tabla 'usuarios'. El 'CASO' ambiental determina el tipo de operación basado en el valor of  "TG_OP' (operación de disparo). 

Código para crear una función de activación en Postgres.

Este código crea un disparador llamado 'usuarios_trigger' en la tabla 'usuarios' que se activará después de cualquier operación INSERTAR, ACTUALIZAR o ELIMINAR.

En lo anterior CDC de Postgres Por ejemplo, cada vez que ocurre un cambio en la tabla 'usuarios', el disparador correspondiente activará el 'capturar_cambios'función, que registrará los cambios en el 'usuarios_CDC' mesa. La tabla CDC capturará el tipo de operación, la marca de tiempo y los datos relevantes antes y después del cambio.

Juntos, estos elementos le ayudarán a realizar un seguimiento de todas las modificaciones en la tabla original a lo largo del tiempo. 

Ventajas de Postgres CDC basado en disparadores 

  • Postgres CDC basado en disparadores es confiable y completo.
  • Captura de todos los cambioss y el mantenimiento de registros se realizan dentro del sistema SQL.
  • La captura instantánea de cambios permite el procesamiento de eventos en tiempo real.
  • Puede crear desencadenadores para diversos tipos de eventos. 

Contras de Postgres CDC basado en disparadores:

  • Dado que cualquier disparador que cree se ejecuta en su base de datos principal de Postgres, puede ralentizar la base de datos. Como cualquier otra operación, ejecutar CDC de Postgres vía Los desencadenantes también requieren recursos y aumentan la presión sobre la base de datos.
  • Minimizar el impacto en los recursos de la base de datos implica crear otra tabla que refleje la tabla principal y usar esta tabla secundaria para la implementación del desencadenador. Sin embargo, también necesitará crear una canalización separada para reflejar cualquier cambio en cualquier destino que se encuentre fuera de la instancia de Postgres aplicable del activador.

Consultas 

CDC de Postgres basado en consultas requiere más esfuerzo manual que utilizando desencadenantes. Debe consultar activamente su base de datos de Postgres para Identifique cualquier cambio en lugar de depender de activadores preconfigurados. Necesita una columna de marca de tiempo en su tablae para utilizar este método personalizado. Cada vez que se agrega un registro o modificado, la columna de marca de tiempo se actualizará para incluir la fecha y hora del cambio. 

Cualquier consulta que realice a su base de datos de Postgres utilizará esta columna de marca de tiempo para obtener todos modificado archivos desde su última consulta y luego mostrar esos cambios capturados.  

También puede utilizar secuencias de comandos para monitorear su base de datos de Postgres para cambios y registrarlos en una base de datos de destino, pero esto opción Requiere incluso más trabajo que simplemente consultar la base de datos. 

Continuando el Postgres cambiar la captura de datos ejemplo anterior, aquí está cómo consultará una tabla de 'usuarios': 

Código para una consulta de Postgres.

Esta consulta recupera todos los registros de the 'usuarios' mesa donde el "última actualización" la marca de tiempo es mayor que '2024-01-01'. Se utiliza para recuperar registros de usuarios que se han actualizado desde la fecha especificada.

Fragmento de código para crear una tabla 'users_cdc' en Postgres.

ThEste código creará la tabla 'cambios_usuarios' con información sobre cada cambio, como el tipo de operación (INSERTAR, ACTUALIZAR o ELIMINAR), su marca de tiempo y datos relevantes antes y después del cambio.

Ventajas de Postgres CDC basado en consultas 

  • Es más fácil que configurar Captura de datos de cambios de Postgres vía desencadenantes.
  • Da tendrá más control sobre el proceso de CDC.
  • No necesita herramientas externas para CDC basado en consultas. 

Desventajas de Postgres CDC basado en consultas

  • Requiere un enfoque más proactivo que el basado en el disparador "configúrelo y olvídese". Postgres CENTROS PARA EL CONTROL Y LA PREVENCIÓN DE ENFERMEDADES. Deberá consultar periódicamente la base de datos para garantizar un seguimiento de cambios preciso y puntual.
  • La capa de consulta es crucial para la extracción de datos en este método, lo que puede suponer una carga adicional para la base de datos de Postgres. 

PostgreSQL Replicación lógica 

El CDC de Postgres con replicación lógica también se denomina decodificación lógica. Piense en ello como una representación en streaming de un registro de escritura anticipada (WAL). Desde WAL captura y registra todos los cambios de datos en la base de datos de Postgres; estos cambios se consideran flujos de decodificación lógica y se clasifican como una ranura de replicación lógica en el nivel de la base de datos. 

En otras palabras, una ranura de replicación no es más que un flujo de cambios que ocurren en una base de datos. Cada base de datos puede tener múltiples espacios o flujos de cambios.  

Poner en marcha PostgreSQL la replicación lógica requiere un complemento de decodificación lógica. Las versiones 10 y posteriores de Postgres presentan el valor predeterminado 'salidapg' enchufar. Permite que los cambios de la base de datos de Postgres se procesen como secuencias. Sin embargo, si está utilizando una versión anterior a 10, deberá instalar manualmente un complemento como 'decodificadores'o'wal2json'. 

La 'salidapgEl complemento es útil para replicar datos entre dos o más instancias de PostgreSQL.. Aún así, puede ser difícil para transferir datos de flujo de cambios de Postgres a otro plataforma o base de datos. 

Si desea mover datos de flujo de cambios a una plataforma que no sea Postgres, puede usar el comando 'wal2json'complemento para transformar los datos del flujo de cambios en JSON. Esto permitirá que sus plataformas de destino lo lean en formato JSON, lo cual es más fácil. que leer pgoutput salida binaria. 

Además de un complemento, el otro componente vital en CDC a través de réplica lógica PostgreSQLación Es un modelo de suscripción con editores y suscriptores. Este modelo de suscripción permite que uno o más suscriptores se suscriban a una (o más de una) publicaciones utilizando el nodo editor. Los suscriptores extraen datos de las publicaciones y pueden volver a publicarlos para replicarlos o realizar más reconfiguraciones. 

Sigue los pasos a continuación para implementar Postgres CDC con replicación lógica desde una base de datos fuente (usaremos el 'usuarios' tabla de los ejemplos anteriores) a una base de datos de destino, a la que llamaremos 'usuarios_cambios' mesa.

Recuerde reemplazar marcadores de posición como 'fuente_db' y 'usuario_replicación' con la información real de su base de datos. 

Valores de configuración de Postgres para replicación lógica.

Primero, habilite la representación lógica en el archivo de configuración de Postgres 'postgresql.conf'. Utilice la configuración anterior y reinicie Postgres una vez realizados estos cambios. 

Código para crear una tabla y publicación en Postgres.

Esta sección creará una tabla llamada 'usuarios' y una publicación llamada 'mi_pub" Para el 'usuarios' mesa. Esta publicación es la fuente de los cambios que se replicarán. 

Código para crear una tabla 'users_changes' en Postgres.

Esta sección creará una tabla llamada "cambios_usuarios" en la base de datos de destino para almacenar los cambios desde el origen.

Código para crear una suscripción en Postgres Logical Replication

Este código establecer la suscripción 'mi_sub", que se conectará a la base de datos de origen y se suscribirá al "mi_sub" publicación. 

Código para la función desencadenante 'capture_changes' y 'users_trigger' en Postgres.

Este código define una función de activación 'capturar_cambios'para capturar cambios en el'usuarios mesa. eso yoinserta información relevante en el 'usuarios_cambios' mesa dependiendo del tipo de operación (INSERTAR, ACTUALIZAR, BORRAR). También crea el disparador 'usuarios_trigger' para ejecutar esta función después de cada archivo de filacambio de velocidad en el 'usuarios mesa. 

Código para la función desencadenante 'capture_changes' en una base de datos Postgres.

Esta es una declaración SQL para monitorear cambios en la ranura de replicación lógica denominada 'mi_sub'y ir a buscarlos. Reemplazar 'mi_sub' con el nombre de su suscripción específica. 

Ventajas de Postgres CDC con replicación lógica: 

  • El CDC basado en registros permite la captura de cambios de datos en tiempo real mediante un mecanismo basado en eventos. Esto permite que las aplicaciones posteriores accedan a datos actualizados de una base de datos de Postgres de manera consistente.
  • Este método CDC puede identificar todo tipo de eventos de cambio en una base de datos de Postgres.
  • Dado que este método accede directamente al sistema de archivos, ejerce menos presión sobre la base de datos. 

Contras de Postgres CDC con replicación lógica: 

  • La replicación lógica no está disponible para versiones de PostgreSQL anteriores a la 9.4.
  • Dependiendo del caso de uso, la lógica compleja requerida para procesar estos eventos y su eventual conversión en declaraciones para la base de datos de destino puede afectar potencialmente la finalización del proyecto. 

CDC de Postgres utilizando el registro de escritura anticipada (WAL) 

Tanto el CDC de Postgres basado en activadores como el basado en consultas pueden crear latencia y afectar el rendimiento de su base de datos con el tiempo. Si, tu hubieras más bien apalancamiento funciones integradas de Postgres y reutilizarlas para procesos CDC en lugar de utilizar las técnicas analizadas anteriormente, puede utilizar el Wal. 

El WAL es un registro de transacciones que anota todos los cambios en la base de datos. Su objetivo principal es la recuperación y garantizar la integridad de los datos., haciendo Es útil para CDC basados ​​en eventos. Dado que se trata de una característica incorporada, trabajará principalmente con la configuración propia de la base de datos de Postgres para configurarla para CDC. 

A continuación se detallan los pasos que debe seguir para implementar Postgres chancaptura de datos mediante registro de transacciones: 

Primero, habilite WAL en su configuración de Postgres. Si bien esta suele ser la configuración predeterminada, marque la casilla 'postgresql.conf'archivo para confirmar. Postgres permite a los usuarios examinar el contenido de WAL. Como ejemplo, usaremos el 'pg_waldump'herramienta. Rreemplazar el marcador de posición 'ruta_al_archivo_wal>' con la ruta real de su archivo WAL cuando usa este código.

Código para comprobar el contenido del WAL en Postgres.

A continuación, qConsultar el contenido de WAL mediante consultas SQL. El "pglógico'El paquete de extensión incluye el 'pg_decodificar' extensión, que es la extensión más utilizada para este propósito.

Declaración SQL para uso en CDC mediante el registro de escritura anticipada.

  • 'CREAR EXTENSIÓN' creará e instalará el 'pglógico' extensión que proporciona capacidades de replicación lógica para Postgres.
  • La sentencia SQL 'SELECT' crea una ranura de replicación lógica denominada 'mi_ranura" utilizando el 'pg_create_slot_representación_lógica'función.
  • "salidapg' especifica el complemento de salida que se utilizará para cambios de decodificación y aquí es un complemento de salida incorporado para replicación lógica.
  • 'pg_logic_slot_peek_changes' se utiliza para examinar los cambios capturados en una ranura de replicación lógica
  • "mi_ranura' es la ranura de replicación lógica que se consulta. Este nombre es un marcador de posición y debes reemplazarlo con el nombre del espacio real que deseas consultar.
  • "NULO, NULO' es donde puede colocar parámetros que especifican el rango de cambios a recuperar. Usando 'NULO, NULO'aquí significa recuperar todos los cambios disponibles sin ningún rango específico. 

Tenga en cuenta que es posible que necesite realizar algo de codificación, especialmente si son planificación para automatizar la extracción y el manejo de cambios. 

Ventajas de usar WAL para Postgres CDC

  • Aunque la aún queda algo de codificación involucrado en el uso de WAL, en general requiere menos codificación que los otros métodos CDC de Postgres que hemos discutido.
  • Soluciones y plataformas de terceros como 'pglógico' están disponibles para simplificar los pasos más complejos del proceso. 

Desventajas de utilizar WAL para Postgres CDC

  • Los datos que extraiga del WAL pueden estar en formato sin procesar. Transformarlo para alinearlo con la estructura de datos de su aplicación requiere trabajo adicional.
  • Monitorear los cambios en WAL podría requerir más secuencias de comandos o automatización.
  • La comprensión e interpretación de los registros WAL requieren una comprensión profunda del funcionamiento interno de su base de datos Postgres. 

Automatización Postgres CDC wITH Astera 

El siguiente ejemplo explica cómo puedes automatizar detonantebasado CDC de Postgres usando Astera. Let's asumir eres trabajando con un PostgreSQL base de datos y hemos configurado una Fuente de la tabla de base de datos para leer información de esta base de datos.  

Configurar la conexión a la base de datos en Astera.

En primer lugar, vas a habilitar CDC en esta base de datosaver por seleccionar Habilitar captura de datos modificados en la tabla. 

Habilitar el activador CDC en Astera.

Luego, seleccione en qué campos desea habilitar el CDC, a través del Seleccionar columnas caja de diálogo. 

Seleccionar columnas para habilitar CDC en Astera.

Aunque la you puede seleccionar uno o todos los campos de una base de datos, es obligatorio elegir una clave principal. En este caso, puede elegir NuestrosID. 
 Habilitar el activador CDC en Astera.

En el momento que todos los DARWINs coticen incluyendo los deslizamientos tienes elegido los campos, haga clic en 'Aceptar". Usted ver el cuadro de diálogo indicando que ha habilitado CDC exitosamente en esta base de datos. 

Siguiente, configure la tabla de destino para almacenar los datos actualizados de la tabla de origen. Agregue un objeto de destino de base de datos desde la Caja de herramientas a su izquierda. 

Agregar un objeto de destino de base de datos al flujo de trabajo en Astera.

Configure el objeto de destino abriendo sus propiedades. En el Definir puertos de entrada para Maping ., seleccionar el al revés casilla de verificación con una fuente CDC ya que los datos entrantes que otros que no contengo registros tanto nuevos como actualizados. En Seleccionar campos para la base de datos coincidente Recable, escoger NuestrosID desde es la clave principal y única para cada registro en la base de datos de origen. 

Configurar el destino de la base de datos en Astera.

Siguiente, use arrastrar y soltar para Asigne todos los campos del objeto de origen de la base de datos al objeto de destino. El flujo de datos a La implementación de Postgres CDC ya está completa. 

Una base de datos de destino mapeada en Astera.

Cuando ejecuta el flujo de datos y verifica la ventana de progreso del trabajo, vas a encuentra eso Astera ha leído y escrito las entradas de la tabla de origen a la tabla de destino. 

Activar la ejecución de CDC en Astera.

CDC incremental de Postgres

Han pasado fácil de configurar CDC incremental en una base de datos PostgreSQL usando Astera, permitiéndole cargar los datos en la tabla de tu base de datos incrementalmente en lugar de completar cargas con cada ejecución.

Vamos asumir que estamos trabajar con datos de compañías navieras en este caso de uso y desea almacenar estos datos en un nuevo base de datos mesa. Queremos poder actualizar la nueva tabla en cualquier momento existe un cambio en la fuente, sin tener que cargar la tabla fuente por completo.

Bien Utilice una fuente de tabla de base de datos preconfigurada con la información pertinente. 

Objeto fuente de la tabla de base de datos en Astera.

Acceda a las propiedades del objeto fuente mediante haciendo clic derecho su encabezado y seleccionando Propiedades.

Menú contextual de propiedades del objeto fuente en Astera.

Conéctese con la base de datos y haga clic en 'Siguiente' para proceder. 

La ventana de conexión a la base de datos en Astera.

En la siguiente pantalla vas a ver la Opciones de lectura incremental .  

Opciones de carga incremental en Astera.

Elige Carga incremental basada en campos de auditoría as las Leer estrategia que mostrará más opciones. 

Opciones incrementales en Astera.

Campos de auditoría se actualizan cuando se crea un registro o modificado, como fecha y hora de creación, fecha y hora de modificación y número automático. La lectura incremental rastrea el valor más alto para cualquier campo de auditoría que especifique. Durante la siguiente ejecución, solo los registros que tengan un valor mayor que el valor guardado en recuperado. 

  • Agregue una ruta de archivo para el Archivo de información de transferencia incremental, cual Astera crea para almacenar información sobre la última entrada de la tabla de la base de datos. Comparará este archivo con la tabla de la base de datos en cada ejecución para comprobar si hay nuevas entradas.
     
  • Configurar una tabla de destino arrastrando y soltando Destino de la tabla de base de datos desde la Caja de herramientas. 

Agregar un objeto de tabla de destino en Astera.

  • Una vez configurado, asigne el origen de la tabla al objeto de destino de la tabla.  

Objetos mapeados en Astera.

  • Usted ver que la tabla de destino está vacía. Puede verificar su contenido como se muestra a continuación, y esto abrirá una consulta SQL. para ver los datos de la tabla. 

Comprobar el contenido de la tabla de destino en Astera.

Una mesa vacía en Astera.tabla fuente en Astera.

  • Cuando ejecute el flujo de datos, verifique el Progreso de trabajo ventana y veras que las entradas de la tabla fuente han sido escrito a la tabla de destino. 

Ventana de progreso del trabajo durante CDC incremental en Astera.

 

  • Puede comprobar esto obteniendo una vista previa de la tabla de destino. 

Vista previa de la tabla de destino en Astera.

 

Automatizar CDC de Postgres en Astera y mantenga sus bases de datos sincronizadas sin esfuerzo

Combine técnicas CDC de Postgres con AsteraLas impresionantes funciones de administración de datos de y aproveche al máximo sus bases de datos siempre actualizadas. Descubre el Astera diferencia hoy!

Comienza tu prueba gratuita

Elegir el método CDC de PostgreSQL adecuado para su caso de uso 

Existen varios métodos para implementar CDC en una base de datos PostgreSQL y es necesario considerar varios factores al decidir qué método elegir. Cada método tiene sus pros y sus contras, que hemos explicado brevemente. esbozado arriba. Además, aquí hay algunos puntos más en los que pensar: 

Volumen de datos y frecuencia de cambio: 

  • En entornos con cambios moderados de datos que requieren seguimiento en tiempo real, el CDC basado en activadores es su mejor opción
  • La replicación lógica es adecuada para escenarios. altas tasas de cambio de datos ya que proporciona capacidades de replicación en tiempo real.
  • Si la extracción de cambios de datos en sus flujos de trabajo es poco frecuente, elija Postgres CDC basado en consultas. 

Rendimiento y gastos generales: 

  • Postgres CDC basado en activadores puede agregar gastos generales adicionales, especialmente si se trata de altas tasas de transacción.
  • La replicación lógica tiene un impacto bajo y es sencilla para el sistema fuente, lo que la convierte en la opción correcta para escenarios de alto rendimiento.
  • El CDC basado en consultas normalmente no consume demasiados recursos, pero puede afectar el rendimiento cuando hay consultas intensivas. 

Complejidad del caso de uso: 

  • CDC basado en activadores es útil para casos complejos que requieren personalización y seguimiento detallado de cambios.
  • La replicación lógica es adecuada para casos que requieren simplicidad y replicación en tiempo real.
  • CDC basado en consultas es una opción sencilla para casos de uso simples que no necesitan activadores complejos. 

Integración y compatibilidad: 

  • CDC basado en activadores puede integrarse perfectamente con sus aplicaciones y bases de datos actuales
  • La replicación lógica es ideal para escenarios donde existe la necesidad de compatibilidad entre diferentes instancias de Postgres.
  • CDC basado en consultas implica consultas personalizadas. Como tal, es la opción correcta para satisfacer las necesidades de integración personalizadas. 

Simplicidad y Funcionalidad: 

  • CDC basado en activadores es una solución sólida que ofrece un seguimiento detallado de los cambios, pero esto aumenta su complejidad. Bueno para entornos con mucha personalización.
  • La replicación lógica logra aquí el equilibrio adecuado, lo que la convierte en una opción práctica para una variedad de escenarios e ideal para satisfacer los requisitos de replicación en tiempo real.
  • El CDC basado en consultas es bastante simple y flexible, pero esto significa que potencialmente puede necesitar más intervención manual. Es la técnica adecuada para la extracción de cambios ocasionales. 

Conclusión  

En este blog, analizamos en profundidad varias opciones que puede utilizar para implementar CDC en PostgreSQL. También analizamos las ventajas y desventajas de cada método y destacamos los factores que usted debe que consideren antes de elegir un método CDC para su empresa. 

Aunque la no hay solución única para todos cuando se trata de cambiar captura de datos, Automatizar el proceso debe ser en tu lista de principales prioridades. En definitiva, ¿cómo implementar Postgres CDC depende de su requisitos de rendimiento, preferencias de personalización y caso de uso individual. 

At Astera, creemos en proporcionar una solución simplificada de gestión de datos de un extremo a otro. Nuestra interfaz intuitiva de arrastrar y soltar con construidoen conectores y transformaciones elimina la codificación y democratiza las operaciones de datos, haciéndolas igualmente accesibles y reveladoras tanto para las partes interesadas técnicas como para las no técnicas. 

Nuestra suite le permite simplificar su integración de datos en costes, construir robusto almacenes de datosy agilice su EDI y Gestión API, todo sin escribir una sola línea de código. 

La experiencia de la Astera diferencia. Comenzar tu prueba gratis hoy o solicitar presupuesto para comenzar.  

También te puede interesar
Las 7 principales herramientas de agregación de datos en 2024
Marco de gobernanza de datos: ¿qué es? Importancia, Pilares y Mejores Prácticas
Las mejores herramientas de ingesta de datos en 2024
Considerando Astera ¿Para sus necesidades de gestión de datos?

Establezca conectividad sin códigos con sus aplicaciones empresariales, bases de datos y aplicaciones en la nube para integrar todos sus datos.

¡Conectémonos ahora!
conectemos