Cosmos DB-arkitektur

Utveckla för Azure Storage

Shahzad Mian

Content developer, DataCamp

Azure Cosmos DB

Azure_Cosmos_DB.svg.png

Utveckla för Azure Storage

Problemet

Cosmos DB-problem

Utveckla för Azure Storage

Vad är Cosmos DB?

 

CosmosDB

  • Multimodell, globalt distribuerad NoSQL-databas.
  • NoSQL – flexibel, mappliknande lagring.
  • Stöder flera API:er och datatyper.
  • Välj API-variant som passar dig:
    • SQL (Core) för JSON-dokument.
    • MongoDB för MongoDB-utvecklare.
    • Cassandra för wide-column-data.
    • Gremlin för grafrelationer.
    • Table API för nyckel-värde-lagring.
Utveckla för Azure Storage

Cosmos DB för utvecklare

  • Byggt med utvecklare i åtanke.
  • Automatisk indexering – ingen schemahantering.
  • Snabba frågor.
  • Fem konsistensnivåer: från Strong till Eventual.
  • Avvägning mellan prestanda och konsistens.
    • Strong – alla ser samma data direkt.
    • Eventual – alla hinner ikapp efter en stund.

 

Strong och Eventual-konsistens

Utveckla för Azure Storage

Skalning och genomströmning (RU/s)

Provisionerat läge

  • Request units per sekund (RU/s) = Cosmos DB:s prestandavaluta.
  • Varje läs-, skriv- eller frågeåtgärd förbrukar RU/s.
  • Välj fast provisionering eller autoskalning.
Utveckla för Azure Storage

Skalning och genomströmning (RU/s)

Skalning

  • Request units per sekund (RU/s) = Cosmos DB:s prestandavaluta.
  • Varje läs-, skriv- eller frågeåtgärd förbrukar RU/s.
  • Välj fast provisionering eller autoskalning.
  • Autoskalning justeras automatiskt efter belastning.
Utveckla för Azure Storage

Elastisk skalning och partitionering

  • Cosmos DB skalar via partitionering.
  • Varje container använder en partitionsnyckel.
  • Nyckeln grupperar relaterad data.
  • Exempel: Cipher Coffee använder /customerId för beställningar.
  • Alla en kunds beställningar hamnar i samma partition med /customerId som partitionsnyckel.
  • Frågorna förblir snabba även när datamängden växer.
  • Het partition: Ojämn partitionsbelastning försämrar prestandan.

Elastisk skalning och partitionering

Utveckla för Azure Storage

Global distribution

  • Replikera data till valfri Azure-region enkelt.
  • Bocka i kryssrutor – ingen komplicerad konfiguration.
  • Om en region slutar fungera dirigeras trafiken om automatiskt.
  • Ingen driftstopp, ingen dataförlust.
  • Som ett reservställe redo att betjäna kunder direkt.

Global distribution

Utveckla för Azure Storage

Övervakning och kostnadsoptimering

  • Övervaka prestanda i Azure Portal.
  • Visa mätvärden som RU/s, svarstid och förfrågningskostnad.
  • Som en instrumentpanel – se hastighet och bränsleförbrukning.
  • Cipher Coffees ingenjörer analyserade dessa mätvärden.
  • Sänkte kostnaderna genom att justera genomströmningen dynamiskt.

Övervakning

Utveckla för Azure Storage

Nu kör vi en övning!

Utveckla för Azure Storage

Preparing Video For Download...