Introduzione
Azure Cosmos DB è il database NoSQL completamente gestito di Microsoft in Azure. Come database NoSQL, Azure Cosmos DB è non relazionale e scalabile orizzontalmente o scalabile. Questa possibilità di aumentare il numero di istanze viene ottenuta aggiungendo più nodi, o partizioni, a un contenitore.
Questa capacità di aumentare il numero di istanze consente ai contenitori di crescere fino a dimensioni teoricamente infinite. Pertanto, man mano che un contenitore aumenta di dimensioni, il contenitore può anche gestire un numero crescente di richieste, offrendo le stesse prestazioni indipendentemente dalla dimensione del contenitore.
Tuttavia, per ottenere questo livello di scalabilità, gli utenti devono comprendere i concetti e le tecniche specifici di Azure Cosmos DB per la modellazione e il partizionamento dei dati. Gli utenti devono anche comprendere i concetti generali per i database NoSQL.
Scenario
Si supponga di lavorare per una startup di vendite al dettaglio che sta progettando un database per gestire gli ordini online. Si sta lavorando a una proposta per una progettazione efficiente del database usando Azure Cosmos DB per NoSQL. Viene fornito un modello di relazione di entità da cui iniziare. Si vuole fornire la massima scalabilità, prestazioni ed efficienza possibili, e ottenere questa attività in modo che i dati siano modellati correttamente.
Il seguente diagramma di relazione tra le entità (modello ER) fornisce i dettagli delle nove entità che si prevede di usare. Il modello relazionale ha nove entità nelle proprie tabelle.
Come si fa a farlo?
In questo modulo il modello di dati relazionale esistente viene riprogettato come database NoSQL per l'applicazione di e-commerce. Durante questo processo si apprendono i concetti seguenti:
- Differenze tra database relazionali e noSQL: Vengono esaminate alcune delle differenze tra database NoSQL e database relazionali e perché sono così.
- Uso dei modelli di accesso ai dati dell'applicazione per modellare i dati: Si apprenderà come la comprensione del modo in cui un'applicazione legge e scrive i dati influisce su come modellarli per un database NoSQL.
- Incorporamento e riferimento: Si apprenderà quando è necessario incorporare i dati all'interno dello stesso documento rispetto a quando è necessario archiviare i dati come documento separato.
- Scelta di una chiave di partizione: Vengono illustrati i concetti chiave necessari per scegliere la chiave di partizione migliore per ottenere la scalabilità orizzontale e ottimizzare i carichi di lavoro di lettura o scrittura o entrambi.
- Ricerca di modellazione o dati di riferimento: Infine, si apprenderà come modellare i dati usati come ricerca o riferimento per altri dati.
Qual è l'obiettivo principale?
Al termine di questo modulo e del modulo complementare, relativo all'ottimizzazione del database con i criteri di modellazione avanzati per Azure Cosmos DB, si avranno le conoscenze e le competenze necessarie per modellare e partizionare correttamente i dati per un database NoSQL distribuito in Azure Cosmos DB.
Al termine di questo modulo si sarà in grado di:
- Determinare i criteri di accesso per i dati.
- Applicare il modello di dati e le strategie di partizionamento per supportare un database NoSQL efficiente e scalabile.