Cosmos DB-architectuur
Ontwikkelen voor Azure Storage
Shahzad Mian
Content developer, DataCamp
Azure Cosmos DB
Het probleem
Wat is Cosmos DB?
Multi-model, wereldwijd gedistribueerde NoSQL-database.
NoSQL: flexibele, map-achtige opslag.
Ondersteunt meerdere API’s en datatypen.
Als een flexibel restaurantmenu: kies je API-smaak:
SQL (Core) voor JSON-documenten.
MongoDB voor Mongo-ontwikkelaars.
Cassandra voor wide-column data.
Gremlin voor graafrelaties.
Table API voor key-value-opslag.
Cosmos DB voor developers
Gemaakt met developers in gedachten.
Automatische indexering: geen schema-beheer.
Snelle queries.
Vijf consistentieniveaus: van Strong tot Eventual.
Afweging tussen performance en consistentie.
Strong: iedereen ziet direct hetzelfde.
Eventual: iedereen loopt later bij.
Schalen en throughput (RU/s)
Request units per second (RU/s) = prestatievaluta van Cosmos DB.
Elke read, write of query kost RU/s.
Kies vaste provisioning of autoscale.
Schalen en throughput (RU/s)
Request units per second (RU/s) = prestatievaluta van Cosmos DB.
Elke read, write of query kost RU/s.
Kies vaste provisioning of autoscale.
Autoscale past zich automatisch aan de vraag aan.
Elastisch schalen en partitionering
Cosmos DB schaalt via partitionering.
Elke container heeft een partitionsleutel.
De sleutel groepeert gerelateerde data.
Voorbeeld: Cipher Coffee gebruikt
/customerId
voor orders.
Alle orders van een klant staan in dezelfde partitie met
/customerId
als sleutel.
Queries blijven snel, ook bij groei.
Hot partition
: Oneven belasting van partities vertraagt prestaties.
Wereldwijde distributie
Repliceer data eenvoudig naar elke Azure-regio.
Alleen vinkjes zetten, geen gedoe met setup.
Valt een regio uit, dan wordt verkeer automatisch omgeleid.
Geen downtime, geen dataverlies.
Als een reservecafé dat direct open kan.
Monitoring en kostenoptimalisatie
Volg prestaties in de Azure Portal.
Bekijk metrics zoals RU/s, latentie en request charge.
Als een autodashboard: zie snelheid en verbruik.
Engineers van Cipher Coffee analyseerden deze metrics.
Kosten verlaagd door throughput dynamisch aan te passen.
Laten we oefenen!
Ontwikkelen voor Azure Storage
Preparing Video For Download...