Replicación de datos de PostgreSQL a Snowflake

Descubra cómo replicar datos de PostgreSQL a Snowflake mediante OCI GoldenGate.

Antes de empezar

Para completar correctamente este inicio rápido, debe tener lo siguiente:

  • Instalación de PostgreSQL para que sirva como base de datos de origen (se siguen las instrucciones de instalación en la configuración del entorno).
  • Abra el puerto 5432 en la lista de seguridad de la VCN.
  • Una base de datos Snowflake para que sirva como base de datos de destino.

Configuración del entorno: Snowflake

  1. Cree un usuario GoldenGate en Snowflake con privilegios adecuados.
  2. Cree tablas de destino mediante el esquema de ejemplo.

Asegúrese de que las tablas y el usuario se han creado correctamente.

Tarea 1: Creación de recursos de OCI GoldenGate

En este ejemplo de inicio rápido se necesitan despliegues y conexiones tanto para el origen como para el destino.
  1. Cree un despliegue para la base de datos PostgreSQL de origen.
  2. Cree un despliegue de Big Data para la base de datos Snowflake de destino.
  3. Cree una conexión PostgreSQL con los siguientes valores:
    1. En Tipo, seleccione servidor PostgreSQL en la lista desplegable.
    2. En Nombre de base de datos, introduzca ociggll.
    3. En Host, introduzca la IP pública de la instancia informática en la que se ejecuta PostgreSQL.
    4. En Puerto, introduzca 5432.
    5. En Nombre de usuario, introduzca ggadmin.
    6. En Contraseña, introduzca su contraseña.
    7. En Protocolo de seguridad, seleccione Sin formato en la lista desplegable.
  4. Cree una conexión Snowflake con los siguientes valores:
    1. Para la URL de conexión, introduzca jdbc:snowflake://<account_identifier>.snowflakecomputing.com/?warehouse=<warehouse name>&db=OCIGGLL.
      Nota

      Asegúrese de sustituir <account_identifier> y <warehouse name> por los valores adecuados.
    2. En Tipo de autenticación, seleccione Autenticación básica en la lista desplegable.
    3. En Nombre de usuario, introduzca un nombre.
    4. En Contraseña, introduzca una contraseña.
  5. (Opcional) Si el despliegue de Big Data no tiene un punto final público, cree una conexión a GoldenGate y, a continuación, asigne esta conexión al despliegue de origen PostgreSQL.
  6. Asigne la conexión PostgreSQL de origen al despliegue PostgreSQL.
  7. Assign the Snowflake connection to the target Big Data deployment.

Tarea 2: Activar el registro complementario

Para activar el registro complementario:
  1. Inicie la consola de despliegue de PostgreSQL GoldenGate:
    1. En la página Despliegues, seleccione el despliegue de PostgreSQL para ver los detalles.
    2. En la página de detalles del despliegue de PostgreSQL, haga clic en Iniciar consola.
    3. En la página de conexión de la consola de despliegue, introduzca las credenciales de administrador GoldenGate proporcionadas en el paso 1 de la tarea 1.
      Nota

      Se necesita conectarse si no se ha seleccionado IAM como almacén de credenciales al crear un despliegue.
  2. En GoldenGate 23ai, haga clic en Conexiones de base de datos en la navegación izquierda, a continuación, en la base de datos PostgreSQL de origen y, a continuación, en Trandata.
  3. En la página TRANDATA, junto a Información de TRANDATA, haga clic en Agregar TRANDATA (icono de signo más).
  4. En el panel Trandata, en Nombre de esquema, introduzca src_ociggll.* y, a continuación, haga clic en Enviar.
    Nota

    Utilice el campo de búsqueda para buscar src_ociggll y verificar que se han agregado las tablas.

Tarea 3: Creación de los Extracts

  1. Agregue Change Data Capture Extract:
    1. En la navegación izquierda, haga clic en Extractos.
    2. En la página Extracts, haga clic en Agregar Extract (icono más) y, a continuación, rellene los campos de la siguiente forma:
      • En la página Información de Extracción:
        1. En Tipo de extracción, seleccione Extracto de captura de cambios en los datos.
        2. En Nombre de proceso, introduzca un nombre para el Extract, como ECDC.
        3. Haga clic en Siguiente.
      • En la página Opciones de Extracción:
        1. Para las credenciales de origen, seleccione Oracle GoldenGate en la lista desplegable Dominio.
        2. Seleccione la base de datos PostgreSQL de origen en la lista desplegable Alias.
        3. En Nombre de pista de extracción, introduzca un nombre de pista de dos caracteres, como C1.
        4. Haga clic en Siguiente.
      • En la página Parámetros de extracción, reemplace MAP *.*, TARGET *.*; por lo siguiente:
        TABLE SRC_OCIGGLL.*;
    3. Haga clic en Crear y ejecutar.
  2. Agregue el Extract de carga inicial:
    1. En la página Extracts, haga clic en Agregar Extract y, a continuación, rellene el formulario Agregar Extract de la siguiente forma:
      • En la página Información de Extracción:
        1. Para el tipo de Extract, seleccione Extracto de carga inicial.
        2. En Nombre de proceso, introduzca un nombre, como EIL.
        3. Haga clic en Siguiente.
      • En la página Opciones de Extracción:
        1. Para las credenciales de origen, seleccione Oracle GoldenGate en la lista desplegable Dominio.
        2. Seleccione la base de datos PostgreSQL en la lista desplegable Alias.
        3. En Nombre de pista de extracción, introduzca un nombre de pista de dos caracteres, como I1.
        4. Haga clic en Siguiente.
      • En la página Parámetros de extracción, sustituya el contenido del área de texto por lo siguiente:
        EXTRACT EIL
        USERIDALIAS PostgreSQL_Compute, DOMAIN OracleGoldenGate
        EXTFILE I1, PURGE
        TABLE src_ociggll.*;
        Nota

        Asegúrese de eliminar el parámetro SOURCEDB delante de USERIDALIAS antes de continuar.
    2. Haga clic en Crear y ejecutar.
Vuelva a la página Extracts, donde puede observar el inicio del Extract.

Tarea 4: Creación de Distribution Path para Initial Load Extract

Para crear un Distribution Path para Initial Load Extract:
  1. En la consola de Oracle Cloud, en la página Despliegues, seleccione el despliegue de Big Data de destino.
  2. En la página de detalles del despliegue, haga clic en Iniciar consola. Inicie sesión con los detalles de usuario administrador creados en la tarea 1, paso 2.
  3. Si utiliza el almacén de credenciales de IAM, continúe con el paso Crear Distribution Path. Si utiliza el almacén de credenciales GoldenGate, cree un usuario con el que el origen GoldenGate utilice para conectarse al destino GoldenGate.
    1. En el menú de navegación, haga clic en Administración de usuarios.
    2. Haga clic en Agregar nuevo usuario (icono de signo más), complete los campos como se indica a continuación y, después, haga clic en Enviar:
      • En Nombre de usuario, introduzca ggsnet.
      • En Rol, seleccione Operador.
      • Introduzca la contraseña dos veces para su verificación.
  4. En la consola de despliegue de origen PostgreSQL, cree una conexión de ruta para el usuario creado en el paso anterior.
    1. En el menú de navegación, haga clic en Conexiones de ruta.
    2. Haga clic en Agregar conexión de ruta de acceso (icono de signo más), complete los campos como sigue y, después, haga clic en Enviar:
      • En Alias de credencial, introduzca dpuser.
      • En ID de usuario, introduzca ggsnet
      • En Contraseña, introduzca la misma contraseña utilizada en el paso anterior.
  5. Cree un Distribution Path.
    1. En la barra de menús del servicio, haga clic en Distribution Service y, a continuación, en Agregar Distribution Path (icono de signo más).
    2. Complete la pantalla Agregar ruta de la siguiente manera:
      • En la página Path Information:
        1. En Nombre de ruta, introduzca un nombre para esta ruta.
        2. Haga clic en Siguiente.
      • En la página Opciones de Origen:
        1. En Origen Extract, deje el espacio en blanco.
        2. En Nombre de pista, introduzca el nombre de pista Initial Load Extract (I1).
        3. Haga clic en Siguiente.
      • En la página Opciones de Destino:
        1. En Destino, seleccione wss.
        2. En Host de destino, introduzca la URL de despliegue de destino, sin https:// ni barras inclinadas finales.
        3. En Número de puerto, introduzca 443.
        4. En Nombre de pista, introduzca I1.
        5. En Método de autenticación del destino, seleccione Alias de ID de usuario.
        6. En Dominio, introduzca el nombre de dominio creado en el paso anterior.
        7. En Alias, introduzca el alias creado en el paso anterior (dpuser).
        8. Haga clic en Siguiente.
    3. Haga clic en Crear y ejecutar.
    Vuelva a la página Distribution Service, donde puede revisar la ruta creada.
  6. En la consola de despliegue de Big Data de destino, revise la Receiver Path creada como resultado de Distribution path:
    1. Haga clic en Receiver Service.
    2. Revise los detalles de Receiver Path.

Tarea 5: Adición de Replicat para Initial Load

  1. En la consola de despliegue de Big Data de destino, agregue Initial Load Replicat.
    1. En el menú de navegación, haga clic en Replicatos y, a continuación, en Agregar Replicat (icono más).
    2. En la página Replicats, complete los campos Agregar Replicat de la siguiente forma:
      1. En la página Replication Information (Información de replicación):
        1. Para tipo Replicat, seleccione Clásico o Coordinado.
        2. En Nombre de proceso, introduzca un nombre, como RIL.
        3. Haga clic en Siguiente.
      2. En la página Replicat Options:
        1. En Nombre de pista de replicación, introduzca el nombre de la pista de la tarea 2 (I1).
        2. En Credenciales de destino, seleccione el Dominio y el Alias para la conexión Snowflake.
        3. En Alias disponibles, seleccione un alias en la lista desplegable, como Snowflake.
        4. (Opcional) Activar almacenamiento externo para seleccionar una ubicación temporal disponible en la lista desplegable.
        5. Haga clic en Siguiente.
      3. En la página Archivo de parámetros, agregue la siguiente asignación:
        INSERTALLRECORDS
        MAP src_ociggll.src_city, TARGET SRCMIRROR_OCIGGLL.SRC_CITY;
        MAP src_ociggll.src_region, TARGET SRCMIRROR_OCIGGLL.SRC_REGION;
        MAP src_ociggll.src_customer, TARGET SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
        MAP src_ociggll.src_orders, TARGET SRCMIRROR_OCIGGLL.SRC_ORDERS;
        MAP src_ociggll.src_order_lines, TARGET SRCMIRROR_OCIGGLL.SRC_ORDER_LINES;
        MAP src_ociggll.src_product, TARGET SRCMIRROR_OCIGGLL.SRC_PRODUCT;
      4. En la página Propiedades, revise las propiedades y, a continuación, haga clic en Crear y ejecutar.

    Vuelva a la página Replicats, donde puede revisar los detalles de Replicat.

  2. Para verificar Initial Load, conéctese a la base de datos Snowflake y ejecute las siguientes consultas:
    select * from SRCMIRROR_OCIGGLL.SRC_CITY;
    select * from SRCMIRROR_OCIGGLL.SRC_CUSTOMER;

    La salida debe devolver los datos que se han cargado en las tablas de la base de datos de destino como resultado de Initial Load.

Tarea 6: Creación de Distribution Path para Change Data Capture

Para crear un Distribution Path para Change Data Capture:
  1. En la consola de despliegue de origen PostgreSQL, haga clic en Servicio de distribución.
  2. Haga clic en Agregar Distribution Path.
  3. Complete la pantalla Agregar ruta de la siguiente manera:
    1. En la página Path Information:
      1. En Nombre de ruta, introduzca un nombre.
      2. Haga clic en Siguiente.
    2. En la página Opciones de Origen:
      1. En Origen Extract, seleccione Integrated Extract (ECDC)).
      2. En Nombre de pista, seleccione el archivo de pista Integrated Extract (C1).
      3. Haga clic en Siguiente.
    3. En la página Opciones de Destino:
      1. En Destino, seleccione wss.
      2. En Host de destino, introduzca la URL de la consola de despliegue de destino (puede encontrarla en la página de detalles del despliegue, sin https:// ni barras inclinadas finales.
      3. En Número de puerto, introduzca 443.
      4. En Nombre de pista, introduzca C1.
      5. En Método de autenticación del destino, seleccione Alias de ID de usuario.
      6. En Dominio, introduzca el nombre de dominio.
      7. En Alias, introduzca el alias.
    4. Haga clic en Crear ruta y ejecutar.
  4. En la consola de despliegue de Big Data de destino, haga clic en Receiver Service y, a continuación, revise el Receiver path creado.

Tarea 7: adición de Replicat para Change Data Capture

Realice actualizaciones en la base de datos PostgreSQL de origen para verificar la replicación en Snowflake.
  1. Agregue Replicat.
    1. En la consola de despliegue de Big Data de destino, haga clic en Administration Service y, a continuación, en el menú de navegación, haga clic en Replicats.
    2. En la página Replicats, haga clic en Agregar Replicat (icono más) y, a continuación, complete el formulario Agregar Replicat de la siguiente manera:
      • En la página Información de Replicat:
        1. Para tipo Replicat, seleccione Classic o Coordinated.
        2. En Nombre de proceso, introduzca un nombre, como RCDC.
        3. Haga clic en Siguiente.
      • En la página Opciones de Replicat:
        1. En Replicat Nombre de pista, introduzca el nombre de la pista de la tarea 3 (C1).
        2. En Credenciales de destino, seleccione el dominio y el alias para la conexión Snowflake.
        3. (Opcional) Activar almacenamiento externo para seleccionar una ubicación temporal disponible en la lista desplegable.
      • En la página Archivos de parámetros, agregue la siguiente asignación y, a continuación, haga clic en Siguiente:
        MAP src_ociggll.src_city, TARGET SRCMIRROR_OCIGGLL.SRC_CITY;
        MAP src_ociggll.src_region, TARGET SRCMIRROR_OCIGGLL.SRC_REGION;
        MAP src_ociggll.src_customer, TARGET SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
        MAP src_ociggll.src_orders, TARGET SRCMIRROR_OCIGGLL.SRC_ORDERS;
        MAP src_ociggll.src_order_lines, TARGET SRCMIRROR_OCIGGLL.SRC_ORDER_LINES;
        MAP src_ociggll.src_product, TARGET SRCMIRROR_OCIGGLL.SRC_PRODUCT;
      • En la página Propiedades, revise las propiedades y, a continuación, haga clic en Crear y ejecutar.

    Vuelva a la página Replicats, donde puede revisar los detalles de Replicat.

  2. Verifique Change Data Capture:
    1. Realice actualizaciones en la base de datos PostgreSQL de origen para verificar la replicación en Snowflake. Ejecute el siguiente script para realizar inserciones en la base de datos PostgreSQL:
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
      Insert into src_ociggll.src_city (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
    2. En la consola de despliegue PostgreSQL de origen, seleccione RCDC y, a continuación, haga clic en Estadísticas. Verifique que src_ociggll.src_city tenga 10 inserciones.
      Nota

      Si Extract no ha capturado ninguna inserción, reinicie ECDC Extract.
    3. En la consola de despliegue de Big Data de destino, seleccione RCDC, revise sus detalles y estadísticas para verificar el número de inserciones.

Tarea 8: Supervisión y mantenimiento de procesos