Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
PERF03-BP01 Utilizza un archivio dati appositamente progettato che supporti al meglio i requisiti di accesso e archiviazione dei dati
Comprendi le caratteristiche dei dati (come la condivisione, le dimensioni, la dimensione della cache, gli schemi di accesso, la latenza, il throughput e la persistenza dei dati) per selezionare i data store (archiviazione o database) dedicati per il tuo carico di lavoro.
Anti-pattern comuni:
-
Continui a utilizzare un datastore per via dell'esperienza e delle competenze interne relative a quel particolare tipo di soluzione di database.
-
Ritieni che tutti i carichi di lavoro abbiano requisiti di accesso e archiviazione di dati simili.
-
Non hai implementato un catalogo di dati per eseguire l'inventario dei tuoi asset.
Vantaggi dell'adozione di questa best practice: la comprensione delle caratteristiche e dei requisiti dei dati ti consente di determinare la tecnologia di archiviazione più efficiente e performante appropriata per le tue esigenze del carico di lavoro.
Livello di rischio associato se questa best practice non fosse adottata: elevato
Guida all'implementazione
Quando selezionate e implementate l'archiviazione dei dati, assicuratevi che le caratteristiche di interrogazione, scalabilità e archiviazione supportino i requisiti relativi ai dati del carico di lavoro. AWS offre numerose tecnologie di archiviazione dei dati e di database, tra cui storage a blocchi, storage di oggetti, storage in streaming, file system, database relazionali, chiave-valore, documentali, in memoria, grafici, di serie temporali e di registro. Ogni soluzione di gestione dei dati offre soluzioni e configurazioni adatte a gestire i tuoi casi d'uso e modelli di dati. Comprendendo le caratteristiche e i requisiti dei dati, è possibile abbandonare la tecnologia di storage monolitica e adottare approcci restrittivi per concentrarsi sulla gestione appropriata dei dati. one-size-fits-all
Passaggi dell'implementazione
-
Esegui un inventario dei vari tipi di dati esistenti nel tuo carico di lavoro.
-
Comprendi e documenta le caratteristiche e i requisiti dei dati, tra cui:
-
Tipo di dati (non strutturati, semi-strutturati, relazionali)
-
Volume e crescita dei dati
-
Durabilità dei dati: persistenti, effimeri, transitori
-
ACIDrequisiti (atomicità, coerenza, isolamento, durabilità)
-
Schemi di accesso ai dati (con uso intensivo di lettura o scrittura)
-
Latenza
-
Prestazioni
-
IOPS(operazioni di ingresso/uscita al secondo)
-
Periodo di conservazione dei dati
-
-
Scopri i diversi archivi di dati (servizi di archiviazione e database) disponibili per il tuo carico di lavoro e AWS che possono soddisfare le caratteristiche dei tuoi dati, come descritto in. PERF01-BP01 Scopri e comprendi i servizi e le funzionalità cloud disponibili Alcuni esempi di tecnologie di archiviazione AWS e delle loro caratteristiche chiave sono:
Tipo AWS Servizi Caratteristiche chiave Archiviazione di oggetti Amazon S3 Scalabilità illimitata, alta disponibilità e molteplici opzioni di accessibilità. L'accesso a oggetti e il relativo trasferimento da e verso Amazon S3 può utilizzare un servizio, come Transfer Acceleration o Punti di accesso , per supportare la posizione, le esigenze di sicurezza e i modelli di accesso. Archiviazione Amazon S3 Glacier Progettato per l'archiviazione dei dati. Archiviazione in streaming Acquisizione e archiviazione efficienti dei dati in streaming. File system condiviso File system montabile a cui è possibile accedere da più tipi di soluzioni di calcolo.
File system condiviso Amazon FSx Basato sulle più recenti soluzioni di AWS elaborazione per supportare quattro file system di uso comune: Open NetApp ONTAPZFS, Windows File Server e Lustre. FSxLa latenza, la velocità effettiva e la velocità effettiva di Amazon IOPS variano in base al file system e devono essere prese in considerazione quando si seleziona il file system giusto per le esigenze di carico di lavoro. Storage a blocchi Amazon Elastic Block Store (AmazonEBS) Servizio di storage a blocchi scalabile e ad alte prestazioni progettato per Amazon Elastic Compute Cloud (Amazon). EC2 Amazon EBS include storage SSD supportato per carichi di lavoro transazionali e intensivi e HDD storage supportato per carichi di lavoro con throughput IOPS intensivo. Database relazionale Amazon Aurora , AmazonRDS, Amazon Redshift . Progettato per supportare transazioni ACID (atomicità, coerenza, isolamento, durabilità) e mantenere l'integrità referenziale e una forte coerenza dei dati. Molte applicazioni tradizionali, la pianificazione delle risorse aziendali (ERP), la gestione delle relazioni con i clienti (CRM) e l'e-commerce utilizzano database relazionali per archiviare i propri dati. Database chiave-valore Amazon DynamoDB Ottimizzato per schemi di accesso di uso comune, in genere per archiviare e recuperare grandi volumi di dati. Le app Web dal traffico elevato, i sistemi di e-commerce e le applicazioni di videogiochi sono casi d'uso tipici dei database chiave-valore. Database di documenti Amazon DocumentDB Progettato per archiviare dati semistrutturati come documenti similiJSON. Questi database aiutano gli sviluppatori a creare e aggiornare rapidamente applicazioni quali gestione di contenuti, cataloghi e profili utente. Database in memoria Amazon ElastiCache, Amazon MemoryDB per Redis Vengono utilizzati per applicazioni che richiedono accesso in tempo reale ai dati, bassissima latenza ed elevatissimo throughput. È possibile utilizzare database in memoria per la memorizzazione nella cache delle applicazioni, la gestione delle sessioni, la classifica dei giochi, l'archivio delle caratteristiche ML a bassa latenza, il sistema di messaggistica dei microservizi e un meccanismo di streaming a elevato throughput. Database a grafo Amazon Neptune Utilizzato con le applicazioni che devono navigare ed eseguire query su milioni di relazioni tra set di dati a grafo altamente connessi, con una latenza misurata in millisecondi su larga scala. Molte aziende utilizzano database a grafo per il rilevamento di attività fraudolente, i social network e i motori di raccomandazione. Database di serie temporali Amazon Timestream Utilizzato per raccogliere, sintetizzare e derivare in modo efficiente approfondimenti dai dati che cambiano nel tempo. Le applicazioni IoT e DevOps la telemetria industriale possono utilizzare database di serie temporali. Colonna ampia Amazon Keyspaces (per Apache Cassandra) Utilizza tabelle, righe e colonne, ma a differenza di un database relazionale, i nomi e il formato delle colonne possono variare da riga a riga all'interno della stessa tabella. In genere, gli store colonnari sono utilizzati nelle applicazioni industriali su larga scala per la manutenzione delle apparecchiature, la gestione delle flotte e l'ottimizzazione dei percorsi. Di libri mastri Database Amazon Quantum Ledger (Amazon) QLDB Fornisce un'autorità centralizzata e affidabile per mantenere un registro delle transazioni scalabile, immutabile e verificabile tramite crittografia per ogni applicazione. I database di libri mastri vengono utilizzati per sistemi di record, catena di fornitura, registrazioni e persino transazioni bancarie. -
Se stai creando una piattaforma dati, sfrutta un'architettura di dati moderna
AWS per integrare il tuo data lake, il data warehouse e gli archivi dati creati appositamente. -
Le domande chiave da porsi quando si sceglie un data store per il carico di lavoro sono le seguenti:
Domanda Aspetti da considerare Come sono strutturati i dati? Quale livello di integrità referenziale è richiesto? -
Per i vincoli di chiave esterna, i database relazionali come Amazon e RDS
Aurora possono fornire questo livello di integrità. -
In genere, all'interno di un SQL modello senza dati, i dati vengono denormalizzati in un unico documento o in una raccolta di documenti da recuperare in un'unica richiesta anziché riunirli tra più documenti o tabelle.
È richiesta la conformità ACID (atomicità, coerenza, isolamento, durabilità)? -
Se le ACID proprietà associate ai database relazionali sono obbligatorie, prendi in considerazione un database relazionale come Amazon
e RDS Aurora. -
Se è richiesta una forte coerenza per No SQL database
, è possibile utilizzare letture fortemente coerenti con DynamoDB .
Come cambierà nel tempo l'archiviazione? In che modo questo avrà effetto sulla scalabilità? -
I database serverless come DynamoDB
e Amazon Quantum Ledger Database (Amazon ) verranno scalati dinamicamente. QLDB -
Per i database relazionali sono previsti limiti massimi per l'archiviazione allocata, al raggiungimento dei quali si rende spesso necessario partizionare orizzontalmente tali database tramite meccanismi quali la partizione.
Qual è la proporzione di query in lettura rispetto alle quelle in scrittura? Il caching potrebbe probabilmente migliorare le prestazioni? -
I carichi di lavoro impegnativi in lettura possono trarre vantaggio da un livello di caching, ad esempio DAX
se il database è ElastiCache DynamoDB.
L'archiviazione e la modifica (OLTP- Elaborazione delle transazioni online) o il recupero e il reporting (OLAP- Elaborazione analitica online) hanno una priorità più elevata? -
Per l'elaborazione transazionale read-as-is ad alto rendimento, prendi in considerazione un database No come DynamoDB. SQL
-
Per modelli di lettura complessi e ad alta velocità (come join) con coerenza, usa Amazon. RDS
-
Per le query analitiche, prendi in considerazione un database a colonne come Amazon Redshift o l'esportazione dei dati su Amazon
S3 e l'esecuzione di analisi utilizzando Athena o Amazon. QuickSight
Che livello di durabilità è necessario per i dati? -
Aurora replica automaticamente i dati su tre zone di disponibilità all'interno di una regione, il che significa che i dati sono altamente durevoli con minori probabilità di perdite.
-
DynamoDB viene automaticamente replicato in più zone di disponibilità per offrire livelli elevati di disponibilità e durabilità dei dati.
-
Amazon S3 offre il 99,999999999 di durabilità. Molti servizi di database, come Amazon RDS e DynamoDB, supportano l'esportazione di dati su Amazon S3 per la conservazione e l'archiviazione a lungo termine.
È presente il desiderio di abbandonare i motori di database commerciali o i costi di licenza? -
Prendi in considerazione motori open source come Postgre SQL e My on SQL Amazon o RDS Aurora.
-
Sfrutta AWS Database Migration Service
e AWS Schema Conversion Tool per eseguire le migrazioni dai motori di database commerciali a quelli open-source
Quali sono le aspettative operative per il database? Il passaggio ai servizi gestiti è una priorità? -
Sfruttare Amazon RDS anziché Amazon EC2 e DynamoDB o Amazon DocumentDB anziché ospitare autonomamente SQL un database No può ridurre il sovraccarico operativo.
Come avviene attualmente l'accesso al database? Si tratta solo di accesso alle applicazioni o ci sono utenti di business intelligence (BI) e altre applicazioni connesse? off-the-shelf -
In presenza di dipendenze da strumenti esterni, potresti dover mantenere la compatibilità con i database che supportano. Amazon RDS è completamente compatibile con le diverse versioni del motore che supporta, tra cui Microsoft SQL Server, OracleSQL, My e SQL Postgre.
-
-
Esegui esperimenti e benchmarking in un ambiente non di produzione per identificare quale datastore può soddisfare al meglio i requisiti del tuo carico di lavoro.
Risorse
Documenti correlati:
Video correlati:
-
AWS re:Invent 2023: creazione e ottimizzazione di un data lake su Amazon Simple Storage Service
-
AWS re:Invent 2022: creazione di moderne architetture di dati su AWS
-
AWS re:Invent 2022: creazione di architetture di data mesh su AWS
-
AWS re:Invent 2023: approfondimenti su Amazon Aurora e sulle sue innovazioni
-
AWS re:Invent 2023: modellazione avanzata dei dati con Amazon DynamoDB
-
AWS re:Invent 2022: modernizza le app con database creati appositamente
Esempi correlati: