Cómo agregar valores en el momento de la escritura
En este documento, se proporciona una descripción general de las formas en que puedes agregar tus datos de Bigtable en el momento de la escritura. Antes de leer este documento, asegúrate de estar familiarizado con la descripción general de Bigtable.
Muchas aplicaciones hacen un seguimiento de las métricas operativas que impulsan casos de uso, incluidos los informes en la app, las recomendaciones en tiempo real y la límite de frecuencia. Algunos ejemplos de estas métricas operativas son los siguientes:
- Usuarios activos por semana
- Cantidad de impresiones de anuncios
- Visualizaciones o contenido compartido en redes sociales
- Cantidad de transmisiones de contenido multimedia
Puedes usar estas métricas en aplicaciones orientadas al usuario o como entradas para modelos de aprendizaje automático, y sus usos suelen requerir baja latencia y alto rendimiento. Debido a que calcular estos tipos de métricas en el momento de la consulta no es práctico a gran escala, la agregación previa durante la transferencia de datos es el enfoque preferido para los sistemas en tiempo real.
Bigtable ofrece varias formas de agregar datos en el momento de la escritura, incluidos los tipos de datos replicados sin conflictos, las solicitudes ReadModifyWriteRow y las vistas materializadas continuas.
Agregar tus datos de Bigtable en el momento de la escritura elimina la necesidad de usar software de extracción, transformación y carga (ETL) o de procesamiento de transmisión para agregar tus datos antes o después de escribirlos en Bigtable. Si tu aplicación usa Dataflow para agregar datos de transmisión antes de escribirlos en Bigtable, puedes enviar los datos directamente para agregar celdas en Bigtable.
Tipos de datos replicados sin conflictos
Bigtable te permite crear familias de columnas que solo contienen celdas de tipo aggregate. Las celdas agregadas son estructuras de tipo de datos replicados sin conflictos que están optimizadas para actualizaciones incrementales.
Si migras a Bigtable desde bases de datos como Apache Cassandra, Redis o Valkey, las estructuras similares en esos sistemas se denominan contadores.
En la siguiente tabla, se enumeran las operaciones compatibles y cómo se controlan los valores recién escritos.
Operación |
Descripción |
|---|---|
Suma |
El valor de la celda se reemplaza por la suma del valor recién agregado y el valor actual de la celda. |
Mínimo |
El valor de la celda se reemplaza por el valor más bajo entre el valor recién agregado y el valor actual de la celda. |
Máximo |
El valor de la celda se reemplaza por el valor más alto entre el valor recién agregado y el valor actual de la celda. |
HyperLogLog |
El valor escrito se agrega a un conjunto probabilístico de todos los valores agregados desde el restablecimiento más reciente. 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 valores HLL con la biblioteca Zetasketch. |
Los tipos de mutación que puedes enviar para crear y actualizar celdas agregadas son
AddToCell
y
MergeToCell.
Para comenzar a contar en Bigtable, consulta la guía de inicio rápido Crea y actualiza contadores en Bigtable.
Leer y, luego, escribir
Otra forma de agregar tus datos en el momento de la escritura es usar una ReadModifyWriteRow, que te permite manipular el valor de una celda incrementando o agregando el valor de forma transaccional. Para obtener más información sobre cuándo usar este enfoque, consulta Agregaciones.
Vistas materializadas continuas
Una vista materializada continua es un resultado precalculado de una consulta en SQL que agrega datos en una tabla de origen. La vista procesa datos de forma continua a medida que se ingieren en la tabla de origen y agrupa las actualizaciones. Esto incluye actualizaciones y eliminaciones. El uso de vistas materializadas continuas puede aumentar el rendimiento y la eficiencia. Para obtener más información, consulta Vistas materializadas continuas.
¿Qué sigue?
- Consulta ejemplos de código que muestran cómo agregar un valor a una celda agregada.
- Revisa los conceptos relacionados con el diseño del esquema.