Optimieren der Kosten bei mehreren Regionen in Azure Cosmos DB

GILT FÜR: NoSQL MongoDB Cassandra Gremlin Tabelle

Sie können jederzeit Regionen zu Ihrem Azure Cosmos DB-Konto hinzufügen oder aus diesem entfernen. Der Durchsatz, den Sie für verschiedene Azure Cosmos DB-Datenbanken und -Container konfigurieren, wird in jeder Region, die Ihrem Konto zugeordnet ist, reserviert. Wenn der pro Stunde bereitgestellte Durchsatz, d. h. die Summe der Anforderungseinheiten pro Sekunde (RUs/s), die für alle Datenbanken und Container Ihres Azure Cosmos DB-Kontos konfiguriert wurden, T beträgt und sich die Anzahl der Ihrem Datenbankkonto zugeordneten Azure-Regionen auf N beläuft, beträgt der insgesamt für Ihr Azure Cosmos DB-Konto bereitgestellte Durchsatz für jede Stunde T x N RUs/s.

Die Kosten für bereitgestellten Durchsatz mit einer Schreibregion und bereitgestellten Durchsatz mit mehreren Schreibregionen kann variieren. Weitere Informationen finden Sie unter Azure Cosmos DB – Preise.

Kosten für mehrere Regionen mit Schreibvorgängen

In einem System mit mehreren Schreibregionen nehmen die tatsächlich verfügbaren Anforderungseinheiten (RUs/s) für Schreibvorgänge um das N-Fache zu, wobei N für die Anzahl der Schreibregionen steht. Im Gegensatz zu Schreibvorgängen in einer einzelnen Region kann hier jede Region Schreibanforderungen verarbeiten und unterstützt die Konfliktlösung. Unter Gesichtspunkten der Kostenplanung müssen Sie, um weltweite Schreibvorgänge für M RUs/s auszuführen, M RUs/s auf Container- oder Datenbankebene bereitstellen. Anschließend können Sie beliebig viele Regionen hinzufügen und diese für Schreibvorgänge verwenden, um weltweit Schreibvorgänge mit M RUs/s auszuführen.

Beispiel

Berücksichtigen Sie, dass Sie in einem Szenario mit einer Schreibregion einen Container haben. Dieser Container wird mit einem Durchsatz von 10K RUs/s bereitgestellt und speichert in diesem Monat 0.5 TB an Daten. Angenommen, Sie fügen eine weitere Region mit denselben Speicher- und Durchsatzwerten hinzu und möchten von Ihrer App aus in die Container in beiden Regionen schreiben.

In diesem Beispiel setzt sich Ihr neuer monatlicher Gesamtverbrauch wie folgt zusammen:

Monatliche Nutzung
Durchsatzabrechnung für Container in einer einzelnen Schreibregion 10K RU/s * 730 hours
Durchsatzabrechnung für Container in mehreren Schreibregionen (zwei) 2 * 10K RU/s * 730 hours
Speicherabrechnung für Container in einer einzelnen Schreibregion 0.5 TB (or 512 GB)
Speicherabrechnung für Container in zwei Schreibregionen 2 * 0.5 TB (or 1,024 GB)

Hinweis

In diesem Beispiel wird von 730 Stunden in einem Monat ausgegangen.

Optimieren der Durchsatznutzung nach Region

Bei einer ineffizienten Auslastung können Sie Maßnahmen ergreifen, um die RUs/s in Leseregionen maximal zu nutzen, indem Sie den Änderungsfeeds von der Leseregion nutzen. Sie können bei einer übermäßigen Auslastung auch zu einer sekundären Region wechseln. So gelten Leseregionen mit zu niedriger Auslastung als ineffizient. Dabei müssen Sie sicherstellen, dass Sie zuerst den bereitgestellten Durchsatz (RUs/s) in der Schreibregion optimieren.

Schreibvorgänge kosten mehr als Lesevorgänge (außer bei sehr umfangreichen Abfragen). Daher kann die Sicherstellung einer gleichmäßigen Auslastung eine große Herausforderung sein. Überwachen Sie den verbrauchten Durchsatz in Ihren Regionen, und fügen Sie bei Bedarf Regionen hinzu, um den Lese- und Schreibdurchsatz zu skalieren. Beachten Sie dabei unbedingt die Auswirkungen auf die Latenz von Apps, die in derselben Region bereitgestellt werden.