Condividi tramite


Confrontare Azure DocumentDB con Azure Cosmos DB

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
  • Servizi di intelligenza artificiale di Azure: 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

Passaggi successivi