© zffoto/Shutterstock.com
Cloud Compendium
Datenmodellierung mit der Azure Cosmos DB

Ein Cosmos-Shop

Wer aktuell beispielsweise einen Onlineversandhandel über die Microsoft Azure Cloud abwickeln will und zum Webshop auch eine Mobil-App plant, sollte sich intensiv mit der Azure Cosmos DB beschäftigen. Die cloudbasierte Datenbank bietet dafür zahlreiche praktische Möglichkeiten; wer aber von relationalen Datenbanken kommt, muss sich ein wenig einarbeiten, bekommt dafür aber auch mehr Performance und eine bessere Skalierbarkeit - neben möglichen Kosteneinsparungen.

Philipp Westermann


Die Azure Cosmos DB ist eine cloudbasierte Datenbank mit nativer NoSQL-Unterstützung von Microsoft. Azure Cosmos DB wurde von Grund auf für eine globale Verteilung über beliebig viele Azure-Regionen und horizontale Skalierbarkeit konzipiert. Die Daten können in die Regionen repliziert werden, in der auch die Benutzer der Anwendung die Daten benötigen. Die Schreib- und Lesevorgänge können elastisch skaliert werden, und das schont auch noch die Kreditkartenabrechnung, da nur der tatsächlich benötigte Speicher und der Durchsatz berechnet werden.

Eine weitere Besonderheit von Azure Cosmos DB ist die native Unterstützung von mehreren Modellen für NoSQL APIs. Dazu gehören das Azure Cosmos DB API für MongoDB (Dokumentendatenmodell), Gremlin API (Graphen), Cassandra API (Schlüsselwert) und das Tabellen-API (Spaltenfamilie mit Azure Table Storage). Azure Cosmos DB ist eine global verteilte Datenbank, die mehrere Datenmodelle unterstützt und in einer großen Anzahl von Anwendungen und Anwendungsfällen genutzt werden kann; in diesem Artikel haben wir als Beispiel einen Onlineshop vorgestellt. Azure Cosmos DB ist geeignet für jegliche serverlose Anwendungen, die eine niedrige Antwortzeit benötigen und schnell und global skaliert werden müssen. Das Design der Datenbank und die dadurch gewonnene Skalierbarkeit ermöglichen es, eine Verarbeitung von immens hohen Anfragen (x > Milliarden) pro Tag zu verarbeiten. Die aufgezählten Eigenschaften sind von Vorteil in Anwendungsfällen im Bereich von Web, Mobile, Gaming und IoT, die eine hohe Anzahl von Lese- und Schreibvorgänge benötigen und eine geringe Antwortzeit haben müssen. Weitere Informationen zu den möglichen Anwendungsfällen können unter [1] gefunden werden.

Wie schon erwähnt, berechnet die Datenbank den Durchsatz und den benötigten Speicher unabhängig. Als Messwert für den Durchsatz wird die Einheit RU/s (Request Units per Second) verwendet. RU/s abstrahiert die Systemressourcen wie CPU, IO-Vorgänge und Speicherverbrauch, die benötigt werden, um einen Datenbankbefehl von Azure Cosmos DB auszuführen. Die Kosten, um 1 KB zu lesen, betregen 1 RU. Um Kosten und Anzahl der RUs niedrig zu halten, sollte man bei der Planung des Datenmodells ein Auge auf die Struktur und die Abfragen haben [2].

Der Shop mit Azure Cosmos DB

Ausgangslage für das vorgestellte Beispiel ist ein weltweiter Onlineversandhandel, der seine Dienstleistungen über die Microsoft-Azure-Cloud abwickeln will. Neben einem Webshop ist zusätzlich eine Mobil-App g...

Cloud Compendium
Datenmodellierung mit der Azure Cosmos DB

Ein Cosmos-Shop

Wer aktuell beispielsweise einen Onlineversandhandel über die Microsoft Azure Cloud abwickeln will und zum Webshop auch eine Mobil-App plant, sollte sich intensiv mit der Azure Cosmos DB beschäftigen. Die cloudbasierte Datenbank bietet dafür zahlreiche praktische Möglichkeiten; wer aber von relationalen Datenbanken kommt, muss sich ein wenig einarbeiten, bekommt dafür aber auch mehr Performance und eine bessere Skalierbarkeit - neben möglichen Kosteneinsparungen.

Philipp Westermann


Die Azure Cosmos DB ist eine cloudbasierte Datenbank mit nativer NoSQL-Unterstützung von Microsoft. Azure Cosmos DB wurde von Grund auf für eine globale Verteilung über beliebig viele Azure-Regionen und horizontale Skalierbarkeit konzipiert. Die Daten können in die Regionen repliziert werden, in der auch die Benutzer der Anwendung die Daten benötigen. Die Schreib- und Lesevorgänge können elastisch skaliert werden, und das schont auch noch die Kreditkartenabrechnung, da nur der tatsächlich benötigte Speicher und der Durchsatz berechnet werden.

Eine weitere Besonderheit von Azure Cosmos DB ist die native Unterstützung von mehreren Modellen für NoSQL APIs. Dazu gehören das Azure Cosmos DB API für MongoDB (Dokumentendatenmodell), Gremlin API (Graphen), Cassandra API (Schlüsselwert) und das Tabellen-API (Spaltenfamilie mit Azure Table Storage). Azure Cosmos DB ist eine global verteilte Datenbank, die mehrere Datenmodelle unterstützt und in einer großen Anzahl von Anwendungen und Anwendungsfällen genutzt werden kann; in diesem Artikel haben wir als Beispiel einen Onlineshop vorgestellt. Azure Cosmos DB ist geeignet für jegliche serverlose Anwendungen, die eine niedrige Antwortzeit benötigen und schnell und global skaliert werden müssen. Das Design der Datenbank und die dadurch gewonnene Skalierbarkeit ermöglichen es, eine Verarbeitung von immens hohen Anfragen (x > Milliarden) pro Tag zu verarbeiten. Die aufgezählten Eigenschaften sind von Vorteil in Anwendungsfällen im Bereich von Web, Mobile, Gaming und IoT, die eine hohe Anzahl von Lese- und Schreibvorgänge benötigen und eine geringe Antwortzeit haben müssen. Weitere Informationen zu den möglichen Anwendungsfällen können unter [1] gefunden werden.

Wie schon erwähnt, berechnet die Datenbank den Durchsatz und den benötigten Speicher unabhängig. Als Messwert für den Durchsatz wird die Einheit RU/s (Request Units per Second) verwendet. RU/s abstrahiert die Systemressourcen wie CPU, IO-Vorgänge und Speicherverbrauch, die benötigt werden, um einen Datenbankbefehl von Azure Cosmos DB auszuführen. Die Kosten, um 1 KB zu lesen, betregen 1 RU. Um Kosten und Anzahl der RUs niedrig zu halten, sollte man bei der Planung des Datenmodells ein Auge auf die Struktur und die Abfragen haben [2].

Der Shop mit Azure Cosmos DB

Ausgangslage für das vorgestellte Beispiel ist ein weltweiter Onlineversandhandel, der seine Dienstleistungen über die Microsoft-Azure-Cloud abwickeln will. Neben einem Webshop ist zusätzlich eine Mobil-App g...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang