Présentation du stockage à plusieurs niveaux

Cette page décrit et explique le fonctionnement du stockage hiérarchisé dans Spanner. Cette fonctionnalité est compatible avec les bases de données utilisant le dialecte GoogleSQL et celles utilisant le dialecte PostgreSQL.

Le stockage hiérarchisé Spanner est une fonctionnalité de stockage entièrement gérée qui vous permet de choisir de stocker vos données sur des disques durs SSD ou HDD. Par défaut, lorsque vous n'utilisez pas le stockage hiérarchisé, vos données sont stockées sur un stockage SSD. En fonction de la fréquence à laquelle vous utilisez ou consultez les données, vous pouvez envisager d'utiliser un stockage hiérarchisé et de stocker les données à la fois sur un stockage SSD et HDD.

  • Le stockage SSD est le choix le plus performant (nombre de requêtes par seconde plus élevé) et le plus rentable pour la plupart des cas d'utilisation. Vous devez l'utiliser pour stocker des données actives avec un débit d'écriture et de lecture élevé, ainsi que des données nécessitant un accès à faible latence.
  • Le stockage HDD est parfois approprié pour les grands ensembles de données qui ne sont pas sensibles à la latence, qui sont rarement utilisés ou si le coût du stockage est un facteur important.

Le stockage hiérarchisé vous permet de profiter à la fois du stockage SSD, qui prend en charge les hautes performances des données actives, et du stockage HDD, qui prend en charge l'accès aux données peu fréquentes à moindre coût.

Choisir entre le stockage SSD et HDD

Le tableau suivant présente les différences et les similitudes entre le stockage SSD et HDD. En cas de doute, nous vous recommandons de choisir le stockage SSD.

Stockage SSD Stockage HDD
Cas d'utilisation cibles Données nécessitant un débit d'écriture et de lecture élevé, et un accès aux données à faible latence Grands ensembles de données qui ne sont pas sensibles à la latence ou qui sont rarement utilisés
Débit attendu par nœud
Configurations régionales
Jusqu'à 22 500 RPS en lecture 
Jusqu'à 3 500 RPS en écriture
Jusqu'à 1 500 RPS en lecture
Jusqu'à 3 500 RPS en écriture
Débit attendu par nœud
Configurations birégionales et multirégionales
Jusqu'à 15 000 RPS en lecture par région
Jusqu'à 2 700 RPS en écriture
Jusqu'à 1 000 RPS en lecture par région
Jusqu'à 2 700 RPS en écriture
Opérations compatibles Lecture, écriture, mise à jour et suppression Lecture, écriture, mise à jour et suppression

Utilisez les écritures optimisées pour le débit afin d'augmenter le débit d'écriture au-delà des chiffres du tableau. Pour en savoir plus, consultez Présentation des performances.

Avantages

Le stockage hiérarchisé offre les avantages suivants en vous permettant d'utiliser à la fois le stockage SSD et HDD :

  • Réduction significative du coût total de possession : le stockage HDD offre une option à moindre coût pour les grands ensembles de données qui ne sont pas sensibles à la latence ou qui sont rarement utilisés.
  • Facilité de gestion : fournit un service de catégorisation entièrement géré sans la complexité des pipelines supplémentaires et de la logique de fractionnement.
  • Expérience unifiée et cohérente : offre un accès unifié aux données et un ensemble unique de métriques pour les données chaudes (modifiables) et froides.
  • Performances améliorées : améliorent les performances des requêtes en organisant vos données dans différents groupes de localité, ce qui permet d'assurer la localité et l'isolation des données dans les colonnes. Les données d'un même groupe de localité sont stockées physiquement à proximité les unes des autres.

Fonctionnement du stockage hiérarchisé

Par défaut, lorsque vous créez une instance, les données ne sont stockées que sur un stockage SSD. De même, les données des instances existantes ne sont stockées que sur un stockage SSD.

Si vous choisissez d'utiliser le stockage hiérarchisé pour stocker certaines données dans un stockage HDD, vous devez créer un groupe de localité, qui est utilisé pour définir la règle de stockage hiérarchisé pour les données de votre schéma. Lorsque vous créez un groupe de localités, vous pouvez définir le type de stockage, ssd ou hdd. Vous pouvez également définir la durée pendant laquelle les données sont stockées sur un SSD avant d'être transférées sur un HDD. Une fois le délai spécifié écoulé, Spanner migre les données vers le stockage HDD lors de son cycle de compaction normal, qui se produit généralement au cours des sept jours suivant le délai spécifié. C'est ce qu'on appelle une règle de stockage hiérarchisée basée sur l'âge. Lorsque vous utilisez une règle de stockage hiérarchisée basée sur l'âge, la durée minimale pendant laquelle les données doivent être stockées sur un SSD avant d'être transférées vers un stockage HDD est d'une heure.

Une fois vos groupes de localités définis, vous pouvez définir la stratégie de stockage hiérarchisé au niveau de la base de données, de la table, de la colonne ou de l'index secondaire lorsque vous créez vos tables. La règle de stockage hiérarchisé détermine comment et où les données sont stockées. Pour obtenir des instructions, consultez Créer et gérer des groupes de localités.

Sauvegarde et restauration

Vous pouvez sauvegarder et restaurer vos données à l'aide des sauvegardes Spanner. La sauvegarde contient toutes les informations du schéma de stockage, y compris INFORMATION_SCHEMA.LOCALITY_GROUP_OPTIONS, qui spécifie le type de stockage de chaque groupe de localités. Pour restaurer une sauvegarde contenant des groupes de localité dans une nouvelle instance, l'instance de destination doit appartenir à l'édition Spanner Enterprise ou Spanner Enterprise Plus.

Data Boost

Vous pouvez utiliser Spanner Data Boost pour accéder aux données stockées sur un disque SSD ou HDD. L'interrogation de données sur un disque dur utilise la capacité de charge du disque dur de l'instance, qui fait partie de votre capacité de calcul.

Index de recherche

La recherche en texte intégral et les index vectoriels héritent du groupe de localité défini sur l'objet de base de données.

Observabilité

Les fonctionnalités d'observabilité suivantes sont disponibles pour le stockage hiérarchisé.

Métriques Cloud Monitoring

Spanner fournit les métriques suivantes pour vous aider à surveiller votre utilisation du stockage hiérarchisé et vos données à l'aide de Cloud Monitoring :

  • spanner.googleapis.com/instance/storage/used_bytes (Stockage total) : indique le nombre total d'octets de données stockées sur les disques SSD et HDD.
  • spanner.googleapis.com/instance/storage/combined/limit_bytes : affiche la limite de stockage combinée pour les disques SSD et HDD.
  • spanner.googleapis.com/instance/storage/combined/limit_bytes_per_processing_unit : affiche la limite de stockage combinée des SSD et des HDD pour chaque unité de traitement.
  • spanner.googleapis.com/instance/storage/combined/utilization : indique l'utilisation combinée du stockage SSD et HDD par rapport à la limite de stockage combinée.
  • spanner.googleapis.com/instance/disk_load : affiche l'utilisation du disque dur en pourcentage. Si votre instance atteint 100 % de charge de disque dur, la latence augmente considérablement.

Si vous avez des requêtes existantes qui filtrent les métriques existantes par storage_class:ssd, vous devez supprimer le filtre pour voir votre utilisation du disque dur.

Pour en savoir plus sur la surveillance de vos ressources Spanner, consultez Surveiller les instances avec des insights système et Surveiller les instances avec Cloud Monitoring.

Schéma d'informations

INFORMATION_SCHEMA.LOCALITY_GROUP_OPTIONS contient la liste des groupes de localités et des options de votre base de données Spanner. Il inclut des informations pour le groupe de localités default. Pour en savoir plus, consultez locality_group_options pour les bases de données avec dialecte GoogleSQL et locality_group_options pour les bases de données avec dialecte PostgreSQL.

Tables de statistiques intégrées

Les tableaux de statistiques intégrés suivants sont disponibles pour les bases de données utilisant le stockage hiérarchisé :

  • SPANNER_SYS.TABLE_SIZES_STATS_1HOUR : affiche l'utilisation du stockage HDD et SSD pour chaque table de votre base de données.
  • SPANNER_SYS.TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR : affiche l'utilisation du stockage HDD et SSD pour chaque groupe de localités de votre base de données.

Pour en savoir plus, consultez Statistiques sur la taille des tables.

Les tableaux de statistiques sur les requêtes et de statistiques de lecture comportent la colonne suivante liée au stockage hiérarchisé :

  • AVG_DISK_IO_COST : coût moyen de cette requête en termes de charge de disque HDD Spanner. Cette valeur permet de comparer les coûts d'E/S de disque dur entre les lectures que vous exécutez dans la base de données. Une valeur plus élevée indique que vous utilisez davantage de charge de disque dur et que votre requête peut être plus lente que si elle s'exécutait sur un disque SSD. De plus, si la charge de votre disque dur est à pleine capacité, les performances de vos requêtes peuvent être davantage affectées.

Pour en savoir plus, consultez Statistiques sur les requêtes et Lire les statistiques.

Tarifs

L'utilisation du stockage hiérarchisé n'entraîne aucuns frais supplémentaires. Le tarif Spanner standard vous est facturé en fonction de la capacité de calcul et de l'espace de stockage utilisés par votre instance et votre base de données. Les données stockées sur SSD et HDD sont facturées à leurs tarifs de stockage respectifs. Le déplacement de données entre le stockage SSD et HDD n'est pas facturé. L'interrogation de données sur un disque dur utilise la capacité de charge du disque dur de l'instance, qui fait partie de la tarification de la capacité de calcul. Pour en savoir plus, consultez la page Tarifs de Spanner.

Étapes suivantes