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 e accesso ai dati. 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 la documentazione e le 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 Rifornimento delle letture (come le repliche di lettura e la memorizzazione nella cache) -
Per le tabelle DynamoDB, è possibile rimuovere le operazioni di lettura grazie a DAX per il caching.
-
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 rimuovere le operazioni di lettura del carico di lavoro.
-
I database serverless come DynamoDB si dimensionano automaticamente. Assicurati di avere abbastanza unità di capacità di lettura (RCU) assegnate 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 una maggiore velocità di trasmissione effettiva 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 la velocità di trasmissione effettiva in database relazionali con un elevato volume in scrittura.
-
I database serverless come DynamoDB possono dimensionare automaticamente la velocità di trasmissione effettiva in scrittura oppure è possibile regolare le unità di capacità in scrittura (WCU) assegnate, a seconda della modalità di capacità.
-
È tuttavia possibile che si verifichino problemi con le partizioni hot quando si raggiungono i limiti di velocità di trasmissione effettiva 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 Gestione del ciclo di vita di Amazon S3 per gestire gli oggetti durante tutto il loro ciclo di vita. Se i tuoi schemi di accesso sono sconosciuti, mutevoli o imprevedibili, puoi usare Amazon S3 Intelligent-Tiering, che monitora i modelli di accesso e sposta automaticamente gli oggetti a cui non è stato effettuato l'accesso a livelli di accesso a costi inferiori. Puoi sfruttare le metriche di Amazon S3 Storage Lens per identificare opportunità di ottimizzazione e lacune nella gestione del ciclo di vita.
-
Gestione del ciclo di vita di Amazon EFS gestisce automaticamente l'archiviazione dei file 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 aver sperimentato, pianifica la migrazione e convalida i parametri delle prestazioni.
-
Usa il monitoraggio di AWS (come Amazon CloudWatch
) e strumenti di 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: