Überprüfung der Workloads, die von dem Cache profitieren

Abgeschlossen

Abfragen verbrauchen bei der Ausführung Anforderungseinheiten (RU/s). In einigen Fällen können Abfragen komplex sein und hohe RU-Kosten verursachen. In Szenarien mit leseintensiven Workloads führt Ihre Anwendung eventuell mehrmals die gleichen Abfragen mit identischen Filtern aus. Die normalisierten RU-Kosten für jede Abfrage werden üblicherweise mit der Anzahl von Ausführungen multipliziert. Bei einer großen leseintensiven Workload können sich die Kosten schnell summieren.

Als Entwickler kann es verlockend sein, einen benutzerdefinierten Cache-Client zu schreiben, aber man muss mehrere Dinge berücksichtigen:

  • Zuerst müssen alle Anforderungen durch Ihren benutzerdefinierten Cache geleitet werden. Sie müssen sicherstellen, dass die Computeressourcen Ihres Caches so aufskaliert werden, dass sie mit der Skalierung von Azure Cosmos DB Schritt halten können.
  • Sie müssen die Cacheinvalidierung durchführen, wenn Elemente aktualisiert oder gelöscht werden.
  • Außerdem müssen Sie die Komplexität von Vorgängen erhöhen, bei denen einzelne oder mehrere neue Elemente erstellt werden.

Alle diese Gründe machen einen integrierten In-Memory-Cache in Azure Cosmos DB zu einer praktikablen Lösung. Als Entwickler profitieren Sie von den Vorteilen der Zwischenspeicherung, ohne den Cache selbst aufwendig implementieren zu müssen.

Bei einigen Workloads in Azure Cosmos DB hat ein integrierter Cache große Vorteile. Dazu gehören, aber nicht beschränkt auf, die folgenden Workloads:

  • Workloads mit deutlich mehr Abfragen als Schreibvorgängen
  • Workloads, bei denen große Einzelelemente mehrmals gelesen werden
  • Workloads, bei denen Abfragen mit einer hohen Anzahl von RU/s mehrmals ausgeführt werden
  • Workloads mit mindestens einem häufig angeforderten Partitionsschlüssel für Lesevorgänge und Abfragen

Workloads, bei denen konsistent die gleichen Abfragevorgänge ausgeführt werden, eignen sich perfekt für die Verwendung mit dem integrierten Cache. Bei Verwendung des integrierten Caches werden nur beim ersten Vorgang bzw. bei der ersten Abfrage Anforderungseinheiten verbraucht. Nachfolgende Anforderungen verbrauchen keine Anforderungseinheiten, wenn die Daten aus dem Cache abgerufen werden (vorausgesetzt, das Element ist nicht veraltet).