Preisbeispiele

Auf dieser Seite finden Sie Beispiele für die Berechnung von Abrechnungseinheiten in einigen der häufigsten Szenarien. Die Menge der verarbeiteten Daten kann je nach Abfrage variieren. Das hängt von Faktoren wie dem Abfrageplan, der Form der Daten und den verfügbaren Indexen ab.

Wir empfehlen, die Funktion Query Explain zu verwenden, um die Kosten und Leistung Ihrer spezifischen Abfragen besser zu verstehen.

Lesevorgänge

Bei den meisten Lesevorgängen wird entweder ein bestimmtes Dokument punktuell gelesen oder ein Bereich von Daten anhand einer Kennung gescannt. Für Lesevorgänge werden Leseeinheiten verbraucht. Leseeinheiten werden in 4 KiB-Tranchen berechnet. Betrachten Sie die folgenden Beispiele.

Punktlesungen

Beispiel für die Abrechnung von Punktlesevorgängen:

  • Punktlesevorgang eines einzelnen 1 KiB-Dokuments. Verbrauch: 1 Leseeinheit
  • Punktlesevorgang eines einzelnen 4 KiB-Dokuments. Verbrauch: 1 Leseeinheit
  • Punktuelles Lesen eines einzelnen 1 MiB großen Dokuments. Verbrauch: 256 Leseeinheiten
  • Punktlesevorgang für 100 Dokumente mit jeweils 1 KiB. Verbrauch: 100 Leseeinheiten

Scannen

Die folgenden Beispiele enthalten Szenarien, in denen Dokumente oder Indexeinträge gescannt werden.

Dokumente scannen

  • Abfrage, bei der 100 Dokumente mit jeweils 1 KiB gescannt werden. Verbrauch: 25 Leseeinheiten

Indexe scannen

Die Scanning-Kosten in Byte sind unabhängig davon, ob ein Dokument oder ein Index gescannt wird. Indexeinträge sind jedoch oft kleiner. Daher können sie oft eine kostengünstigere Möglichkeit zum Scannen von Daten bieten.

  • Abfrage, bei der 100 Indexeinträge mit jeweils 1 KiB gescannt werden. Verbrauch: 25 Leseeinheiten.
  • Abfrage, bei der 100 Indexeinträge mit jeweils 128 Byte gescannt werden. Verbrauch: 4 Leseeinheiten.

Mindestgröße von Dokumenten oder Indexeinträgen

In bestimmten Situationen ist es möglicherweise nicht erforderlich, den Inhalt eines Dokuments oder Indexeintrags zu lesen, um eine Anfrage zu beantworten. Dazu gehören einfache Zählabfragen, z. B. zum Zählen der Gesamtzahl der Dokumente in einer Sammlung. In diesen Fällen fallen pro gescanntem Artikel Mindestkosten von 32 Byte an.

  • Die Anzahl der Dokumente in einer Sammlung zählen. Bei der Abfrage werden 1.000 Elemente in der Sammlung gescannt. Verbrauch: 8 Leseeinheiten.

Kombination aus Scannen und Punktmessungen

Bei vielen Abfragen wird eine Kombination aus Scannen und Punktlesevorgängen ausgeführt, um einen Vorgang auszuführen.

  • Eine Abfrage, bei der 128 Indexeinträge mit jeweils 256 Byte gescannt und 128 Dokumente mit jeweils 4 KiB punktuell gelesen werden. Verbraucht: 136 Leseeinheiten, bestehend aus:
    • 128 Leseeinheiten für Punktlesevorgänge
    • 8 Leseeinheiten für Indexscans

Abfrageerklärung

Mit Query Explain können Sie nachvollziehen, wie die Datenbank Ihre Abfragen ausführt. Die bereitgestellten Details können Ihnen helfen, Ihre Anfragen zu optimieren.

Bei der Verwendung von „Query Explain“ fallen die folgenden Kosten an:

  • „Query Explain“ führt die Abfrage aus. Es fallen Abfragekosten an.
  • „Query Explain“ mit der Option „plan only“ (nur Plan). Verbrauch: 1 Leseeinheit (Mindestkosten für eine Abfrage)

Schreibvorgänge

Schreibvorgänge (Erstellen, Aktualisieren und Löschen) werden basierend auf der Größe der Dokumente und Indexe berechnet, die während des Vorgangs erstellt, geändert oder gelöscht werden. Schreibvorgänge verbrauchen Schreibeinheiten. Schreibeinheiten werden in 1 KiB-Tranchen berechnet.

Für einfache Schreibvorgänge wie „Aktualisieren nach Dokument-ID“ fallen nur die Kosten für die Schreibvorgänge an. Für Schreibvorgänge, für die eine Abfrage erforderlich ist, um den Vorgang auszuführen, fallen zusätzlich die mit der Abfrage verbundenen Lesekosten an.

Betrachten Sie die folgenden Beispiele.

Erstellt

  • Erstellen Sie ein neues 10 KiB großes Dokument ohne Indexe. Verbrauch: 10 Schreibeinheiten
  • Erstellen Sie ein 1 KiB großes Dokument mit einem Indexeintrag von 256 Byte in der Sammlung. Verbrauch: 2 Schreibeinheiten

Updates

  • Ein 10 KiB großes Dokument anhand der Dokument-ID suchen und ohne Indexe in der Sammlung aktualisieren. Verbrauch: 10 Schreibeinheiten
  • Ein 1 KiB großes Dokument anhand der Dokument-ID suchen und ein Feld mit einem Indexeintrag von 256 Byte aktualisieren. Verbrauch: 3 Schreibeinheiten. Hinweis: Wenn Sie einen Indexeintrag in diesem Fall aktualisieren, werden 2 Schreibeinheiten verbraucht – eine zum Löschen und eine zum Neuerstellen des Indexeintrags.
  • Ein 1 KiB großes Dokument anhand der Dokument-ID finden und nichts aktualisieren (keine Änderungen). Verbrauch: 1 Schreibeinheit (die Mindestschreibkosten)
  • Alle 1-KiB-Dokumente in einer Sammlung abfragen, wobei 1.000 Dokumente gescannt werden, und ein neues 256-Byte-Feld ohne Indexe in die Sammlung einfügen: 1.000 Leseeinheiten und 1.000 Schreibeinheiten.

Löschvorgänge

  • Löschen Sie ein 1 KiB großes Dokument mit einem Index in der Sammlung. Verbrauch: 2 Schreibeinheiten
  • Löschen eines 1 KiB großen Dokuments, für das keine Indexe in der Sammlung vorhanden sind. Verbrauch: 1 Schreibeinheit

Index-Builds

Für Indexerstellungen werden die Indexeinträge in Rechnung gestellt, die während des Erstellungsvorgangs erstellt oder geändert wurden. Diese Kosten fallen immer an, wenn eine Indexdefinition hinzugefügt oder entfernt wird. Die Indexeinträge werden genauso abgerechnet wie Schreibvorgänge, bei denen 1 Schreibeinheit pro 1 KiB anfällt.

  • Sie erstellen einen neuen Index für eine Sammlung mit 500 Dokumenten. Die erstellten Indexeinträge haben jeweils eine Größe von 1 KiB. Verbraucht 500 Schreibeinheiten.
  • Sie löschen einen vorhandenen Index für eine Sammlung mit 500 Dokumenten. Die gelöschten Indexeinträge haben jeweils eine Größe von 1 KiB. Verbraucht 500 Schreibeinheiten.