Wann sollten Sie Azure Cosmos DB for NoSQL verwenden?
Azure Cosmos DB for NoSQL ist ein vollständig verwalteter NoSQL-Datenbankdienst für die Entwicklung moderner Apps. Der Dienst bietet garantierte Reaktionszeiten im einstelligen Millisekundenbereich und eine Verfügbarkeit von 99,999 Prozent, unterstützt durch SLAs mit automatischer und sofortiger Skalierbarkeit.
In Unternehmensszenarios bietet Azure Cosmos DB for NoSQL eine umfassende Sammlung finanziell abgesicherter SLAs (Service Level Agreements, Vereinbarungen zum Servicelevel), die Durchsatz, Konsistenz, Verfügbarkeit und Latenz abdecken.
Gängige Anwendungsfälle für Azure Cosmos DB for NoSQL
Als schnelle NoSQL-Datenbank mit flexibler API ist Azure Cosmos DB for NoSQL ideal geeignet für Hochleistungsanwendungen mit gewünschter globaler Reichweite. Durch Geschwindigkeit und Flexibilität eignet sich Azure Cosmos DB for NoSQL hervorragend für Web-, Einzelhandels-, IoT-, Gaming- und mobile Anwendungen. Azure Cosmos DB for NoSQL eignet sich gut für Anwendungen, die Flexibilität, kurze Antwortzeiten und Transaktionen mit hohem Volumen oder hoher Geschwindigkeit erfordern.
IoT/Telemetrie
IoT-Sensorworkloads können eine vielfältige und unvorhersehbare Natur aufweisen. Für diese Workloads ist eine Datenbankplattform erforderlich, die reaktionsfähig ist und elastisch skaliert werden kann, um die Anforderungen so vieler, oder so weniger, Datensammlungsgeräte zu erfüllen, die zu einem jeweiligen Zeitpunkt bereitgestellt sind. In vielen Fällen können IoT-Workloads auch erhebliche Datenvolumen schreiben und würden von einer schreiboptimierten Datenbankplattform profitieren. Azure Cosmos DB for NoSQL ist für schreibintensive Workloads optimiert. Vorgänge für ein einzelnes Dokument sind atomisch und weisen schnelle und vorhersagbare indizierte Schreibgeschwindigkeiten auf. Azure Cosmos DB for NoSQL ist auch global verteilt und so elastisch, dass die Anforderungen verschiedener IoT-Workloads erfüllt werden können.
In diesem Beispiel sendet eine wachsende Anzahl an IoT-Geräten Sensordaten an eine Azure IoT Hub-Instanz. Azure Stream Analytics erfasst und aggregiert die Daten dann für die Speicherung in Azure Cosmos DB for NoSQL. Azure Synapse Analytics führt anschließend eine Analyse der Daten in Quasi-Echtzeit mit Azure Synapse Link für Azure Cosmos DB durch.
Einzelhandel/Marketing
Azure Cosmos DB for NoSQL eignet sich ideal für Einzelhandels- und Marketingworkloads, deren Nutzung zu beliebigen Zeitpunkten während eines Jahres erheblich und unerwartet schwanken kann. Die elastische Skalierung von Azure Cosmos DB for NoSQL sorgt dafür, dass die Datenbankplattform Anforderungen während Spitzenauslastungszeiten verarbeiten kann, und ansonsten Geld gespart wird.
In diesem Beispiel verwendet eine JavaScript-Webanwendung, die auf Grundlage von in Azure Blob Storage gespeicherten Inhalten erstellt wurde, Azure Cosmos DB for NoSQL als Sicherungsdatenbank. Mehrere Konten werden verwendet, um verschiedene Aspekte der Lösung zu verwalten, z. B. den Warenkorb, den Bestand oder den Katalog. Die Lösung verwendet dann Azure Search, um die Azure Cosmos DB for NoSQL-Daten zu indizieren und Endbenutzern eine umfassende Sucherfahrung zu bieten.
Web und mobil
Viele moderne soziale Anwendungen erzeugen Unmengen von benutzergenerierten Inhalten, die sich in Menge, Form und Volumen stark unterscheiden. Azure Cosmos DB for NoSQL eignet sich ideal für diese Workloads, da diese API Daten in unterschiedlichen Schemas speichern kann. Die NoSQL-API eignet sich für Daten, die Schemas aufweisen können, die sich im Lauf der Zeit ändern oder weiterentwickeln, wenn sich Unternehmensprojekte auf neue Gebiete konzentrieren.
In diesem Beispiel verwendet ein Benutzer eine URL, um über den Browser auf eine Website zuzugreifen. Die URL verweist auf Azure Traffic Manager. Die Azure Traffic Manager-Instanz wiederum verwendet einen integrierten Algorithmus, um zu bestimmen, an welchen Azure App Service-Endpunkt der Benutzer weitergeleitet werden soll. Da Azure Cosmos DB for NoSQL zur globalen Verteilung fähig ist, benötigen Sie nur ein Konto, das in mehrere Regionen repliziert wird.
Modulszenario
Denken Sie an das Szenario vom Anfang des Moduls:
Angenommen, Sie arbeiten als leitender Entwickler in einem Einzelhandelsunternehmen. Ihr Team entwickelt eine neue Onlinestorefront. Sie entwerfen die neue Storefront so, dass über verschiedene Geräte darauf zugegriffen werden kann, einschließlich Mobilgeräte. Das Team erwartet ein Nachfragehoch bei Veröffentlichung der Storefront und bei verschiedenen Verkaufsstarts anlässlich der Veröffentlichung.
Ein entscheidender Bestandteil für den Erfolg Ihres Stores ist die Möglichkeit, dass das Unternehmen Benutzer zu Lieferaktualisierungen unabhängig davon benachrichtigen kann, welches Gerät verwendet wird, z. B. um eine Bestellung zu tätigen. Ihr Team hat sich ein ausgereiftes System erarbeiten können, mit dem die Nachverfolgung des Status einer Bestellung im Detail verwaltet werden kann. Die enge Integration von Azure Cosmos DB in andere Azure-Dienste ermöglicht es Ihnen, Lösungen zu entwickeln, die Auftragsdaten in Azure Cosmos DB for NoSQL verwenden, um Benachrichtigungen an die mobilen Geräte Ihrer Benutzer zu senden. Die Benachrichtigungen informieren, wenn das Paket versandt wird oder zur Auslieferung ansteht.
Dieses Beispiel ähnelt dem Beispiel aus der Einführung dieses Moduls. Ihr Team hat sich für dieses Beispiel nun für Azure Cosmos DB for NoSQL als Datenbank entschieden. Nun kann Ihr Team Azure Synapse Link verwenden, um die Daten für eine detaillierte Analyse mit Azure Synapse Analytics aufzubereiten und zu aggregieren. Ihr Team kann auch Dienste wie Azure Functions verwenden, um auf Datenereignisse mit Azure Cosmos DB zu reagieren und dann einen Azure Logic Apps-Workflow auszulösen, der Benachrichtigungen an mobile Geräte sendet.