Agregar valores en el momento de la escritura
En este documento se ofrece una descripción general de las formas en las que puede agregar sus datos de Bigtable en el momento de la escritura. Antes de leer este documento, asegúrate de que conoces el resumen de Bigtable.
Muchas aplicaciones monitorizan métricas operativas que impulsan casos prácticos, como informes en la aplicación, recomendaciones en tiempo real y limitación de la frecuencia. Estos son algunos ejemplos de métricas operativas:
- Usuarios activos por semana
- Número de impresiones de anuncios
- Visualizaciones o compartidos de contenido social
- Número de transmisiones multimedia
Puedes usar estas métricas en aplicaciones orientadas a los usuarios o como entradas para modelos de aprendizaje automático. Normalmente, su uso requiere una latencia baja y un rendimiento alto. Como calcular estos tipos de métricas en el momento de la consulta no es práctico a gran escala, la preagregación durante la ingestión de datos es el método preferido para los sistemas en tiempo real.
Bigtable ofrece varias formas de agregar datos en el momento de la escritura, como tipos de datos replicados sin conflictos, solicitudes ReadModifyWriteRow
y vistas materializadas continuas.
Si agregas tus datos de Bigtable en el momento de la escritura, no tendrás que usar ningún software de extracción, transformación y carga (ETL) ni de procesamiento de streaming para agregar tus datos antes o después de escribirlos en Bigtable. Por ejemplo, si tu aplicación publicaba mensajes en Pub/Sub y, después, usaba Dataflow para leer los mensajes y agregar los datos antes de escribirlos en Bigtable, puedes enviar los datos directamente a las celdas agregadas de Bigtable.
Tipos de datos replicados sin conflictos
Bigtable te permite crear familias de columnas que solo contengan celdas de tipo aggregate. Las celdas agregadas son estructuras de datos replicados sin conflictos que se han optimizado para recibir actualizaciones incrementales.
Si vas a migrar a Bigtable desde bases de datos como Apache Cassandra, Redis o Valkey, las estructuras similares de esos sistemas se denominan contadores.
En la siguiente tabla se enumeran las operaciones admitidas y cómo se gestionan los valores recién escritos.
Operación |
Descripción |
---|---|
Suma |
El valor de la celda se sustituye por la suma del valor recién añadido y el valor actual de la celda. |
Mínimo |
El valor de la celda se sustituye por el valor inferior entre el valor recién añadido y el valor de la celda actual. |
Máximo |
El valor de la celda se sustituye por el valor más alto entre el valor recién añadido y el valor actual de la celda. |
HyperLogLog |
El valor escrito se añade a un conjunto probabilístico de todos los valores añadidos desde el último restablecimiento. El valor de la celda representa el estado de ese conjunto. Para obtener información más general sobre el algoritmo HLL, consulta HyperLogLog. Puedes leer los valores de HLL con la biblioteca Zetasketch. |
Los tipos de mutación que puede enviar para crear y actualizar celdas agregadas son
AddToCell
y
MergeToCell
.
Para empezar a usar los contadores en Bigtable, consulta la guía de inicio rápido Crear y actualizar contadores en Bigtable.
Leer y escribir
Otra forma de agregar datos en el momento de la escritura es usar una solicitud ReadModifyWriteRow, que le permite manipular el valor de una celda incrementando o añadiendo el valor de forma transaccional. Para obtener más información sobre cuándo usar este método, consulta Anexos.
Vistas materializadas continuas
Una vista materializada continua es el resultado precalculado de una consulta de SQL que agrega datos de una tabla de origen. La vista procesa continuamente los datos a medida que se ingieren en la tabla de origen y agrupa las actualizaciones. Esto incluye las actualizaciones y las eliminaciones. El uso de vistas materializadas continuas puede aumentar el rendimiento y la eficiencia. Para obtener más información, consulta Vistas materializadas continuas.
Siguientes pasos
- Consulte ejemplos de código que muestran cómo añadir un valor a una celda agregada.
- Repasa los conceptos relacionados con el diseño de esquemas.