Información general sobre Bigtable Data Boost

Data Boost es un servicio de computación sin servidor diseñado para ejecutar trabajos de lectura de alto rendimiento en tus datos de Bigtable sin que afecte al rendimiento de los clústeres que gestionan el tráfico de tu aplicación. Te permite enviar grandes tareas de lectura y consultas mediante computación sin servidor mientras tu aplicación principal sigue usando nodos de clúster para la computación. Los SKUs de computación sin servidor y las tarifas de facturación son independientes de los SKUs y las tarifas de los nodos aprovisionados. No puedes enviar solicitudes de escritura ni de eliminación con Data Boost.

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

¿Para qué sirve?

Data Boost es ideal para cargas de trabajo de análisis y tratamiento de datos. Al aislar el tráfico de analíticas y de procesamiento con Data Boost, no tendrá que ajustar la capacidad ni el número de nodos de un clúster para dar cabida a las cargas de trabajo de analíticas. Puedes ejecutar tus tareas de analíticas de alto rendimiento en un solo clúster con Data Boost mientras el tráfico de tu aplicación se enruta a través de los nodos del clúster.

Estos son los casos prácticos ideales para Optimizador de datos:

  • Tareas de exportación o de canalización de ETL programadas o activadas desde Bigtable a Cloud Storage para enriquecer, analizar o archivar datos, entrenar modelos de aprendizaje automático sin conexión o permitir que los partners externos de tus clientes los ingieran
  • ETL con una herramienta como Dataflow para procesos de lectura por lotes o de análisis breves que admitan agregaciones in situ, transformaciones basadas en reglas para la gestión de datos maestros o tareas de aprendizaje automático
  • Aplicaciones de Spark que usan el conector de Spark para Bigtable para leer datos de Bigtable
  • Consultas ad hoc y tareas de analíticas programadas que usan tablas externas de BigQuery para leer datos de Bigtable.

Para qué no es adecuado

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 una sola fila. 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 caras que una lectura larga.

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

Cargas de trabajo sensibles a la latencia: Data Boost está optimizado para el rendimiento, 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 servicio 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 aplicaciones de Data Boost

Para usar Data Boost, debes enviar tus solicitudes de lectura mediante un perfil de aplicación de Data Boost en lugar de un perfil de aplicación estándar.

Los perfiles de aplicación estándar te permiten especificar la política de enrutamiento y el nivel de prioridad de las solicitudes que usan el perfil de aplicación, así como si se permiten las transacciones de una sola fila. El tráfico enviado mediante un perfil de aplicación estándar se dirige a un clúster, y los nodos de ese clúster dirigen el tráfico al disco. Consulta más información sobre los perfiles de aplicación estándar.

Por otro lado, con un perfil de aplicación Data Boost, puedes configurar una política de enrutamiento de un solo clúster en uno de los clústeres de tu instancia, y el tráfico que use ese perfil de aplicación usará computación sin servidor en lugar de los nodos del clúster.

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

Tokens de coherencia

Data Boost puede leer los datos que se hayan escrito o replicado en el clúster de destino más de 35 minutos antes de la solicitud de lectura.

Para asegurarse de que Data Boost puede leer los datos de un trabajo de escritura o de un periodo concretos antes de iniciar una carga de trabajo de Data Boost, puede crear y usar un token de coherencia. Un ejemplo de flujo de trabajo es el siguiente:

  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.

Si quieres, puedes comprobar la coherencia de la replicación antes de comprobar la coherencia de Data Boost. Para ello, envía primero 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 servidor (SPUs) y 1000 SPUs equivalen a un nodo de rendimiento. A diferencia de los nodos aprovisionados, solo se te cobra por las SPUs cuando usas Data Boost. Cada solicitud se factura con un mínimo de 60 segundos de SPUs y se te cobran al menos 10 SPUs por segundo. Para obtener más información sobre los precios de Data Boost, consulta la página 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 cumplimiento de los requisitos

Data Boost se ha diseñado para realizar análisis de alto rendimiento, y las cargas de trabajo deben ser compatibles para poder usarlo. Antes de convertir un perfil de aplicación estándar para que use Data Boost o de crear un perfil de aplicación de Data Boost para una carga de trabajo, consulta las métricas de idoneidad de Data Boost para asegurarte de que tu configuración y uso cumplen los criterios necesarios. También debe consultar las limitaciones.

Supervisión

Para monitorizar el tráfico de Data Boost, puedes consultar las métricas del perfil de aplicación de Data Boost en la página de estadísticas del sistema de Bigtable de laGoogle Cloud consola. Para ver una lista de las métricas disponibles por perfil de aplicación, consulta Gráficos de estadísticas del sistema de recursos de Bigtable.

Para monitorizar el uso de unidades de procesamiento sin servidor (SPUs), consulta la métrica de recuento de uso de SPUs (data_boost/spu_usage_count) en la pestaña Perfil de aplicación de la página de estadísticas del sistema de Bigtable.

También puedes seguir monitorizando las métricas de elegibilidad del perfil de la aplicación después de empezar a usar Data Boost.

Limitaciones

Las siguientes propiedades de carga de trabajo y configuraciones de recursos no se admiten en Data Boost.

  • Escrituras y eliminaciones
  • Tráfico que es principalmente de lecturas de puntos (lecturas de una sola fila)
  • Más de 1000 lecturas por segundo y clúster
  • Escaneos inversos
  • Flujo de cambios
  • Prioridades de las solicitudes
  • Enrutamiento de varios clústeres
  • Transacciones de una sola fila
  • Puntos de conexión regionales
  • Instancias de HDD
  • Consultas de GoogleSQL para Bigtable
  • Consultas del generador de consultas de Bigtable Studio
  • Instancias que usan el cifrado con CMEK
  • Bibliotecas de cliente incompatibles. Debes usar la versión 2.31.0 o una posterior del cliente de Bigtable para Java.
    • En las tareas de Dataflow que usen BigtableIO para leer datos de Bigtable, debes usar la versión 2.54.0 de Apache Beam o una posterior.
    • En las tareas de Dataflow que usan CloudBigtableIO para leer datos de Bigtable, debes usar bigtable-hbase-beam 2.14.1 o una versión posterior.

Siguientes pasos