Use Data Transmission Service (DTS) para rastrear en tiempo real las operaciones INSERT, UPDATE y DELETE de un clúster de PolarDB for PostgreSQL. Una vez que la tarea se está ejecutando, los consumidores descendentes pueden suscribirse al flujo de cambios mediante el SDK, Flink o un cliente de Kafka.
Límites
Revise estos límites antes de empezar. Las configuraciones incorrectas en este apartado son la causa más común de tareas con errores e inconsistencias en los datos.
Source Database
|
Límite |
Impacto |
Acción |
|
Clave primaria o restricción única |
Las tablas de origen deben tener una restricción PRIMARY KEY o UNIQUE con todos los campos únicos. De lo contrario, algunos cambios rastreados podrían duplicarse. |
Agregue una restricción PRIMARY KEY o UNIQUE a cada tabla rastreada antes de crear la tarea. |
|
Cantidad de tablas |
Una sola tarea de seguimiento de cambios puede rastrear hasta 500 tablas. Si supera este límite, se genera un error de solicitud. |
Cree tareas independientes para distintos grupos de tablas o rastree toda la base de datos en lugar de tablas individuales. |
|
Retención de registros WAL |
Los registros WAL deben conservarse durante más de 24 horas. Un periodo de retención más corto puede impedir que DTS lea los registros, lo cual provoca que la tarea falle o genere inconsistencias en los datos. |
Establezca el periodo de retención de los registros WAL del clúster de origen en como mínimo 24 horas antes de iniciar la tarea. |
|
Instancias de solo lectura o temporales |
Si el origen es una instancia de solo lectura o temporal, debe habilitarse el registro de transacciones. |
Habilite el registro de transacciones en la instancia. |
Otros límites
|
Límite |
Detalles |
|
Una base de datos por tarea |
Cada tarea de seguimiento de cambios rastrea datos de una sola base de datos. Cree una tarea independiente para cada base de datos. |
|
Tabla de latidos |
DTS agrega una tabla de latidos llamada |
|
Precisión de FLOAT y DOUBLE |
DTS obtiene los valores FLOAT y DOUBLE mediante |
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Un clúster de PolarDB for PostgreSQL. Consulte Create a cluster.
El parámetro
wal_levelestablecido enlogicaldentro del clúster. Consulte Specify cluster parameters.La retención de registros WAL configurada en más de 24 horas en el clúster.
Crear una tarea de seguimiento de cambios
Paso 1: Ir a la página Change Tracking Tasks
Inicie sesión en la consola de Data Management (DMS).
En la barra de navegación superior, haga clic en DTS.
En el panel de navegación izquierdo, elija DTS (DTS) > Change Tracking.
Si utiliza Simple Mode en la consola de DMS, coloque el puntero sobre el iconode la esquina superior izquierda y luego elija All functions > DTS > Change Tracking . También puede abrir directamente la consola de DTS .
Paso 2: Seleccionar una región
A la derecha de Change Tracking Tasks, seleccione la región donde desea crear la tarea.
En la consola de DTS, seleccione la región en la lista desplegable situada a la derecha de Workbench , dentro de la página Change Tracking Tasks.
Paso 3: Configurar la base de datos de origen y la red del consumidor
Haga clic en Create Task. En la página que aparece, configure los siguientes parámetros.
Lea los Limits que se muestran en la parte superior de la página antes de continuar. Omitir este paso puede provocar que la tarea falle o impedir que se consuman los datos rastreados.
Source Database
|
Parámetro |
Descripción |
|
Task Name |
Nombre de la tarea de seguimiento de cambios. DTS asigna un nombre predeterminado. Use un nombre descriptivo para identificar la tarea con facilidad. No es necesario que sea único. |
|
Select an existing database connection |
Opcional. Seleccione una conexión existente para que DTS aplique su configuración automáticamente. Si omite este paso, configure manualmente los parámetros siguientes. |
|
Database Type |
Seleccione PolarDB for PostgreSQL. |
|
Access Method |
Seleccione Alibaba Cloud Instance. |
|
Instance Region |
Región donde reside el clúster de origen de PolarDB for PostgreSQL. |
|
Replicate Data Across Alibaba Cloud Accounts |
Seleccione No. Solo puede elegir No. |
|
Instance ID |
Identificador del clúster de PolarDB for PostgreSQL. |
|
Database Name |
Nombre de la base de datos de origen. |
|
Database Account |
Cuenta con privilegios de la base de datos de PolarDB for PostgreSQL. |
|
Database Password |
Contraseña de la cuenta de la base de datos. |
Consumer Network Type
|
Parámetro |
Descripción |
|
Network Type |
Valor fijo: VPC. Seleccione una VPC y un vSwitch. Para obtener más información, consulte VPC. |
El tipo de red del consumidor no se puede modificar después de crear la tarea. Si su cliente de seguimiento de cambios se ejecuta en una VPC, seleccione la misma VPC y el mismo vSwitch para minimizar la latencia de red.
Paso 4: Probar la conectividad
Haga clic en Test Connectivity and Proceed.
DTS agrega automáticamente sus bloques CIDR a la lista blanca de las instancias de bases de datos de Alibaba Cloud o a las reglas del security group de las bases de datos alojadas en ECS. Para las bases de datos autogestionadas en centros de datos o alojadas por proveedores externos, agregue manualmente los bloques CIDR de DTS a la configuración de seguridad de su base de datos. Consulte Agregar los bloques CIDR de los servidores de DTS.
Agregar bloques CIDR de DTS a una lista blanca o a un security group implica un riesgo de seguridad. Antes de usar DTS, evalúe los riesgos y aplique controles adecuados, como credenciales seguras, restricción de puertos expuestos, autenticación de llamadas a la API, revisión periódica de las reglas de la lista blanca y eliminación de bloques CIDR no autorizados. Considere conectar la base de datos a DTS mediante Express Connect, VPN Gateway o Smart Access Gateway en lugar de usar la internet pública.
Paso 5: Seleccionar objetos
Seleccione las bases de datos o tablas que desea rastrear.
|
Parámetro |
Descripción |
|
Data Change Types |
Valor fijo: Data Update, que abarca las operaciones INSERT, DELETE y UPDATE. |
|
Source Objects |
Seleccione los objetos de la lista Source Objects y haga clic en el icono |
Alcance del seguimiento:
Nivel de base de datos: DTS rastrea todos los objetos de la base de datos, incluidas las tablas que se agreguen después de iniciar la tarea.
Nivel de tabla: DTS rastrea únicamente las tablas especificadas. Si necesita agregar más tablas posteriormente, consulte Modificar los objetos para el seguimiento de cambios.
Paso 6: Configurar los ajustes avanzados
Haga clic en Next: Advanced Settings.
|
Parámetro |
Descripción |
|
Monitoring and Alerting |
Seleccione Yes para recibir notificaciones cuando la tarea falle o la latencia supere un umbral. Especifique el umbral de alerta y los contactos. Seleccione No para omitir las alertas. |
|
Retry Time for Failed Connections |
Tiempo durante el cual DTS reintenta una conexión fallida antes de marcar la tarea con errores. Rango: de 10 a 1440 minutos. Valor predeterminado: 120 minutos. Establezca este valor en como mínimo 30 minutos. Si DTS restablece la conexión dentro de este periodo, la tarea se reanuda automáticamente. |
|
Configure ETL |
Seleccione Yes para aplicar transformaciones de extracción, transformación y carga (ETL). Introduzca las instrucciones de procesamiento en el editor de código. Consulte Configurar ETL en una tarea de migración o sincronización de datos. Seleccione No para omitir ETL. |
Si una misma instancia de base de datos funciona como origen para varias tareas de seguimiento de cambios, se aplica a todas ellas el tiempo de reintento más corto configurado entre dichas tareas. La instancia de DTS genera cargos de facturación mientras se realizan los reintentos.
Paso 7: Ejecutar la comprobación previa
Haga clic en Next: Save Task Settings and Precheck.
DTS ejecuta una comprobación previa antes de iniciar la tarea. Esta solo comienza una vez superada dicha comprobación.
Si algún elemento de la comprobación falla:
Haga clic en View Details junto al elemento con errores, corrija el problema según el mensaje de error y luego haga clic en Precheck Again.
Si un elemento genera una alerta que se puede ignorar, haga clic en Confirm Alert Details. En el cuadro de diálogo, haga clic en Ignore, luego en OK y finalmente en Precheck Again.
Para previsualizar los parámetros de openapi de esta configuración, coloque el puntero sobre Next: Save Task Settings and Precheck y haga clic en Preview OpenAPI parameters .
Paso 8: Esperar a que finalice la comprobación previa
Espere hasta que Success Rate alcance el 100% y luego haga clic en Next: Purchase Instance.
Paso 9: Elegir un método de facturación
En la página Purchase Instance, seleccione un método de facturación.
|
Método de facturación |
Recomendado para |
Detalles |
|
Subscription |
Uso a largo plazo |
Pague por adelantado un periodo fijo. Resulta más rentable que pay-as-you-go para cargas de trabajo sostenidas. Establezca la duración de la suscripción (de 1 a 9 meses o de 1 a 3 años) y habilite la renovación automática si lo requiere. |
|
Pay-as-you-go |
Uso a corto plazo |
La facturación se calcula por hora. Libere la instancia cuando ya no la necesite para detener los cargos. |
Paso 10: Aceptar los términos del servicio
Lea y seleccione los Data Transmission Service (Pay-as-you-go) Service Terms.
Paso 11: Iniciar la tarea
Haga clic en Buy and Start. La tarea aparecerá en la lista de tareas, donde podrá monitorear su progreso.
Pasos siguientes
Cuando la tarea de seguimiento de cambios esté en ejecución, configure los grupos de consumidores y comience a consumir los datos rastreados.
Cree grupos de consumidores. Consulte Crear grupos de consumidores.
-
Elija un método de consumo: