Descripción general de Data Boost de Bigtable

Data Boost es un servicio de procesamiento sin servidores diseñado para ejecutar trabajos de lectura de alta capacidad de procesamiento en tus datos de Bigtable sin afectar el rendimiento de los clústeres que administran el tráfico de tu aplicación. Te permite enviar trabajos y consultas de lectura grandes con el procesamiento sin servidores mientras tu aplicación principal sigue usando los nodos del clúster para el procesamiento. Los SKUs y las tarifas de facturación del procesamiento sin servidores son independientes de los SKUs y las tarifas de los nodos aprovisionados. No puedes enviar solicitudes de escritura ni eliminación con Data Boost.

En este documento, se describe Data Boost y cuándo y cómo usarlo. Antes de leer esta página, debes comprender Instancias, clústeres y nodos.

Requisitos de la edición

Data Boost está disponible si usas la edición Enterprise o Enterprise Plus. La edición Enterprise Plus proporciona las siguientes capacidades adicionales:

  • Compatibilidad con consultas en SQL: Consulta los datos a los que se accede con Data Boost.
  • Acceso a HDD y almacenamiento por niveles: Para un análisis más completo, extiende el acceso de Data Boost a todo el alcance de los datos en tu clúster de Bigtable más allá de los datos de SSD.

Para obtener más información, consulta Descripción general de las ediciones.

Usos ideales

Data Boost es ideal para cargas de trabajo de análisis de datos y procesamiento de datos. El aislamiento del tráfico de análisis y procesamiento con Data Boost garantiza que no tengas que ajustar la capacidad o la cantidad de nodos de un clúster para adaptarlo a las cargas de trabajo de análisis. Puedes ejecutar tus trabajos de análisis de alta capacidad de procesamiento en un solo clúster con Data Boost mientras el tráfico de la aplicación en curso se enruta a través de los nodos del clúster.

Estos son casos de uso ideales para Data Boost:

  • Trabajos de exportación o canalización de ETL programados o activados desde Bigtable a Cloud Storage para el enriquecimiento de datos, el análisis, el archivo, el entrenamiento de modelos de AA sin conexión o la transferencia de datos por parte de los socios externos de tus clientes
  • ETL con una herramienta como Dataflow para procesos de lectura por lotes o de análisis cortos que admiten agregaciones en el lugar, transformaciones basadas en reglas para MDM o trabajos de AA
  • Aplicaciones de Spark que usan el conector de Bigtable Spark para leer datos de Bigtable
  • Consultas ad hoc y trabajos de análisis programados que usan tablas externas de BigQuery para leer datos de Bigtable
  • Análisis de larga duración sobre datos históricos a los que no se accede con frecuencia y que se almacenan en HDD o en almacenamiento por niveles (solo edición Enterprise Plus)

Usos no convenientes

Lecturas de puntos : Data Boost no es la mejor opción para las operaciones de lectura de puntos, que son solicitudes de lectura enviadas para filas únicas. Esto incluye las lecturas de puntos por lotes. Debido a la estructura de facturación, muchas lecturas de puntos de una sola fila son considerablemente más costosas que un análisis largo.

Lectura de datos inmediatamente después de que se escriben : Cuando lees datos con Data Boost, es posible que no leas todos los datos que se escribieron en los últimos 35 minutos. Esto es especialmente cierto si tu instancia usa la replicación y lees datos que se escribieron en un clúster en una región diferente de la que lees. Para obtener más información, consulta Tokens de coherencia.

Cargas de trabajo sensibles a la latencia : Data Boost está optimizado para la capacidad de procesamiento, por lo que la latencia de lectura es más lenta cuando usas Data Boost que cuando lees con clústeres y nodos. Por este motivo, Data Boost no es adecuado para las cargas de trabajo de entrega de aplicaciones.

Para obtener más información sobre las cargas de trabajo, las configuraciones y las funciones que no son compatibles con Data Boost, consulta Limitaciones.

Perfiles de app de Data Boost

Para usar Data Boost, envías tus solicitudes de lectura con un perfil de app de Data Boost en lugar de un perfil de app estándar.

Los perfiles de app estándar te permiten especificar la política de enrutamiento y el nivel de prioridad para las solicitudes que usan el perfil de app, así como si se permiten las transacciones de una sola fila. El tráfico enviado con un perfil de app estándar se enruta a un clúster, y los nodos de ese clúster enrutan el tráfico al disco. Para obtener más información, consulta Descripción general de los perfiles de app estándar.

Con un perfil de app de Data Boost, por otro lado, configuras una política de enrutamiento de un solo clúster a uno de los clústeres de tu instancia, y el tráfico que usa ese perfil de app usa el procesamiento sin servidores en lugar de los nodos del clúster.

Puedes crear un nuevo perfil de app de Data Boost o convertir un perfil de app estándar para usar Data Boost. Te recomendamos que uses un perfil de app independiente para cada carga de trabajo o aplicación.

Tokens de coherencia

Data Boost puede leer los datos que se escribieron o replicaron en tu clúster de destino más de 35 minutos antes de tu solicitud de lectura.

Para asegurarte de que Data Boost pueda leer los datos de un trabajo de escritura o período específico, antes de iniciar una carga de trabajo de Data Boost, crea y usa un token de coherencia. A continuación, se muestra un flujo de trabajo de ejemplo:

  1. Escribe algunos datos en una tabla.
  2. Crea un token de coherencia.
  3. Envía el token en modo DataBoostReadLocalWrites para determinar cuándo Data Boost puede leer las escrituras en tu clúster de destino.

De manera opcional, puedes verificar la coherencia de la replicación antes de verificar la coherencia de Data Boost. Para ello, primero envía un token de coherencia en modo StandardReadRemoteWrites.

Para obtener más información, consulta la referencia de la API de CheckConsistencyRequest.

Cuota y facturación

El uso de Data Boost se mide en unidades de procesamiento sin servidores (SPUs). 1,000 SPUs equivalen a un nodo en rendimiento. Cuando se ejecuta en HDD o almacenamiento por niveles, las SPUs representan los recursos de procesamiento sin servidores y las operaciones de disco subyacentes. A diferencia de los nodos aprovisionados, solo se te cobrarán las SPUs cuando uses Data Boost. Cada solicitud se factura por un mínimo de 60 SPU-segundos, y se te cobran al menos 10 SPUs por segundo.

Para obtener más información sobre los precios de Data Boost, consulta Precios de Bigtable.

Se te asigna una cuota y se te factura por las SPUs por separado de la cuota y los cargos de los nodos.

Métricas de elegibilidad

Data Boost está diseñado para análisis de alta capacidad de procesamiento, y las cargas de trabajo deben ser compatibles para poder usar Data Boost. Antes de convertir un perfil de app estándar para usar Data Boost o crear un perfil de app de Data Boost para una carga de trabajo existente, consulta las métricas de elegibilidad de Data Boost para asegurarte de que tu configuración y uso cumplan con los criterios requeridos. También debes revisar las limitaciones.

Supervisión

Para supervisar el tráfico de Data Boost, puedes consultar las métricas de tu perfil de app de Data Boost en la página de estadísticas del sistema de Bigtable en la Google Cloud consola. Para obtener una lista de las métricas disponibles por perfil de app, consulta Gráficos de estadísticas del sistema para recursos de Bigtable.

Puedes supervisar el uso de unidades de procesamiento sin servidores (SPUs) si verificas la métrica de recuento de uso de SPU (data_boost/spu_usage_count) en la pestaña Perfil de app de la página de estadísticas del sistema de Bigtable.

También puedes seguir supervisando las métricas de elegibilidad del perfil de app después de comenzar a usar Data Boost.

Limitaciones

Las siguientes propiedades de carga de trabajo y configuraciones de recursos no son compatibles con Data Boost.

  • Escrituras y eliminaciones
  • Tráfico que es principalmente lecturas de puntos (lecturas de una sola fila)
  • Más de 1,000 lecturas por segundo por clúster
  • Análisis inversos
  • Flujos de cambios
  • Prioridades de solicitud
  • Enrutamiento de varios clústeres
  • Transacciones de fila única
  • Extremos regionales
  • Consultas del generador de consultas de Bigtable Studio query builder
  • Instancias que usan la encriptación CMEK
  • Bibliotecas cliente incompatibles. Debes usar el cliente de Bigtable para Java versión 2.31.0 o posterior.
    • Para los trabajos de Dataflow que usan BigtableIO para leer datos de Bigtable, debes usar Apache Beam versión 2.54.0 o posterior.
    • Para los trabajos de Dataflow que usan CloudBigtableIO para leer datos de Bigtable, debes usar bigtable-hbase-beam versión 2.14.1 o posterior.

¿Qué sigue?