Prácticas recomendadas generales para usar Datastream

Para mantener una replicación confiable y minimizar el tiempo de inactividad en Datastream, puedes aplicar las prácticas recomendadas operativas en tus transmisiones y bases de datos de origen. Estas prácticas te ayudan a cambiar la base de datos de origen de una transmisión, configurar alertas de métricas, solucionar problemas de latencia y planificar los límites de las tablas por transmisión.

Cambia la base de datos de origen de una transmisión

En algunos casos, es posible que debas cambiar la base de datos de origen de una transmisión. Por ejemplo, es posible que debas modificar la transmisión para replicar desde una réplica en lugar de la instancia de base de datos principal.

  1. Crea un perfil de conexión para la instancia de réplica.
  2. Crea una transmisión con el perfil de conexión para la réplica que creaste y el perfil de conexión existente para el destino.
  3. Inicia la transmisión con el relleno histórico inhabilitado. Cuando se inicie la transmisión, solo traerá los datos de los registros binarios.
  4. Es opcional. Después de que se ejecute la transmisión, modifícala para habilitar el relleno automático.
  5. Pausa la transmisión que lee desde la instancia principal.
  6. Es opcional. Borra la transmisión que transmitía datos desde la instancia principal.
  7. Es opcional. Borra el perfil de conexión para la instancia principal.

Alertas y supervisión en Datastream

El panel de Datastream contiene mucha información. Esta información puede ser útil para la depuración. Puedes encontrar información adicional en los registros, que están disponibles en Cloud Logging.

Alertas de Datastream

No hay ninguna alerta predeterminada configurada para Datastream. Por ejemplo, puedes crear una política de alertas para la métrica Actualidad de los datos haciendo clic en el vínculo Crear política de alertas en la pestaña Descripción general. Para las métricas restantes, sigue estos pasos:

  1. En la Google Cloud consola, ve a la  Alertas página:

    Ir a Alertas

  2. Haz clic en Crear política.

  3. Haz clic en el menú desplegable Seleccionar una métrica.

  4. En el campo de filtro, ingresa Datastream.

  5. Opcional: Es posible que debas inhabilitar el filtro Activa para ver todas las métricas disponibles.

  6. Busca la métrica que deseas supervisar en Transmisión de Datastream.

  7. Haz clic en Aplicar.

  8. Opcional: Ingresa los detalles requeridos en las secciones Agregar filtros y Transformar datos. Haz clic en Siguiente.

  9. Ingresa la información requerida en la sección Configurar el activador de alertas. Haz clic en Siguiente.

  10. Configura tus notificaciones en la sección Configurar notificaciones y alerta de finalización.

  11. Revisa la alerta y haz clic en Crear política cuando esté lista.

    Para obtener información detallada sobre cómo completar cada uno de estos pasos, consulta Crea una política de alertas.

Te recomendamos que crees alertas para las siguientes métricas de Datastream:

  • Actualidad de los datos
  • Recuento de eventos no admitidos de la transmisión
  • Latencias totales de la transmisión

Una alerta sobre cualquiera de estas métricas puede indicar un problema con la transmisión o la base de datos de origen.

Comprende la latencia

Datastream proporciona las siguientes métricas para ayudarte a comprender la latencia de replicación:

  • Actualidad de los datos: Es la diferencia entre el momento en que se confirmaron los datos en la fuente y el momento en que Datastream los leyó. Si esta métrica es alta, indica que Datastream lee los datos más lento de lo que se generan en la fuente. Esto indica que puede haber un problema con la fuente o con la conexión de red a la fuente.
  • Latencia del sistema: Es el tiempo que tarda Datastream en procesar un evento, desde el momento en que se lee el evento de la fuente hasta que se escribe en el destino.
  • Latencia total: Es el retraso de replicación de extremo a extremo, que representa el tiempo total desde que se confirman los datos en la fuente hasta que se escriben en el destino.

Si la actualidad de los datos es alta, las causas comunes incluyen las siguientes:

  • Sobrecarga de la fuente: La base de datos de origen genera registros (archivos binlog, archivos de registro de rehacer, archivos WAL) más rápido de lo que Datastream puede leerlos.
    • Acción para MySQL/Oracle: Aumenta el parámetro maxConcurrentCdcTasks para leer más registros en paralelo.
    • Acción para PostgreSQL: Aísla las tablas de alta rotación en sus propias transmisiones dedicadas.
    • Acción para SQL Server: Aumenta el parámetro maxConcurrentCdcTasks para leer más tablas de cambios en paralelo.
  • Falta de recursos de origen: El servidor de la base de datos de origen experimenta problemas como un uso elevado de la CPU, poca memoria o cuellos de botella de E/S de disco.
    • Acción: Asegúrate de que la instancia de origen esté en buen estado. Verifica el uso de CPU/RAM. Para PostgreSQL, considera aumentar el valor del parámetro logical_decoding_work_mem. Para Oracle, asegúrate de que se asigne un área global del sistema (SGA) suficiente.
  • Problemas de capacidad de red: Tiempo de ping alto o ancho de banda saturado entre tu fuente y Google Cloud.
    • Acción: Supervisa el ancho de banda y la latencia de tu VPN o Cloud Interconnect.
  • Transacción única grande: Un trabajo por lotes grande, como una instrucción UPDATE en millones de filas, puede causar un aumento temporal en la latencia.
    • Acción: Esto es lo esperado. Espera a que Datastream procese el evento grande. Considera dividir los trabajos por lotes grandes en fragmentos más pequeños en el futuro.

Si la latencia del sistema es alta, esto puede indicar un problema en Datastream o en el destino.

  • Acción: Consulta Cloud Logging para ver errores persistentes a nivel de fila (por ejemplo, invalid input for type json). Si la transmisión está en un bucle de reintento debido a errores de tipo de datos o de restricción, es posible que se requiera una corrección manual de los datos en la fuente. Si no hay errores evidentes, comunícate con el equipo de Atención al Cliente de Google para obtener ayuda.

¿Cuántas tablas puede controlar una sola transmisión?

Te recomendamos que una sola transmisión incluya hasta 10,000 tablas. No hay límite para el tamaño de las tablas. Si necesitas crear una transmisión con más tablas, es posible que la transmisión ingrese a un estado de error. Para evitar esto, considera dividir la fuente en varias transmisiones.