Informazioni sui database NoSQL distribuiti
SI APPLICA A: NoSQL MongoDB Cassandra Gremlin Tabella
Azure Cosmos DB è una piattaforma di database distribuiti a livello globale per database NoSQL e relazionali su qualsiasi scala. Questo articolo illustra i database NoSQL distribuiti nel contesto delle varie opzioni dell'API NoSQL di Azure Cosmos DB.
Per altre informazioni sulle opzioni di archiviazione dei dati disponibili in Azure, vedere Scegliere l'archivio dati appropriato nel Centro architetture di Azure.
Sfide
Una delle difficoltà di gestione di un sistema di database deriva dal fatto che molti motori di database applicano blocchi e latch per imporre una semantica ACID rigorosa. Questo approccio è utile negli scenari in cui i database richiedono una coerenza elevata dello stato dei dati indipendentemente dalla modalità di accesso. Sebbene questo approccio prometta coerenza elevata, prevede compromessi pesanti rispetto alla concorrenza, alla latenza e alla disponibilità. Questa restrizione è fondamentalmente una limitazione dell'architettura che obbliga tutti i team con un carico di lavoro transazionale elevato a trovare soluzioni alternative come la distribuzione manuale o il partizionamento orizzontale dei dati in molti database o nodi di database diversi. Queste soluzioni alternative possono richiedere tempi prolungati ed essere difficili da implementare.
Database NoSQL
I database NoSQL sono database progettati per semplificare la scalabilità orizzontale modificando la coerenza per ridurre al minimo i compromessi in termini di concorrenza, latenza e disponibilità. I database NoSQL offrono livelli configurabili di coerenza, in modo che i dati possano essere ridimensionati su molti nodi e offrire velocità o disponibilità più in linea con le esigenze dell'applicazione.
Database distribuiti
I database distribuiti sono database che vengono ridimensionati su più istanze o località diverse. Anche se molti database NoSQL sono progettati per la scalabilità, non tutti sono necessariamente database distribuiti. Inoltre, molti database NoSQL richiedono tempo e impegno per la distribuzione tra nodi ridondanti per la ridondanza locale o a livello globale per la ridondanza geografica. I requisiti di pianificazione, implementazione e rete per un database distribuito a livello globale possono essere complessi.
Azure Cosmos DB
Con un database distribuito che è anche un database NoSQL, i carichi di lavoro transazionali elevati diventano improvvisamente più facili da creare e gestire. Azure Cosmos DB è una piattaforma di database che offre API per dati distribuiti in entrambe le varianti NoSQL e relazionale. In particolare, molte delle API NoSQL offrono varie opzioni di coerenza che consentono di ottimizzare il livello di coerenza o disponibilità in base ai requisiti dell'applicazione reale. È possibile configurare il database per offrire coerenza elevata con compromessi in termini di velocità e disponibilità. Allo stesso, è possibile configurare il database per offrire prestazioni ottimali con compromessi prevedibili in termini di coerenza e latenza dei dati replicati. Azure Cosmos DB distribuirà automaticamente e dinamicamente i dati tra istanze locali o a livello globale. Azure Cosmos DB può anche fornire garanzie ACID e ridimensionare la velocità effettiva in linea con i requisiti dell'applicazione.
Passaggi successivi
Si vuole iniziare a usare Azure Cosmos DB?