Wenn die Speicherkapazität einer Cloud SQL-Instanz größer ist als für Ihre Anwendung erforderlich, können Sie die Speicherkapazität manuell auf eine kleinere Größe reduzieren.
Vorgänge zum Verkleinern des Speichers werden auf primären Instanzen und Lesereplikatinstanzen unterstützt und sind in allen Cloud SQL-Versionen verfügbar.
Anforderungen an die Speicherkapazität
Die Zielspeichergröße muss größer sein als die minimal zulässige Speicherkapazität, die als sicher für die Instanz gilt.
Für eine gleichbleibende Leistung empfehlen wir, einen Puffer an Speicherkapazität für bestimmte Vorgänge wie die Neuindexierung zu reservieren. Wir empfehlen, etwa 100 GB oder 20% oder mehr der aktuellen Nutzung zu reservieren, je nachdem, welcher Wert höher ist.
Weitere Informationen finden Sie unter Geteilte Verantwortung.
Leistung
Vorgänge zum Verkleinern des Speichers können sich auf die Instanzleistung auswirken. Cloud SQL verwendet Compute Engine-VMs mit nichtflüchtigen Speicherlaufwerken. Der von Hyperdisk Balanced bereitgestellte Speicher lässt sich linear skalieren und bietet eine vorhersehbare Leistung.
Weitere Informationen finden Sie unter Kontingente und feste Limits.
Ausfallzeit
Für Vorgänge zum Verkleinern des Speichers ist eine Ausfallzeit der Instanz erforderlich. Instanzen werden neu gestartet, wenn der Vorgang abgeschlossen ist.
Je nach Größe der zugrunde liegenden Festplatte kann es bei Vorgängen zum Verkleinern des Speichers zu erheblichen Ausfallzeiten kommen. Wenn für Ihre Instanz nur begrenzte Ausfallzeiten erforderlich sind, empfehlen wir, Ihre Daten mit dem Database Migration Service auf eine neue, kleinere Instanz zu migrieren, anstatt die Speicherplatzreduzierungsfunktionen zu verwenden.
Die Ausfallzeit beim Verkleinern des Speichers einer Instanz ist vergleichbar mit der Ausfallzeit beim Wiederherstellen eines Lesereplikats.
Vorgänge
Alle anderen Vorgänge sind erst verfügbar, wenn der Vorgang zum Verkleinern des Speichers abgeschlossen ist.
Wir empfehlen, mit dem Verkleinern des Speichers zu warten, bis andere Vorgänge abgeschlossen sind. Dazu gehören Vorgänge wie das Sichern oder Importieren von Daten.
Vorgänge zum Verkleinern des Speichers müssen auf der primären Instanz abgeschlossen sein, bevor ein Verkleinerungsvorgang auf das Lesereplikat angewendet wird.
Ein Lesereplikat darf zu keinem Zeitpunkt eine geringere Speicherkapazität als die zugehörige primäre Instanz haben. Wenn Sie die Speicherkapazität eines Replikats verringern möchten, müssen Sie zuerst eine Speicherverkleinerung für die zugehörige primäre Instanz durchführen.
Vorgänge zum Verkleinern des Speichers werden auf Instanzen mit gemeinsam genutztem Kern nicht unterstützt. Sie können die Anwendung jedoch auf eine Instanz ohne gemeinsam genutzten Kern umstellen und dann den Speicherplatz verkleinern.
Replikate
Wenn Sie die Speichergröße der primären Instanz verkleinern, hat ihr Replikat weiterhin ein größeres Laufwerk. Wenn Sie die Speichergröße des Replikats verringern möchten, müssen Sie dies manuell tun.
Wenn eine Speicherverkleinerung auf eine primäre Instanz angewendet wird, wird bei allen anschließend erstellten Lesereplikaten dieselbe Speicherkonfiguration wie bei der aktualisierten primären Instanz angewendet.
Wenn eine primäre Instanz und das zugehörige Lesereplikat unterschiedliche Datenbankversionen verwenden und eine Speicherverkleinerung auf das Replikat angewendet wird, wird das neu erstellte Replikat auf die primäre Datenbankversion aktualisiert, damit der Neustart des Replikats erfolgreich ist.
- Speicherverkleinerungsvorgänge können für primäre Instanzen mit Lesepools verwendet werden, aber nicht für einen Lesepool.
Sie können die Mindestspeicherkapazität eines Lesereplikats nicht prüfen. Diese Funktion wird nur für primäre Instanzen unterstützt. Sie können die Speicherkapazität eines Lesereplikats jedoch verringern, damit sie der Speicherkapazität der zugehörigen primären Instanz entspricht.
Ein Lesereplikat darf zu keinem Zeitpunkt eine geringere Speicherkapazität als die zugehörige primäre Instanz haben.
Beschränkungen
Für diese Funktion gelten die folgenden Einschränkungen:
- Wird nicht bei der Replikation von einem externen Server unterstützt.
- Bei PostgreSQL-Instanzen muss das Datenbank-Flag
max_wal_sizekleiner als 5128 MB sein.
- Vorgänge zum Verkleinern des Speichers können nicht auf kaskadierende Replikate angewendet werden.
- Wird mit Terraform nicht unterstützt.