Messwerte zur Speicherauslastung

Auf dieser Seite werden die Messwerte für die Speicherauslastung beschrieben, die Spanner bietet.

Standardmäßig werden Ihre Daten auf Solid-State-Laufwerken (SSDs) gespeichert. Sie können mit abgestuftem Speicher auswählen, ob Ihre Daten auf SSDs oder Festplattenlaufwerken (HDDs) gespeichert werden sollen. Weitere Informationen finden Sie unter Übersicht über abgestuften Speicher.

Speichermesswerte

Spanner bietet die folgenden Speichermesswerte:

  • Gesamtspeicherplatz der Datenbank: Die Datenmenge, die in der Datenbank oder den Datenbanken in der Instanz gespeichert ist. Dies unterliegt dem Speicher limit.
  • Gesamtspeicherplatz für Sicherungen: Die Datenmenge, die von den Sicherungen gespeichert ist, die mit der Instanz oder Datenbank verknüpft sind. Der Sicherungsspeicher wird separat gespeichert und in Rechnung gestellt. Für den Speicherplatz gibt es kein Limit.

Sie können Diagramme für diese Messwerte in der Google Cloud console oder in der Cloud Monitoring Console aufrufen.

Außerdem wird die Datenbankspeicherauslastung in der Google Cloud console auf den Seiten Instanzen und Instanzdetails angezeigt.

Zur Seite „Instanzen“

Speicher mit mehreren Versionen

Wenn Sie die Größe Ihrer Daten häufig mit den vorherigen Speichermesswerten überprüfen, erhalten Sie möglicherweise gelegentlich Ergebnisse, die Ihren Erwartungen widersprechen. So kann beispielsweise der gemeldete Gesamtspeicherplatz Ihrer Datenbank um einen beträchtlichen Betrag sinken, obwohl Sie in letzter Zeit keine Daten entfernt haben. Umgekehrt kann die Größe direkt nach einer erheblichen Löschung relativ unverändert bleiben.

Diese Effekte sind auf die Unterstützung von Speicher mit mehreren Versionen in Spanner zurückzuführen. Beim Speicher mit mehreren Versionen werden alle gelöschten oder überschriebenen Daten für eine begrenzte Zeit im Speicher aufbewahrt und sind verfügbar, um Funktionen zu ermöglichen, mit denen Sie frühere Daten Werte lesen können, z. B. veraltete Lesevorgänge und die Wiederherstellung zu einem bestimmten Zeitpunkt. Eine große Datenlöschung wird nicht sofort in den Speichermesswerten Ihrer Datenbank widergespiegelt. Ebenso bedeutet ein scheinbar unaufgeforderter Rückgang der Gesamtgröße einer Datenbank wahrscheinlich, dass beim regelmäßigen Datenverdichtungsprozess von Spanner kürzlich eine große Menge an Daten bereinigt wurde, die vor mehreren Tagen gelöscht oder überschrieben wurden.

Spanner garantiert die fortgesetzte Verfügbarkeit gelöschter oder überschriebener Daten für das durch die version_retention_period Option definierte Intervall (standardmäßig eine Stunde). Alle paar Tage wird automatisch ein Hintergrundprozess ausgeführt, bei dem alle veralteten Daten entfernt werden, die älter als dieses Intervall für die Aufbewahrungsdauer der Version sind. Wenn Sie veraltete Daten schneller dauerhaft entfernen möchten, können Sie manuell eine Hauptverdichtung auslösen.

Auswirkungen von Aufteilen und Zusammenführen

Bei hoher Last oder Hotspots verwendet Spanner das Aufteilen und Zusammenführen, um die CPU-Auslastung auf die bereitgestellten Rechenressourcen zu verteilen. Diese Hintergrunddaten-Verschiebevorgänge können auch dann auftreten, wenn Sie keine Daten einfügen oder ändern.

Eine Nebenwirkung dieser Optimierung ist eine vorübergehende Erhöhung der Speicherauslastung. Für verschobene Daten können zu einem bestimmten Zeitpunkt bis zu zwei Kopien der Originaldaten aufbewahrt werden. Dieser Mehraufwand wächst nicht unbegrenzt. Im Laufe des Verdichtungszyklus verkleinert Spanner die Aufteilungen und verwirft die zusätzlichen Kopien der Daten. Es ist zu erwarten, dass sich dieser Speicher-Mehraufwand in der Regel innerhalb von zwei Wochen stabilisiert. Sie können auch manuell eine Hauptverdichtung auslösen, um zusätzliche Kopien sofort zu verwerfen.

