Azure Cosmos DB - Ein Überblick

cover image of blog article 'Azure Cosmos DB - Ein Überblick'

Microsoft bietet mit der PaaS-Lösung (Platform as a Service) Azure Cosmos DB einen Multi-Modell Datenbankdienst, mit dessen Hilfe Daten in einer einzigen, globalen Datenbank gespeichert werden können, welche automatisch skaliert und sich selbst repliziert. So kann effizient, egal von welcher Plattform aus, auf Daten zugegriffen und Aktualisierungen vorgenommen werden.

In diesem Artikel sehen wir uns an, wie man Azure Cosmos DB kostenlos implementiert, um die Dokumentenspeichertechnologie kennenzulernen und zu erforschen.

Azure Cosmos DB - Ein Überblick

Die kundenorientierten Anwendungen von heute müssen auf einer skalierbaren Infrastruktur mit geringer Latenz laufen, die darauf ausgelegt ist, die Arbeitslast der Anwendung auf mehrere Rechenzentren zu verteilen. Um eine hohe Verfügbarkeit zu erreichen, müssen diese Anwendungen zu 99,999 % der Zeit betriebsbereit sein, ohne dass es zu “spike of traffic” oder Infrastrukturproblemen kommt.

Eine Möglichkeit, Ihre Anwendung immer online zu halten, ist die Bereitstellung von Instanzen in nahegelegenen Rechenzentren, so dass Sie im Falle eines Falles schnell und effizient reagieren können. Anwendungen, die in Echtzeit auf signifikante Änderungen in der Nutzung zu Spitzenzeiten reagieren müssen, speichern beträchtliche Datenmengen, wobei sowohl die Latenz als auch die Geschwindigkeit im Vordergrund stehen, sodass Sie in der Lage sein müssen, so schnell wie möglich auf die Daten zuzugreifen.

Azure Cosmos DB ist eine der ersten Datenbanken ihrer Art - eine global verteilte Echtzeit-NoSQL-Datenbank, die so konzipiert ist, dass sie mit jeder Anwendung zusammenarbeitet und eine nahtlose Leistung in jedem Maßstab bietet. Sie ist für eine automatische Skalierung ausgelegt, ohne dass Kapazitäten im Voraus geplant oder Ressourcen im Voraus verwaltet werden müssen. Azure Cosmos DB passt sich automatisch an dynamische Arbeitslasten an, so dass Anwendungen kosteneffizient Nachfragespitzen bedienen können, ohne Ressourcen übermäßig bereitstellen zu müssen, und niedrige Latenzzeiten in großem Maßstab mit regionaler Ausdehnung für mehr Konsistenz bei den Latenzzeiten überall auf der Welt erreichen.

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Eine Azure Cosmos DB-Datenbank hat die folgenden Anwendungsfälle:

  • Azure Cosmos DB unterstützt den Datenzugriff im Millisekundenbereich in einer global verteilten Datenbank.
  • Sie kann Daten in Rechenzentren weltweit ohne komplexe Konfiguration replizieren.
  • Azure Cosmos DB kann Ressourcen unabhängig skalieren, um Millionen von Transaktionen pro Sekunde zu unterstützen.
  • Azure Cosmos DB unterstützt mehrere Datenmodelle, darunter Dokumente, Schlüssel-Wert-Paare, Graphen und spaltenbasierte Datenbanken.
  • Sie können SDKs für .NET, Java, Python, Node.js, JavaScript, native Core (SQL API), API für MongoDB, Cassandra API, Gremlin API und Table API verwenden.
  • Die Cosmos DB indiziert automatisch Daten auf allen Dokumentenfeldern, unabhängig vom Modell.
  • Sie bietet 99,999 % Verfügbarkeit (SLA) und Sicherheit auf Unternehmensniveau für jede Anwendung. Sie können null Ausfallzeiten mit multiregionalen Schreibvorgängen oder RPO 0 durch die starke Konsistenz nutzen. Cosmos bietet automatische Failover-Funktionen für den Fall einer regionalen Katastrophe.
  • Es ermöglicht eine Verschlüsselung auf Unternehmensniveau im Ruhezustand mit selbst verwalteten Schlüsseln.
  • Cosmos DB unterstützt eine Multi-Master-Architektur. Das bedeutet, dass sie Schreibvorgänge elastisch über jede Azure-Region hinweg skalieren kann.

Der Einsatz von Azure Cosmos DB

Sie benötigen ein Azure-Abonnement, um Azure Cosmos DB einzusetzen. Wenn Sie kein Abonnement haben, können Sie sie auf zwei Arten bereitstellen:

  1. Sie können Azure Cosmos DB kostenlos testen, um Cosmos DB ohne Kosten und Verpflichtungen einzusetzen.
  2. Alternativ können Sie auch das kostenlose Azure Cosmos DB-Tier nutzen, das 1000 RU/s und 25 GB Speicherplatz bietet.
Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

API und Datenmodell auswählen

Der erste Schritt besteht darin, eine API und ein Datenmodell für die Erstellung einer Datenbank auszuwählen. Die verfügbaren Optionen sind unten aufgeführt:

  • SQL
  • MongoDB
  • Table
  • Graph
  • Cassandra
Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Wählen wir für diesen Artikel die SQP-API und klicken Sie auf Erstellen. Sie müssen sich zuerst anmelden, um ein Cosmos DB-Konto zu erstellen. Klicken Sie auf das Microsoft-Symbol und loggen Sie sich mit Ihrem Microsoft-Konto ein.

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Sobald Sie angemeldet sind, erhalten Sie eine Meldung - Willkommen! Ihre Datenbank ist bereit. Das kostenlose Cosmos DB-Konto läuft wie unten gezeigt in 719h:59min ab.

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Die Arbeit mit CosmosDB beginnen

