Présentation de Bigtable Data Boost

Data Boost est un service de calcul sans serveur conçu pour exécuter des tâches de lecture à haut débit sur vos données Bigtable sans affecter les performances des clusters qui gèrent le trafic de votre application. Il vous permet d'envoyer des tâches de lecture et des requêtes volumineuses à l'aide du calcul sans serveur pendant que votre application principale continue à utiliser des nœuds de cluster pour le calcul. Les SKU et les tarifs de calcul sans serveur sont distincts des SKU et des tarifs des nœuds provisionnés. Avec Data Boost, vous ne pouvez pas envoyer de requêtes d'écriture ni de suppression.

Ce document décrit Data Boost, et explique quand et comment l'utiliser. Avant de lire cette page, vous devez avoir compris les instances, les clusters et les nœuds.

Points forts

Data Boost est idéal pour les charges de travail d'analyse et de traitement des données. L'isolation de votre trafic d'analyse et de traitement avec Data Boost vous évite d'avoir à ajuster la capacité ou le nombre de nœuds d'un cluster pour vous adapter aux charges de travail d'analyse. Vous pouvez exécuter vos tâches d'analyse à haut débit sur un seul cluster avec Data Boost, tandis que le trafic en cours de votre application est acheminé via des nœuds de cluster.

Voici des cas d'utilisation idéaux pour Data Boost:

  • Jobs de pipeline ETL ou d'exportation programmés ou déclenchés de Bigtable vers Cloud Storage pour enrichir, analyser et archiver des données, entraîner des modèles de ML hors connexion ou ingérer des données par les partenaires tiers de vos clients
  • ETL à l'aide d'un outil tel que Dataflow pour les processus d'analyse de courte durée ou de lecture par lot compatibles avec les agrégations sur place, les transformations basées sur des règles pour la gestion des appareils mobiles (MDM) ou les tâches de ML

Points faibles

Lectures de points : Data Boost n'est pas la meilleure option pour les opérations de lecture de points, qui sont des requêtes de lecture envoyées pour des lignes uniques. Cela inclut les lectures ponctuelles par lot. En raison de la structure de facturation, de nombreuses lectures à ligne unique coûtent considérablement plus cher qu'une analyse longue.

Lire des données immédiatement après leur écriture : lorsque vous lisez des données avec Data Boost, vous risquez de ne pas lire toutes les données écrites au cours de la demi-heure la plus récente. Cela est particulièrement vrai si votre instance utilise la réplication et que vous lisez des données qui ont été écrites sur un cluster situé dans une région différente de celle depuis laquelle vous lisez des données. Pour en savoir plus, consultez la section Cohérence.

Charges de travail sensibles à la latence : Data Boost est optimisé pour le débit. La latence de lecture est donc plus lente lorsque vous utilisez Data Boost que lorsque vous lisez à l'aide de clusters et de nœuds. Pour cette raison, Data Boost n'est pas adapté à des charges de travail de diffusion d'applications.

Pour en savoir plus sur les charges de travail, les configurations et les fonctionnalités non compatibles avec Data Boost, consultez la section Limites.

Profils d'application Data Boost

Pour utiliser Data Boost, vous devez envoyer vos requêtes de lecture à l'aide d'un profil d'application Data Boost au lieu d'un profil d'application standard.

Les profils d'application standards vous permettent de spécifier la règle de routage et le niveau de priorité des requêtes qui utilisent le profil d'application, ainsi que si les transactions à ligne unique sont autorisées. Le trafic envoyé à l'aide d'un profil d'application standard est acheminé vers un cluster, et les nœuds de ce cluster acheminent le trafic vers le disque. Pour en savoir plus, consultez la présentation des profils d'application standards.

En revanche, avec un profil d'application Data Boost, vous configurez une règle de routage à cluster unique vers l'un des clusters de votre instance, et le trafic utilisant ce profil d'application utilise des calculs sans serveur au lieu des nœuds du cluster.

Vous pouvez créer un profil d'application Data Boost ou convertir un profil d'application standard pour qu'il utilise Data Boost à la place. Nous vous recommandons d'utiliser un profil d'application distinct pour chaque charge de travail ou application.

Jetons de cohérence

Les données qui ont été écrites ou répliquées sur votre cluster cible plus de 35 minutes avant votre requête de lecture sont lisibles par Data Boost.

Avant de lancer une charge de travail Data Boost, vous pouvez créer et utiliser un jeton de cohérence pour vous assurer que les données d'une tâche d'écriture ou d'une période spécifique sont lisibles par Data Boost. Voici un exemple de workflow:

  1. Écrire des données dans une table
  2. Créez un jeton de cohérence.
  3. Envoyez le jeton en mode DataBoostReadLocalWrites pour déterminer quand les écritures sont lisibles par Data Boost sur votre cluster cible.

Vous pouvez éventuellement vérifier la cohérence de la réplication avant de vérifier la cohérence Data Boost en envoyant d'abord un jeton de cohérence en mode StandardReadRemoteWrites.

Pour en savoir plus, consultez la documentation de référence de l'API sur CheckConsistencyRequest.

Quotas et facturation

Data Boost utilise des unités de traitement sans serveur (SPU, Serverless Processing Units), c'est-à-dire des ressources de calcul indépendantes et à la demande pour mesurer la puissance de calcul utilisée pour lire les données avec Data Boost. Contrairement aux nœuds, les SPU ne vous sont facturés que lorsque vous les utilisez. Chaque requête est facturée pour un minimum de 60 SPU-seconde, et vous êtes facturé au moins 10 SPU par seconde. Pour en savoir plus sur la tarification Data Boost, consultez la page Tarifs de Bigtable.

Les SPU vous sont alloués et vous sont facturés séparément du quota et des frais associés aux nœuds.

Métriques d'éligibilité

Data Boost est conçu pour les analyses à haut débit. Les charges de travail doivent être compatibles pour pouvoir utiliser Data Boost. Avant de convertir un profil d'application standard afin d'utiliser Data Boost ou de créer un profil d'application Data Boost pour une charge de travail existante, consultez les métriques d'éligibilité à Data Boost pour vous assurer que votre configuration et votre utilisation répondent aux critères requis. Vous devez également consulter les limites.

Surveillance

Pour surveiller votre trafic Data Boost, vous pouvez vérifier les métriques de votre profil d'application Data Boost sur la page Bigtable Monitoring de la console Google Cloud. Pour obtenir la liste des métriques disponibles par profil d'application, consultez Surveiller des graphiques pour les ressources Bigtable.

Vous pouvez surveiller votre utilisation des unités de traitement sans serveur (SPU) en consultant la métrique du nombre d'utilisations de SPU (data_boost/spu_usage_count) dans l'explorateur de métriques.

Vous pouvez également continuer à surveiller les métriques d'éligibilité du profil d'application après avoir commencé à utiliser Data Boost.

Limites

Les propriétés de charge de travail et les configurations de ressources suivantes ne sont pas compatibles avec Data Boost.

  • Écritures et suppressions
  • Trafic principalement constitué de lectures de points (lectures à une seule ligne)
  • Plus de 1 000 lectures par seconde et par cluster
  • Recherches inversées
  • Modifier les flux
  • Priorités des demandes
  • Routage multi-cluster
  • Transactions à ligne unique
  • Points de terminaison régionaux
  • Instances HDD
  • Instances utilisant le chiffrement CMEK
  • Bibliothèques clientes incompatibles. Vous devez utiliser le client Bigtable pour Java version 2.31.0 ou ultérieure.
    • Pour que les jobs Dataflow utilisant BigtableIO lisent des données Bigtable, vous devez utiliser Apache Beam 2.54.0 ou une version ultérieure.
    • Pour que les jobs Dataflow utilisant CloudBigtableIO lisent des données Bigtable, vous devez utiliser bigtable-hbase-beam version 2.14.1 ou ultérieure.

Les éléments suivants ne sont pas compatibles avec la version preview.

  • Création et configuration d'un profil d'application Data Boost dans la console Google Cloud
  • Lire des données Bigtable à partir de BigQuery ou Spark

Étapes suivantes