PERF03-BP02 Valutazione delle opzioni di configurazione disponibili per datastore - Framework AWSWell-Architected

PERF03-BP02 Valutazione delle opzioni di configurazione disponibili per datastore

Comprendi e valuta le varie funzionalità e opzioni di configurazione disponibili per i tuoi datastore per ottimizzare lo spazio di archiviazione e le prestazioni per il tuo carico di lavoro.

Anti-pattern comuni:

  • Utilizzi un solo tipo di storage, ad esempio Amazon EBS, per tutti i carichi di lavoro.

  • Utilizzi la capacità di IOPS allocata per tutti i carichi di lavoro senza test reali su tutti i livelli di archiviazione.

  • Non conosci le opzioni di configurazione della soluzione di gestione dei dati scelta.

  • Ti basi soltanto sull'aumento delle dimensioni dell'istanza, senza tenere conto di altre opzioni di configurazione disponibili.

  • Non esegui il test delle caratteristiche di dimensionamento del tuo datastore.

Vantaggi dell'adozione di questa best practice: esplorare le configurazioni del datastore e sperimentare con esse può consentire di ridurre il costo dell'infrastruttura, migliorare le prestazioni e ridurre l'impegno richiesto per mantenere i carichi di lavoro.

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

Guida all'implementazione

Un carico di lavoro può utilizzare uno o più datastore in base ai requisiti di archiviazione di dati e relativo accesso. Per ottimizzare prestazioni, efficienza e costi, è necessario valutare gli schemi di accesso ai dati per determinare le configurazioni appropriate del datastore. Nella valutazione delle opzioni di datastore, prendi in considerazione vari aspetti come le opzioni di archiviazione, la memoria, l'elaborazione, la replica di lettura, i requisiti di coerenza, il pool di connessioni e le opzioni di caching. Esegui esperimenti con queste diverse opzioni di configurazione per migliorare i parametri di efficienza delle prestazioni.

Passaggi dell'implementazione

  • Esamina le configurazioni correnti (come il tipo di istanza, la dimensione di archiviazione o la versione del motore di database) del tuo datastore.

  • Consulta documentazione e best practice AWS per scoprire le opzioni di configurazione consigliate che possono contribuire a migliorare le prestazioni del datastore. Le principali opzioni da considerare per il datastore sono le seguenti:

    Opzione di configurazione Esempi
    Riduzione del carico delle letture (come le repliche di lettura e la memorizzazione nella cache)
    • Per le tabelle DynamoDB, è possibile eliminare il carico delle letture grazie a DAX per la memorizzazione nella cache.

    • Puoi creare un cluster Amazon ElastiCache (Redis OSS) e configurare l'applicazione in modo che legga prima dalla cache e quindi passi al database se l'elemento richiesto non è presente.

    • I database relazionali come Amazon RDS e Aurora, nonché i database NoSQL allocati, come Neptune e Amazon DocumentDB, supportano tutti l'aggiunta di repliche di lettura per eliminare il carico creato dalle parti di lettura nel carico di lavoro.

    • I database serverless come DynamoDB si dimensionano automaticamente. Assicurati di avere abbastanza unità di capacità di lettura (RCU) allocate per gestire il carico di lavoro.

    Dimensionamento delle scritture (come la partizione delle chiavi di partizione o l'introduzione di una coda)
    • Per i database relazionali, è possibile aumentare la dimensione dell'istanza per gestire un maggiore carico di lavoro o aumentare la capacità di IOPS allocata per gestire un maggior throughput verso l'archiviazione sottostante.

    • È anche possibile introdurre una coda davanti al database, invece di eseguire direttamente la scrittura su di esso. Questo schema consente di disaccoppiare l'acquisizione dal database e controllare il flusso, in modo che il database sia in grado di gestirlo. 

    • Raggruppare in batch le richieste di scrittura, anziché creare molte transazioni di breve durata, può aiutare a migliorare il throughput in database relazionali con un elevato volume in scrittura.

    • I database serverless come DynamoDB possono dimensionare automaticamente il throughput in scrittura oppure è possibile regolare le unità di capacità in scrittura (WCU) allocate, a seconda della modalità di capacità. 

    • È tuttavia possibile che si verifichino problemi con le partizioni hot quando si raggiungono i limiti di throughput per una determinata chiave di partizione. Questo problema può essere arginato scegliendo una chiave di partizione con una distribuzione più uniforme o eseguendo lo sharding in lettura della chiave di partizione. 

    Policy per gestire il ciclo di vita dei set di dati
    • Puoi utilizzare il ciclo di vita Amazon S3 per gestire gli oggetti durante il loro ciclo di vita. In caso di schemi di accesso sconosciuti, mutevoli o imprevedibili, puoi utilizzare il Piano intelligente Amazon S3, che monitora gli schemi di accesso e sposta in automatico gli oggetti che non hanno fatto registrare accessi a livelli di accessi più economici. Sfrutta i parametri di Amazon S3 Storage Lens per individuare opportunità di ottimizzazione e lacune nella gestione del ciclo di vita.

    • La gestione del ciclo di vita di Amazon EFS gestisce automaticamente l'archiviazione di file a costi contenuti per i file system.

    Gestione e pooling delle connessioni
    • È possibile utilizzare Server proxy per Amazon RDS con Amazon RDS e Aurora per gestire le connessioni al database. 

    • I database serverless come DynamoDB non hanno connessioni associate, ma valuta la capacità assegnata e le policy di dimensionamento automatico per affrontare i picchi nel carico.

  • Esegui esperimenti e benchmarking in un ambiente non di produzione per identificare quale opzione di configurazione può soddisfare i requisiti del tuo carico di lavoro.

  • Dopo gli esperimenti, pianifica la migrazione e convalida i parametri delle prestazioni.

  • Usa strumenti di monitoraggio AWS (come Amazon CloudWatch) e ottimizzazione (come Amazon S3 Storage Lens) per ottimizzare continuamente il tuo datastore utilizzando schemi di utilizzo reali.

Risorse

Documenti correlati:

Video correlati:

Esempi correlati: