Replicar datos de PostgreSQL a Google BigQuery
Descubre 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:
Para completar correctamente este inicio rápido, debe tener lo siguiente:
-
Una instalación de PostgreSQL para servir como base de datos de origen (consulte Configuración del entorno)
-
Abra el puerto 5432 en la lista de seguridad de la VCN
-
Cree una conexión al almacenamiento de Google Cloud.
Nota: Asegúrese de que el cubo de GCS y el juego de datos de BigQuery existen en la misma ubicación/región.
Configuración del entorno: PostgreSQL
Para configurar el entorno para este inicio rápido:
-
Ejecute los siguientes comandos para instalar PostgreSQL.
-
Instale el servidor PostgreSQL:
sudo yum install postgresql-server -
Instale el módulo postgresql-contrib para evitar esta excepción SQL:
sudo yum install postgresql-contrib -
Cree un nuevo cluster de base de datos PostgreSQL:
sudo postgresql-setup --initdb -
Active postgresql.service:
sudo systemctl enable postgresql.service -
Inicie postgresql.service:
sudo systemctl start postgresql.service
-
-
Por defecto, PostgreSQL solo permite conexiones locales. Permitir conectividad remota a PostgreSQL.
-
En
/var/lib/pgsql/data/postgresql.conf, prepare la base de datos para la replicación. -
Localice y quite el comentario de
listen_addresses = 'localhost'y cambie localhost a un asterisco ("):listen_addresses = '*' -
Defina los siguientes parámetros de la siguiente manera:
-
wal_level = logical -
max_replication_slots = 1 -
max_wal_senders = 1 -
track_commit_timestamp = on
Nota:
Configure
/var/lib/pgsql/data/pg_hba.confpara 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 md5Consulte The pg_hba.conf File para obtener más información.
- Reinicie el servidor de PostgreSQL:
sudo systemctl restart postgresql.service- 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 -
-
Abra el puerto 5432 en la lista de seguridad de la VCN.
-
> sudo su - postgres > psqlNota: También puede introducir
sudo su - postgres psqlsi el ejemplo anterior no funciona. -
Definición de PostgreSQL.
-
Descargue y ejecute seedSRCOCIGGLL_PostgreSQL.sql para configurar la base de datos y cargar los datos de ejemplo.
-
Ejecute los siguientes comandos para configurar el usuario (asegúrese de sustituir
<password>por una contraseña real):
create user ggadmin with password '<password>'; alter user ggadmin with SUPERUSER; GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin; -
-
Tarea 1: Creación de recursos de OCI GoldenGate
-
Cree un despliegue para la base de datos PostgreSQL de origen.
-
Cree un despliegue de Big Data para el destino de Google BigQuery.
-
Cree una conexión a Google BigQuery de destino.
-
Cree una conexión a la base de datos PostgreSQL de origen.
-
Para Tipo, asegúrese de seleccionar el servidor PostgreSQL.
-
En Nombre de base de datos, introduzca
ociggll. -
En Host, introduzca la IP pública de la instancia informática en la que se ejecuta PostgreSQL.
-
En Puerto, introduzca
5432. -
En Nombre de usuario, introduzca
ggadmin. -
En Contraseña, introduzca una contraseña.
-
En Protocolo de seguridad, seleccione Plain.
-
-
Cree una conexión a GoldenGate y, a continuación, asigne esta conexión al despliegue de PostgreSQL de origen.
-
Asigne la conexión de origen al despliegue de PostgreSQL de destino..
-
Asigne la Conexión de Destino al Despliegue de Big Data de Destino.
Tarea 2: Activar el registro complementario
Para activar el registro complementario:
-
Inicie la consola de despliegue de PostgreSQL GoldenGate:
-
En la página Despliegues, seleccione el despliegue de PostgreSQL para ver los detalles.
-
En la página del despliegue de PostgreSQL, seleccione Iniciar consola.
-
En la página de conexión de la consola de despliegue, introduzca las credenciales de administrador de GoldenGate proporcionadas en la tarea 1, paso 1.
Nota: La conexión es necesaria si IAM no se ha seleccionado como almacén de credenciales al crear un despliegue.
-
-
En la consola de despliegue, seleccione Conexiones de base de datos en la navegación izquierda, la base de datos PostgreSQL de origen y, a continuación, Trandata.
-
En la página Datos de Transacción, junto a Información de TRANDATA, seleccione Agregar Datos de Transacción (icono más).
-
En el panel Datos de transacción, en Nombre de esquema, introduzca
src_ocigglly, a continuación, seleccione Enviar.Nota: Utilice el campo de búsqueda para buscar
src_ocigglly verificar que se han agregado las tablas.
Tarea 3: Creación del Extract
Para agregar la extracción de captura de datos de cambio:
-
En la navegación izquierda, seleccione Extracts.
-
En la página Extracts, seleccione Add Extract (icono más) y, a continuación, complete los campos de la siguiente manera:
-
En la página Información de extracción:
-
En Tipo de extracción, seleccione Cambiar extracción de captura de datos.
-
En Nombre de proceso, introduzca un nombre para el Extract, como
ECDC. -
Seleccione Next (Siguiente).
-
-
En la página Opciones de Extracción:
-
Para las credenciales de origen, seleccione Oracle GoldenGate en la lista desplegable Dominio
-
Seleccione la base de datos PostgreSQL de origen en la lista desplegable Alias.
-
En Nombre de pista de extracción, introduzca un nombre de pista de dos caracteres, como
C1. -
Seleccione Next (Siguiente).
-
-
En la página Parámetros de Extract, sustituya
MAP *.*, TARGET *.*;por lo siguiente:TABLE SRC_OCIGGLL.*;
-
-
Seleccione Crear y ejecutar.
Volverá a la página Extracts, donde podrá observar el inicio de Extracts.
Tarea 4: Creación de la Ruta de Distribución para la Captura de Cambios en los Datos
Para crear una ruta de distribución para la captura de datos de cambio, complete lo siguiente:
-
En la consola de Oracle Cloud, en la página Despliegues, seleccione el despliegue de Big Data del destino.
-
Seleccione Agregar ruta de distribución.
-
Complete el formulario Agregar ruta de la siguiente manera:
-
En la página Path Information:
-
En Nombre de ruta, introduzca un nombre.
-
Seleccione Next (Siguiente).
-
-
En la página Source Options:
-
En Extracción de origen, seleccione la extracción de captura de datos de cambio (
ECDC). -
En Nombre de la pista, seleccione el archivo del registro de captura del cambio de datos (
C1). -
Seleccione Next (Siguiente).
-
-
En la página Opciones de Destino:
-
En Destino, seleccione wss.
-
En Host de destino, introduzca la URL de la consola de despliegue de destino (puede encontrarlo en la página de detalles del despliegue, sin https:// ni barras finales).
-
En Número de puerto, introduzca
443. -
En Nombre de la pista, introduzca
C1. -
En Método de autenticación del destino, seleccione Alias de ID de Usuario.
-
En Dominio, introduzca el nombre de dominio.
-
En Alias, introduzca el alias.
-
-
Seleccione Create Path and Run.
-
Tarea 5: Adición de un Replicat
-
En el menú de navegación de la consola de despliegue de Big Data del destino, seleccione Replicats y, a continuación, seleccione Add Replicat (icono más).
-
En la página Replicats, seleccione Agregar Replicat (icono más) y, a continuación, complete el formulario Agregar Replicat de la siguiente manera:
-
En la página Replicat Information:
-
En Tipo de Replicat, seleccione Paralelo o Replicat Coordinado.
-
En Nombre de proceso, introduzca un nombre, como
RCDC. -
Seleccione Next (Siguiente).
-
-
En la página Replicat Options:
-
En Nombre de Pista de Replicat, introduzca el nombre de las pistas desde la tarea 3 (
C1). -
En Credenciales de destino, seleccione el dominio y alias para la conexión de Google Big Query.
-
En Ubicaciones temporales disponibles, seleccione Google Cloud Storage en la lista desplegable.
-
En mediante alias de ubicación temporal, seleccione la conexión de Google Cloud Storage en la lista desplegable.
-
-
En la página Archivo de parámetros, agregue la siguiente asignación y, a continuación, seleccione Siguiente:
MAP *.*, TARGET *.*; -
En la página Archivo de propiedades, configure las propiedades necesarias según sea necesario. Busque los marcados como
#TODOy, a continuación, seleccione 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
-
-
Seleccione Crear y ejecutar.
Volverá a la página Replicats, donde podrá revisar los detalles de Replicat.
Tarea 6: Verificación de la captura de cambios en los datos
Realice actualizaciones en la base de datos de PostgreSQL de origen para verificar la replicación en Google BigQuery.
-
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); -
En la consola de despliegue de PostgreSQL de origen, seleccione el nombre de Extract (
ECDC) y, a continuación, seleccione Estadísticas. Verifique que src_ocigll.src_city tenga 10 inserciones.Nota: Si el Extract no capturó ninguna inserción, reinicie el Extract
ECDC. -
En la consola de despliegue de Big Data de destino, seleccione el nombre de Replicat, consulte sus detalles y compruebe las estadísticas para verificar el número de inserciones.