Replicación de datos de PostgreSQL a Google BigQuery

Descubra cómo utilizar OCI GoldenGate para replicar datos de PostgreSQL en Google BigQuery.

Antes de empezar

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

Tarea 0: Configuración del entorno

Para configurar el entorno para este inicio rápido:
  1. Instale PostgreSQL.
    1. Instale el servidor PostgreSQL:
      sudo yum install postgresql-server
    2. Instale el módulo postgresql-contrib para evitar esta excepción SQL:
      sudo yum install postgresql-contrib
    3. Cree un nuevo cluster de base de datos PostgreSQL:
      sudo postgresql-setup --initdb
    4. Active postgresql.service:
      sudo systemctl enable postgresql.service
    5. Inicie postgresql.service:
      sudo systemctl start postgresql.service
  2. Por defecto, PostgreSQL solo permite conexiones locales. Permita la conectividad remota a PostgreSQL.
    1. En /var/lib/pgsql/data/postgresql.conf, prepare la base de datos para la replicación:
      1. Localice y elimine los comentarios de listen_addresses = 'localhost' y cambie el host local a un asterisco (*):
        listen_addresses = '*'
      2. Defina los siguientes parámetros de esta forma:
        • wal_level = logical
        • max_replication_slots = 1
        • max_wal_senders = 1
        • track_commit_timestamp = on
      Nota

      Configure /var/lib/pgsql/data/pg_hba.conf para asegurarse de que la autenticación de cliente está definida para permitir conexiones desde un host de Oracle GoldenGate. Por ejemplo, agregue lo siguiente:
      #Allow connections from remote hosts
      host    all    all    0.0.0.0/0    md5
      Consulte The pg_hba.conf File para obtener más información.
    2. Reinicie el servidor PostgreSQL:
      sudo systemctl restart postgresql.service
  3. Si utiliza Oracle Cloud Compute para alojar PostgreSQL, abra el puerto 5432:
    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --reload
    sudo firewall-cmd --list-all
  4. Abra el puerto 5432 en la lista de seguridad de la VCN.
  5. Conectar a PostgreSQL.
    > sudo su - postgres
    > psql
  6. Configure PostgreSQL.
    1. Descargue y ejecute seedSRCOCIGGLL_PostgreSQL.sql para configurar la base de datos y cargar los datos de ejemplo.
    2. Ejecute los siguientes comandos para configurar el usuario:
      create user ggadmin with password 'W3lcome@1234';
      alter user ggadmin with SUPERUSER;
      GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin;

Tarea 1: Creación de recursos de OCI GoldenGate

  1. Cree un despliegue para la base de datos PostgreSQL de origen.
  2. Cree un despliegue de Big Data para el Google BigQuery de destino.
  3. Cree una conexión con el destino Google BigQuery.
  4. Cree una conexión a la base de datos PostgreSQL de origen.
    1. En Tipo, asegúrese de seleccionar el servidor PostgreSQL.
    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 una contraseña.
    7. En Protocolo de seguridad, seleccione Sin formato.
  5. Cree una conexión a GoldenGate y, a continuación, asigne esta conexión al despliegue PostgreSQL de origen.
  6. Asigne la conexión de origen al despliegue de PostgreSQL de origen..
  7. Assign the target connection to the target Big Data deployment.

Tarea 3: Creación de Extract

Para agregar Integrated 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 integrado.
      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.

    Volverá a la página Extracts, donde podrá observar el inicio de Extracts.

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

Para crear un Distribution Path para Change Data Capture, complete lo siguiente:

  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 PostgreSQL de origen, 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. Haga clic en Agregar Distribution Path.
  6. 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.
  7. 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 5: Adición de Replicat

  1. En el menú de navegación de la consola de despliegue de destino Big Data, haga clic en Replicats y, a continuación, haga clic en Agregar Replicat (icono de signo más).
  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:
    1. En la página Información de Replicat:
      1. Para tipo Replicat, seleccione Parallel o Coordinated Replicat.
      2. En Nombre de proceso, introduzca un nombre, como RCDC.
      3. Haga clic en Siguiente.
    2. 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 de Google Big Query.
      3. En Ubicaciones temporales disponibles, seleccione Google Cloud Storage en la lista desplegable.
      4. En mediante alias de almacenamiento provisional, seleccione la conexión de Google Cloud Storage en la lista desplegable.
    3. En la página Archivo de parámetros, agregue la siguiente asignación y, a continuación, haga clic en Siguiente:
      MAP *.*, TARGET *.*;
    4. En la página Properties File, configure las propiedades necesarias según sea necesario. Busque los marcados como #TODO y, a continuación, haga clic en Siguiente.
      Algunas propiedades cuya modificación se debe considerar son:
      • gg.eventhandler.gcs.bucketMappingTemplate: proporcione el nombre del cubo que se utilizará como almacenamiento temporal
  3. Haga clic en Crear y ejecutar.

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

Tarea 6: Verifique Change Data Capture

Realice actualizaciones en la base de datos PostgreSQL de origen para verificar la replicación en Google BigQuery.
  1. 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 el nombre Extract (EDCD) 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 EDCD Extract.
  3. En la consola de despliegue de Big Data de destino, seleccione el nombre Replicat, consulte sus detalles y compruebe Estadísticas para verificar el número de inserciones.