Spanner fournit une table intégrée, SPANNER_SYS.TABLE_SIZES_STATS_1HOUR
, qui répertorie la taille des tables et des index de vos bases de données. La taille de la table est exprimée en octets. Les tailles de table incluent les versions de données. Vous pouvez utiliser SPANNER_SYS.TABLE_SIZES_STATS_1HOUR
pour surveiller la taille de votre table et de votre index au fil du temps. Vous pouvez également surveiller la taille de vos index lorsque vous les créez, les supprimez ou les modifiez (lorsque vous insérez de nouvelles lignes dans l'index ou lorsque vous y ajoutez des colonnes). Vous pouvez également examiner les tailles de vos tables de flux de modifications.
L'espace de stockage de la base de données peut être surveillé avec la métrique "Stockage total de la base de données". Vous pouvez consulter la répartition de l'espace de stockage de la base de données à l'aide de SPANNER_SYS.TABLE_SIZES_STATS_1HOUR
.
Qui peut en bénéficier ?
Les données SPANNER_SYS
ne sont disponibles que via des interfaces SQL. Exemple :
Page Spanner Studio d'une base de données dans la console Google Cloud
La commande
gcloud spanner databases execute-sql
L'API
executeQuery
Les autres méthodes de lecture unique fournies par Spanner ne sont pas compatibles avec SPANNER_SYS
.
TABLE_SIZES_STATS_1HOUR
SPANNER_SYS.TABLE_SIZES_STATS_1HOUR
contient la taille de toutes les tables de votre base de données, triées par interval_end
. Les intervalles sont basés sur l'heure et se terminent à l'heure. En interne, toutes les cinq minutes, Spanner collecte les données de tous les serveurs, puis les met à disposition dans la table TABLE_SIZES_STATS_1HOUR
peu de temps après. La moyenne des données est ensuite calculée
pour chaque heure d'horloge. Par exemple, à 11:59:30, TABLE_SIZES_STATS_1HOUR
affiche les tailles moyennes des tables entre 10:00:00 AM et 10:59:59.
Schéma de la table
Nom de la colonne | Type | Description |
---|---|---|
INTERVAL_END |
TIMESTAMP |
Fin de l'intervalle de temps pendant lequel les tailles de table ont été collectées. |
TABLE_NAME |
STRING |
Nom de la table ou de l'index. |
USED_BYTES |
FLOAT64 |
Taille de la table en octets. |
Exemples de requêtes
Cette section inclut plusieurs exemples d'instructions SQL qui récupèrent des statistiques agrégées sur la taille des tables. Vous pouvez exécuter ces instructions SQL à l'aide des bibliothèques clientes, de gcloud spanner ou de la console Google Cloud.
Interroger les quatre plus grandes tables et index pour l'intervalle le plus récent
La requête suivante renvoie les quatre plus grandes tables et index pour l'intervalle le plus récent:
SELECT interval_end, table_name, used_bytes FROM spanner_sys.table_sizes_stats_1hour WHERE interval_end = ( SELECT MAX(interval_end) FROM spanner_sys.table_sizes_stats_1hour) ORDER BY used_bytes DESC LIMIT 4;
Sortie de la requête
interval_end | table_name | used_bytes |
---|---|---|
2022-11-15 13:00:00-07:00 |
order_item |
60495552 |
2022-11-15 13:00:00-07:00 |
orders |
13350000 |
2022-11-15 13:00:00-07:00 |
item_inventory |
2094549 |
2022-11-15 13:00:00-07:00 |
customer |
870000 |
Tendance de la taille de requête pour une table ou un index spécifique au cours des dernières 24 heures
La requête suivante renvoie la taille de la table pour les dernières 24 heures:
GoogleSQL
SELECT interval_end, used_bytes FROM spanner_sys.table_sizes_stats_1hour WHERE interval_end > TIMESTAMP_ADD(CURRENT_TIMESTAMP(), INTERVAL -24 HOUR) AND table_name = table_name ORDER BY interval_end DESC;
Où :
table_name
doit être une table ou un index existant dans la base de données.
Sortie de la requête
interval_end | used_bytes |
---|---|
2022-11-15 13:00:00-07:00 |
13350000 |
2022-11-15 12:00:00-07:00 |
13350000 |
2022-11-15 11:00:00-07:00 |
13350000 |
2022-11-15 10:00:00-07:00 |
13350000 |
2022-11-15 09:00:00-07:00 |
13350000 |
2022-11-15 08:00:00-07:00 |
12350000 |
2022-11-15 07:00:00-07:00 |
12350000 |
2022-11-15 06:00:00-07:00 |
12350000 |
2022-11-15 05:00:00-07:00 |
11350000 |
2022-11-15 04:00:00-07:00 |
11350000 |
2022-11-15 03:00:00-07:00 |
11350000 |
2022-11-15 02:00:00-07:00 |
11350000 |
2022-11-15 01:00:00-07:00 |
11350000 |
2022-11-15 00:00:00-07:00 |
10350000 |
2022-11-14 23:00:00-07:00 |
10350000 |
2022-11-14 22:00:00-07:00 |
10350000 |
2022-11-14 21:00:00-07:00 |
10350000 |
2022-11-14 20:00:00-07:00 |
10350000 |
2022-11-14 19:00:00-07:00 |
10350000 |
2022-11-14 18:00:00-07:00 |
10350000 |
2022-11-14 17:00:00-07:00 |
10350000 |
2022-11-14 16:00:00-07:00 |
10350000 |
2022-11-14 15:00:00-07:00 |
10350000 |
2022-11-14 14:00:00-07:00 |
10350000 |
2022-11-14 13:00:00-07:00 |
10350000 |
Conservation des données
Spanner conserve au minimum les données pendant SPANNER_SYS.TABLE_SIZES_STATS_1HOUR
pour des intervalles couvrant les 30 derniers jours.
Étapes suivantes
- Découvrez d'autres outils d'introspection.
- Découvrez les autres informations stockées par Spanner pour chaque base de données dans les tables du schéma d'informations de celle-ci.
- Découvrez les bonnes pratiques SQL concernant Spanner.
- En savoir plus sur l'investigation de l'utilisation élevée du processeur.