Gérer des tables

Cette page explique comment créer, modifier, supprimer et obtenir des informations sur les tables Cloud Bigtable à l'aide de cbt command-line tool ou de Google Cloud Console.

L'outil cbt tool accepte plusieurs commandes qui ne sont pas décrites sur cette page. Pour obtenir la liste complète des commandes, consultez la documentation de référence sur cbt.

Vous pouvez également gérer les tables de manière automatisée avec l'une des bibliothèques clientes ou API de service Bigtable.

Avant de commencer

Si vous souhaitez gérer les tables à partir de la ligne de commande, installez cbt tool.

Configurer l'outil cbt

Vous pouvez spécifier des valeurs par défaut pour les paramètres de configuration cbt tool suivants :

  • Le projet où se trouve votre instance Bigtable.
  • L'instance Bigtable à laquelle se connecter.
  • Le fichier d'identifiants, au format JSON, à utiliser lors de la connexion à votre instance. Consultez les instructions de création d'une clé de compte de service. Si vous vous êtes authentifié en exécutant gcloud auth application-default login ou si vous utilisez l'outil cbt sur une instance Compute Engine, aucun fichier d'identifiants n'est nécessaire.
  • Les points de terminaison de l'API à utiliser. En règle générale, il n'est pas nécessaire de modifier ces valeurs.

Pour spécifier des valeurs par défaut pour ces paramètres, créez un fichier .cbtrc dans votre répertoire d'accueil. Vous pouvez remplacer les valeurs par défaut dans le fichier .cbtrc en utilisant des options de ligne de commande.

Pour créer un fichier .cbtrc, exécutez la commande suivante, en remplaçant [PROJECT_ID] et [INSTANCE_ID] par les valeurs appropriées :

echo -e "project = [PROJECT_ID]\ninstance = [INSTANCE_ID]" > ~/.cbtrc

Les instructions cbt tool de cette page supposent que vous avez défini l'ID de projet et l'ID d'instance dans votre fichier .cbtrc. Vous pouvez également utiliser les options -project et -instance pour définir ces valeurs lors de chaque exécution de cbt.

Créer une table

Lorsque vous créez une table, vous n'avez pas besoin de spécifier les familles de colonnes qui doivent y être utilisées. Vous pourrez en ajouter ou en supprimer ultérieurement.

Console

Pour créer une table dans une instance, procédez comme suit :

  1. Ouvrez la liste des instances Bigtable dans Cloud Console.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance dont vous souhaitez consulter les tables.

  3. Cliquez sur Tables dans le volet de gauche.

    La page Tables affiche une liste des tables de l'instance.

  4. Cliquez sur Créer une table.

  5. Saisissez un ID de table.

  6. Ajouter des familles de colonnes (facultatif)

    Vous pouvez ajouter des colonnes maintenant ou ultérieurement. Une table doit comporter au moins une famille de colonnes pour que vous puissiez y écrire des données.

  7. Cliquez sur Create (Créer).

cbt

Exécutez la commande suivante, en remplaçant [TABLE_NAME] par le nom de votre table :

cbt createtable [TABLE_NAME]

Diviser la table en fonction d'une clé de ligne

L'une des fonctionnalités de Bigtable en tant que service entièrement géré est la répartition automatique des tables sur plusieurs nœuds. Cette fonctionnalité permet d'optimiser les performances en répartissant de manière équitable la quantité de données stockées sur chaque nœud et en séparant, dans la mesure du possible, les lignes qui font l'objet d'accès fréquents.

Lorsque vous créez une table à l'aide de la bibliothèque cliente cbt tool ou Bigtable, vous pouvez choisir des clés de ligne pour pré-diviser la table. Par exemple, vous pouvez désigner des lignes spécifiques pour pré-diviser la table si vous êtes sur le point d'y écrire de nombreuses lignes.

Cette division préalable de la table n'est pas indispensable, mais elle présente des avantages, car elle fournit à Bigtable des informations sur l'endroit susceptible d'être impacté par la charge et le volume de données lors de la création de la table. La division préalable épargne à Bigtable la division des tables et le rééquilibrage de la charge concomitant à l'arrivée des données.

Lors de la création de la table, celle-ci ne reste pas divisée suivant les clés de ligne que vous avez choisies pour la division préalable. Bigtable divise ensuite votre table suivant des clés de ligne différentes, en fonction de la quantité de données figurant dans la table et de la fréquence d'accès à chaque ligne.

Console

Vous ne pouvez pas effectuer une division préalable des lignes lorsque vous créez une table à l'aide de Google Cloud Console.

cbt

Pour effectuer une division préalable d'une table en fonction de la clé de ligne, utilisez la syntaxe suivante pour créer la table. Remplacez [TABLE_NAME] par le nom de la table et [SPLITS] par une liste de préfixes de clés de ligne séparés par une virgule à utiliser pour les divisions préalables.

cbt createtable [TABLE_NAME] splits=[SPLITS]

Par exemple, pour effectuer une division préalable de la table my-table au niveau des clés de ligne commençant par 10 et 20 :

cbt createtable my-table splits=10,20

Modifier les familles de colonnes d'une table

Vous pouvez ajouter ou supprimer des familles de colonnes dans une table existante.

Ajouter des familles de colonnes

Console

  1. Ouvrez la liste des instances Bigtable dans Cloud Console.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance dont vous souhaitez consulter les tables.

  3. Cliquez sur Tables dans le volet de gauche.

    La page Tables affiche une liste des tables de l'instance.

  4. Cliquez sur Modifier pour la table que vous souhaitez modifier.

  5. Pour chaque famille de colonnes que vous souhaitez ajouter, procédez comme suit :

    1. Cliquez sur Ajouter une famille de colonnes.
    2. Fournissez un identifiant unique pour la famille de colonnes.
    3. Définissez la stratégie de récupération de mémoire pour la famille de colonnes.
    4. Cliquez sur OK.
  6. Cliquez sur Enregistrer.

