Operazioni CRUD in Cosmos DB

Sviluppare per Azure Storage

Shahzad Mian

Content developer, Datacamp

Create

  • Il modo principale per comunicare con Cosmos DB da un’app è tramite gli SDK

Registrazione cliente

Sviluppare per Azure Storage

Read

  • L’app usa l’SDK per leggere il documento tramite ID univoco

cliente che controlla il saldo punti

Sviluppare per Azure Storage

Update

  • L’app trova il documento e aggiorna i punti da 100 a 0.

Cliente che usa il saldo punti

Sviluppare per Azure Storage

Delete

  • Un processo backend usa l’SDK per eliminare definitivamente il documento dal container.

Cliente che elimina il profilo

Sviluppare per Azure Storage

Scegliere la coerenza

  • Scelta del livello di coerenza: determina quanto rapidamente le modifiche sono visibili tra le aree.

Globo con Londra e Tokyo

Sviluppare per Azure Storage

Strong

  • Strong: accuratezza perfetta, tutti i nodi confermano prima che l’update sia visibile
  • Più lenta; ideale per transazioni finanziarie.

coerenza strong

Sviluppare per Azure Storage

Boundless staleness

  • Letture prevedibili e affidabili.

Immagine generata da Gemini_l6c590l6c590l6c5.jpeg

Sviluppare per Azure Storage

Session

  • Opzione predefinita e più usata.
  • Letture immediate.
  • Esperienza coerente.
  • Perfetta per app live incentrate sull’utente.

Applicazione session

Sviluppare per Azure Storage

Consistent prefix

  • Le modifiche si vedono sempre nell’ordine corretto.
  • Non tutte le modifiche si vedono se avvengono molto rapidamente.

  • Sequenza corretta:

    • Alcuni secondi dietro l’ultima azione.

Immagine generata da Gemini_qnfs4mqnfs4mqnfs.jpeg

Sviluppare per Azure Storage

Eventual

  • Livello più debole.
  • Nessuna garanzia su tempi o ordine.
  • Latenza minima.
  • Massima disponibilità.

  • Ottima per dati non critici.

Coerenza eventuale

Sviluppare per Azure Storage

Ottimizzare il comportamento

Scelta del livello di coerenza

Sviluppare per Azure Storage

Passiamo alla pratica!

Sviluppare per Azure Storage

Preparing Video For Download...