際際滷

際際滷Share a Scribd company logo
Ivano Scifoni
Email : iscifoni@libero.it
Twitter : @ivanoscifoni
Software Architect
.NET Foundation Member
 Cos竪 CosmosDB
 Feature Principali
 Distribuzione globale
 Disponibilit AlwaysOn
 Sistema multimodello (Api SQL, MongoDB, Graph, Tabella, Cassandra )
 Scalabilit
 Coerenza
Azure Cosmos DB 竪 il database multimodello distribuito a livello globale di Microsoft.
Azure Cosmos DB garantisce la scalabilit, elastica e indipendente, della velocit effettiva e dello spazio di
archiviazione tra un numero qualsiasi di aree geografiche di Azure.
Assicura inoltre, latenza e disponibilit grazie a contratti di servizio (SLA, Service Level Agreement) completi.
Caratteristiche principali
 Distribuzione globale
 Disponibilit Always On
 Pi湛 modelli di dati ed API, per laccesso ai dati (Api SQL, MongoDB, Graph, Azure
Table, Cassandra)
 Scalabilit
 Coerenza
 possibile distribuire i dati a un numero qualsiasi di aree di Azure.
Ci嘆 consente di 束portare損 i dati stessi nelle localit in cui si trovano gli utenti, garantendo loro la latenza pi湛 bassa
possibile.
Con l'API multihoming di Azure Cosmos DB, l'app sa
sempre dove si trova l'area pi湛 vicina e invia le richieste al
data center pi湛 vicino.
Tutto questo 竪 possibile senza modificare la configurazione.
Si imposta l'area di scrittura e il numero di aree di lettura
desiderato.
Le altre operazioni vengono gestite automaticamente.
 Contratto di servizio con disponibilit del 99,99% per tutti gli account di database in una singola area e disponibilit
in lettura del 99,999% per tutti gli account di database in pi湛 aree.
 Distribuzione in un numero qualsiasi di aree di Azure per una maggiore disponibilit e migliori prestazioni.
Il modello dati di Azure Cosmos DB 竪 in grado di supportare diversi modelli di dati attualmente utilizzati in altri sistemi:
SQL Api (DocumentDB)
un motore di database JSON senza
schema con funzionalit di esecuzione
di query SQL avanzate.
Api MongoDB
compatibile con librerie, driver e
strumenti MongoDB esistenti
Api Cassandra
compatibile con librerie, driver e
strumenti Apache Cassandra esistenti
Api Graph (Gremlin)
supportano le API Open Graph (in base
alla specifica Apache TinkerPop,
Apache Gremlin).
Api Table
servizio di database (coppie chiave-
valore) progettato per offrire
funzionalit alle applicazioni di
archiviazione tabelle di Azure, senza
apportare modifiche alle app.
Elastically scalable throughput and storage
With Azure Cosmos DB, you can scale
your graphs seamlessly across
multiple servers. Azure Cosmos DB
supports graph databases that can
scale to virtually unlimited storage
sizes and provisioned throughput.
The power of the cosmos in a DB .... CosmosDB
Essendo CosmosDB un servizio serverless, non dobbiamo preoccuparci del provisioning dei server, lo gestisce
direttamente il cloud. Questo ci permette di poter eseguire delle attivit di scaling con grande facilit.
Potenza di elaborazione:
Essendo CosmosDB un servizio serverless abbiamo la possibilit di controllare la potenza elaborativa dellistanza
assegnando ad ogni operazione un PESO.
Il peso 竪 calcolato in Unit Richiesta. L Unit Richiesta 竪 una quantit normalizzata di calcolo che CosmosDB
utilizza per servire la richiesta. Ad ogni contenitore dati, in fase di creazione , viene associato un valore di UR/s
(Unita Richiesta al secondo).
E possibile monitorare le UR utilizzate per ogni richiesta in quanto questa informazione 竪 presente nell header
della risposta.
Archiviazione:
Essendo CosmosDB un sistema pensato per la gestione di
grandi moli di dati 竪 possibile partizionare gli stessi per poter
ottimizzare le operazioni.
The power of the cosmos in a DB .... CosmosDB
Calcolatore https://www.documentdb.com/capacityplanner
Azure Cosmos DB 竪 stato progettato da zero pensando alla distribuzione globale di tutti i modelli di dati.
 pensato per offrire garanzie di bassa latenza stimabile e pi湛 modelli di coerenza meno rigidi e ben definiti.
Azure Cosmos DB offre attualmente cinque livelli di coerenza:
 Assoluta
 Decadimento ristretto
 Sessione
 Prefisso coerente
 Finale
I modelli di coerenza con obsolescenza associata, sessione, finale e con prefisso coerente vengono definiti
"modelli di coerenza meno rigidi" in quanto forniscono un livello di coerenza inferiore alla coerenza assoluta,
ovvero il modello di coerenza massima disponibile.
Assoluta
la coerenza assoluta offre una garanzia
di linearit ovvero la garanzia che le letture
restituiscano la versione pi湛 recente di un
elemento.
Sessione
a differenza dei modelli di coerenza globale offerti dai livelli
di coerenza assoluta e con decadimento ristretto, la
coerenza di "sessione" ha come ambito una sessione del
client.
Decadimento ristretto
La coerenza con decadimento ristretto garantisce che il
ritardo delle letture sulle scritture sia al massimo pari
a K versioni o prefissi di un elemento o all'intervallo di
tempo t.
Prefisso coerente
Il prefisso coerente garantisce che le operazioni
di lettura non vedano mai il fuori sequenza delle
operazioni di scrittura. Se queste sono state
eseguite nell'ordine A, B, C, il client vede A, A,B o
A,B,C, ma mai il fuori sequenza ad esempio A,C o
B,A,C.
Finale
La coerenza finale 竪 la forma pi湛 debole di coerenza, in cui un client pu嘆 ottenere nel tempo valori obsoleti rispetto a
quelli gi visualizzati in passato.
La coerenza finale rappresenta il livello pi湛 debole, ma offre la latenza pi湛 bassa sia per le letture sia le per scritture.
The power of the cosmos in a DB .... CosmosDB
The power of the cosmos in a DB .... CosmosDB
The power of the cosmos in a DB .... CosmosDB

More Related Content

The power of the cosmos in a DB .... CosmosDB

  • 1. Ivano Scifoni Email : iscifoni@libero.it Twitter : @ivanoscifoni Software Architect .NET Foundation Member
  • 2. Cos竪 CosmosDB Feature Principali Distribuzione globale Disponibilit AlwaysOn Sistema multimodello (Api SQL, MongoDB, Graph, Tabella, Cassandra ) Scalabilit Coerenza
  • 3. Azure Cosmos DB 竪 il database multimodello distribuito a livello globale di Microsoft. Azure Cosmos DB garantisce la scalabilit, elastica e indipendente, della velocit effettiva e dello spazio di archiviazione tra un numero qualsiasi di aree geografiche di Azure. Assicura inoltre, latenza e disponibilit grazie a contratti di servizio (SLA, Service Level Agreement) completi. Caratteristiche principali Distribuzione globale Disponibilit Always On Pi湛 modelli di dati ed API, per laccesso ai dati (Api SQL, MongoDB, Graph, Azure Table, Cassandra) Scalabilit Coerenza
  • 4. possibile distribuire i dati a un numero qualsiasi di aree di Azure. Ci嘆 consente di 束portare損 i dati stessi nelle localit in cui si trovano gli utenti, garantendo loro la latenza pi湛 bassa possibile. Con l'API multihoming di Azure Cosmos DB, l'app sa sempre dove si trova l'area pi湛 vicina e invia le richieste al data center pi湛 vicino. Tutto questo 竪 possibile senza modificare la configurazione. Si imposta l'area di scrittura e il numero di aree di lettura desiderato. Le altre operazioni vengono gestite automaticamente.
  • 5. Contratto di servizio con disponibilit del 99,99% per tutti gli account di database in una singola area e disponibilit in lettura del 99,999% per tutti gli account di database in pi湛 aree. Distribuzione in un numero qualsiasi di aree di Azure per una maggiore disponibilit e migliori prestazioni.
  • 6. Il modello dati di Azure Cosmos DB 竪 in grado di supportare diversi modelli di dati attualmente utilizzati in altri sistemi: SQL Api (DocumentDB) un motore di database JSON senza schema con funzionalit di esecuzione di query SQL avanzate. Api MongoDB compatibile con librerie, driver e strumenti MongoDB esistenti Api Cassandra compatibile con librerie, driver e strumenti Apache Cassandra esistenti Api Graph (Gremlin) supportano le API Open Graph (in base alla specifica Apache TinkerPop, Apache Gremlin). Api Table servizio di database (coppie chiave- valore) progettato per offrire funzionalit alle applicazioni di archiviazione tabelle di Azure, senza apportare modifiche alle app.
  • 7. Elastically scalable throughput and storage With Azure Cosmos DB, you can scale your graphs seamlessly across multiple servers. Azure Cosmos DB supports graph databases that can scale to virtually unlimited storage sizes and provisioned throughput.
  • 9. Essendo CosmosDB un servizio serverless, non dobbiamo preoccuparci del provisioning dei server, lo gestisce direttamente il cloud. Questo ci permette di poter eseguire delle attivit di scaling con grande facilit. Potenza di elaborazione: Essendo CosmosDB un servizio serverless abbiamo la possibilit di controllare la potenza elaborativa dellistanza assegnando ad ogni operazione un PESO. Il peso 竪 calcolato in Unit Richiesta. L Unit Richiesta 竪 una quantit normalizzata di calcolo che CosmosDB utilizza per servire la richiesta. Ad ogni contenitore dati, in fase di creazione , viene associato un valore di UR/s (Unita Richiesta al secondo). E possibile monitorare le UR utilizzate per ogni richiesta in quanto questa informazione 竪 presente nell header della risposta. Archiviazione: Essendo CosmosDB un sistema pensato per la gestione di grandi moli di dati 竪 possibile partizionare gli stessi per poter ottimizzare le operazioni.
  • 12. Azure Cosmos DB 竪 stato progettato da zero pensando alla distribuzione globale di tutti i modelli di dati. pensato per offrire garanzie di bassa latenza stimabile e pi湛 modelli di coerenza meno rigidi e ben definiti. Azure Cosmos DB offre attualmente cinque livelli di coerenza: Assoluta Decadimento ristretto Sessione Prefisso coerente Finale I modelli di coerenza con obsolescenza associata, sessione, finale e con prefisso coerente vengono definiti "modelli di coerenza meno rigidi" in quanto forniscono un livello di coerenza inferiore alla coerenza assoluta, ovvero il modello di coerenza massima disponibile.
  • 13. Assoluta la coerenza assoluta offre una garanzia di linearit ovvero la garanzia che le letture restituiscano la versione pi湛 recente di un elemento. Sessione a differenza dei modelli di coerenza globale offerti dai livelli di coerenza assoluta e con decadimento ristretto, la coerenza di "sessione" ha come ambito una sessione del client. Decadimento ristretto La coerenza con decadimento ristretto garantisce che il ritardo delle letture sulle scritture sia al massimo pari a K versioni o prefissi di un elemento o all'intervallo di tempo t. Prefisso coerente Il prefisso coerente garantisce che le operazioni di lettura non vedano mai il fuori sequenza delle operazioni di scrittura. Se queste sono state eseguite nell'ordine A, B, C, il client vede A, A,B o A,B,C, ma mai il fuori sequenza ad esempio A,C o B,A,C. Finale La coerenza finale 竪 la forma pi湛 debole di coerenza, in cui un client pu嘆 ottenere nel tempo valori obsoleti rispetto a quelli gi visualizzati in passato. La coerenza finale rappresenta il livello pi湛 debole, ma offre la latenza pi湛 bassa sia per le letture sia le per scritture.