PERF03-BP01 Menggunakan penyimpanan data yang dibuat khusus yang paling mendukung persyaratan akses data dan penyimpanan data Anda
Pahami karakteristik data (seperti dapat dibagikan, ukuran, ukuran cache, pola akses, latensi, throughput, dan persistensi data) untuk memilih penyimpanan data yang dibuat khusus (penyimpanan atau basis data) yang tepat untuk beban kerja Anda.
Anti-pola umum:
-
Anda bertahan dengan satu solusi basis data disebabkan karena Anda hanya memiliki pengetahuan dan pengalaman internal tentang satu jenis solusi basis data tertentu.
-
Anda berasumsi bahwa semua beban kerja memiliki persyaratan penyimpanan data dan akses data yang serupa.
-
Anda belum mengimplementasikan katalog data untuk menginventarisasi aset data Anda.
Manfaat menerapkan praktik terbaik ini: Dengan memahami karakteristik dan persyaratan data, Anda dapat menentukan teknologi penyimpanan yang paling efisien dan berkinerja paling tinggi sesuai dengan kebutuhan beban kerja Anda.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Tinggi
Panduan implementasi
Saat memilih dan menerapkan penyimpanan data, pastikan karakteristik penyimpanan, kueri, dan penskalaan mendukung persyaratan-persyaratan data beban kerja. AWS menyediakan banyak teknologi penyimpanan data dan basis data termasuk penyimpanan blok, penyimpanan objek, penyimpanan streaming, sistem file, relasional, nilai kunci, dokumen, penyimpanan dalam memori, grafik, deret waktu, dan basis data buku besar. Setiap solusi manajemen data memiliki opsi dan konfigurasi yang bisa Anda gunakan untuk mendukung kasus penggunaan dan model data Anda. Dengan memahami karakteristik dan persyaratan data, Anda dapat melepaskan diri dari teknologi penyimpanan monolitik dan pendekatan satu-untuk-semua yang terbatas sehingga Anda bisa berkonsentrasi pada manajemen data yang tepat.
Langkah-langkah implementasi
-
Lakukan inventarisasi berbagai jenis data yang ada dalam beban kerja Anda.
-
Pahami dan dokumentasikan karakteristik serta persyaratan data, termasuk:
-
Tipe data (tidak terstruktur, semi-terstruktur, relasional)
-
Volume dan pertumbuhan data
-
Ketahanan data: persisten, sementara, transien
-
Persyaratan ACID (atomisitas, konsistensi, isolasi, durabilitas)
-
Pola akses data (intensif baca atau intensif tulis)
-
Latensi
-
Throughput
-
IOPS (operasi input/output per detik)
-
Periode retensi data
-
-
Pelajari berbagai penyimpanan data (layanan penyimpanan dan basis data) yang tersedia untuk beban kerja Anda di AWS yang dapat memenuhi karakteristik data Anda, sebagaimana diuraikan dalam PERF01-BP01 Mempelajari dan memahami layanan serta fitur cloud yang tersedia. Beberapa contoh teknologi penyimpanan AWS serta karakteristik utamanya antara lain:
Jenis Layanan AWS Karakteristik utama Penyimpanan objek Amazon S3 Skalabilitas tak terbatas, ketersediaan tinggi, dan berbagai opsi aksesibilitas. Mentransfer dan mengakses objek masuk dan keluar dari Amazon S3 dapat dilakukan dengan menggunakan layanan-layanan, seperti Akselerasi Transfer atau Titik Akses , untuk mendukung lokasi, kebutuhan keamanan, dan pola akses Anda. Penyimpanan pengarsipan Amazon S3 Glacier Dirancang untuk pengarsipan data. Penyimpanan streaming Penyerapan dan penyimpanan data streaming yang efisien. Sistem file bersama Sistem file yang dapat dipasang dan dapat diakses oleh berbagai jenis solusi komputasi.
Sistem file bersama Amazon FSx Dibangun berdasarkan solusi komputasi AWS terbaru untuk mendukung empat sistem file yang umum digunakan: NetApp ONTAP, OpenZFS, Windows File Server, dan Lustre. Latensi, throughput, dan IOPS Amazon FSx berbeda-beda untuk setiap sistem file dan hal ini harus Anda pertimbangkan saat memilih sistem file yang tepat untuk kebutuhan beban kerja Anda. Penyimpanan blok Amazon Elastic Block Store (Amazon EBS) Layanan penyimpanan blok yang dapat diskalakan dan mempunyai performa tinggi yang dirancang untuk Amazon Elastic Compute Cloud (Amazon EC2). Amazon EBS mencakup penyimpanan yang didukung SSD untuk beban kerja transaksional, intensif IOPS, dan penyimpanan yang didukung HDD untuk beban kerja yang intensif throughput. Basis data relasional Amazon Aurora , Amazon RDS , Amazon Redshift . Didesain untuk mendukung transaksi ACID (atomisitas, konsistensi, isolasi, durabilitas), dan mempertahankan integritas referensial serta konsistensi data yang tinggi. Banyak aplikasi tradisional, perencanaan sumber daya perusahaan (ERP), manajemen hubungan pelanggan (CRM), dan perdagangan elektronik yang menggunakan basis data relasional untuk menyimpan data mereka. Basis data nilai-kunci Amazon DynamoDB Dioptimalkan untuk pola akses umum, biasanya digunakan untuk menyimpan dan mengambil data dalam volume besar. Aplikasi web dengan lalu lintas tinggi, sistem perdagangan elektronik, dan aplikasi gaming merupakan kasus penggunaan umum untuk basis data nilai kunci. Basis data dokumen Amazon DocumentDB Dirancang untuk menyimpan data semi-terstruktur sebagai dokumen mirip JSON. Basis data ini membantu para pengembang untuk dengan cepat membangun dan memperbarui aplikasi seperti manajemen konten, katalog, dan profil pengguna. Basis data dalam memori Amazon ElastiCache , Amazon MemoryDB for Redis Digunakan untuk aplikasi-aplikasi yang memerlukan akses waktu nyata ke data, latensi rendah, dan throughput paling tinggi. Anda dapat menggunakan basis data dalam memori untuk melakukan caching aplikasi, manajemen sesi, papan peringkat game, penyimpanan fitur ML latensi rendah, sistem olah pesan layanan mikro, dan mekanisme streaming throughput tinggi Basis data grafik Amazon Neptune Digunakan untuk aplikasi-aplikasi yang harus menavigasi dan melakukan kueri jutaan hubungan antara set data grafik yang sangat terhubung dengan latensi milidetik dalam skala besar. Banyak perusahaan menggunakan basis data grafik untuk mesin rekomendasi, jaringan sosial, dan deteksi penipuan. Basis Data Deret Waktu Amazon Timestream Digunakan untuk mengumpulkan, mempersatukan, dan mengambil wawasan secara efisien dari data yang berubah seiring waktu. Aplikasi internet untuk segala (IoT), DevOps, dan telemetri industri dapat menggunakan basis data deret waktu. Kolom lebar Amazon Keyspaces (untuk Apache Cassandra) Menggunakan tabel, baris, dan kolom, tetapi tidak seperti basis data relasional, nama dan format kolomnya berbeda-beda dari baris ke baris di tabel yang sama. Biasanya Anda akan melihat penyimpanan kolom lebar di aplikasi industri skala tinggi untuk melakukan pemeliharaan perlengkapan, pengelolaan armada, dan pengoptimalan rute. Buku besar Amazon Quantum Ledger Database (Amazon QLDB) Memberikan otoritas tersentralisasi yang tepercaya untuk mempertahankan data transaksi yang dapat diskalakan, tetap, dan dapat diverifikasi secara kriptografis untuk setiap aplikasi. Basis data buku besar digunakan untuk sistem catatan, rantai pasokan, registrasi, dan bahkan transaksi perbankan. -
Jika Anda membangun sebuah platform data, manfaatkan arsitektur data modern
di AWS untuk mengintegrasikan danau data, gudang data, dan penyimpanan data yang dibuat khusus. -
Pertanyaan kunci yang perlu Anda pertimbangkan saat memilih penyimpanan data untuk beban kerja Anda adalah sebagai berikut:
Pertanyaan Hal-hal yang perlu dipertimbangkan Bagaimana data terstruktur? -
Jika data tidak terstruktur, pertimbangkan penyimpanan objek seperti Amazon S3
atau basis data NoSQL seperti Amazon DocumentDB -
Untuk data nilai kunci, pertimbangkan untuk menggunakan DynamoDB
, Amazon Elasticache (Redis OSS) atau Amazon MemoryDB
Apa tingkat integritas referensial yang dibutuhkan? -
Untuk kendala kunci asing, basis data relasional seperti Amazon RDS
dan Aurora dapat memberikan tingkat integritas seperti ini. -
Biasanya, dalam model data NoSQL, Anda akan melakukan de-normalisasi data menjadi satu dokumen atau kumpulan dokumen untuk diambil dalam satu permintaan, bukan digabungkan dalam berbagai dokumen atau tabel.
Apakah diperlukan kepatuhan terhadap ACID (atomisitas, konsistensi, isolasi, durabilitas)? -
Jika diperlukan sifat ACID yang terkait dengan basis data relasional, pertimbangkan untuk menggunakan basis data relasional seperti Amazon RDS
dan Aurora . -
Jika diperlukan konsistensi yang tinggi untuk basis data NoSQL
, Anda dapat menggunakan bacaan sangat konsisten dengan DynamoDB .
Bagaimana persyaratan penyimpanan akan berubah seiring waktu? Bagaimana dampaknya pada skalabilitas? -
Basis data nirserver seperti DynamoDB
dan Amazon Quantum Ledger Database (Amazon QLDB ) akan diskalakan secara dinamis. -
Basis data relasional memiliki batas atas terkait penyimpanan yang tersedia, dan sering kali harus dipartisi secara horizontal dengan menggunakan mekanisme seperti serpihan (sharding) setelah penyimpanan tersebut mencapai batas ini.
Berapakah proporsi kueri baca dibandingkan dengan kueri tulis? Apakah caching akan meningkatkan performa? -
Beban kerja read-heavy bisa mendapatkan keuntungan dari lapisan caching, seperti ElastiCache
atau DAX jika basis datanya menggunakan DynamoDB. -
Bacaan juga dapat dilimpahkan ke replika baca dengan basis data relasional seperti Amazon RDS
.
Apakah penyimpanan dan modifikasi (OLTP - Pemrosesan Transaksi Online) atau pengambilan dan pelaporan (OLAP - Pemrosesan Analitik Online) memiliki prioritas yang lebih tinggi? -
Untuk pemrosesan transaksional baca apa adanya throughput tinggi, pertimbangkan basis data NoSQL seperti DynamoDB.
-
Untuk throughput tinggi dan pola baca yang kompleks (seperti join) dengan konsistensi, gunakan Amazon RDS.
-
Untuk kueri analitik, pertimbangkan untuk menggunakan basis data kolom seperti Amazon Redshift
atau mengekspor data ke Amazon S3 dan melakukan analisis menggunakan Athena atau Amazon QuickSight .
Tingkat durabilitas apa yang diperlukan data? -
Aurora secara otomatis mereplikasi data Anda di tiga Zona Ketersediaan dalam satu Wilayah, yang artinya data Anda sangat tahan lama dengan lebih sedikit kemungkinan hilangnya data.
-
DynamoDB secara otomatis direplikasi di beberapa Zona Ketersediaan, memberikan durabilitas data dan ketersediaan tinggi.
-
Amazon S3 memberikan 11 sembilan durabilitas. Banyak layanan basis data, seperti Amazon RDS dan DynamoDB, yang mendukung ekspor data ke Amazon S3 untuk pengarsipan dan retensi jangka panjang.
Apakah ada keinginan untuk beralih dari mesin basis data komersial atau biaya lisensi? -
Pertimbangkan mesin sumber terbuka seperti PostgreSQL dan MySQL di Amazon RDS atau Aurora.
-
Manfaatkan AWS Database Migration Service
dan AWS Schema Conversion Tool untuk melakukan migrasi dari mesin basis data komersial ke mesin sumber terbuka
Apa harapan operasional untuk basis data tersebut? Apakah beralih ke layanan terkelola menjadi perhatian utama? -
Memanfaatkan Amazon RDS dan bukannya Amazon EC2, dan DynamoDB atau Amazon DocumentDB dan bukannya basis data NoSQL hosting mandiri, dapat mengurangi biaya tambahan operasional.
Bagaimana basis data diakses saat ini? Apakah hanya akses aplikasi, atau adakah pengguna kecerdasan bisnis (BI) dan aplikasi umum (off-the-shelf) lain yang terhubung? -
Jika Anda memiliki dependensi pada peralatan eksternal maka Anda mungkin harus menjaga kompatibilitas dengan basis data yang mendukungnya. Amazon RDS sepenuhnya kompatibel dengan versi mesin yang berbeda yang didukungnya termasuk Microsoft SQL Server, Oracle, MySQL, dan PostgreSQL.
-
-
Lakukan uji coba dan uji tolok ukur di lingkungan non-produksi untuk mengidentifikasi penyimpanan data mana yang paling sesuai dengan kebutuhan beban kerja Anda.
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: Membangun dan mengoptimalkan danau data di Amazon Simple Storage Service
-
AWS re:Invent 2023: Memahami lebih dalam tentang Amazon Aurora dan inovasinya
-
AWS re:Invent 2023: Pemodelan data tingkat lanjut dengan Amazon DynamoDB
-
AWS re:Invent 2022: Melakukan modernisasi aplikasi dengan basis data yang dibuat khusus
-
Memahami lebih dalam Amazon DynamoDB: Pola desain tingkat lanjut
Contoh terkait: