Isi kandungan:
Video: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
Keupayaan membaca pantas kedai-nilai utama yang berpunca daripada penggunaan kekunci yang jelas. Kekunci-kekunci ini biasanya mempunyai, yang memberikan simpan nilai utama cara yang sangat diramalkan untuk menentukan data partition (dan dengan itu pelayan) berada. Pelayan tertentu mengurus satu atau lebih sekatan.
Kunci yang baik membolehkan anda untuk secara unik mengenal pasti rekod tunggal yang menjawab pertanyaan tanpa perlu melihat sebarang nilai dalam rekod tersebut. Kunci yang buruk akan memerlukan kod aplikasi anda menafsirkan rekod anda untuk menentukan sama ada ia sebenarnya, sepadan dengan pertanyaan.
Jika anda tidak merancang kunci anda dengan baik, anda mungkin mempunyai satu pelayan yang mempunyai beban yang tidak lebih berat daripada yang lain, yang membawa kepada prestasi yang kurang baik. Menggunakan masa sistem semasa sebagai kunci, sebagai contoh, menolak semua data baru ke nod terakhir dalam kelompok, yang membawa kepada senario mimpi buruk yang diimbangi semula.
Pemisahan
Reka bentuk pemisahan adalah penting kerana beberapa kedai nilai utama, seperti Oracle NoSQL, tidak membenarkan bilangan partition diubah suai sebaik sahaja gugus dibuat. Pengedaran mereka di seluruh pelayan, walaupun, boleh diubah suai. Oleh itu, mulailah dengan sejumlah besar partition yang boleh disebar di masa depan.
Satu contoh pembahagian adalah pendekatan hashing konsisten Voldemort, seperti yang ditunjukkan. Di sini anda melihat partition yang sama tersebar di tiga pelayan pada mulanya dan kemudian merentas empat pelayan kemudian. Bilangan partition tetap sama, tetapi peruntukannya berbeza di seluruh pelayan. Begitu juga dengan replika mereka.
Mengakses data pada sekatan
Kedai nilai-kunci sangat diedarkan tanpa titik kegagalan tunggal. Ini bermakna tidak ada keperluan untuk mengarahkan nod penyelaras untuk menjejaki pelayan dalam kumpulan. Pengurusan kluster dilakukan secara automatik oleh protokol sembang antara nod dalam pelayan.
Anda boleh menggunakan helah di pemandu klien untuk memerah prestasi maksimum daripada mendapatkan semula dan menyimpan kunci dan nilai - pemandu klien menjejaki mana pelayan yang memegang pelbagai kekunci. Jadi pemandu pelanggan sentiasa tahu pelayan mana yang hendak dibicarakan.
Kebanyakan pangkalan data, termasuk NoSQL, lulus permintaan kepada semua anggota kumpulan. Kelompok itu sama ada menerima tulisan secara dalaman atau melewatinya di bawah hud ke nod yang betul. Persediaan ini bermakna perjalanan rangkaian tambahan di antara nod adalah mungkin, yang boleh menambah kependaman.
Untuk mengelakkan latensi penemuan, kebanyakan pengendali klien kedai nilai utama mengekalkan senarai metadata bagi nod semasa dalam kelompok dan kekunci partition mana yang masing-masing mengurus.Dengan cara ini, pemandu klien boleh menghubungi pelayan yang betul, yang menjadikan operasi lebih cepat.
Jika nod baru ditambahkan pada kelompok dan metadata sudah ketinggalan zaman, kluster memberitahu pemandu klien, kemudian memuat turun metadata cluster terkini sebelum mengembalikan permintaan ke nod yang betul. Dengan cara ini, pengedaran maksimum dikekalkan dengan minimum overhead semasa pembangunan. Satu lagi faedah sampingan ialah tidak ada keperluan untuk pengimbang beban untuk menghantar pertanyaan ke pelayan yang tersedia atau yang paling sibuk, hanya satu pelayan (atau membaca pelayan replika) yang pernah menerima permintaan klien, jadi tidak perlu untuk mengimbangi beban.