Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DocumentDB e Azure Cosmos DB sono entrambi potenti servizi di database NoSQL progettati per facilitare la creazione di applicazioni efficaci con modelli di dati JSON flessibili. Anche se entrambi servono il mercato del database NoSQL, sono ottimizzati per diversi casi d'uso e modelli architetturali. Questa guida consente di comprendere il servizio più adatto ai requisiti specifici.
Scegliere il servizio più adatto alle proprie esigenze
Sia Azure DocumentDB che Azure Cosmos DB sono progettati per supportare il successo con i database NoSQL. La chiave consiste nel selezionare il servizio in linea con i requisiti e i modelli di crescita specifici dell'applicazione.
Quando scegliere Azure Cosmos DB
Azure Cosmos DB è ottimizzato per scenari di scalabilità orizzontale in cui è necessario:
- Distribuzione globale e disponibilità elevata: contratto di servizio con disponibilità leader di settore pari al 99,999% con failover automatico in più regioni
- Scalabilità e prestazioni elevate: progettata per le applicazioni che devono gestire milioni di operazioni al secondo con tempi di risposta in millisecondi a cifra singola
- Scalabilità istantanea: scalabilità automatica e trasparente che risponde immediatamente ai picchi di traffico senza periodi di riscaldamento
- Applicazioni cruciali: sicurezza di livello aziendale, certificazioni di conformità e prestazioni garantite con carico estremo
- Architetture di microservizi: eccellente per i sistemi distribuiti che richiedono prestazioni coerenti in più servizi e aree
- Applicazioni di intelligenza artificiale e ricerca vettoriale: funzionalità di database vettoriali native con supporto per incorporamenti, abilitazione della generazione avanzata del recupero (RAG), ricerca semantica e sistemi di memoria dell'agente di intelligenza artificiale
- Carichi di lavoro generativi di intelligenza artificiale: ricerca vettoriale integrata con più algoritmi (file invertito (IVF), mondo di piccole dimensioni navigabile gerarchicamente (HNSW), DiskANN) per l'archiviazione e la consultazione di incorporamenti vettoriali insieme ai dati operativi
Casi d'uso ideali: app Web ad alto traffico, raccolta dati IoT, giochi in tempo reale e siti di shopping globali. Ideale anche per chatbot di intelligenza artificiale, agenti di intelligenza artificiale, app RAG e ricerca semantica. Perfetto per qualsiasi app che necessita di prestazioni garantite in tutto il mondo.
Quando scegliere Azure DocumentDB
Azure DocumentDB è ottimizzato per scenari di aumento delle prestazioni in cui è necessario:
- Funzionalità di query avanzate: supporto MQL (Advanced MongoDB Query Language) con pipeline di aggregazione complesse, join e query analitiche
- Esperienza di sviluppo familiare: compatibilità completa del protocollo di collegamento mongoDB con driver, strumenti e modelli di sviluppo esistenti
- Modellazione flessibile dei dati: basata sul motore PostgreSQL, che offre un supporto affidabile per strutture di documenti complesse e indicizzazione avanzata
- Scalabilità conveniente: modello di determinazione prezzi basato su vCore che viene ridimensionato verticalmente con costi prevedibili
- Funzionalità di query avanzate: supporto per la ricerca full-text, query geospaziali, ricerca vettoriale e operazioni di aggregazione sofisticate
Casi d'uso ideali: ideale per sistemi di contenuto, strumenti di analisi dei dati e app con query complesse. Ideale anche per lo spostamento da MongoDB o quando sono necessarie funzionalità avanzate del database di documenti.
Differenze di architettura e scalabilità
Comprendere gli approcci architetturali fondamentali di ogni servizio aiuta a spiegare i diversi punti di forza e casi d'uso ottimali.
Azure Cosmos DB (architettura Scale-Out)
Azure Cosmos DB usa un modello basato su unità richiesta (UR) progettato per il ridimensionamento elastico e orizzontale:
- Partizionamento automatico: i dati vengono distribuiti automaticamente tra più partizioni per ottenere prestazioni ottimali
- Controllo granulare della velocità effettiva: scalabilità con incrementi minimi, pari a 1/100 di un vCore tradizionale
- Opzioni serverless: prezzi con pagamento in base all'operazione per carichi di lavoro variabili
- Supporto di più modelli: supporto nativo per modelli di dati di documenti, chiave-valore, grafo e famiglia di colonne
Azure DocumentDB (Architettura Scale-Up)
Azure DocumentDB usa un modello basato su vCore ottimizzato per la scalabilità verticale e funzionalità avanzate:
- Risorse di calcolo dedicate: livelli di cluster familiari (M30, M40, M50+) con CPU, memoria e archiviazione dedicate
- PostgreSQL foundation: usa l'ecosistema avanzato e le funzionalità avanzate di PostgreSQL
- Compatibilità di MongoDB: compatibilità completa del protocollo di collegamento con gli strumenti e le applicazioni MongoDB
- Indicizzazione avanzata: supporto per indici di testo, indici geospaziali, indici vettoriali e indici composti
Confronto delle funzionalità
La tabella seguente fornisce un confronto side-by-side delle funzionalità chiave che consentono di valutare il servizio più adatto alle proprie esigenze.
| Azure Cosmos DB, un servizio di database distribuito globale di Microsoft | Azure DocumentDB | |
|---|---|---|
| Disponibilità contratto di servizio | 99,999% (multi-regione) | 99,995% |
| Distribuzione globale | Distribuzione multi-regione chiavi in mano con failover automatico | Distribuzione a livello di area con repliche geografiche |
| Modello di ridimensionamento | Orizzontale (basato su RU) | Verticale (basato su modello vCore) |
| Complessità delle query | Ottimizzato per le letture dei punti e le query semplici | Pipeline di aggregazione avanzate e join complessi |
| Compatibilità di MongoDB | Operazioni di Base di MongoDB | Funzionalità complete del protocollo di collegamento MongoDB e MQL |
| Ricerca vettoriale | Database vettoriale nativo con algoritmi IVF, HNSW, DiskANN | Supporto pg_vector integrato per HNSW e IVF |
| Applicazioni di intelligenza artificiale/rag | Incorporamenti di vettori predefiniti, memoria dell'agente di intelligenza artificiale, memorizzazione nella cache semantica | Ricerca vettoriale per applicazioni RAG e semantiche |
| Modello di determinazione prezzi | Variabile (basata su UR) o serverless | Stimabile (calcolo e archiviazione) |
| Modello di sviluppo | Applicazioni native del cloud | Migrazione e sviluppo di applicazioni MongoDB |
Caratteristiche delle prestazioni
Ogni servizio eccelle in diversi scenari di prestazioni in base alle architetture sottostanti e alle strategie di ottimizzazione.
Punti di forza di Azure Cosmos DB
- Latenza ultra bassa: tempi di risposta in millisecondi a cifra singola a livello globale
- Scalabilità istantanea: tempo di riscaldamento zero per i picchi di traffico
- Garanzie di larghezza di banda: impegni di prestazioni supportati da SLA (accordo sul livello di servizio)
- Ottimizzazione lettura punti: ricerche rapide di singoli documenti in base all'ID e alla chiave di partizione
Punti di forza di Azure DocumentDB
- Prestazioni delle query: ottimizzate per operazioni di aggregazione complesse e query analitiche
- Flessibilità di indicizzazione: strategie avanzate di indicizzazione per modelli di query diversi
- Supporto delle transazioni: transazioni ACID con semantica MongoDB
- Carichi di lavoro analitici: più adatto per gli scenari di creazione di report e business intelligence
Integrazione ed ecosistema
Entrambi i servizi offrono funzionalità di integrazione avanzate, anche se si connettono con diversi ecosistemi e strumenti in base alle loro basi architetturali.
Integrazioni di Azure Cosmos DB
Azure Cosmos DB include le integrazioni seguenti:
- Collegamento ad Azure Synapse: Analisi senza processi di estrazione, trasformazione e caricamento (ETL)
- Funzioni di Azure: elaborazione serverless con trigger feed di modifiche
- Power BI: Connettività diretta per business intelligence
- Strumenti Foundry: integrazione nativa per carichi di lavoro di Intelligenza Artificiale e Machine Learning
- Azure OpenAI: integrazione senza problemi per la generazione di incorporamenti e le applicazioni RAG
- LangChain e i framework di AI: supporto predefinito per i framework di sviluppo dell'intelligenza artificiale più diffusi
- Kernel semantico: integrazione per la creazione di agenti di intelligenza artificiale con sistemi di memoria persistente
Integrazioni di Azure DocumentDB
Azure DocumentDB include le integrazioni seguenti:
- Ecosistema MongoDB: compatibilità completa con gli strumenti e le librerie MongoDB esistenti
- Estensioni PostgreSQL: accesso a un ecosistema di estensioni PostgreSQL avanzato
- Servizi di Azure: integrazione con i servizi di monitoraggio, sicurezza e rete di Azure
- Open source: basato sul motore DocumentDB open source con licenze MIT
Considerazioni sulla migrazione
Quando si valuta uno spostamento tra servizi, prendere in considerazione l'architettura corrente dell'applicazione, i requisiti di prestazioni e i piani di crescita futuri.
Passaggio ad Azure Cosmos DB
Prendere in considerazione Azure Cosmos DB se l'applicazione corrente:
- presenta modelli di traffico imprevedibili che richiedono un ridimensionamento istantaneo
- Richiede la distribuzione globale per la prossimità degli utenti
- I modelli di query semplici sono incentrati sulle ricerche di documenti
- Richiede prestazioni a bassa latenza garantite
Passaggio ad Azure DocumentDB
Prendere in considerazione Azure DocumentDB se l'applicazione corrente:
- Usa le query e le pipeline di aggregazione MongoDB complesse
- Richiede l'indicizzazione avanzata e l'ottimizzazione delle query
- Vantaggi del set di funzionalità maturo di PostgreSQL
- Richiede prezzi prevedibili e basati su vCore
Come iniziare
Fare il primo passo con entrambi i servizi è semplice, con risorse complete disponibili per supportare il percorso. Entrambi i servizi offrono strumenti di migrazione completi e supporto per facilitare la transizione:
- Strumenti di valutazione: valutare il carico di lavoro e i requisiti correnti
- Utilità di migrazione: strumenti nativi per la migrazione di dati e applicazioni
- Documentazione ed esempi: risorse estese per entrambi i servizi
- Opzioni di supporto: piani di supporto di Azure per facilitare il percorso di migrazione