Azure Cosmos DB
Eintrag zuletzt aktualisiert am: 25.05.2021
Azure Cosmos DB ist eine global verteilte, hochverfügbare
NoSQL-
Datenbank mit multiplen Datenzugriffsmodellen in Microsofts Cloud-Dienst Azure. Microsoft hat Cosmos DB im Mai 2017 gestartet.
Cosmos DB ist ein Multi-Modell-
Datenbankdienst, der die Programmierschnittstellen von
MongoDB, Gremlin und Cassandra sowie das API von
Azure Table Storage und eine limitierte Form von SQL (z.B. ohne Joins, ohne Aggregatfunktionen, Beschränkung auf
JSON-Datentypen) anbietet.
Auch
BLOBs können gespeichert werden, dabei wird im Hintergrund der Azure
BLOB Storage verwendet. Innerhalb von Cosmos DB kann mit
JavaScript programmiert werden (für Stored Procedures, Trigger und User-Defined functions (UDF)).
https://azure.microsoft.com/de-de/services/cosmos-db
Eigenschaften
- Multi-Modell
- Global verteilt
- Hochverfügbar
- Automatisches oder manuelles Failover
- Multi-Master
- Fünf Konsistenzlevel: trong, bounded staleness, session, consistent prefix, eventual
- Reservierbare Kapazitäten
Aussage Microsoft zu den Einsatzgebieten
"Any web, mobile, gaming, and IoT application that needs to handle massive amounts of data, reads, and writes at a global scale with near-real response times for a variety of data will benefit from Cosmos DB's guaranteed high availability, high throughput, low latency, and tunable consistency." [
https://docs.microsoft.com/en-us/azure/cosmos-db/introduction]
Verfügbare APIs
Azure Cosmos DB Core (SQL) API
Cosmos DB Provider für
Entity Framework Core
Azure Cosmos DB API for
MongoDB
Azure Cosmos DB Cassandra API
Azure Cosmos DB Gremlin API
Azure Cosmos DB Table API (gleiches API wie bei
Azure Table Storage)
In einer Preview-Version wurde 2019 bis 2020 auch ein etcd-API [
https://azure.microsoft.com/de-de/updates/azure-cosmos-db-api-for-etcd-in-preview/] angeboten, das Microsoft aber zurückgezogen hat [
https://docs.microsoft.com/en-us/answers/questions/154061/about-etcd-support-in-azure-cosmos-db.html].