Cette page décrit et explique le fonctionnement du stockage en niveaux dans Spanner. Cette fonctionnalité est compatible avec les bases de données en dialecte GoogleSQL et en dialecte PostgreSQL.
Le stockage à niveaux 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 de stockage en niveaux, vos données sont stockées sur un stockage SSD. En fonction de la fréquence à laquelle vous utilisez ou accédez aux données, vous pouvez envisager d'utiliser un stockage en plusieurs niveaux et de stocker des données à la fois sur des SSD et des 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 sur disque dur est parfois approprié pour les grands ensembles de données qui ne sont pas sensibles à la latence, qui sont rarement consultés ou si le coût du stockage est un facteur important.
L'utilisation d'un stockage en niveaux vous permet de profiter à la fois du stockage SSD, qui offre les performances élevées des données actives, et du stockage HDD, qui permet un accès aux données peu fréquent à 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é, ainsi qu'un accès aux données à faible latence | Grands ensembles de données qui ne sont pas sensibles à la latence ou qui sont rarement consultés |
Débit attendu par nœud Configurations régionales |
Jusqu'à 3 500 RPS en écriture Jusqu'à 22 500 RPS en lecture |
Jusqu'à 3 500 RPS en écriture Jusqu'à 1 500 RPS en lecture |
Débit attendu par nœud Configurations à double région et multirégionales |
Jusqu'à 2 700 RPS en écriture Jusqu'à 15 000 RPS en lecture |
Jusqu'à 3 500 RPS en écriture Jusqu'à 1 000 RPS en lecture |
Opérations compatibles | Lire, écrire, mettre à jour et supprimer | Lire, écrire, mettre à jour et supprimer |
Avantages
Le stockage en niveaux 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 moins coûteuse pour les grands ensembles de données qui ne sont pas sensibles à la latence ou qui sont rarement consultés.
- Simplicité de gestion: fournit un service de hiérarchisation entièrement géré sans la complexité des pipelines et de la logique de fractionnement supplémentaires.
- 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 actives et inactives (modifiable)
- Amélioration des performances: améliore les performances des requêtes en organisant vos données dans différents groupes de localité, ce qui offre une localité et une isolation des données dans les colonnes. Les données d'un même groupe de localités sont stockées physiquement à proximité les unes des autres.
Fonctionnement du stockage en niveaux
Par défaut, lorsque vous créez une instance, les données ne sont stockées que sur un SSD. De même, les données des instances existantes ne sont également stockées que sur des SSD.
Si vous choisissez d'utiliser le stockage en niveaux pour stocker certaines données sur un disque dur, vous devez créer un groupe de localité, qui permet de définir la stratégie de stockage en niveaux 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 le stockage SSD avant d'être déplacées vers le stockage HDD. Une fois le délai spécifié écoulé, Spanner migre les données vers le stockage sur disque dur lors de son cycle de compaction normal, qui se produit généralement dans un délai de sept jours à compter de l'heure spécifiée. C'est ce que l'on appelle une stratégie de stockage en niveaux basée sur l'âge. Lorsque vous utilisez une stratégie de stockage en niveaux basée sur l'âge, la durée minimale pendant laquelle les données doivent être stockées sur un SSD avant d'être déplacé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 en niveaux 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 stratégie de stockage en niveaux 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 de 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és dans une nouvelle instance, l'instance de destination doit être dans l'édition Spanner Enterprise ou Spanner Enterprise Plus.
Data Boost
Vous pouvez utiliser Spanner Data Boost pour accéder aux données sur un stockage SSD ou HDD. Interroger des données sur un stockage HDD entraîne des coûts plus élevés en raison d'un nombre accru d'opérations d'E/S. Pour en savoir plus, consultez la section Tarification.
Rechercher dans les index
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 en niveaux.
Métriques Cloud Monitoring
Spanner fournit les métriques suivantes pour vous aider à surveiller votre utilisation et vos données de stockage à plusieurs niveaux à l'aide de Cloud Monitoring:
spanner.googleapis.com/instance/storage/used_bytes
(Stockage total): affiche le nombre total d'octets de données stockés sur les SSD et les disques durs. Sur la page Insights système de l'instance et de la base de données Spanner de la console Google Cloud, un menu déroulant Type de stockage est disponible pour cette métrique. Utilisez le menu déroulant pour afficher le nombre total d'octets de données stockés sur un tout, un disque dur uniquement ou un SSD uniquement.spanner.googleapis.com/instance/storage/combined/limit_bytes
: affiche la limite de stockage combinée des SSD et des HDD.spanner.googleapis.com/instance/storage/combined/limit_bytes_per_processing_unit
: affiche la limite de stockage combinée des SSD et des disques durs 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 la charge disque, la latence augmente de manière significative.
Si vous avez des requêtes existantes qui filtrent les métriques existantes par storage_class:ssd
, vous devez supprimer le filtre pour afficher l'utilisation de votre disque dur.
Pour en savoir plus sur la surveillance de vos ressources Spanner, consultez les pages 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 sur le groupe de localités default
. Pour en savoir plus, consultez locality_group_options
pour les bases de données en dialecte GoogleSQL et locality_group_options
pour les bases de données en 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 un stockage en niveaux:
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 sur disque dur et SSD pour chaque groupe de localités de votre base de données.
Pour en savoir plus, consultez les pages Statistiques sur les tailles de table et Statistiques sur les requêtes.
Tarifs
L'utilisation du stockage à niveaux n'entraîne aucuns frais supplémentaires. Les tarifs standards de Spanner vous sont facturés pour la quantité de capacité de calcul utilisée par votre instance et la quantité de stockage utilisée par votre base de données. Les données stockées sur des SSD et des disques durs sont facturées selon leurs tarifs de stockage respectifs. Le déplacement de données entre le stockage SSD et HDD n'est pas facturé. Pour en savoir plus, consultez la page Tarifs de Spanner.
Étape suivante
- En savoir plus sur les groupes de localités
- Découvrez comment créer et gérer des groupes de localités.
- Découvrez comment optimiser les requêtes avec le pushdown de prédicat de code temporel.