Esplorare le API supportate
Azure Cosmos DB offre più API di database, tra cui NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin e Table. Usando queste API, è possibile modellare i dati reali usando documenti, coppie chiave-valore, grafo e modelli di dati della famiglia di colonne. Queste API consentono alle applicazioni di considerare il Azure Cosmos DB come se fosse costituito da diverse altre tecnologie di database, senza il sovraccarico della gestione, e con approcci di scalabilità. Azure Cosmos DB consente di usare gli ecosistemi, gli strumenti e le competenze già disponibili per la modellazione dei dati ed eseguire query con le varie API.
Tutte le API offrono scalabilità automatica di archiviazione e velocità effettiva, flessibilità e garanzie di prestazioni. Non esiste un'API migliore ed è possibile scegliere una qualsiasi delle API per compilare l'applicazione
Considerazioni relative alla scelta di una API
L'API per NoSQL è nativa di Azure Cosmos DB.
Le API per MongoDB, PostgreSQL, Cassandra, Gremlin e Table implementano il protocollo wire dei motori di database open source. Queste API sono più appropriate se le condizioni seguenti sono vere:
- Se si dispone di applicazioni MongoDB, PostgreSQL Cassandra o Gremlin
- Se non si vuole riscrivere l'intero livello di accesso ai dati
- Se si vuole usare l'ecosistema di sviluppatori open source, i driver client, le competenze e le risorse per il database
API per NoSQL
L'API Azure Cosmos DB per NoSQL archivia i dati in formato documento. Offre la migliore esperienza end-to-end con controllo completo sull'interfaccia, sul servizio e sulle librerie client dell'SDK. Tutte le nuove funzionalità che vengono introdotte in Azure Cosmos DB sono prima di tutto disponibili negli account API per NoSQL. Gli account NoSQL forniscono supporto per eseguire query sugli elementi usando la sintassi SQL (Structured Query Language).
API per MongoDB
L'API Azure Cosmos DB per MongoDB archivia i dati in una struttura di documenti tramite il formato BSON. È compatibile con il protocollo di collegamento MongoDB; tuttavia, non usa alcun codice nativo correlato a MongoDB. L'API per MongoDB è un'ottima scelta se si vuole usare l'ecosistema e le competenze MongoDB più ampi, senza compromettere l'uso delle funzionalità di Azure Cosmos DB.
Api per PostgreSQL
Azure Cosmos DB for PostgreSQL è un servizio gestito per l'esecuzione di PostgreSQL su qualsiasi scala, con la superpotenza open source Citus delle tabelle distribuite. Archivia i dati in un singolo nodo o distribuiti in una configurazione a più nodi.
API per Apache Cassandra
L'API Azure Cosmos DB per Cassandra archivia i dati in uno schema orientato alle colonne. Apache Cassandra offre un approccio altamente distribuito e con scalabilità orizzontale per l'archiviazione di grandi volumi di dati offrendo allo stesso tempo un approccio flessibile a uno schema orientato alle colonne. L'API per Cassandra in Azure Cosmos DB si allinea a questa filosofia di approccio ai database NoSQL distribuiti. Questa API per Cassandra è un protocollo wire compatibile con Apache Cassandra nativo.
API per Apache Gremlin
L'API Azure Cosmos DB per Gremlin consente agli utenti di eseguire query sui grafi e di archiviare i dati come bordi e vertici.
Usare l'API per Gremlin per gli scenari seguenti:
- Coinvolgimento di dati dinamici
- Coinvolgimento di dati con relazioni complesse
- Coinvolgimento di dati troppo complessi per essere modellati con database relazionali
- Se si vuole usare l'ecosistema e le competenze Gremlin esistenti
API per Table
L'API Azure Cosmos DB per Table archivia i dati in formato chiave/valore. Se attualmente si usa l'archiviazione tabelle di Azure, è possibile che vengano riscontrate alcune limitazioni in termini di latenza, scalabilità, velocità effettiva, distribuzione globale, gestione degli indici, prestazioni di query ridotte. API per Table supera queste limitazioni ed è consigliabile eseguire la migrazione dell'app se si vogliono sfruttare i vantaggi di Azure Cosmos DB. L'API per Table supporta solo scenari OLTP.