View a markdown version of this page

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 e i requisiti delle applicazioni per decidere i servizi di dati e le tecnologie ottimali da utilizzare.

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 ed eliminazione 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 motore 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 di dati in base ai modelli di accesso contribuirà a ridurre la complessità dello sviluppo e a ottimizzare le opportunità di performance. 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: medio

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.

AWS Services Amazon RDS Amazon Aurora Amazon DynamoDB Amazon DocumentDB Amazon ElastiCache Amazon Neptune Amazon Timestream Amazon Keyspaces Amazon QLDB
Scaling Storage Storage can be scaled up manually or configured to scale automatically to a maximum of 64 TiB based on engine types. Provisioned storage cannot be decreased. Storage scales automatically up to maximum of 128 TiB and decreases when data is removed. Maximum storage size also depends upon specific Aurora MySQL or Aurora Postgres engine versions. Storage automatically scales. Tables are unconstrained in terms of size. Storage scales automatically up to maximum of 64 TiB. Starting Amazon DocumentDB 4.0 storage can decrease by comparable amounts for data removal through dropping a collection or index. With Amazon DocumentDB 3.6 allocated space remains same and free space is reused when data volume increases. Storage is in-memory, tied to instance type or count. Storage scales automatically can grow up to 128 TiB (or 64 TiB in few Regions). Upon data removal from, total allocated space remains same and is reused in the future. Organizes your time series data to optimize query processing and reduce storage costs. Retention period can be configured through in-memory and magnetic tiers. Scales table storage up and down automatically as your application writes, updates, and deletes data. Storage automatically scales. Tables are unconstrained in terms of size.

Passaggi dell'implementazione:

  1. Comprendere i requisiti delle transazioni, la conformità ACID (atomicità, coerenza, isolamento, durabilità) e le letture consistenti. Non tutti i database supportano queste caratteristiche e la maggior parte dei database NoSQL fornisce un modello di consistenza eventuale.

  2. Considerare i modelli di traffico, la latenza e i requisiti di accesso per un'applicazione distribuita globalmente al fine di identificare la soluzione di archiviazione ottimale.

  3. Analizzare modelli di query, schemi di accesso casuale e query one-time. 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.

  4. 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. 

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

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

Livello di impegno per il piano di implementazione: Basso. 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 dell'archiviazione di dati richiede un livello di impegno basso.

Risorse

Documenti correlati:

Video correlati:

Esempi correlati: