Statistiques de table
Bigtable fournit des statistiques de table (métadonnées relatives à une table) qui donnent des informations récapitulatives sur la table, telles que le nombre de lignes ou le nombre moyen de cellules par colonne.
Ce document décrit les statistiques de table et explique comment les obtenir à l'aide de Google Cloud CLI. Avant de lire cette page, vous devez comprendre le modèle de stockage de Bigtable et connaître les bonnes pratiques liées à la conception de schémas ainsi que la récupération de mémoire.
Les statistiques de table offrent de la visibilité sur une table Bigtable. Cela peut être utile lorsque vous résolvez des problèmes de performance ou de stockage ou lorsque vous souhaitez déterminer la source des coûts de stockage. Ils peuvent également vous aider à déterminer si vous stockez davantage de données que nécessaire.
Précision attendue
Lorsque vous récupérez les statistiques d'une table, les données obtenues sont approximatives : ces statistiques reflètent l'état de votre table dans l'un des clusters de votre instance au moment du compactage le plus récent.
La mise à disposition d'un ensemble complet de statistiques d'une table ne peut intervenir qu'après le compactage initial, qui a généralement lieu une semaine après la création de la table. Les statistiques de table sont exactes au moment du dernier compactage, qui peut dater d'une semaine au plus.
Champs des statistiques de table
Une requête demandant les statistiques d'une table renvoie les champs suivants. Des détails accompagnés d'exemples sont présentés dans la section suivante.
Champ des statistiques de table | Nom de l'API | Description |
---|---|---|
Nombre de lignes | row_count |
Nombre de lignes dans la table. Pour consulter les détails, reportez-vous à la section Nombre de lignes. |
Nombre moyen de colonnes par ligne | average_columns_per_row |
Nombre moyen de colonnes pour chaque ligne de la table dans son ensemble. Pour consulter les détails et un exemple, reportez-vous à la section Nombre moyen de colonnes par ligne . |
Nombre moyen de cellules par colonne | average_cells_per_column |
Nombre moyen de cellules stockées dans toutes les colonnes de toutes les lignes. Pour consulter les détails, reportez-vous à la section Nombre moyen de cellules par colonne. |
Données logiques en octets | logical_data_bytes |
Quantité d'espace occupée par la table. Pour consulter les détails, reportez-vous à la section Données logiques en octets. |
Les statistiques de table incluent également les champs suivants pour chaque famille de colonnes de la table.
Champ des statistiques de famille de colonnes | Nom de l'API | Description |
---|---|---|
Nombre moyen de colonnes par ligne | average_columns_per_row |
Nombre moyen de colonnes par ligne dans la famille de colonnes. Pour consulter les détails et un exemple, reportez-vous à la section Nombre moyen de colonnes par ligne. |
Nombre moyen de cellules par colonne | average_cells_per_column |
Nombre moyen de cellules dans chaque colonne, calculé sur toutes les lignes comportant des colonnes de la famille de colonnes. Pour consulter les détails et un exemple, reportez-vous à la section Nombre moyen de cellules par colonne. |
Données logiques en octets | logical_data_bytes |
Quantité d'espace occupée par la famille de colonnes. Pour consulter les détails, reportez-vous à la section Données logiques en octets. |
Détails des champs des statistiques de table
Nombre de lignes
Cette valeur correspond au nombre de lignes dans la table. Chaque ligne est identifiée par une clé de ligne.
Nombre moyen de colonnes par ligne
Pour obtenir le nombre moyen de colonnes par ligne pour une table, Bigtable comptabilise le nombre de colonnes pour la table entière et divise cette valeur par le nombre de lignes de la table.
Prenons comme exemple la table suivante. La première ligne comporte trois colonnes et la deuxième ligne en compte deux.
Clé de ligne | Famille de colonnes family-A | Famille de colonnes family-B | ||
---|---|---|---|---|
clé de ligne 1 | family-A:qualifier-W | family-A:qualifier-X | family-B:qualifier-Y | |
clé de ligne 2 | family-A:qualifier-W | family-B:qualifier-Z |
La table contient cinq colonnes et deux lignes. Le nombre moyen de colonnes par ligne est donc de 2.5
.
Cette statistique de table vous donne une idée générale du type de votre table : haute et étroite (quelques colonnes par ligne), ou bien courte et large (beaucoup de colonnes dans chaque ligne).
Nombre moyen de cellules par colonne
Pour obtenir le nombre moyen de cellules par colonne pour une table, Bigtable prend le nombre total de cellules stockées dans la table et le divise par le nombre de colonnes de la table.
Selon la conception de votre schéma et vos stratégies de récupération de mémoire, votre table peut contenir plusieurs cellules ou une seule cellule dans une colonne. Le nombre de cellules que vous pouvez stocker est soumis aux limites de taille des données décrites sur la page "Quotas et limites" sous Taille des données dans les tables.
Si vous constatez que ce nombre est plus élevé que prévu, examinez vos règles de récupération de mémoire pour savoir si vous conservez davantage de cellules que nécessaire. Vous pouvez également vous demander si votre schéma et vos modèles d'écriture doivent être ajustés.
Données logiques en octets (table)
Cette valeur représente le nombre approximatif d'octets nécessaires à la lecture de la table entière. Cette statistique de table vous donne une idée du nombre d'octets stockés dans la table. La valeur des données logiques en octets peut vous aider à comprendre l'impact de la compression sur la table. Par exemple, si la taille de la table indiquée dans Cloud Monitoring est identique ou supérieure à la valeur des données logiques en octets pour la table, il est possible que vous stockiez vos données dans un format difficile à compresser.
Détails des champs des statistiques de famille de colonnes
Les statistiques d'une table incluent les champs suivants pour chaque famille de colonnes de la table.
Nombre moyen de colonnes par ligne
Ce nombre est calculé en prenant le nombre de colonnes de la famille de colonnes et en le divisant par le nombre de lignes de la table.
Prenons comme exemple la table suivante. La table comporte trois lignes, avec des colonnes dans les familles de colonnes family-A
et family-B
.
Clé de ligne | Famille de colonnes family-A | Famille de colonnes family-B | ||
---|---|---|---|---|
clé de ligne 1 | family-A:qualifier-W | family-A:qualifier-X | family-B:qualifier-Y | |
clé de ligne 2 | family-A:qualifier-W | |||
clé de ligne 3 | family-A:qualifier-W | family-A:qualifier-X | family-B:qualifier-Y | family-B:qualifier-Z |
La famille de colonnes family-A
comporte au total cinq colonnes dans la table. En divisant ce nombre par trois lignes, cela signifie que le nombre moyen de cellules par colonne pour family-A
est de 1.67
(arrondi ici à deux décimales).
La famille de colonnes family-B
comporte au total trois colonnes dans la table. En divisant ce nombre par trois lignes, le nombre moyen de colonnes par ligne pour family-A
est de 1
.
Nombre moyen de cellules par colonne
Pour déterminer le nombre moyen de cellules par colonne pour une famille de colonnes, Bigtable prend le nombre total de cellules de la famille de colonnes stockées dans toutes les lignes de la table et le divise par le nombre de lignes de la table.
Prenons comme exemple les lignes suivantes dans la famille de colonnes family-D
.
Clé de ligne | Famille de colonnes family-D | ||
---|---|---|---|
clé de ligne 1 | family-D:qualifier-W (3 cellules) | family-D:qualifier-X (1 cellule) | |
clé de ligne 2 | family-D:qualifier-X (10 cellules) | ||
clé de ligne 3 | family-D:qualifier-W (7 cellules) | family-D:qualifier-Y (6 cellules) |
Le nombre total de cellules de la famille de colonnes est de 3 + 1 + 10 + 7 + 6 = 27. En divisant cette valeur par trois (qui correspond au nombre de lignes), cela signifie que la famille de colonnes family-D
comporte en moyenne 9
cellules par colonne.
Données logiques en octets (famille de colonnes)
Les données logiques en octets reflètent l'espace occupé par la famille de colonnes. Cette valeur correspond approximativement au nombre d'octets nécessaires pour lire l'ensemble des données de la famille de colonnes au moment où les statistiques de la table ont été renvoyées.
Exemple utilisant gcloud CLI
Pour obtenir les statistiques d'une table appelée sample-table
, utilisez la commande bigtable instances table describe
:
gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID --view stats
Remplacez les éléments suivants :
TABLE_ID
: identifiant permanent de la table.INSTANCE_ID
: identifiant permanent de l'instance.
Le résultat ressemble à ce qui suit :
columnFamilies: my-family: stats: averageCellsPerColumn: 12.34 averageColumnsPerRow: 56.78 logicalDataBytes: 314159 name: projects/my-project/instances/INSTANCE_ID/tables/TABLE_ID stats: averageCellsPerColumn: 12.34 averageColumnsPerRow: 56.78 logicalDataBytes: 314159 rowCount: 271828
Étapes suivantes
- Surveillez vos ressources Bigtable.
- Utilisez Key Visualizer pour analyser vos habitudes d'utilisation.