Ermitteln Sie den Kostenaufwand für Anforderungseinheiten für ausgeführte Vorgänge in Azure Cosmos DB für MongoDB

ANWENDBAR AUF: Mongodb

Important

Möchten Sie eine vorhandene MongoDB-Anwendung migrieren oder MongoDB Query Language (MQL)-Features verwenden? Betrachten Sie Azure DocumentDB.

Suchen Sie nach einer Datenbanklösung für hochskalige Szenarien mit einer Vereinbarung über verfügbarkeitsbasierte Servicelevels (Service Level Agreement, SLA) von 99,999% Verfügbarkeit, sofortige Automatische Skalierung und automatisches Failover über mehrere Regionen hinweg? Erwägen Sie Azure Cosmos DB für NoSQL.

Azure Cosmos DB unterstützt viele APIs wie z.B. SQL, MongoDB, Cassandra, Gremlin und Tabelle. Jede API verfügt über einen eigenen Satz von Datenbankvorgängen. Diese Vorgänge reichen von einfachen Lese- und Schreibvorgängen für Datenpunkte bis hin zu komplexen Abfragen. Jeder Datenbankvorgang beansprucht je nach Komplexität eine bestimmte Menge an Systemressourcen.

Die Kosten sämtlicher Datenbankvorgänge werden von Azure Cosmos DB normalisiert und in Anforderungseinheiten (Request Units, RUs) ausgedrückt. Die Anforderungsgebühr entspricht den insgesamt für Ihre Datenbankvorgänge genutzten Anforderungseinheiten. Man kann sich Anforderungseinheiten wie eine Währung vorstellen, die die Abstraktion der Systemressourcen wie CPU, IOPS und Arbeitsspeicher darstellt, die für die Ausführung der von Azure Cosmos DB unterstützten Datenbankvorgänge erforderlich sind. Unabhängig davon, welche API Sie für die Interaktion mit Ihrem Azure Cosmos DB-Container verwenden, werden die Kosten immer in RUs gemessen. Unabhängig davon, ob es sich bei dem Datenbankvorgang um einen Schreib-, Lese- oder Abfragevorgang handelt, werden die Kosten immer in RUs gemessen. Weitere Informationen finden Sie im Artikel Anforderungseinheiten und deren Überlegungen.

In diesem Artikel werden verschiedene Methoden beschrieben, mit denen Sie den Verbrauch von Anforderungseinheiten (Request Units, RU) für einen beliebigen Vorgang ermitteln können, der für einen Container in Azure Cosmos DB for MongoDB ausgeführt wurde. Wenn Sie eine andere API verwenden, finden Sie weitere Informationen zum Ermitteln der RU/s-Gebühr in den Artikeln zur API für NoSQL, API für Cassandra, API für Gremlin und API für Table.

Die RU-Gebühr wird durch einen benutzerdefinierten Datenbankbefehl namens getLastRequestStatistics offengelegt. Der Befehl gibt ein Dokument zurück, das den Namen des letzten ausgeführten Vorgangs sowie dessen Anforderungsgebühr und Dauer enthält. Wenn Sie Azure Cosmos DB for MongoDB verwenden, haben Sie mehrere Optionen zum Abrufen der RU-Gebühr.

Verwenden des Azure-Portals

  1. Melden Sie sich im Azure-Portal an.

  2. Erstellen Sie ein neues Azure Cosmos DB-Konto, und fügen Sie ihm Daten hinzu, oder wählen Sie ein vorhandenes Konto aus, das bereits Daten enthält.

  3. Wechseln Sie zum Daten-Explorer-Bereich , und wählen Sie dann den Container aus, an dem Sie arbeiten möchten.

  4. Wählen Sie das Feld ... neben dem Containernamen und wählen Sie Neue Abfrage aus.

  5. Geben Sie eine gültige Abfrage ein, und wählen Sie dann Abfrage ausführen aus.

  6. Wählen Sie Abfragestatistiken aus, um die tatsächliche Anforderungsgebühr für die von Ihnen ausgeführte Anforderung anzuzeigen. Mit diesem Abfrage-Editor können Sie die Gebühren für Anforderungseinheiten nur für Abfrageprädikate anzeigen. Sie können diesen Editor nicht für Datenmanipulationsbefehle wie z. B. Einfügeanweisungen verwenden.

    Screenshot: Anforderungsgebühr für eine MongoDB-Abfrage im Azure-Portal

  7. Um Anforderungsgebühren für Datenmanipulationsbefehle zu erhalten, führen Sie den getLastRequestStatistics-Befehl in einer shell-basierten Oberfläche wie der Mongo Shell, Robo 3T, MongoDB Compass oder einer VS Code-Erweiterung mit Shell-Scripting aus.

    db.runCommand({getLastRequestStatistics: 1})

Programmgesteuert

Wenn Sie die Mongo-Shell verwenden, können Sie Befehle mithilfe von „runCommand()“ ausführen.

db.runCommand('getLastRequestStatistics')

Nächste Schritte

Informationen zum Optimieren Ihres RU-Verbrauchs finden Sie in diesen Artikeln: