Start-Checkliste für Spanner

Diese Start-Checkliste enthält eine Liste von Überlegungen, die vor dem Start einer Produktionsanwendung in Spanner zu treffen sind. Sie ist nicht vollständig, sondern dient dazu, Bereiche hervorzuheben, die einen großen Einfluss auf die Produktionsleistung haben können.

Geeignete Instanzkonfiguration auswählen

Wählen Sie eine Instanzkonfiguration (regional oder multiregional) aus, die Ihren Anforderungen entspricht.

Wenn Sie multiregionale Instanztypen auswählen, sollte sich die Anwendung, die auf Spanner zugreift, in unmittelbarer Nähe zur führenden Region befinden. Weitere Informationen dazu finden Sie auf der Seite Instanzen.

Schema für eine umfangreiche Leistung entwerfen

Das relationale Datenschema von Spanner ähnelt herkömmlichen relationalen Datenbanken, mit einigen Nuancen, die berücksichtigt werden sollten:

Informationen zu Leistungsfaktoren

Bei der automatischen Fragmentierung und der anschließenden Speicherung der Daten in Splits ist die Leistung umso zielgerichteter, je zielgerichteter eine Abfrage ist. Die Eingrenzung auf ein verschränktes übergeordnetes Element und alle untergeordneten Elemente führt zu einer besseren Leistung als Abfragen oder Vorgänge, die mehrere Zeilen betreffen.

Wir empfehlen dringend, Benchmarking und Tests in großem Umfang durchzuführen, damit Probleme und Engpässe bereits vor der Einführung erkannt werden. Spanner bietet Abfrageausführungspläne, die während des Schemadesigns mit Tabellen verwendet werden können, um zu verstehen, wie Abfragen wahrscheinlich ausgeführt werden.

Weitere zu beachtende Leistungsfaktoren:

  • Bevorzugen Sie schreibgeschützte Transaktionen gegenüber teureren Lese-Schreib-Transaktionen, wenn keine Daten geschrieben werden.
  • Entwickeln Sie Ihre Anwendung so, dass die Anzahl der aufgeteilten Teilnehmer an einer Transaktion minimiert wird. Spanner kann Transaktionen über Zeilen hinweg auf verschiedenen Servern ausführen. Als Faustregel gilt jedoch, dass Transaktionen, die viele zusammengelegte Zeilen betreffen, schneller und kostengünstiger sind als Transaktionen, die viele Zeilen betreffen, die in der Datenbank oder in einer großen Tabelle verteilt sind.
  • Verwenden Sie Abfrageparameter anstelle von String-Literalen, um die Abfrageleistung und das Monitoring von Statistiken zu verbessern.

Informationen zu Limits und Kontingenten

Aus Architekturgründen und zur Aufrechterhaltung der hohen Leistung und Redundanz gelten für Spanner bestimmte Kontingente und Limits, die bei der Anwendungsentwicklung berücksichtigt werden sollten. Kontingente können mit einer Vorlaufzeit erhöht werden.

Es gibt beispielsweise ein Limit von 80.000 Mutationen pro Commit und maximal 15 Joins pro Abfrage.

Diese Beschränkungen haben zusammen mit dem Schemadesign und der Hotspot-Prävention Auswirkungen auf das Laden im Bulk. Daher müssen die Best Practices für das Bulk-Laden unbedingt befolgt werden.

Prüfen, ob Monitoring aktiviert ist

Richten Sie Cloud Monitoring so ein, dass Sie benachrichtigt werden, wenn das Limit erreicht wird.

Erhöhen Sie den Wert der Rechenkapazität, wenn Leistungsmesswerte erreicht werden. für die lineare Skalierung Ihrer Spanner-Instanzen. Wir empfehlen, die CPU-Auslastung für regionsspezifische Instanzen unter 65 % und für multiregionale Instanzen unter 45 % zu halten.

Verwenden Sie Abfragevorlagen auf der Seite Abfrage einer Datenbank, um Abfragestatistiken in den Abfragestatistiktabellen zu beobachten.

Strategie zur Datenmigration haben (falls erforderlich)

Beim Bulk-Laden von Daten in Spanner sollte die verteilte Architektur berücksichtigt werden, um die Leistung aufrechtzuerhalten:

Dieser Blogpost ist ein gutes Beispiel für die Implementierung von Schreibvorgängen mit hohem Durchsatz.

Prüfen, ob Sicherheitskonfiguration vorhanden ist

Richten Sie relevante IAM-Rollen ein, um die Sicherheit auf Datenbank- und Instanzebene zu verwalten. Die Sicherheit auf Tabellenebene muss in der Anwendung verwaltet werden.

Informationen zu Supportoptionen

Für den Support muss eine Strategie vorhanden sein.