cbt

Pour ajouter une famille de colonnes à une table, utilisez la commande suivante, en remplaçant [TABLE_NAME] par le nom de la table et [FAMILY_NAME] par le nom de la famille de colonnes :

cbt createfamily [TABLE_NAME] [FAMILY_NAME]

Par exemple, pour ajouter les familles de colonnes cf1 et cf2 à la table my-table :

cbt createfamily my-table cf1
cbt createfamily my-table cf2

Supprimer des familles de colonnes

Console

  1. Ouvrez la liste des instances Bigtable dans Cloud Console.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance dont vous souhaitez consulter les tables.

  3. Cliquez sur Tables dans le volet de gauche.

    La page Tables affiche une liste des tables de l'instance.

  4. Cliquez sur Modifier pour la table que vous souhaitez modifier.

  5. Pour chaque famille de colonnes que vous souhaitez supprimer, procédez comme suit :

    1. Passez la souris sur la ligne de la famille de colonnes que vous souhaitez supprimer.
    2. Cliquez sur .
  6. Cliquez sur Enregistrer.

  7. Pour confirmer que vous comprenez que la suppression d'une famille de colonnes est définitive et que toutes les données de la famille de colonnes seront supprimées, saisissez "Supprimer les familles de colonnes" dans la zone de texte.

  8. Cliquez sur Confirmer.

cbt

Pour supprimer une famille de colonnes d'une table, utilisez la commande suivante, en remplaçant [TABLE_NAME] par le nom de la table et [FAMILY_NAME] par le nom de la famille de colonnes :

cbt deletefamily [TABLE_NAME] [FAMILY_NAME]

Par exemple, pour supprimer la famille de colonnes cf2 de la table my-table :

cbt deletefamily my-table cf2

Afficher une liste de tables

Console

Pour afficher la liste de tables dans une instance :

  1. Ouvrez la liste des instances Bigtable dans Cloud Console.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance dont vous souhaitez consulter les tables.

  3. Cliquez sur Tables dans le volet de gauche.

    La page Tables affiche une liste des tables de l'instance.

    • Cliquez sur la flèche en regard de l'ID de la table pour développer la liste des réplications de la table.
    • Cliquez sur Afficher les métriques à côté du nom d'une table pour afficher les données de surveillance de la table en question.

cbt

Pour afficher la liste des tables, exécutez la commande suivante :

cbt ls

Afficher des informations sur une table

Console

Pour afficher des informations sur une table, procédez comme suit :

  1. Ouvrez la liste des instances Bigtable dans Cloud Console.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance dont vous souhaitez consulter les tables.

  3. Cliquez sur Tables dans le volet de gauche.

    La page Tables affiche une liste des tables de l'instance. Pour chaque table, Cloud Console affiche le nombre de clusters sur lesquels la table est stockée, son état, son utilisation du stockage et les identifiants de toutes les sauvegardes actuelles de la table.

  4. Pour afficher les noms des familles de colonnes de la table, cliquez sur .

  5. Pour fermer le volet Modifier la table, cliquez sur Annuler.

cbt

Vous pouvez utiliser l'outil cbt pour obtenir la liste des familles de colonnes d'une table.

Utilisez la commande suivante en remplaçant [TABLE_NAME] par le nom de la table :

cbt ls [TABLE_NAME]

Définir des stratégies de récupération de mémoire

Une stratégie de récupération de mémoire indique à Bigtable quelles données conserver et quelles données marquer pour suppression. Les règles de récupération de mémoire sont définies au niveau de la famille de colonnes. Vous pouvez les définir lors de la création de la table ou ultérieurement.

Lorsque vous créez une famille de colonnes, vous pouvez spécifier le nombre de cellules que vous souhaitez conserver dans chaque colonne de cette famille. Si vous ne définissez pas ce paramètre, Bigtable utilise l'un des paramètres par défaut suivants :

  • Si vous créez la famille de colonnes avec le client Cloud Bigtable HBase pour Java, de l'interface système HBase, ou d'un autre outil qui utilise le client HBase pour Java, Bigtable ne conserve qu'une seule cellule pour chaque intersection de ligne/colonne dans la famille de colonnes. Ce paramètre par défaut est conforme à HBase.

  • Si vous créez la famille de colonnes dans Cloud Console, toute autre bibliothèque cliente ou cbt tool, Bigtable conserve un nombre infini de cellules dans chaque colonne.

Consultez la page Configurer des stratégies de récupération de mémoire pour obtenir des instructions détaillées sur l'affichage, la définition et la mise à jour des stratégies de récupération de mémoire.

Sauvegarder et restaurer une table

Pour savoir comment sauvegarder et restaurer une table à partir d'une sauvegarde, consultez la page Gérer des sauvegardes.

Supprimer une table

Console

  1. Ouvrez la liste des instances Bigtable dans Cloud Console.

    Ouvrir la liste des instances

  2. Cliquez sur l'instance dont vous souhaitez consulter les tables.

  3. Cliquez sur Tables dans le volet de gauche.

    La page Tables affiche une liste des tables de l'instance.

  4. Cliquez sur pour la table que vous souhaitez supprimer.

  5. Cliquez sur Supprimer.

  6. Pour confirmer que vous reconnaissez que cette action est irréversible et que la table sera supprimée de tous les clusters de l'instance, saisissez l'ID de table dans la zone de texte.

  7. Cliquez sur Supprimer.

cbt

Pour supprimer une table, utilisez la commande suivante, en remplaçant [TABLE_NAME] par le nom de la table :

cbt deletetable [TABLE_NAME]