Die Datenbankwahl in Azure verengt sich meist auf Azure SQL oder Cosmos DB. Die beiden lösen sehr unterschiedliche Probleme. Eine falsche Wahl bringt sowohl in Sachen Performance als auch Kosten schlechte Ergebnisse.
01. Azure SQL: relational
Die für die Cloud angepasste Fassung des Microsoft SQL Server. ACID-Transaktionen, komplexe SQL-Abfragen, ein ausgereiftes Ökosystem. Für die meisten Unternehmensanwendungen die richtige Wahl.
02. Cosmos DB: global verteiltes NoSQL
Cosmos DB ist eine global verteilte NoSQL-Datenbank. Als SLA 99,999 % Verfügbarkeit, einstellige Millisekunden-Latenz. Stark in Szenarien mit mehreren Regionen.
03. Cosmos-DB-API-Optionen
Cosmos DB unterstützt mehrere APIs:
- SQL API (nativ)
- MongoDB API (für die Mongo-Migration)
- Cassandra API
- Gremlin API (Graph)
- Table API (einfaches Key-Value)
04. Einsatzszenarien
Eine kurze Orientierung:
- Klassische Geschäftsanwendungen: Azure SQL
- Hoher Traffic, niedrige Latenz: Cosmos DB
- Global verteilte Kundschaft: Cosmos DB
- Komplexes Reporting, joins erfordernde Analyse: Azure SQL
05. Der Preisunterschied
Azure SQL ist meist wirtschaftlicher. Die Stärke von Cosmos DB kostet teuer; sie ist nicht in jedem Szenario nötig. Im kleinen Maßstab, für Standard-Geschäftsanwendungen, ist Cosmos DB überdimensioniert.