Speicherstatistiken

Alle in Spanner aufgenommenen Daten werden in der Regel innerhalb weniger Minuten in den Speicherstatistiken angezeigt. In bestimmten Fällen dauert es jedoch länger, bis die Daten in den Statistiken zur Speicherauslastung angezeigt werden, manchmal sogar mehrere Tage. Die Daten sind aber trotzdem lesbar und dauerhaft verfügbar (z. B. durch Write-Ahead-Logging).

Das liegt daran, dass alle aufgenommenen Daten (abgesehen von einer Kopie, die während des Commits zu Sicherungs- und Wiederherstellungszwecken protokolliert wird) vorübergehend im Arbeitsspeicher gespeichert werden, bevor sie im Hintergrund in den physischen Speicher geschrieben werden. Die Menge der Daten, die im Arbeitsspeicher gespeichert werden können und werden, und die Zeit, die sie dort verbleiben, bevor sie in den physischen Speicher geschrieben werden, hängt von der Größe Ihrer Rechenressourcen und der Größe und Leistung Ihrer Arbeitslast ab.

Speicherbenachrichtigungen erstellen

Sie können Speicherbenachrichtigungen erstellen in der Cloud Monitoring Console. Außerdem bieten wir eine einfache Möglichkeit, direkt über die Google Cloud Consoleeine Datenbank-Speicherbenachrichtigung zu erstellen. Der Link Benachrichtigungsrichtlinie erstellen im Diagramm (siehe Screenshot) führt Sie zur Seite „Benachrichtigung erstellen“ in der Cloud Monitoring Console und füllt die relevanten Felder automatisch aus.

Spanner-Messwerte in der Console mit der Schaltfläche „Benachrichtigungsrichtlinie erstellen“.

Wir empfehlen, den Gesamtspeicherplatz der Datenbank unter dem Speicher limit zu halten. So ist sichergestellt, dass Spanner genügend Spielraum hat, um normal zu funktionieren und routinemäßige Wartungsarbeiten an den Daten durchzuführen.

Wenn Sie das Limit fast erreicht haben, kann es sein, dass Spanner Vorgänge verhindert, die Sie das Limit überschreiten lassen. Dazu gehören:

  • Wiederherstellen einer Datenbank aus einer Sicherung
  • Ändern des Datenbankschemas (z. B. Hinzufügen eines Index)
  • Reduzieren der Rechenkapazität der Instanz

Wenn Sie das Speicherlimit überschreiten, versucht Spanner, normal zu funktionieren. Aufgrund des Ressourcenmangels kann es jedoch zu Leistungseinbußen oder Fehlern kommen. Wenn Sie sich dem empfohlenen Maximum nähern oder es überschreiten, Google Cloud wird in der Console eine Warnung angezeigt: "Die Instanz hat die maximale Speicherkapazität erreicht, was zu Beeinträchtigungen führen kann" wenn die betroffene Instanz angezeigt wird.

Sie können auch Benachrichtigungen in Cloud Monitoring erstellen, um sich benachrichtigen zu lassen.

Datenbankspeicheraulastung reduzieren

So reduzieren Sie die Datenbankspeicherauslastung einer Instanz:

  • Mehr Rechenkapazität hinzufügen.
  • Nicht verwendete Datenbanken löschen.
  • Daten löschen aus einer Datenbank. Obwohl die Datenlöschung aus Sicht der Datensichtbarkeit sofort wirksam wird, wirkt sie sich möglicherweise erst auf den Messwert für die Speicherauslastung aus, wenn Spanner die Daten verdichtet. Das geschieht in der Regel innerhalb von 12 Stunden bei erheblichen Datenlöschungen oder ansonsten innerhalb einer Woche. Daher kann es zu einer Verzögerung zwischen dem Löschen von Daten und dem Erscheinen der Änderungen im Messwert kommen. Wenn Sie Speicherplatz schneller freigeben möchten, können Sie manuell eine Hauptverdichtung auslösen.

Im Allgemeinen empfehlen wir Ihnen, der Instanz als Ausgangspunkt Rechenkapazität hinzuzufügen. Nachdem Sie Rechenkapazität hinzugefügt haben, können Sie die Ursachen der hohen Speicherauslastung untersuchen und beheben.

Wenn Sie diesen Prozess automatisieren möchten, können Sie eine Anwendung erstellen, die die Speicherauslastung der Datenbank überwacht und anschließend mit der Methode UpdateInstance Rechenkapazität hinzufügt und entfernt.

Nächste Schritte