©ArdeaA/Shutterstock.com
Cloud Compendium
Cosmos DB in eigenen Projekten einsetzen: Grundlagen und Einsatzszenarien

Ganz ir-relational

Dokumentendatenbanken wie Microsofts Cloud-basierte Azure Cosmos DB bieten neue Ansätze und Möglichkeiten, um mit Daten umzugehen - zumindest neu für die Microsoft-Entwicklerwelt, die von relationalen Datenbanken dominiert wurde.

Thorsten Kansy


Dieser Artikel gibt Ihnen einen kleinen Überblick über die Grundlagen, Möglichkeiten und unterstützten APIs, die Azure Cosmo DB für Ihre Projekte bereitstellt, und bietet Überlegungen zu möglichen Einsatzszenarien an.EinführungMicrosofts Azure Cosmos DB ist eine Dokumentendatenbank, ein NoSQL JSON Data Storage, das neben einer ganzen Reihe interessanter Features mehrere APIs bietet, um mit diesen zu arbeiten. „NoSQL“ steht dabei übrigens für „Not only SQL“, was einen Hinweis auf die unterschiedlichen APIs darstellt.Dabei ist der Ansatz, Daten zu speichern, ein völlig anderer als z. B. bei relationalen Datenbanken. So werden Daten nicht in Tabellen abgelegt, sondern in Collections (auch Container genannt). Eine Dokumentendatenbank speichert Daten in Form von Dokumenten im JSON-Format. Dies erlaubt, diese Daten verschachtelt und – und das ist wichtig – heterogen abzuspeichern. Das heißt, Dokumente, die sich einen Container (Collection) teilen, müssen nicht über den gleichen Aufbau verfügen. Es können also mal mehr, mal weniger oder schlicht unterschiedliche Informationen in einem solchen Dokument untergebracht werden. Auch können von Dokument zu Dokument für gleichnamige Eigenschaften unterschiedliche Datentypen verwendet werden. Listing 1 zeigt ein kleines JSON-Dokument als Beispiel. Bei Abfragen wird dies (je nach API) entsprechend berücksichtigt.{ "BusinessEntityID": 1, "PersonType": "EM", "NameStyle": false, "Title": null, "FirstName": "Ken", "MiddleName": "J", "LastName": "Sánchez", "Suffix": null, "EmailPromotion": 0, "AdditionalContactInfo": null, "Demographics": "0", "rowguid": "92c4279f-1207-48a3-8448-4636514eb7e2", "ModifiedDate": "2009-01-07T00:00:00", "Password": { "Hash": "pbFwXWE99vobT6g+vPWFy93NtUU/orrIWafF01hccfM=", "ModifiedDate": "2009-01-07T00:00:00", "Salt": "bE3XiWw=" }}Für den Zugriff auf diese Daten stehen aktuell fünf unterschiedliche APIs zur Verfügung (mehr dazu später). Existieren also schon Code für und Erfahrung mit z. B. MongoDB oder Apache Cassandra, steht einem Einsatz von Azure Comos DB eigentlich nichts im Weg. In Abbildung 1 sehen Sie eine Übersicht aller APIs.Die unterschiedlichen APIs können dabei prinzipiell alle Dokumente nutzen, die mit Hilfe eines anderen APIs erstellt wurden. In der Praxis gibt es jedoch deutliche Einschränkungen...

Cloud Compendium
Cosmos DB in eigenen Projekten einsetzen: Grundlagen und Einsatzszenarien

Ganz ir-relational

Dokumentendatenbanken wie Microsofts Cloud-basierte Azure Cosmos DB bieten neue Ansätze und Möglichkeiten, um mit Daten umzugehen - zumindest neu für die Microsoft-Entwicklerwelt, die von relationalen Datenbanken dominiert wurde.

Thorsten Kansy


Dieser Artikel gibt Ihnen einen kleinen Überblick über die Grundlagen, Möglichkeiten und unterstützten APIs, die Azure Cosmo DB für Ihre Projekte bereitstellt, und bietet Überlegungen zu möglichen Einsatzszenarien an.EinführungMicrosofts Azure Cosmos DB ist eine Dokumentendatenbank, ein NoSQL JSON Data Storage, das neben einer ganzen Reihe interessanter Features mehrere APIs bietet, um mit diesen zu arbeiten. „NoSQL“ steht dabei übrigens für „Not only SQL“, was einen Hinweis auf die unterschiedlichen APIs darstellt.Dabei ist der Ansatz, Daten zu speichern, ein völlig anderer als z. B. bei relationalen Datenbanken. So werden Daten nicht in Tabellen abgelegt, sondern in Collections (auch Container genannt). Eine Dokumentendatenbank speichert Daten in Form von Dokumenten im JSON-Format. Dies erlaubt, diese Daten verschachtelt und – und das ist wichtig – heterogen abzuspeichern. Das heißt, Dokumente, die sich einen Container (Collection) teilen, müssen nicht über den gleichen Aufbau verfügen. Es können also mal mehr, mal weniger oder schlicht unterschiedliche Informationen in einem solchen Dokument untergebracht werden. Auch können von Dokument zu Dokument für gleichnamige Eigenschaften unterschiedliche Datentypen verwendet werden. Listing 1 zeigt ein kleines JSON-Dokument als Beispiel. Bei Abfragen wird dies (je nach API) entsprechend berücksichtigt.{ "BusinessEntityID": 1, "PersonType": "EM", "NameStyle": false, "Title": null, "FirstName": "Ken", "MiddleName": "J", "LastName": "Sánchez", "Suffix": null, "EmailPromotion": 0, "AdditionalContactInfo": null, "Demographics": "0", "rowguid": "92c4279f-1207-48a3-8448-4636514eb7e2", "ModifiedDate": "2009-01-07T00:00:00", "Password": { "Hash": "pbFwXWE99vobT6g+vPWFy93NtUU/orrIWafF01hccfM=", "ModifiedDate": "2009-01-07T00:00:00", "Salt": "bE3XiWw=" }}Für den Zugriff auf diese Daten stehen aktuell fünf unterschiedliche APIs zur Verfügung (mehr dazu später). Existieren also schon Code für und Erfahrung mit z. B. MongoDB oder Apache Cassandra, steht einem Einsatz von Azure Comos DB eigentlich nichts im Weg. In Abbildung 1 sehen Sie eine Übersicht aller APIs.Die unterschiedlichen APIs können dabei prinzipiell alle Dokumente nutzen, die mit Hilfe eines anderen APIs erstellt wurden. In der Praxis gibt es jedoch deutliche Einschränkungen...

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