Concevoir un schéma

Le schéma idéal pour une table Bigtable dépend fortement d'un certain nombre de facteurs, parmi lesquels le cas d'utilisation, les modèles d'accès aux données et les types de données que vous prévoyez de stocker. Cette page présente le processus de conception de schémas Bigtable.

Avant de lire cette page, vous devez connaître les concepts et les bonnes pratiques de conception de schéma. Le cas échéant, lisez également la section Conception de schéma pour les données de séries temporelles.

Avant de commencer

Créez ou identifiez une instance Bigtable que vous pouvez utiliser pour tester votre schéma.

Recueillir des informations

  1. Identifiez les données que vous prévoyez de stocker dans Bigtable. Voici quelques questions à vous poser :
    • Quel est le format utilisé par les données ? Les formats possibles incluent les octets bruts, les chaînes, les protobufs et JSON.
    • Qu'est-ce qu'une entité dans vos données ? Par exemple, stockez-vous les pages vues, les cours des actions, les emplacements des annonces, les mesures sur l'appareil ou un autre type d'entité ? De quoi les entités sont-elles composées ?
    • Les données sont-elles basées sur le temps ?
  2. Identifiez et classez les requêtes que vous utilisez pour obtenir les données dont vous avez besoin. En tenant compte des entités que vous allez stocker, réfléchissez à la façon dont vous souhaitez que les données soient triées et regroupées lorsque vous les utilisez. La conception de votre schéma peut ne pas satisfaire à toutes vos requêtes, mais idéalement, elle doit permettre de traiter les requêtes les plus importantes ou les plus fréquemment utilisées. Voici quelques exemples de requêtes :
    • Mois de relevé de températures pour les objets IoT.
    • Visionnage quotidien des annonces pour une adresse IP.
    • Dernière position d'un appareil mobile.
    • Tous les événements d'application par jour et par utilisateur.

Conception

Choisissez une conception de schéma initiale. Cela implique de planifier le modèle suivi par vos clés de ligne, les familles de colonnes de votre table et les qualificatifs de des colonnes souhaitées dans ces familles de colonnes. Suivez les consignes générales de conception de schéma. Si vos données sont de type temporelles, suivez également les consignes relatives aux données de séries temporelles.

Test

  1. Créez une table à l'aide des familles de colonnes et des qualificatifs de colonnes que vous avez définis pour votre schéma.
  2. Chargez dans la table au moins 30 Go de données de test, en utilisant les clés de ligne que vous avez identifiées dans votre brouillon de plan. Ne dépassez pas les limites d'utilisation du stockage par nœud.
  3. Effectuez un test de charge intensif pendant plusieurs minutes. Cette étape permet à Bigtable d'équilibrer les données entre les nœuds en fonction des modèles d'accès observés.
  4. Exécutez une simulation d'une heure des lectures et des écritures que vous devez normalement envoyer à la table.
  5. Examinez les résultats de votre simulation à l'aide de Key Visualizer et de Cloud Monitoring.

    • L'outil Key Visualizer pour Bigtable fournit des analyses qui présentent les modèles d'utilisation de chaque table d'un cluster. Key Visualizer vous aide à vérifier si la conception de votre schéma et vos modèles d'utilisation génèrent des résultats indésirables, tels que des hotspots sur des lignes spécifiques.

    • Monitoring vous aide à vérifier les métriques, telles que l'utilisation du processeur du nœud le plus sollicité dans un cluster, afin de déterminer si la conception du schéma est à l'origine des problèmes.

Affiner

  1. Modifiez la conception de votre schéma si nécessaire, en fonction de ce que Key Visualizer vous a appris. Exemple :
    • Si vous constatez un phénomène de hotspotting, utilisez différentes clés de ligne.
    • Si vous remarquez une latence, vérifiez si les lignes dépassent la limite de 100 Mo par ligne.
    • Si vous avez besoin de filtres pour obtenir les données dont vous avez besoin, envisagez de normaliser les données de manière à faciliter les lectures (et à les rendre plus rapides) : lisez une ligne ou des plages de lignes par clé de ligne.
  2. Une fois que vous avez révisé votre schéma, testez et vérifiez à nouveau les résultats.
  3. Continuez à modifier et à tester votre conception de schéma jusqu'à ce qu'une inspection de Key Visualizer vous indique qu'elle est optimale.

Étape suivante