Auf dieser Seite wird die Funktionsweise von mehrstufigem Speicher in Spanner beschrieben und erläutert. Dieses Feature wird sowohl in Datenbanken mit GoogleSQL-Dialekt als auch in Datenbanken mit PostgreSQL-Dialekt unterstützt.
Der mehrstufige Speicher von Spanner ist eine vollständig verwaltete Speicherfunktion, mit der Sie auswählen können, ob Ihre Daten auf Solid-State-Laufwerken (SSDs) oder Festplattenlaufwerken (HDDs) gespeichert werden sollen. Wenn Sie keinen mehrstufigen Speicher verwenden, werden Ihre Daten standardmäßig auf SSD-Speicher gespeichert. Je nachdem, wie oft Sie die Daten verwenden oder darauf zugreifen, sollten Sie in Erwägung ziehen, Tiered Storage zu verwenden und Daten sowohl auf SSD- als auch auf HDD-Speicher zu speichern.
- SSD-Speicher ist für die meisten Anwendungsfälle die leistungsstärkste (höhere Abfragen pro Sekunde) und kostengünstigste Option. Sie sollten ihn zum Speichern aktiver Daten mit hohem Schreib- und Lesedurchsatz und Daten verwenden, die einen Datenzugriff mit geringer Latenz erfordern.
- HDD-Speicher ist manchmal angemessen für große Datasets, die nicht latenzempfindlich sind, auf die nur selten zugegriffen wird oder wenn die Speicherkosten ein wichtiger Faktor sind.
Durch die Verwendung von mehrstufigem Speicher können Sie sowohl SSD-Speicher nutzen, der die hohe Leistung aktiver Daten unterstützt, als auch HDD-Speicher, der einen seltenen Datenzugriff zu geringeren Kosten unterstützt.
SSD- oder HDD-Speicher wählen
In der folgenden Tabelle sind die Unterschiede und Gemeinsamkeiten zwischen SSD- und HDD-Speicher aufgeführt. Im Zweifelsfall empfehlen wir, SSD-Speicher zu wählen.
SSD-Speicher | HDD-Speicher | |
---|---|---|
Zielanwendungsfälle | Daten, die einen hohen Schreib- und Lesedurchsatz und einen Datenzugriff mit geringer Latenz erfordern | Große Datasets, die nicht latenzempfindlich sind oder auf die nur selten zugegriffen wird |
Erwarteter Durchsatz pro Knoten Regionale Konfigurationen |
Bis zu 22.500 Leseabfragen pro Sekunde Bis zu 3.500 Schreibabfragen pro Sekunde |
Bis zu 1.500 Lese-QPS Bis zu 3.500 Schreib-QPS |
Erwarteter Durchsatz pro Knoten Konfigurationen für zwei Regionen und mehrere Regionen |
Bis zu 15.000 QPS-Lesevorgänge pro Region Bis zu 2.700 QPS-Schreibvorgänge |
Bis zu 1.000 QPS pro Region Bis zu 2.700 QPS für Schreibvorgänge |
Unterstützte Vorgänge | Lesen, Schreiben, Aktualisieren und Löschen | Lesen, Schreiben, Aktualisieren und Löschen |
Verwenden Sie durchsatzoptimierte Schreibvorgänge, um den Schreibdurchsatz über die Zahlen in der Tabelle hinaus zu steigern. Weitere Informationen finden Sie unter Leistungsübersicht.
Vorteile
Die mehrstufige Speicherung bietet folgende Vorteile, da Sie sowohl SSD- als auch HDD-Speicher verwenden können:
- Deutliche Senkung der Gesamtbetriebskosten: HDD-Speicher ist eine kostengünstigere Option für große Datasets, die nicht latenzempfindlich sind und auf die nur selten zugegriffen wird.
- Einfache Verwaltung: Bietet einen vollständig verwalteten Tiering-Dienst ohne die Komplexität zusätzlicher Pipelines und Aufteilungslogik.
- Einheitliche und konsistente Nutzung: Bietet einheitlichen Datenzugriff und eine einzige Gruppe von Messwerten für Hot Data und (veränderliche) Cold Data.
- Verbesserte Leistung: Die Abfrageleistung wird verbessert, indem Ihre Daten in verschiedenen Lokalisierungsgruppen organisiert werden. So werden Daten lokalisiert und Spalten isoliert. Daten in derselben Lokalisierungsgruppe werden physisch nah beieinander gespeichert.
So funktioniert der Speicherplatz mit verschiedenen Stufen
Wenn Sie eine neue Instanz erstellen, werden Daten standardmäßig nur auf SSD-Speicher gespeichert. Auch Daten in vorhandenen Instanzen werden nur auf SSD-Speicher gespeichert.
Wenn Sie gestuften Speicher verwenden möchten, um einige Daten auf einer Festplatte zu speichern, müssen Sie eine Lokalitätsgruppe erstellen, mit der die Richtlinie für gestuften Speicher für Daten in Ihrem Schema definiert wird. Wenn Sie eine Lokalisierungsgruppe erstellen, können Sie den Speichertyp definieren, entweder ssd
oder hdd
. Optional können Sie auch festlegen, wie lange Daten auf SSD-Speicher gespeichert werden, bevor sie auf HDD-Speicher verschoben werden. Nach Ablauf der angegebenen Zeit migriert Spanner die Daten während des normalen Verdichtungszyklus auf HDD-Speicher. Dies dauert in der Regel sieben Tage ab dem angegebenen Zeitpunkt. Dies wird als altersbasierte Speicherrichtlinie mit Stufen bezeichnet. Wenn Sie eine altersbasierte Tiered Storage-Richtlinie verwenden, beträgt die Mindestzeit, die Daten auf einer SSD gespeichert werden müssen, bevor sie auf eine HDD verschoben werden, eine Stunde.
Nachdem Sie Ihre Standortgruppen definiert haben, können Sie beim Erstellen Ihrer Tabellen die Richtlinie für mehrstufigen Speicher auf Datenbank-, Tabellen-, Spalten- oder sekundärer Indexebene festlegen. Die Richtlinie für die Speicherung in verschiedenen Stufen bestimmt, wie und wo Daten gespeichert werden. Eine Anleitung finden Sie unter Lokalitätsgruppen erstellen und verwalten.
Sichern und wiederherstellen
Sie können Ihre Daten mit Spanner-Sicherungen sichern und wiederherstellen.
Die Sicherung enthält alle Informationen zum Speicherschema, einschließlich INFORMATION_SCHEMA.LOCALITY_GROUP_OPTIONS
, das den Speichertyp jeder Ortsgruppe angibt. Wenn Sie eine Sicherung, die Lokality-Gruppen enthält, in einer neuen Instanz wiederherstellen möchten, muss sich die Zielinstanz in der Spanner Enterprise- oder Spanner Enterprise Plus-Version befinden.
Data Boost
Mit Spanner Data Boost können Sie auf Daten auf SSD- oder HDD-Speicher zugreifen. Beim Abfragen von Daten auf einer HDD wird die HDD-Festplattenlastkapazität der Instanz verwendet, die Teil Ihrer Rechenkapazität ist.
Suchindexe
Volltextsuche und Vektorindexe übernehmen die auf dem Datenbankobjekt festgelegte Lokalisierungsgruppe.
Beobachtbarkeit
Die folgenden Observability-Funktionen sind für Tiered Storage verfügbar.
Cloud Monitoring-Messwerte
Spanner bietet die folgenden Messwerte, mit denen Sie die Nutzung und Daten des mehrstufigen Speichers mit Cloud Monitoring überwachen können:
spanner.googleapis.com/instance/storage/used_bytes
(Gesamtspeicher): Hier wird die Gesamtzahl der Byte an Daten angezeigt, die auf SSD- und HDD-Speicher gespeichert sind.spanner.googleapis.com/instance/storage/combined/limit_bytes
: Hier wird das kombinierte Speicherlimit für SSD und HDD angezeigt.spanner.googleapis.com/instance/storage/combined/limit_bytes_per_processing_unit
: Hier sehen Sie das kombinierte SSD- und HDD-Speicherlimit für jede Verarbeitungseinheit.spanner.googleapis.com/instance/storage/combined/utilization
: Zeigt die kombinierte SSD- und HDD-Speichernutzung im Vergleich zum kombinierten Speicherlimit an.spanner.googleapis.com/instance/disk_load
: Zeigt die Festplattennutzung in Prozent an. Wenn die HDD-Festplattenlast Ihrer Instanz 100% erreicht, kommt es zu einer erheblich erhöhten Latenz.
Wenn Sie vorhandene Abfragen haben, in denen vorhandene Messwerte nach storage_class:ssd
gefiltert werden, müssen Sie den Filter entfernen, um die Festplattennutzung zu sehen.
Weitere Informationen zum Überwachen Ihrer Spanner-Ressourcen finden Sie unter Instanzen mit Systemstatistiken überwachen und Instanzen mit Cloud Monitoring überwachen.
Informationsschema
INFORMATION_SCHEMA.LOCALITY_GROUP_OPTIONS
enthält die Liste der Lokality-Gruppen und Optionen in Ihrer Spanner-Datenbank. Sie enthält Informationen für die default
-Lokalisierungsgruppe. Weitere Informationen finden Sie unter locality_group_options
für GoogleSQL-Dialektdatenbanken und locality_group_options
für PostgreSQL-Dialektdatenbanken.
Integrierte Statistiktabellen
Die folgenden integrierten Statistiktabellen sind für Datenbanken mit mehrstufigem Speicher verfügbar:
SPANNER_SYS.TABLE_SIZES_STATS_1HOUR
: Zeigt die HDD- und SSD-Speichernutzung für jede Tabelle in Ihrer Datenbank an.SPANNER_SYS.TABLE_SIZES_STATS_PER_LOCALITY_GROUP_1HOUR
: Zeigt die HDD- und SSD-Speichernutzung für jede Lokalitätsgruppe in Ihrer Datenbank.
Weitere Informationen finden Sie unter Statistiken zu Tabellengrößen.
Die Tabellen für Abfragestatistiken und Lesestatistiken haben die folgende Spalte, die sich auf den mehrstufigen Speicher bezieht:
AVG_DISK_IO_COST
: Die durchschnittlichen Kosten dieser Abfrage in Bezug auf die HDD-Laufwerkbelastung von Spanner. Mit diesem Wert können Sie relative HDD-I/O-Kostenvergleiche zwischen Lesevorgängen durchführen, die Sie in der Datenbank ausführen. Ein höherer Wert weist darauf hin, dass Sie mehr HDD-Festplattenlast verwenden und Ihre Abfrage möglicherweise langsamer ist als bei Ausführung auf einer SSD. Wenn die Auslastung Ihrer HDD-Festplatte das Maximum erreicht hat, kann sich das zusätzlich auf die Leistung Ihrer Abfragen auswirken.
Weitere Informationen finden Sie unter Abfragestatistiken und Lesestatistiken.
Preise
Für die Verwendung von mehrstufigem Speicher fallen keine zusätzlichen Kosten an. Ihnen werden die Standardpreise für Spanner für die von Ihrer Instanz verwendete Rechenkapazität und den von Ihrer Datenbank verwendeten Speicherplatz berechnet. Daten, die auf SSD und HDD gespeichert sind, werden zu den jeweiligen Speicherpreisen in Rechnung gestellt. Das Verschieben von Daten zwischen SSD- und HDD-Speicher ist kostenlos. Beim Abfragen von Daten auf einer HDD wird die HDD-Festplattenlastkapazität der Instanz verwendet, die Teil der Preisgestaltung für die Rechenkapazität ist. Weitere Informationen finden Sie unter Spanner-Preise.
Nächste Schritte
- Weitere Informationen zu Ortsgruppen
- Informationen zum Erstellen und Verwalten von Ortsgruppen
- Weitere Informationen zum Optimieren von Abfragen mit Timestamp-Prädikat-Pushdown