Architektura Cosmos DB

Develop for Azure Storage

Shahzad Mian

Content developer, DataCamp

Azure Cosmos DB

Azure_Cosmos_DB.svg.png

Develop for Azure Storage

Problém

Problém Cosmos DB

Develop for Azure Storage

Co je Cosmos DB?

 

CosmosDB

  • Multimodelová, globálně distribuovaná databáze NoSQL.
  • NoSQL – flexibilní úložiště podobné složkám.
  • Podporuje více rozhraní API a datových typů.
  • Jako flexibilní restaurační menu – vyberte si variantu API:
    • SQL (Core) pro dokumenty JSON.
    • MongoDB pro vývojáře v Mongo.
    • Cassandra pro sloupcová data.
    • Gremlin pro grafové vztahy.
    • Table API pro úložiště klíč-hodnota.
Develop for Azure Storage

Cosmos DB pro vývojáře

  • Navrženo s ohledem na vývojáře.
  • Automatická indexace – bez správy schématu.
  • Rychlé dotazy.
  • Pět úrovní konzistence: od Strong po Eventual.
  • Kompromis mezi výkonem a konzistencí.
    • Strong – všichni okamžitě vidí stejnou zprávu.
    • Eventual – všichni se synchronizují postupně.

 

Silná a výsledná konzistence

Develop for Azure Storage

Škálování a propustnost (RU/s)

Zřízený režim

  • Jednotky požadavků za sekundu (RU/s) = měna výkonu Cosmos DB.
  • Každé čtení, zápis nebo dotaz spotřebuje určité RU/s.
  • Zvolte pevné zřizování nebo automatické škálování.
Develop for Azure Storage

Škálování a propustnost (RU/s)

Škálování

  • Jednotky požadavků za sekundu (RU/s) = měna výkonu Cosmos DB.
  • Každé čtení, zápis nebo dotaz spotřebuje určité RU/s.
  • Zvolte pevné zřizování nebo automatické škálování.
  • Automatické škálování se přizpůsobuje zatížení.
Develop for Azure Storage

Elastické škálování a dělení

  • Cosmos DB škáluje prostřednictvím dělení.
  • Každý kontejner používá klíč oddílu.
  • Klíč seskupuje příbuzná data.
  • Příklad: Cipher Coffee používá /customerId pro objednávky.
  • Při použití /customerId jsou všechny objednávky zákazníka ve stejném oddílu.
  • Dotazy zůstávají rychlé i s rostoucím objemem dat.
  • Horký oddíl: Nerovnoměrné zatížení oddílu snižující výkon.

Elastické škálování a dělení

Develop for Azure Storage

Globální distribuce

  • Replikace dat do libovolné oblasti Azure.
  • Stačí zaškrtnout políčka, žádná složitá konfigurace.
  • Při výpadku oblasti se provoz automaticky přesměruje.
  • Bez výpadků a bez ztráty dat.
  • Jako záložní kavárna připravená okamžitě obsloužit zákazníky.

Globální distribuce

Develop for Azure Storage

Monitorování a optimalizace nákladů

  • Sledujte výkon na portálu Azure.
  • Prohlížejte metriky jako RU/s, latenci a náklady na požadavky.
  • Jako přístrojová deska auta – vidíte rychlost i spotřebu.
  • Inženýři Cipher Coffee tyto metriky analyzovali.
  • Dynamickým nastavením propustnosti snížili náklady.

Monitorování

Develop for Azure Storage

Pojďme si procvičit!

Develop for Azure Storage

Preparing Video For Download...