Um mit der Cosmos DB zu arbeiten, klicken Sie auf die Schaltfläche - Öffnen im Azure-Portal. Dies öffnet die Schnellstart-Seite, die die folgenden Schritte für die Arbeit mit Cosmos DB enthält.

Schritt 1: Wählen Sie eine Plattform - Verfügbare Optionen .NET, Xamarin, Java, Node.JS und Python.

Schritt 2: Herunterladen und Ausführen Ihrer .Net-Anwendung.

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Um die allgemeinen Informationen zu Cosmos DB einzusehen, klicken Sie auf die Übersichtsseite. Die Übersichtsseite enthält die folgenden Details:

  • Status: Online
  • Resource group p
  • Subscription
  • Read Location
  • Write location
  • URI: Die URL, die Sie für die Verbindung mit dem Datenbankkonto verwenden können. Wie hier gezeigt, lautet die URI https://eb5429c7-0ee0-4-231-b9ee.documents.azure.com:443/ für die Lab Cosmos-Datenbank.
  • Capacity mode: Provisioned throughput
Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Azure Cosmos DB hat zwei verschiedene Kapazitätsmodi:

  • Provisioned throughput: Eignet sich für Workloads mit anhaltendem Datenverkehr, die eine vorhersehbare Leistung erfordern. Provisioned hat die folgenden Eigenschaften:

    • Geo-distribution n
    • Unbegrenzter (maximaler) Speicherplatz pro Container
    • Weniger als 10 ms Latenzzeit für punktuelle Lese- und Schreibvorgänge
    • Die Abrechnung erfolgt auf Stundenbasis für die bereitgestellten RU/s
  • Serverless: Dies ist für Arbeitslasten mit intermittierendem oder unvorhersehbarem Datenverkehr gedacht. Sie müssen keine Kapazität für Ihre Datenbankoperationen bereitstellen. Sie hat gewisse Einschränkungen:

    • No Geo-distribution n
    • Maximaler Speicherplatz pro Container beträgt 50 GB.
    • Weniger als 10 ms Latenzzeit für Punkt-Lesevorgänge und < 30 ms für Schreibvorgänge, die von SLO abgedeckt werden.
    • Azure rechnet die serverlose Architektur Cosmos DB pro Stunde für verbrauchte RUs ab.

Daten global vervielfältigen: Klicken Sie auf die Seite Daten global replizieren, um das Schreiben in mehrere Regionen zu konfigurieren. Standardmäßig ist das Schreiben in mehrere Regionen deaktiviert.

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Neuen Container erstellen

Lassen Sie uns einen neuen Container und eine Datenbank im Azure Cosmos DB-Konto erstellen. Klicken Sie auf Quick start und Create Items container.

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Das Azure Cosmos DB-Konto ist bereit, und wir können eine Datenbank unter diesem Konto erstellen und Datencontainer hinzufügen. In diesem Schritt wird ein Container "Items" mit einer Durchsatzkapazität von 400 Request Units pro Sekunde (RU/s) für bis zu 400 Lesevorgänge pro Sekunde erstellt (siehe unten).

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Sobald der Container Items erstellt ist, klicken Sie auf Data Explorer, um Ihre Cosmos-DB anzuzeigen.

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Hinzufügen von Datensätzen

Klicken Sie auf das neue Element, um neue Datensätze zur Cosmos-DB hinzuzufügen.

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Fügen wir nun einen Beispieldatensatz in Form eines JSON-Dokuments hinzu. Klicken Sie auf die Schaltfläche Speichern, um den Datensatz einzufügen.

{
    "id": "1",
    "category": "personal",
    "name": "groceries",
    "description": "Pickupapplesandstrawberries.",
    "isComplete": false
}
Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Sobald der Datensatz erfolgreich eingefügt wurde, sehen Sie zusätzliche Metadaten-Spalten wie _rid, _self, _etag, _attachments und _ts.

{
    "id": "2",
    "category": "Official",
    "name": "admin",
    "description": "Pickupofficechairs.",
    "isComplete": true
};

Query Data

Um Daten aus Cosmos DB abzufragen, können wir auf die Schaltfläche Neue SQL-Abfrage klicken. Es wird die Standardabfrage angezeigt - SELECT * FROM c. Wenn wir diese Abfrage ausführen, werden alle Dokumente abgerufen.

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Klicken Sie auf Abfrage ausführen und zeigen Sie alle Elemente an. Wie unten gezeigt, wurden beide zuvor eingefügten JSON-Dokumente abgerufen.

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick
Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Wir können die Abfrage ändern, um Datensätze zu filtern. Wir möchten zum Beispiel ein Dokument mit dem ID-Wert 2 abrufen.

SELECT * FROM c WHERE c.id="2"

Die Abfrage filtert die Datensätze auf der Grundlage des WHERE-Prädikats.

Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

In ähnlicher Weise gibt die folgende Abfrage das Dokument zurück, dessen Kategoriewert persönlich ist.

SELECT * FROM c WHERE c.category="personal"
Mainzer Datenfabrik - Azure Cosmos DB - Ein Überblick

Hiermit sind wir am Ende unserer Einführung zu Azure Cosmos DB angelangt. Jetzt wissen Sie, wie schnell Sie Cosmos DB einrichten können, um mit der Arbeit zu beginnen. Sie benötigen dabei professionelle Unterstützung? Unsere Expert:innen helfen Ihnen gerne weiter! Kontaktieren Sie uns gerne einfach über das Kontaktformular.