Descripción general de los flujos de cambios
Bigtable ofrece la captura de datos de cambios (CDC) con su función flujos de cambios. Un flujo de cambios captura los cambios de datos de una tabla de Bigtable a medida que se producen, lo que te permite transmitirlos para procesarlos o analizarlos.
En este documento se ofrece una descripción general de los flujos de cambios de Bigtable. Antes de leer este documento, debes familiarizarte con la descripción general de Bigtable.
Los flujos de cambios son útiles en casos prácticos de CDC, como los siguientes:
- Activar la lógica de la aplicación de nivel inferior cuando se produzcan los cambios especificados
- Integración con un flujo de procesamiento de analíticas de datos
- Cumplir los requisitos de auditoría y archivo
Qué es un flujo de cambios
Un flujo de cambios monitoriza los cambios que se realizan a nivel de tabla por un usuario o una aplicación, normalmente mediante una de las bibliotecas de cliente de Cloud Bigtable. También se registran los cambios en la recogida de elementos no utilizados.
Todos los cambios aplicados a una tabla habilitada para el flujo de cambios se almacenan como registros de cambios de datos. Los registros de cambios de datos incluyen los cambios de datos aplicados por lo siguiente:
- Escrituras, eliminaciones y actualizaciones que se envían mediante los métodos de la API Cloud Bigtable
MutateRow,MutateRows,CheckAndMutateRowyReadModifyWriteRow - Eliminaciones que se producen debido a la recolección de elementos no utilizados
- Filas eliminadas mediante el método
DropRowRangede las APIs Admin
Para obtener información sobre los tipos de cambios que puedes enviar a una tabla de Bigtable, consulta Lecturas, Escrituras, Eliminaciones y Descripción general de la recogida de elementos no utilizados.
Los flujos de cambios no monitorizan los cambios de esquema, como añadir o modificar una familia de columnas, ni la topología de replicación, como añadir o quitar un clúster.
Los registros de cambios de datos de cada clave de fila y cada clúster están ordenados por la marca de tiempo de confirmación. Sin embargo, no se garantiza el orden de los registros de cambios de datos de una clave de fila o un clúster diferentes.
Habilita los flujos de cambios en una tabla y especifica un periodo de conservación de entre 1 y 7 días.
Qué se incluye en un registro de cambios de datos
Cada registro de cambio de datos contiene todos los cambios de una fila que se han aplicado de forma atómica como parte de una sola llamada RPC.
Si se sobrescribe un valor, el valor recién escrito se registra en el registro de cambios de datos. El registro de cambios de datos no contiene el valor antiguo.
Un registro de cambios de datos recibe su marca de tiempo, llamada marca de tiempo de confirmación, al mismo tiempo que el cambio se aplica al primer clúster que lo recibe. Por ejemplo, supongamos que tiene una instancia con dos clústeres. Si envías una solicitud de escritura a la tabla 1 del clúster A, la marca de tiempo de confirmación del registro de cambios de datos se asigna cuando el clúster A recibe la escritura, y el registro de cambios de datos del clúster B de esta escritura tiene la misma marca de tiempo de confirmación.
Cada registro de cambio de datos contiene lo siguiente:
- Entradas: cambios realizados en la fila, incluidos uno o varios de los siguientes:
- Escribe
- Familia de columnas
- Calificador de columna
- Marca de tiempo
- Valor
- Escribe