Ingesta de streaming y cambios en el esquema

Los nodos de clúster almacenan en caché el esquema de las bases de datos que obtienen datos a través de la ingesta de streaming, lo que aumenta el rendimiento y el uso de recursos. Sin embargo, cuando hay cambios de esquema, puede provocar retrasos en las actualizaciones.

Si los cambios de esquema y la ingesta de streaming no están sincronizados, puede encontrar errores como errores relacionados con el esquema o datos incompletos y distorsionados en la tabla.

En este artículo se describen los cambios de esquema típicos y se proporcionan instrucciones sobre cómo evitar problemas con la ingesta de streaming durante estos cambios.

Cambios de esquema

En la lista siguiente se tratan ejemplos clave de cambios de esquema:

Coordinar los cambios de esquema con la ingesta de streaming

La caché de esquemas se mantiene mientras el clúster está en línea. Si hay cambios en el esquema, el sistema actualiza automáticamente la memoria caché, pero esta actualización puede tardar varios minutos. Si confía en la actualización automática, puede experimentar errores de ingesta no coordinados.

Puede reducir los efectos del retraso de propagación borrando explícitamente la caché de esquemas en los nodos del clúster. Si se coordinan el flujo de ingesta de streaming y los cambios de esquema, puede eliminar completamente los errores y su distorsión de datos asociada.

Para coordinar el flujo de ingesta de streaming con cambios de esquema:

  1. Suspenda la ingesta de streaming.
  2. Espere hasta que se completen todas las solicitudes de ingesta de streaming pendientes.
  3. Realice cambios de esquema.
  4. Emita uno o varios comandos de esquema de ingesta de streaming de caché de .clear .
    • Repita hasta que se realice correctamente y todas las filas de la salida del comando indiquen que se ha realizado correctamente.
  5. Reanude la ingesta de streaming.

Nota:

Si ha creado una aplicación para la ingesta personalizada, se recomienda administrar los errores relacionados con el esquema mediante el reintento durante un tiempo establecido o la redirección de datos de solicitudes con errores mediante métodos de ingesta en cola.