PERF03-BP02 Valuta le opzioni di configurazione disponibili per l'archivio dati - Pilastro dell'efficienza delle prestazioni

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-BP02 Valuta le opzioni di configurazione disponibili per l'archivio dati

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 solo un tipo di storage, ad esempio AmazonEBS, per tutti i carichi di lavoro.

  • Utilizzi il provisioning IOPS per tutti i carichi di lavoro senza eseguire test reali su tutti i livelli di storage.

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

  • AWS Consulta la documentazione e le best practice per conoscere le opzioni di configurazione consigliate che possono contribuire a migliorare le prestazioni del tuo data store. 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 scaricare le letture utilizzando per la memorizzazione nella cache. DAX

    • Puoi creare un cluster Amazon ElastiCache (RedisOSS) e configurare l'applicazione in modo che legga prima dalla cache, per poi tornare al database se l'elemento richiesto non è presente.

    • I database relazionali come Amazon RDS e Aurora e i database forniti SQL No come Neptune e Amazon DocumentDB supportano tutti l'aggiunta di repliche di lettura per scaricare le parti di lettura del carico di lavoro.

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

    Dimensionamento delle scritture (come la partizione delle chiavi di partizione o l'introduzione di una coda)
    • Per i database relazionali, è possibile aumentare le dimensioni dell'istanza per far fronte a un maggiore carico di lavoro o aumentare il provisioning IOPs per consentire una maggiore velocità di trasmissione dello storage 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 scalare il throughput di scrittura automaticamente o regolando le unità WCU di capacità di scrittura assegnate () 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.

    • Amazon EFS Lifecycle Management gestisce automaticamente lo storage dei file per i tuoi file system.

    Gestione e pooling delle connessioni
    • Amazon RDS Proxy può essere utilizzato 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.

  • Utilizza strumenti di AWS monitoraggio (come Amazon CloudWatch) e ottimizzazione (come Amazon S3 Storage Lens) per ottimizzare continuamente il tuo archivio dati utilizzando modelli di utilizzo reali.

Risorse

Documenti correlati:

Video correlati:

Esempi correlati: