Introduzione ad Azure Cosmos DB

Azure Cosmos DB è il database multimodello distribuito a livello globale di Microsoft. Con un semplice clic su un pulsante, 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 velocità effettiva, latenza, disponibilità e coerenza grazie a contratti di servizio (SLA, Service Level Agreement) completi, una garanzia che nessun altro servizio di database è in grado di offrire.

Azure Cosmos DB è il servizio di database Microsoft distribuito a livello globale con scalabilità orizzontale elastica, bassa latenza garantita, cinque modelli di coerenza e contratti di servizio completi garantiti.

Soluzioni che traggono vantaggio da Azure Cosmos DB

Qualsiasi applicazione Web, per dispositivi mobili, di gioco e IoT che debba gestire un numero molto elevato di letture e scritture su scala globale e con tempi di risposta contenuti per una serie di dati può trarre vantaggio dalla disponibilità, velocità effettiva elevata, bassa latenza e coerenza ottimizzabile garantite da Azure Cosmos DB.

Funzionalità principali

Come servizio di database distribuito a livello globale, Azure Cosmos DB fornisce le funzionalità seguenti che consentono di compilare applicazioni scalabili e altamente reattive:

  • Distribuzione globale chiavi in mano

    • È possibile distribuire i dati a un numero qualsiasi di aree di Azure semplicemente facendo clic su un pulsante. Ciò consente di inserire i dati nelle località in cui si trovano gli utenti, garantendo la latenza più bassa possibile ai clienti.
    • Con l'API multihosting 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.
  • Più modelli di dati e API comuni per l'accesso e le query sui dati

    • Il modello di dati basato sulla sequenza di record ATOM (ARS) su cui si fonda Azure Cosmos DB supporta in modo nativo più modelli di dati, tra cui modelli di documenti, grafi, coppie chiave-valore, tabelle e colonne.
    • Le API per i modelli di dati seguenti sono supportate con SDK disponibili in più lingue:
  • Ridimensionamento elastico della velocità effettiva e dell'archiviazione su richiesta, in tutto il mondo

    • Possibilità di ridimensionare facilmente la velocità effettiva del database con una granularità al secondo, modificandola in qualsiasi momento.
    • Scalabilità dell'archiviazione in modo trasparente e automatico per soddisfare i requisiti di dimensione presenti e futuri.
  • Compilazione di applicazioni cruciali altamente reattive

    • Azure Cosmos DB garantisce ai clienti una bassa latenza end-to-end al 99° percentile.
    • Per un elemento tipico da 1 KB, Cosmos DB assicura una latenza end-to-end inferiore a 10 ms per le letture e a 15 ms per le scritture al 99° percentile, all'interno della stessa area di Azure. Le latenze medie sono significativamente inferiori (meno di 5 ms).
  • Disponibilità Always On

    • Disponibilità del 99,99% all'interno di una singola area.
    • Distribuzione in un numero qualsiasi di aree di Azure per una maggiore disponibilità.
    • Simulazione di errore di una o più aree senza perdita di dati.
  • Scrittura di applicazioni distribuite a livello globale in modo immediato

    • Cinque modelli di coerenza offrono un'ampia gamma di livelli di coerenza, da quella assoluta di tipo SQL alla coerenza finale di tipo NoSQL, compresi i livelli intermedi.
  • Recupero dell'investimento

    • I dati sono immediatamente disponibili in modo rapido, in caso contrario l'importo versato verrà rimborsato.
    • Contratti di servizio per garantire disponibilità, latenza, velocità effettiva e coerenza.
  • Nessuna gestione di schemi/indici di database

    • Non è più necessario preoccuparsi di mantenere lo schema e gli indici del database sincronizzati con lo schema dell'applicazione. La soluzione è indipendente dallo schema.
    • Il motore di database di Azure Cosmos DB è completamente indipendente dallo schema: questo significa che indicizza automaticamente tutti i dati inseriti senza richiedere schemi o indici e consente l'esecuzione di query ultrarapide.
  • Costo di proprietà ridotto

    • Da cinque a dieci volte più conveniente rispetto a una soluzione non gestita.
    • Tre volte meno costoso di DynamoDB.

Confronto delle funzionalità

Azure Cosmos DB fornisce le migliori funzionalità dei database relazionali e non relazionali.

Capabilities Database relazionali Database non relazionali (NoSQL) Azure Cosmos DB
Distribuzione globale No No Sì, distribuzione chiavi in mano in oltre 30 aree con le API multihosting
Scalabilità orizzontale No Sì, archiviazione e velocità effettiva sono scalabili in modo indipendente
Garanzie di latenza No Sì, 99% delle letture in <10 ms e delle scritture in <15 ms
Disponibilità elevata No Sì, Cosmos DB è sempre online, ha compromessi secondo il teorema PACELC e offre opzioni di failover automatico e manuale
Modello di dati + API Relazionale + SQL Multimodello + API OSS Multimodello + SQL + API OSS (altre funzionalità presto disponibili)
Contratti di servizio No Sì, contratti di servizio completi per latenza, velocità effettiva, coerenza, disponibilità

Passaggi successivi

Per un'introduzione ad Azure Cosmos DB, fare riferimento alle guide introduttive seguenti: