PERF04-BP04 Memilih penyimpanan data berdasarkan pola akses - AWS Well-Architected Framework

PERF04-BP04 Memilih penyimpanan data berdasarkan pola akses

Gunakan pola akses beban kerja untuk menentukan layanan dan teknologi yang akan digunakan. Selain pada persyaratan non-fungsional seperti kinerja dan skala, pola akses juga sangat memengaruhi pemilihan solusi penyimpanan dan basis data. Dimensi pertama adalah perlunya transaksi, sesuai ACID, dan pembacaan yang konsisten. Tidak semua basis data mendukung hal ini dan sebagian besar basis data NoSQL menyediakan model eventual consistency. Dimensi penting kedua adalah distribusi baca dan tulis pada ruang dan waktu. Aplikasi yang didistribusikan secara global harus mempertimbangkan persyaratan pola lalu lintas, latensi, dan akses untuk dapat mengidentifikasi solusi penyimpanan yang optimal. Aspek penting ketiga yang harus dipilih adalah fleksibilitas pola kueri, pola akses acak, dan kueri sekali pakai. Anda juga harus mempertimbangkan untuk menerapkan fungsionalitas kueri yang sangat khusus untuk pemrosesan bahasa alami dan teks, deret waktu, dan grafik.

Hasil yang diinginkan: Penyimpanan data telah dipilih berdasarkan pola akses data yang teridentifikasi dan didokumentasikan. Ini dapat mencakup kueri baca, tulis, dan hapus yang paling umum, perlunya penghitungan dan agregasi ad-hoc, kompleksitas data, interdependensi, dan konsistensi yang diperlukan.

Antipola umum:

  • Anda hanya memilih satu basis data untuk menyederhanakan manajemen operasi.

  • Anda berasumsi bahwa pola akses data tidak akan berubah.

  • Anda mengimplementasikan transaksi, rollback, dan logika konsistensi yang rumit di aplikasi.

  • Basis data dikonfigurasikan untuk mendukung potensi tingginya lonjakan lalu lintas, sehingga banyak sumber daya yang sering tidak digunakan.

  • Menggunakan basis data bersama untuk keperluan analitik dan transaksional.

Manfaat menerapkan praktik terbaik ini: Memilih dan mengoptimalkan penyimpanan data berdasarkan pola akses akan membantu mengurangi kompleksitas pengembangan dan mengoptimalkan peluang kinerja Anda. Memahami kapan harus menggunakan replika baca, tabel global, partisi data, dan caching akan membantu Anda mengurangi biaya operasional dan menskalakan sesuai kebutuhan beban kerja Anda.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Sedang

Panduan implementasi

Identifikasi dan evaluasi pola akses data Anda untuk memilih konfigurasi penyimpanan yang benar. Setiap solusi basis data memiliki opsi untuk mengonfigurasi dan mengoptimalkan solusi penyimpanan Anda. Gunakan metrik dan log yang dikumpulkan serta coba berbagai opsi untuk menemukan konfigurasi yang optimal. Gunakan tabel berikut untuk meninjau opsi penyimpanan per layanan basis data.

Layanan AWS Amazon RDS, Amazon Aurora Amazon DynamoDB Amazon DocumentDB Amazon ElastiCache Amazon Neptune Amazon Timestream Amazon Keyspaces Amazon QLDB
Menskalakan Penyimpanan Opsi penskalaan penyimpanan otomatis yang tersedia untuk menskalakan IOPS penyimpanan yang tersedia secara otomatis juga dapat diskalakan secara terpisah saat menggunakan jenis penyimpanan IOPS yang tersedia. Menskalakan secara otomatis. Ukuran tabel tidak dibatasi. Opsi penskalaan penyimpanan otomatis yang tersedia untuk menskalakan penyimpanan yang tersedia Penyimpanan di memori, terikat pada jenis atau jumlah instans Opsi penskalaan penyimpanan otomatis yang tersedia untuk menskalakan penyimpanan yang tersedia secara otomatis Konfigurasikan periode retensi untuk tingkat magnetis dan dalam memori dalam hari Menaikkan atau menurunkan skala penyimpanan tabel secara otomatis Menskalakan secara otomatis. Ukuran tabel tidak dibatasi.

Langkah Implementasi:

  1. Identifikasi dan dokumentasikan antisipasi pertumbuhan data dan lalu lintas.

    1. Amazon RDS dan Aurora mendukung penskalaan penyimpanan otomatis hingga batas dokumentasi. Selain itu, pertimbangkan untuk mengubah data lama ke Amazon S3 untuk pengarsipan, menggabungkan data historis untuk analitik atau penskalaan secara horizontal melalui serpihan.

    2. DynamoDB dan Amazon S3 akan otomatis menskalakan volume penyimpanan hingga nyaris tak terbatas.

    3. Ukuran basis data dan instans Amazon RDS yang berjalan di EC2 dapat disesuaikan secara manual dan nantinya volume EBS baru dapat ditambahkan ke instans EC2 untuk penyimpanan tambahan. 

    4. Jenis instans dapat diubah sesuai perubahan aktivitas. Misalnya, Anda dapat menggunakan instans yang lebih kecil saat pengujian, kemudian menskalakan saat mulai menerima lalu lintas produksi ke layanan. Aurora Nirserver V2 otomatis menskalakan sesuai perubahan beban. 

  1. Dokumentasikan persyaratan terkait kinerja normal dan puncak (transaksi per detik/TPS dan kueri per detik/QPS) serta konsistensi (eventual consistency dan ACID).

  2. Dokumentasikan aspek deployment solusi dan persyaratan akses basis data (global, Multi AZ, replikasi baca, beberapa simpul tulis)

Tingkat usaha untuk rencana implementasi: Jika Anda tidak memiliki log dan metrik untuk solusi manajemen data, Anda harus melengkapinya sebelum mengidentifikasi dan mendokumentasikan pola akses data. Setelah pola akses data dipahami, memilih dan mengonfigurasi penyimpanan data memerlukan tingkat upaya yang rendah .

Sumber daya

Dokumen terkait:

Video terkait:

Contoh terkait: