Distribuire i dati a livello globale con Azure Cosmos DB

SI APPLICA A: Nosql Mongodb Cassandra Gremlin Tabella

Le applicazioni moderne devono garantire velocità di risposta elevate ed essere sempre online. Per ottenere bassa latenza e disponibilità elevata, è necessario che le istanze di queste applicazioni siano distribuite in data center vicini agli utenti. Queste applicazioni vengono in genere distribuite in più data center e vengono definite distribuite a livello globale. Per le applicazioni distribuite a livello globale è necessario un database distribuito a livello globale, che può replicare in modo trasparente i dati ovunque nel mondo per consentire alle applicazioni di operare su una copia dei dati vicina agli utenti.

Azure Cosmos DB è un sistema di database distribuito a livello globale che consente di leggere e scrivere dati dalle repliche locali del database. Azure Cosmos DB replica in modo trasparente i dati in tutte le aree associate all'account Azure Cosmos DB. Azure Cosmos DB è un servizio di database distribuito a livello globale e progettato per garantire bassa latenza, scalabilità elastica della velocità effettiva, semantica ben definita per la coerenza dei dati e disponibilità elevata. In breve, se l'applicazione richiede tempi di risposta rapidi ovunque nel mondo, se è necessario essere sempre online e richiede scalabilità illimitata ed elastica della velocità effettiva e dell'archiviazione, è consigliabile compilare l'applicazione in Azure Cosmos DB.

È possibile configurare i database in modo che vengano distribuiti a livello globale e disponibili in qualsiasi area di Azure. Per ridurre la latenza, inserire i dati in un punto più vicino a quello in cui si trovano gli utenti. La scelta delle aree necessarie dipende la portata globale dell'applicazione e dalla posizione degli utenti. Azure Cosmos DB replica in modo trasparente i dati in tutte le aree associate all'account Azure Cosmos DB. Fornisce un'unica immagine di sistema del database e dei contenitori di Azure Cosmos DB distribuiti a livello globale che l'applicazione può leggere e scrivere in locale.

Con Azure Cosmos DB è possibile aggiungere o rimuovere le aree associate all'account in qualsiasi momento. Non è necessario sospendere l'esecuzione o ridistribuire l'applicazione per aggiungere o rimuovere un'area. Azure Cosmos DB è disponibile in tutti e cinque gli ambienti cloud di Azure distinti disponibili per i clienti:

  • Cloud Azure pubblico, disponibile a livello globale.

  • Azure China 21Vianet è disponibile tramite una partnership unica tra Microsoft e 21Vianet, uno dei principali provider Internet del paese in Cina.

  • Azure Germania fornisce servizi con un modello di trustee dei dati, che garantisce che i dati dei clienti rimangano in Germania sotto il controllo di T-Systems International GmbH, una filiale di Deutsche Telekom, che funge da trustee dei dati tedesco.

  • Azure per enti pubblici è disponibile in quattro aree negli Stati Uniti per enti pubblici degli Stati Uniti e i rispettivi partner.

  • Azure per enti pubblici per il Dipartimento della Difesa (DoD) è disponibile in due aree nel Stati Uniti al Dipartimento della Difesa degli Stati Uniti.

Topologia di distribuzione a disponibilità elevata

Vantaggi chiave della distribuzione globale

Creare app attive globali attive. Con il nuovo protocollo di replica in più aree, ogni area supporta sia scritture che letture. La funzionalità di scrittura in più aree abilita anche:

  • Scalabilità elastica illimitata per la scrittura e la lettura.
  • Disponibilità in lettura e scrittura pari al 99,999% in tutto il mondo.
  • Letture e scritture gestite in meno di 10 millisecondi nel 99% dei casi.

Quando si aggiungono e rimuovono aree dall'account Azure Cosmos DB, l'applicazione non deve essere ridistribuibile o sospesa, continua a essere sempre a disponibilità elevata.

Compilare applicazioni a reattività elevata. L'applicazione può eseguire letture e scritture quasi in tempo reale in tutte le aree scelte per il database. Azure Cosmos DB gestisce internamente la replica dei dati tra aree con garanzie a livello di coerenza del livello selezionato.

Creare app a disponibilità elevata. L'esecuzione di un database in più aree del mondo ne aumenta la disponibilità. Se un'area non è disponibile, le richieste dell'applicazione vengono gestite automaticamente dalle altre aree. Azure Cosmos DB offre disponibilità del 99,999% in lettura e scrittura per i database in più aree.

Mantenere la continuità aziendale durante le interruzioni a livello di area. Azure Cosmos DB supporta il failover gestito dal servizio durante un'interruzione a livello di area. In questi casi, Azure Cosmos DB continua a garantire la conformità ai contratti di servizio per latenza, disponibilità, coerenza e velocità effettiva. Per assicurare che l'intera app sia a disponibilità elevata, Azure Cosmos DB offre un'API di failover manuale che consente di simulare un'interruzione a livello di area. Con questa API è possibile eseguire esercitazioni periodiche per verificare la continuità aziendale.

Ridimensionare la velocità effettiva di lettura e scrittura a livello globale. È possibile abilitare ogni area in modo che sia scrivibile e ridimensionare in modo elastico le letture e le scritture in tutto il mondo. La velocità effettiva configurata dall'applicazione in un database di Azure Cosmos DB o in un contenitore viene effettuato il provisioning in tutte le aree associate all'account Azure Cosmos DB. La velocità effettiva con provisioning è garantita dai contratti di servizio con supporto finanziario.

Scegliere tra diversi modelli di coerenza ben definiti. Il protocollo di replica di Azure Cosmos DB offre cinque modelli di coerenza ben definiti, pratici e intuitivi. Ogni modello prevede un compromesso ottimale tra coerenza e prestazioni. Usare questi modelli di coerenza per creare con facilità applicazioni distribuite a livello globale.

Passaggi successivi

Altre informazioni sulla distribuzione globale sono disponibili negli articoli seguenti: