Arhitectura Cosmos DB

Dezvoltare pentru Azure Storage

Shahzad Mian

Content developer, DataCamp

Azure Cosmos DB

Azure_Cosmos_DB.svg.png

Dezvoltare pentru Azure Storage

Problema

Problema Cosmos DB

Dezvoltare pentru Azure Storage

Ce este Cosmos DB?

 

CosmosDB

  • Bază de date NoSQL multi-model, distribuită global.
  • NoSQL - stocare flexibilă, de tip folder.
  • Suportă multiple API-uri și tipuri de date.
  • Ca un meniu de restaurant flexibil - alegeți tipul de API:
    • SQL (Core) pentru documente JSON.
    • MongoDB pentru dezvoltatori Mongo.
    • Cassandra pentru date wide-column.
    • Gremlin pentru relații de tip graf.
    • Table API pentru stocare cheie-valoare.
Dezvoltare pentru Azure Storage

Cosmos DB pentru dezvoltatori

  • Conceput pentru dezvoltatori.
  • Indexare automată - fără gestionarea schemei.
  • Interogări rapide.
  • Cinci niveluri de consistență: de la Strong la Eventual.
  • Compromis între performanță și consistență.
    • Strong - toți primesc același mesaj instantaneu.
    • Eventual - toți se sincronizează ulterior.

 

Consistență strong și eventuală

Dezvoltare pentru Azure Storage

Scalare și debit (RU/s)

Mod provizionat

  • Unități de cerere pe secundă (RU/s) = moneda de performanță a Cosmos DB.
  • Fiecare citire, scriere sau interogare consumă RU/s.
  • Alegeți provizionare fixă sau scalare automată.
Dezvoltare pentru Azure Storage

Scalare și debit (RU/s)

Scalare

  • Unități de cerere pe secundă (RU/s) = moneda de performanță a Cosmos DB.
  • Fiecare citire, scriere sau interogare consumă RU/s.
  • Alegeți provizionare fixă sau scalare automată.
  • Scalarea automată se ajustează în funcție de cerere.
Dezvoltare pentru Azure Storage

Scalare elastică și partiționare

  • Cosmos DB scalează prin partiționare.
  • Fiecare container folosește o cheie de partiție.
  • Cheia grupează datele corelate.
  • Exemplu: Cipher Coffee folosește /customerId pentru comenzi.
  • Toate comenzile unui client sunt în aceeași partiție când se folosește /customerId.
  • Interogările rămân rapide pe măsură ce datele cresc.
  • Partiție supraîncărcată: Distribuție neuniformă care reduce performanța.

Scalare elastică și partiționare

Dezvoltare pentru Azure Storage

Distribuție globală

  • Replicați datele în orice regiune Azure cu ușurință.
  • Bifați casetele, fără configurare complexă.
  • Dacă o regiune cedează, traficul este reredirecționat automat.
  • Fără întreruperi, fără pierderi de date.
  • Ca o cafenea de rezervă gata să servească clienții instant.

Distribuție globală

Dezvoltare pentru Azure Storage

Monitorizare și optimizarea costurilor

  • Monitorizați performanța în Azure Portal.
  • Vizualizați metrici precum RU/s, latență și costul cererilor.
  • Ca un bord auto - urmăriți viteza și consumul.
  • Inginerii Cipher Coffee au analizat aceste metrici.
  • Au redus costurile ajustând debitul dinamic.

Monitorizare

Dezvoltare pentru Azure Storage

Să exersăm!

Dezvoltare pentru Azure Storage

Preparing Video For Download...