Mehrstufiger Speicher – Übersicht

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