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 de lectura y consultas grandes con computación sin servidores mientras tu aplicación principal sigue usando nodos de clúster para el procesamiento. Los SKU y las tarifas de facturación de la computación sin servidores son independientes de los SKU 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 los nodos, los clústeres y las instancias.

Usos ideales

Data Boost es ideal para cargas de trabajo de análisis 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.

Los siguientes son casos de uso ideales para Data Boost:

  • Trabajos de canalización de exportación o ETL programados o activados desde Bigtable a Cloud Storage para el enriquecimiento, el análisis, el archivado, 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 análisis breves o de lectura por lotes que admitan agregaciones in situ, 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

Usos no convenientes

Lecturas puntuales: Data Boost no es la mejor opción para las operaciones de lectura puntual, que son solicitudes de lectura que se envían para filas individuales. Esto incluye las lecturas de puntos por lotes. Debido a la estructura de facturación, muchas lecturas de puntos de una sola fila son mucho más costosas que una exploración larga.

Leer 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 la media hora más reciente. Esto es especialmente cierto si tu instancia usa la replicación y lees datos que se escribieron en un clúster de 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 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ía 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 que se envía 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.

Por otro lado, con un perfil de app de Data Boost, configuras una política de enrutamiento de un solo clúster en uno de los clústeres de tu instancia, y el tráfico que usa ese perfil de app usa la computación sin servidores en lugar de los nodos del clúster.

Puedes crear un perfil de app de Data Boost nuevo 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. Un flujo de trabajo de ejemplo es el siguiente:

  1. Escribir 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 operaciones de escritura 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 el 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 (SPU) y 1,000 SPU equivalen a un nodo en rendimiento. 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 SPU por segundo. Para obtener más información sobre los precios de Data Boost, consulta los precios de Bigtable.

Se te asigna una cuota y se te facturan las SPU por separado de la cuota y los cargos por 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 usarlo. 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 supervisión de Bigtable en la consola de Google Cloud. Para obtener una lista de las métricas disponibles por perfil de app, consulta Supervisa gráficos para los recursos de Bigtable.

Para supervisar el uso de las unidades de procesamiento sin servidores (SPU), consulta la métrica de recuento de uso de SPU (data_boost/spu_usage_count) en la pestaña Perfil de la app de la página de supervisión 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.

  • Operaciones de escritura y eliminación
  • Tráfico que se compone principalmente de operaciones de lectura de punto (lecturas de una sola fila)
  • Más de 1,000 operaciones de lectura por segundo por clúster
  • Análisis inversos
  • Cambiar transmisiones
  • Prioridades de solicitud
  • Enrutamiento de varios clústeres
  • Transacciones de fila única
  • Extremos regionales
  • Instancias de HDD
  • Consultas de GoogleSQL para Bigtable
  • Consultas del compilador de consultas de Bigtable Studio
  • Instancias que usan la encriptación de CMEK
  • Bibliotecas cliente incompatibles Debes usar la versión 2.31.0 o posterior del cliente de Bigtable para Java.

    • Para los trabajos de Dataflow que usan BigtableIO para leer datos de Bigtable, debes usar la versión 2.54.0 o una posterior de Apache Beam.
    • En el caso de los trabajos de Dataflow que usan CloudBigtableIO para leer datos de Bigtable, debes usar la versión 2.14.1 o una posterior de bigtable-hbase-beam. No se admite lo siguiente en la versión preliminar.
  • Cómo leer datos de Bigtable desde BigQuery

    ¿Qué sigue?

  • Crea o actualiza un perfil de app.

  • Obtén más información sobre el conector de Bigtable Beam.

  • Usa el conector de Bigtable Spark.