PERF04-BP04 Scelta dello spazio di archiviazione dei dati in base ai modelli di accesso - Framework AWS Well-Architected

PERF04-BP04 Scelta dello spazio di archiviazione dei dati in base ai modelli di accesso

Utilizza gli schemi di accesso del carico di lavoro per decidere quali servizi e tecnologie utilizzare. Oltre ai requisiti non funzionali, come le prestazioni e il dimensionamento, i modelli di accesso influenzano pesantemente la scelta del database e delle soluzioni di archiviazione. La prima dimensione è data da necessità di transazioni, conformità ACID e letture coerenti. Non tutti i database supportano queste caratteristiche e la maggior parte dei database NoSQL fornisce un modello di consistenza eventuale. La seconda dimensione importante è la distribuzione delle scritture e delle letture nel tempo e nello spazio. Le applicazioni distribuite a livello globale devono considerare i modelli di traffico, la latenza e i requisiti di accesso per identificare la soluzione di archiviazione ottimale. Il terzo aspetto cruciale da scegliere è la flessibilità dei modelli di query, i modelli di accesso casuale e le query una tantum. Occorre inoltre tenere conto delle funzionalità di query altamente specializzate per l'elaborazione del testo e del linguaggio naturale, delle serie temporali e dei grafici.

Risultato desiderato: l'archiviazione di dati è stata selezionata in base a modelli di accesso ai dati identificati e documentati. Ciò potrebbe includere le query di lettura, scrittura e cancellazione più comuni, la necessità di calcoli e aggregazioni ad hoc, la complessità dei dati, l'interdipendenza dei dati e le esigenze di coerenza richieste.

Anti-pattern comuni:

  • È sufficiente selezionare un solo fornitore di database per semplificare la gestione delle operazioni.

  • Ritieni che gli schemi di accesso ai dati rimarranno coerenti nel tempo.

  • Implementi transazioni complesse, rollback e logica di coerenza nell'applicazione.

  • Il database è configurato per supportare un potenziale burst di traffico elevato, che fa sì che le risorse del database rimangano inattive per la maggior parte del tempo.

  • Utilizzo di un database condiviso per usi transazionali e analitici.

Vantaggi dell'adozione di questa best practice: la selezione e l'ottimizzazione dell'archiviazione dei dati in base ai modelli di accesso contribuirà a ridurre la complessità dello sviluppo e a ottimizzare le opportunità di prestazione. Capire quando utilizzare le repliche di lettura, le tabelle globali, il partizionamento dei dati e la memorizzazione nella cache, ti aiuterà a ridurre i costi operativi e a effettuare il dimensionamento in base alle esigenze del carico di lavoro.

Livello di rischio associato se questa best practice non fosse adottata: Medium

Guida all'implementazione

Identifica e valuta il modello di accesso ai dati per selezionare la configurazione di archiviazione corretta. Ogni soluzione di database dispone di opzioni per configurare e ottimizzare la soluzione di archiviazione. Utilizza i parametri e i registri raccolti e sperimenta le opzioni per trovare la configurazione ottimale. Utilizza la tabella seguente per esaminare le opzioni di archiviazione per ogni servizio di database.

Servizi AWS Amazon RDS, Amazon Aurora Amazon DynamoDB Amazon DocumentDB Amazon ElastiCache Amazon Neptune Amazon Timestream Amazon Keyspaces Amazon QLDB
Dimensionamento dello spazio di archiviazione L'opzione di dimensionamento automatico dello spazio di archiviazione è disponibile per dimensionare automaticamente lo spazio di archiviazione allocato. La capacità di IOPS allocata può essere dimensionata anche indipendentemente dallo spazio di archiviazione allocato quando si sfruttano i tipi di spazio di archiviazione IOPS allocati. Dimensionamento automatico. Le tabelle non hanno vincoli di dimensione. Opzione di dimensionamento automatico dello spazio di archiviazione disponibile per dimensionare lo spazio di archiviazione allocato Spazio di archiviazione in memoria, legato al tipo o al numero di istanze Opzione di dimensionamento automatico dello spazio di archiviazione disponibile per dimensionare automaticamente lo spazio di archiviazione allocato Configura il periodo di conservazione per i livelli in memoria e magnetici nei giorni Aumenta e diminuisce automaticamente lo spazio di archiviazione della tabella Dimensionamento automatico. Le tabelle non hanno vincoli di dimensione.

Passaggi dell'implementazione:

  1. Identifica e documenta la crescita prevista dei dati e del traffico.

    1. Amazon RDS e Aurora supportano l'aumento automatico dello spazio di archiviazione fino ai limiti documentati. Oltre a questo, si può prendere in considerazione la transizione dei dati più vecchi verso Amazon S3 per l'archiviazione, l'aggregazione dei dati storici per l'analisi o la scalabilità orizzontale tramite partizioni.

    2. DynamoDB e Amazon S3 dimensioneranno automaticamente fino a raggiungere un volume di archiviazione quasi illimitato.

    3. I database e le istanze Amazon RDS in esecuzione su EC2 possono essere ridimensionati manualmente e le istanze EC2 possono avere nuovi volumi EBS aggiunti in un secondo momento per ottenere ulteriore spazio di archiviazione. 

    4. I tipi di istanza possono essere modificati in base alle variazioni dell'attività. Ad esempio, puoi iniziare con un'istanza più piccola durante i test, per poi dimensionare l'istanza quando inizi a ricevere traffico di produzione verso il servizio. Aurora Serverless V2 si riduce orizzontalmente in modo automatico in risposta alle modifiche nel carico. 

  1. Documenta i requisiti relativi alle prestazioni normali e di picco (transazioni al secondo TPS e query al secondo QPS) e alla consistenza (ACID e consistenza eventuale).

  2. Documenta gli aspetti di implementazione della soluzione e i requisiti di accesso al database (globale, Mult-AZ, replica in lettura, nodi di scrittura multipli)

Livello di impegno per il piano di implementazione: se non disponi di registri o parametri per la tua soluzione di gestione dei dati, devi completarli prima di identificare e documentare i modelli di accesso ai dati. Una volta compreso il modello di accesso ai dati, la selezione e la configurazione dello spazio di archiviazione dei dati è un basso livello di impegno

Risorse

Documenti correlati:

Video correlati:

Esempi correlati: