PERF04-BP01 Pahami karakteristik data
Pilih solusi manajemen data Anda untuk secara optimal cocok dengan karakteristik, pola akses, dan persyaratan set data beban kerja Anda. Ketika memilih dan mengimplementasikan solusi manajemen data, Anda harus memastikan karakteristik penyimpanan, penskalaan, dan kueri mendukung persyaratan data beban kerja. Pelajari bagaimana berbagai opsi basis data cocok dengan model data Anda, dan opsi konfigurasi mana yang paling sesuai untuk kasus penggunaan Anda.
AWS menyediakan banyak mesin basis data termasuk basis data relasional, nilai kunci, dokumen, dalam memori, grafik, seri waktu, dan buku besar. Setiap solusi manajemen data memiliki opsi dan konfigurasi yang tersedia bagi Anda untuk mendukung kasus penggunaan dan model data Anda. Beban kerja Anda mungkin dapat menggunakan beberapa solusi basis data yang berbeda, berdasarkan karakteristik datanya. Dengan memilih solusi basis data yang terbaik untuk masalah tertentu, Anda dapat menghindari basis data monolitik, dengan pendekatan satu solusi untuk semuanya yang bersifat terbatas dan berfokus pada pengelolaan data untuk memenuhi kebutuhan pelanggan Anda.
Hasil yang diinginkan: Karakteristik data beban kerja didokumentasikan dengan detail yang cukup untuk memfasilitasi pilihan dan konfigurasi solusi basis data pendukung, dan memberikan wawasan ke kemungkinan alternatif.
Antipola umum:
-
Tidak mempertimbangkan cara untuk mensegmentasi set data besar menjadi kumpulan kecil data yang memiliki karakteristik yang serupa, mengakibatkan terlewatkannya peluang untuk lebih menggunakan basis data yang dibuat khusus yang lebih cocok dengan karakteristik pertumbuhan dan data.
-
Tidak mengidentifikasi pola akses data di muka, yang mengakibatkan pengerjaan ulang yang kompleks dan mahal di waktu kemudian.
-
Membatasi pertumbuhan dengan menggunakan strategi penyimpanan data yang tidak dapat diskalakan secepat yang dibutuhkan
-
Memilih satu vendor dan jenis basis data untuk semua beban kerja.
-
Berpegang teguh pada satu solusi basis data karena ada pengetahuan dan pengalaman internal akan satu jenis solusi basis data tertentu.
-
Mempertahankan solusi basis data karena solusi tersebut telah berfungsi dengan baik di lingkungan on-premise.
Manfaat menerapkan praktik terbaik ini: Memahami dengan baik semua solusi basis data AWS sehingga Anda dapat menentukan solusi basis data yang tepat untuk berbagai beban kerja Anda. Setelah Anda memilih solusi basis data yang sesuai untuk beban kerja Anda, Anda dapat dengan cepat melakukan percobaan di setiap penawaran basis data tersebut untuk menentukan apakah basis data masih terus memenuhi kebutuhan beban kerja Anda.
Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Tinggi
-
Potensi penghematan biaya mungkin tidak teridentifikasi.
-
Data mungkin tidak diamankan hingga tingkat yang diperlukan.
-
Akses data dan performa penyimpanan mungkin tidak optimal.
Panduan implementasi
Tetapkan karakteristik data dan pola akses beban kerja Anda. Tinjau semua solusi basis data yang tersedia untuk mengidentifikasi solusi mana yang mendukung persyaratan data Anda. Di dalam beban kerja tertentu, beberapa basis data dapat dipilih. Evaluasi setiap layanan atau grup layanan dan nilai secara terpisah. Jika potensi solusi manajemen data alternatif diidentifikasi untuk sebagian atau semua data, lakukan percobaan dengan implementasi alternatif yang dapat mengungkapkan manfaat biaya, keamanan, performa, dan keandalan. Perbarui dokumentasi yang ada, jika akan mengadopsi pendekatan manajemen data baru.
Tipe | Layanan AWS | Karakteristik Utama | Kasus penggunaan umum |
---|---|---|---|
Relasional | Amazon RDS, Amazon Aurora | Integritas referensial, transaksi ACID, schema on write | ERP, CRM, perangkat lunak komersial umum |
Nilai Kunci | Amazon DynamoDB | Throughput tinggi, latensi rendah, skalabilitas hampir tak terbatas | Keranjang belanja (perdagangan elektronik), katalog produk, aplikasi obrolan |
Dokumen | Amazon DocumentDB | Simpan dokumen JSON dan kueri di atribut mana pun | Manajemen Konten (CMS), profil pelanggan, aplikasi seluler |
Dalam Memori | Amazon ElastiCache, Amazon MemoryDB | Latensi mikrodetik | Caching, papan peringkat game |
Grafik | Amazon Neptune | Data yang sangat relasional yang hubungan antara data memiliki makna | Jaringan sosial, mesin personalisasi, deteksi penipuan |
Deret Waktu | Amazon Timestream | Data yang dimensi utamanya adalah waktu | DevOps, IoT, Pemantauan |
Kolom lebar | Amazon Keyspaces | Beban kerja Cassandra. | Pemeliharaan peralatan industri, pengoptimalan rute |
Buku besar | Amazon QLDB | Buku besar perubahan tetap dan dapat diverifikasi secara kriptografis | Sistem catatan, pemeliharaan kesehatan, rantai pasokan, institusi keuangan |
Langkah implementasi
-
Bagaimana cara penstrukturan data? (misalnya, tidak terstruktur, nilai kunci, semi-terstruktur, relasional)
-
Jika data tidak terstruktur, pertimbangkan penyimpanan objek seperti Amazon S3
atau basis data NoSQL seperti Amazon DocumentDB. -
Untuk data nilai kunci, pertimbangkan DynamoDB
, ElastiCache for Redis atau MemoryDB. -
Jika data memiliki struktur relasional, tingkat integritas referensial apa yang diperlukan?
-
Untuk kendala utama asing, basis data relasional seperti Amazon RDS
dan Aurora dapat memberikan tingkat integritas ini. -
Biasanya, dalam model data NoSQL, Anda akan melakukan denormalisasi data menjadi satu dokumen atau kumpulan dokumen untuk diambil dalam satu permintaan dan bukannya 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 basis data relasional seperti Amazon RDS
dan Aurora.
-
-
Model konsistensi apa yang diperlukan?
-
Jika aplikasi Anda dapat menoleransi konsistensi pada akhirnya, pertimbangkan implementasi NoSQL. Tinjau karakteristik-karakteristik lain untuk membantu memilih basis data NoSQL mana
yang paling sesuai. -
Jika diperlukan konsistensi tinggi, Anda dapat menggunakan bacaan sangat konsisten dengan DynamoDB
atau basis data relasional seperti Amazon RDS .
-
-
Format hasil dan kueri apa yang harus didukung? (misalnya, SQL, CSV, Parque, Avro, JSON, dll.)
-
Jenis data, ukuran file, dan jumlah keseluruhan apakah yang ada? (misalnya, teks, numerik, spasial, deret waktu terhitung, biner atau blob, dokumen)
-
Bagaimana persyaratan penyimpanan akan berubah seiring waktu? Bagaimana dampaknya pada skalabilitas?
-
Basis data nirserver seperti DynamoDB
dan Amazon Quantum Ledger Database akan secara dinamis naik skala hingga penyimpanan hampir tak terbatas. -
Basis data relasional memiliki batas atas terkait penyimpanan yang tersedia, dan sering kali harus dipartisi secara horizontal lewat mekanisme seperti serpihan setelah penyimpanan tersebut mencapai batas ini.
-
-
Berapakah proporsi kueri baca dibandingkan dengan kueri tulis? Apakah caching akan meningkatkan performa?
-
Beban kerja yang sarat baca dapat diuntungkan dari lapisan caching, ini bisa berupa ElastiCache
atau DAX jika basis datanya 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 lebih tinggi?
-
Untuk pemrosesan transaksi throughput tinggi, pertimbangkan basis data NoSQL seperti DynamoDB atau Amazon DocumentDB.
-
Untuk kueri analitik, pertimbangkan basis data kolom seperti Amazon Redshift
atau ekspor data ke Amazon S3 dan melakukan analisis menggunakan Athena atau QuickSight.
-
-
Seberapa sensitif data ini dan tingkat perlindungan dan enkripsi apa yang diperlukannya?
-
Semua mesin Amazon RDS dan Aurora mendukung enkripsi data diam menggunakan AWS KMS. Microsoft SQL Server dan Oracle juga mendukung Enkripsi Data Transparan (TDE) native ketika menggunakan Amazon RDS.
-
Untuk DynamoDB, Anda dapat menggunakan kontrol akses terperinci dengan IAM untuk mengontrol siapa yang memiliki akses ke data apa pada tingkat utama.
-
-
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 menyediakan durabilitas 11 angka 9. Banyak layanan basis data seperti Amazon RDS dan DynamoDB mendukung ekspor data ke Amazon S3 untuk pengarsipan dan retensi jangka panjang.
-
-
Apakah persyaratan Sasaran Waktu Pemulihan (RTO) atau Sasaran Titik Pemulihan (RPO) memengaruhi solusinya?
-
Amazon RDS, Aurora, DynamoDB, Amazon DocumentDB, dan Neptune semuanya mendukung PITR dan pemulihan serta pencadangan sesuai permintaan.
-
Untuk persyaratan ketersediaan tinggi, tabel DynamoDB dapat direplikasi secara global menggunakan Fitur Tabel Global
dan klaster Aurora dapat direplikasi di beberapa Wilayah menggunakan fitur basis data Global. Selain itu, bucket S3 dapat direplikasi di Wilayah AWS menggunakan replikasi lintas wilayah.
-
-
Apakah ada keinginan untuk beralih dari mesin basis data komersial/biaya lisensi?
-
Apakah harapan operasional untuk basis data? Apakah beralih ke layanan terkelola merupakan masalah 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 lain yang terhubung?
-
Jika Anda memiliki ketergantungan pada alat eksternal maka Anda mungkin harus mempertahankan kompatibilitas dengan basis data yang didukungnya. Amazon RDS sepenuhnya kompatibel dengan berbagai versi mesin yang didukungnya, termasuk Microsoft SQL Server, Oracle, MySQL, dan PostgreSQL.
-
-
Daftar berikut berisi berbagai kemungkinan layanan manajemen data, dan tempat layanan ini paling tepat digunakan:
-
Basis data relasional menyimpan data dengan skema yang telah ditetapkan sebelumnya dan hubungan di antaranya. Basis data ini 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 menggunakan basis data relasional untuk menyimpan data mereka. Anda dapat menjalankan sejumlah besar mesin basis data ini di Amazon EC2, atau memilih dari salah satu layanan basis data yang dikelola AWS
: Amazon Aurora , Amazon RDS , dan Amazon Redshift . -
Basis data nilai kunci dioptimalkan untuk pola akses umum, biasanya untuk menyimpan dan mengambil data dalam volume besar. Basis data ini memberikan waktu respons cepat, bahkan dalam permintaan bersamaan dengan volume ekstrem. Aplikasi web dengan lalu lintas tinggi, sistem perdagangan elektronik, dan aplikasi gaming merupakan kasus penggunaan umum untuk basis data nilai kunci. Di AWS, Anda dapat menggunakan Amazon DynamoDB
, basis data yang terkelola sepenuhnya, multi-Wilayah, multi-master, tahan lama dengan keamanan bawaan, pencadangan dan pemulihan, dan caching dalam memori untuk aplikasi skala internet. -
Basis data dalam memori digunakan untuk aplikasi yang memerlukan akses waktu nyata ke data, latensi rendah, dan throughput paling tinggi. Dengan menyimpan data langsung di memori, basis data ini memberikan latensi milidetik ke aplikasi di mana latensi milidetik tidak cukup. Anda dapat menggunakan basis data dalam memori untuk caching aplikasi, manajemen sesi, papan peringkat gaming, dan aplikasi geospasial. Amazon ElastiCache
adalah penyimpanan data dalam memori yang terkelola penuh, yang kompatibel dengan Redis atau Memcached . Jika aplikasi juga memiliki persyaratan durabilitas lebih tinggi, Amazon MemoryDB for Redis menawarkan ini dalam kombinasi karena berupa layanan basis data dalam memori yang tahan lama untuk performa ultra cepat. -
Basis data dokumen didesain untuk menyimpan data semi-terstruktur sebagai dokumen seperti JSON. Basis data ini membantu developer dengan cepat membangun dan memperbarui aplikasi seperti manajemen konten, katalog, dan profil pengguna. Amazon DocumentDB
adalah layanan basis data dokumen yang cepat, dapat diskalakan, memiliki ketersediaan tinggi, dan terkelola penuh yang mendukung beban kerja MongoDB. -
Penyimpanan kolom lebar adalah salah satu jenis basis data NoSQL. Penyimpanan ini menggunakan tabel, baris, dan kolom, tetapi tidak seperti basis data relasional, nama dan format kolomnya bervariasi dari baris ke baris di tabel yang sama. Biasanya Anda akan melihat penyimpanan kolom lebar di aplikasi industri skala tinggi untuk pemeliharaan perlengkapan, pengelolaan armada, dan pengoptimalan rute. Amazon Keyspaces (untuk Apache Cassandra)
adalah layanan basis data kolom lebar yang kompatibel dengan Apache Cassandra yang dapat diskalakan, memiliki ketersediaan tinggi, dan terkelola. -
Basis data grafik adalah untuk aplikasi yang harus menavigasi dan melakukan kueri jutaan hubungan antara set data grafik yang sangat terhubung dan latensi milidetik pada skala besar. Banyak perusahaan menggunakan basis data grafik untuk mesin rekomendasi, jaringan sosial, dan deteksi penipuan. Amazon Neptune
adalah layanan basis data grafik yang cepat, andal, terkelola penuh yang memudahkan untuk membangun dan menjalankan aplikasi yang bekerja dengan set data yang sangat terhubung. -
Basis data deret waktu secara efisien mengumpulkan, mempersatukan, dan mengambil wawasan dari data yang berubah seiring waktu. Aplikasi internet untuk segala (IoT), DevOps, dan telemetri industri dapat menggunakan basis data deret waktu. Amazon Timestream
adalah layanan basis data deret waktu yang cepat, dapat diskalakan, terkelola penuh untuk aplikasi operasional dan IoT yang mempermudah pekerjaan menyimpan dan menganalisis triliunan peristiwa per hari. -
Basis data buku besar memberikan otoritas terpusat 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. Amazon Quantum Ledger Database (Amazon QLDB)
adalah basis data buku besar terkelola penuh yang memberikan log transaksi yang transparan, tetap, dan dapat diverifikasi secara kriptografis yang dimiliki oleh otoritas pusat tepercaya. Amazon QLDB melacak setiap perubahan data aplikasi dan mempertahankan riwayat lengkap yang dapat diverifikasi dari perubahan seiring waktu.
-
Tingkat upaya untuk rencana implementasi: Jika beban kerja dialihkan dari satu solusi basis data ke yang lain, kemungkinan akan ada tingkat upaya tinggi yang terlibat dalam pemfaktoran ulang data dan aplikasi.
Sumber daya
Dokumen terkait:
Video terkait:
Contoh terkait: