PERF03-BP02 Lakukan evaluasi terhadap opsi konfigurasi yang tersedia untuk penyimpanan data
Pahami dan evaluasi berbagai fitur dan opsi konfigurasi yang tersedia untuk penyimpanan data Anda guna mengoptimalkan ruang penyimpanan dan performa untuk beban kerja Anda.
Anti-pola umum:
-
Anda hanya menggunakan satu jenis penyimpanan, seperti Amazon EBS, untuk semua beban kerja.
-
Anda menggunakan IOPS yang disediakan untuk semua beban kerja tanpa melakukan pengujian dunia nyata terhadap semua tingkat penyimpanan.
-
Anda tidak memahami opsi-opsi konfigurasi dari solusi manajemen data yang Anda pilih.
-
Anda hanya mengandalkan peningkatan ukuran instans tanpa mempertimbangkan opsi-opsi konfigurasi lain yang tersedia.
-
Anda tidak melakukan pengujian terhadap karakteristik penskalaan penyimpanan data Anda.
Manfaat menerapkan praktik terbaik ini: Dengan menjelajahi dan melakukan eksperimen dengan konfigurasi penyimpanan data, Anda mungkin dapat mengurangi biaya infrastruktur, meningkatkan performa, serta mengurangi upaya pengelolaan beban kerja.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Sedang
Panduan implementasi
Beban kerja dapat memiliki satu atau beberapa penyimpanan data yang digunakan berdasarkan persyaratan-persyaratan penyimpanan data dan akses data. Untuk mengoptimalkan biaya dan efisiensi performa, Anda harus melakukan evaluasi terhadap pola akses data untuk menentukan konfigurasi penyimpanan data yang sesuai. Saat mencoba berbagai opsi penyimpanan data tersebut, Anda harus mempertimbangkan beberapa aspek seperti opsi penyimpanan, memori, komputasi, replika baca, persyaratan konsistensi, pooling koneksi, dan opsi cache. Cobalah berbagai opsi konfigurasi ini untuk meningkatkan metrik efisiensi performa.
Langkah-langkah implementasi
-
Pahami konfigurasi (seperti tipe instans, ukuran penyimpanan, atau versi mesin basis data) penyimpanan data Anda saat ini.
-
Tinjau dokumentasi dan praktik terbaik AWS untuk mempelajari opsi konfigurasi yang disarankan yang dapat membantu meningkatkan performa penyimpanan data Anda. Berikut ini adalah opsi-opsi penyimpanan data utama yang perlu dipertimbangkan:
Opsi Konfigurasi Contoh-contoh Melimpahkan beban baca (seperti replika baca dan caching) -
Untuk tabel DynamoDB, Anda dapat meringankan beban pembacaan menggunakan DAX untuk caching.
-
Anda dapat membuat sebuah klaster Amazon ElastiCache (Redis OSS) dan mengonfigurasikan aplikasi Anda untuk membaca dari cache terlebih dahulu, yang kembali ke basis data jika item yang diminta tidak tersedia.
-
Basis data relasional seperti Amazon RDS dan Aurora, serta basis data NoSQL yang disediakan seperti Neptune dan Amazon DocumentDB, semuanya mendukung penambahan replika baca untuk mengurangi porsi baca beban kerja.
-
Basis data nirserver seperti DynamoDB akan menskalakan secara otomatis. Pastikan bahwa unit kapasitas baca (RSU) yang disediakan cukup untuk mengatasi beban kerja.
Menskalakan penulisan (seperti penyerpihan kunci partisi atau memperkenalkan antrean) -
Untuk basis data relasional, Anda dapat memperbesar ukuran instans untuk mengakomodasi tambahan beban kerja atau menambah IOPS yang disediakan untuk memfasilitasi kenaikan throughput pada penyimpanan yang mendasari.
-
Anda juga dapat membuat antrean di depan basis data Anda, bukan menulis secara langsung ke basis data. Dengan pola-pola ini, Anda dapat memisahkan penyerapan dari basis data dan mengontrol tingkat aliran, sehingga basis data tidak kewalahan.
-
Mengganti pembuatan transaksi berdurasi pendek dengan pembuatan batch permintaan penulisan dapat membantu Anda meningkatkan throughput dalam basis data relasional dengan volume penulisan yang tinggi.
-
Basis data nirserver seperti DynamoDB dapat menskalakan throughput tulis secara otomatis atau dengan menyesuaikan unit kapasitas tulis (WCU) yang tersedia, bergantung pada mode kapasitasnya.
-
Anda tetap dapat menjumpai masalah dengan partisi panas ketika Anda mencapai batas throughput pada kunci partisi tertentu. Hal ini dapat dimitigasi dengan memilih distribusi kunci partisi yang lebih merata atau dengan memisah penulisan kunci partisi (write-sharding).
Kebijakan untuk mengelola siklus hidup set data Anda -
Anda dapat menggunakan Siklus Hidup Amazon S3 untuk mengelola objek-objek Anda di sepanjang siklus hidupnya. Jika pola akses Anda tidak diketahui, berubah, atau tidak dapat diprediksi, maka Anda dapat menggunakan Amazon S3 Intelligent-Tiering, yang akan memantau pola akses dan secara otomatis memindahkan objek-objek yang belum diakses ke tingkat akses yang berbiaya lebih rendah. Anda dapat memanfaatkan metrik Lensa Penyimpanan Amazon S3 untuk melakukan identifikasi terhadap peluang dan celah pengoptimalan yang ada dalam manajemen siklus hidup.
-
Manajemen siklus hidup Amazon EFS secara otomatis akan mengelola penyimpanan file untuk sistem file Anda.
Manajemen koneksi dan pooling -
Proksi Amazon RDS dapat digunakan dengan Amazon RDS dan Aurora untuk mengelola koneksi ke basis data.
-
Basis data nirserver seperti DynamoDB tidak terkait dengan koneksi apa pun, tetapi pertimbangkan kapasitas yang tersedia atau kebijakan penskalaan otomatis untuk mengatasi lonjakan beban.
-
-
Lakukan uji coba dan uji tolok ukur di lingkungan non-produksi untuk mengidentifikasi opsi konfigurasi mana yang dapat memenuhi persyaratan-persyaratan beban kerja Anda.
-
Setelah melakukan uji coba, rencanakan migrasi dan validasi metrik-metrik performa Anda.
-
Gunakan alat-alat pemantauan AWS (seperti Amazon CloudWatch
) dan pengoptimalan (seperti Lensa Penyimpanan Amazon S3 ) untuk terus mengoptimalkan penyimpanan data Anda dengan menggunakan pola penggunaan dunia nyata.
Sumber daya
Dokumen terkait:
Video terkait:
-
AWS re:Invent 2023: Meningkatkan efisiensi Amazon Elastic Block Store dan menjadi lebih hemat biaya
-
AWS re:Invent 2023: Optimalisasi harga dan performa penyimpanan dengan Amazon Simple Storage Service
-
AWS re:Invent 2023: Membangun dan mengoptimalkan danau data di Amazon Simple Storage Service
-
AWS re:Invent 2023: Memahami lebih dalam tentang Amazon DynamoDB
Contoh terkait: