Scegliere una soluzione di archiviazione in Azure

Completato

La scelta della soluzione di archiviazione appropriata può contribuire a migliorare le prestazioni, diminuire i costi e migliorare la gestibilità. Esistono requisiti di archiviazione diversi per ogni tipo di dati. È compito dei responsabili tecnici determinare la soluzione di archiviazione ottimale per i tipi di dati usati dall'azienda. Considerare sempre il tipo di dati, le operazioni necessarie, la latenza prevista e la necessità del supporto transazionale.

In questa unità si applicheranno le nozioni apprese sui dati dello scenario di vendita online e si individuerà il servizio di Azure migliore per ogni set di dati.

Dati del catalogo prodotti

Classificazione dei dati: semistrutturati a causa della necessità di estendere o modificare lo schema per i nuovi prodotti.

Operazioni: I clienti richiedono un numero elevato di operazioni di lettura, con la possibilità di eseguire query su numerosi campi nel database. L'azienda inoltre richiede un numero elevato di operazioni di scrittura per tenere traccia dell'inventario che cambia continuamente.

Latenza e velocità effettiva: velocità effettiva elevata e bassa latenza.

Supporto transazionale: poiché i dati del prodotto sono associati al pagamento e all'inventario, il supporto transazionale è necessario.

Azure Cosmos DB supporta i dati semistrutturati o NoSQL per impostazione predefinita. Con Azure Cosmos DB è quindi disponibile il supporto di nuovi campi, come il campo "Bluetooth abilitato" o nuovi campi necessari in futuro.

Azure Cosmos DB supporta SQL per le query e tutte le proprietà sono indicizzate per impostazione predefinita. È possibile creare query in modo che i clienti possano filtrare sulla base di qualsiasi proprietà nel catalogo.

Azure Cosmos DB è anche conforme ad ACID, quindi le transazioni vengono completate in base a tali requisiti rigorosi. È disponibile un connettore OLTP per Azure Cosmos DB.

Un altro valore aggiunto di Azure Cosmos DB è la possibilità di replicare facilmente i dati ovunque. Se gli utenti di un sito di e-commerce sono concentrati negli Stati Uniti in Francia e in Inghilterra, è possibile replicare i dati nei data center in tali aree. La latenza risulta ridotta perché i dati sono stati spostati fisicamente più vicini agli utenti.

Anche con i dati replicati in tutto il mondo, è possibile scegliere uno di cinque livelli di coerenza. Scegliendo il livello di coerenza adatto si possono determinare i compromessi da accettare tra coerenza, disponibilità, latenza e velocità effettiva. È possibile aumentare le prestazioni per gestire l'aumento della domanda dei clienti durante i periodi di picco degli acquisti e ridurle durante i periodi di calma per limitare i costi.

Perché non scegliere altri servizi di Azure?

Il database SQL di Azure sarebbe la scelta ideale per questo set di dati se fosse possibile identificare il subset di proprietà comuni per la maggior parte dei prodotti e le proprietà delle variabili che potrebbero non esistere in alcuni prodotti. È possibile usare il database SQL di Azure per combinare i dati strutturati nelle colonne e i dati semistrutturati archiviati come colonne JSON che è possibile estendere facilmente. Il database SQL di Azure può offrire gran parte dei vantaggi di Azure Cosmos DB. Tuttavia, offre pochi vantaggi se la struttura dei dati cambia nelle diverse entità e non è possibile predefinire un set di proprietà comuni ripetute nella maggior parte delle entità. Diversamente da Azure Cosmos DB, che indicizza ogni proprietà nei documenti, Database SQL di Azure deve definire in modo esplicito le proprietà nei documenti semistrutturati da indicizzare. Azure Cosmos DB è una scelta migliore per i dati non altamente strutturati e per quelli delle variabili in cui non è possibile prevedere le proprietà da indicizzare. Database SQL di Azure supporta OLTP.

Anche altri servizi di Azure, come Archiviazione tabelle di Azure, Apache HBase in Azure HDInsight e cache di Azure per Redis, consentono di archiviare dati NoSQL. In questo scenario, dal momento che gli utenti vogliono eseguire query su più campi, Azure Cosmos DB è la scelta più adatta. Azure Cosmos DB indicizza ogni campo per impostazione predefinita, mentre altri servizi di Azure limitano i dati indicizzati. L'esecuzione di query su campi non indicizzati comporta prestazioni ridotte.

Foto e video

Classificazione dei dati: non strutturati.

Operazioni: Recupera solo in base all'ID, i clienti richiedono un numero elevato di operazioni di lettura con bassa latenza e le operazioni di creazione e aggiornamento saranno meno frequenti e possono avere una latenza più elevata rispetto alle operazioni di lettura.

Latenza e velocità effettiva: le operazioni di recupero in base all'ID devono supportare bassa latenza e velocità effettiva elevata. Le operazioni di creazione e aggiornamento possono avere una latenza più elevata rispetto alle operazioni di lettura.

Supporto delle transazioni: non necessario.

Archiviazione BLOB di Azure supporta l'archiviazione di file come foto e video. Si integra anche con la Rete di distribuzione dei contenuti di Azure per la memorizzazione nella cache dei contenuti usati più frequentemente e la loro archiviazione nei server perimetrali. La Rete di distribuzione dei contenuti di Azure riduce la latenza quando queste immagini vengono fornite agli utenti.

In Archiviazione BLOB di Azure è anche possibile spostare immagini dal livello di archiviazione ad accesso frequente al livello di archiviazione ad accesso sporadico o al livello di archiviazione archivio. Ciò consente di ridurre i costi e concentrare la velocità effettiva sulle immagini e i video visualizzati più di frequente.

Perché non scegliere altri servizi di Azure?

Si potrebbero caricare le immagini nel Servizio app di Azure, in modo che lo stesso server che esegue l'app fornisca anche le immagini. ma questa soluzione funzionerebbe solo se il numero di file è ridotto. Ma in presenza di numerosi file per un pubblico globale si otterranno prestazioni migliori usando Archiviazione BLOB di Azure con la Rete di distribuzione dei contenuti di Azure.

Dati di business

Classificazione dei dati: strutturati.

Operazioni: query analitiche complesse di sola lettura su più database.

Latenza e velocità effettiva: è prevista una certa latenza nei risultati a causa della natura complessa delle query.

Supporto delle transazioni: non necessario.

Gli analisti aziendali molto probabilmente eseguiranno query sui dati aziendali usando SQL, perché sono più esperti in questo linguaggio di query rispetto a qualsiasi altro. È possibile usare Database SQL di Azure come unica soluzione. Tuttavia, se si associa ad Azure Analysis Services, gli analisti dei dati possono creare un modello semantico sui dati in Database SQL di Azure. Gli analisti dei dati potranno quindi condividere il modello con gli utenti aziendali, che dovranno semplicemente connettersi al modello da qualsiasi strumento di business intelligence, per esplorare immediatamente i dati e ottenere informazioni dettagliate. Azure Analysis Services supporta OLAP.

Perché non scegliere altri servizi di Azure?

Azure Synapse Analytics supporta soluzioni OLAP e query SQL, ma i business analyst dovranno eseguire query tra database, non supportate da Azure Synapse Analytics.

Analisi di flusso di Azure è un'ottima soluzione per analizzare i dati e trasformarli in informazioni dettagliate di utilità pratica, ma è un servizio incentrato sui dati di streaming in tempo reale, mentre in questo scenario i business analyst esaminano solo dati cronologici.