Isi kandungan:
Video: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
Seperti jenis pangkalan data NoSQL lain, dengan kedai nilai utama, anda boleh berdagang beberapa konsistensi untuk ketersediaan tertentu. Kedai nilai utama biasanya menyediakan pelbagai model ketekalan dan ketahanan - iaitu, antara ketersediaan dan toleransi pemisahan dan antara toleransi pemisahan dan konsisten.
Beberapa kedai nilai utama pergi jauh ke atas lengan konsisten, meninggalkan BASE untuk sokongan konsisten transaksional ACID penuh. Memahami di mana untuk melukis garis boleh membantu anda memendekkan senarai pangkalan data yang berpotensi untuk dipertimbangkan untuk kes penggunaan anda.
Konsistensi dagangan
Kedai nilai utama biasanya berdagang konsistensi dalam data (iaitu, keupayaan untuk sentiasa membaca salinan terkini nilai selepas kemas kini) untuk memperbaiki masa menulis.
Voldemort, Riak, dan Oracle NoSQL semuanya akhirnya konsisten kedai nilai utama. Mereka menggunakan kaedah yang disebut membaca pembaikan . Berikut adalah dua langkah yang terlibat dalam bacaan pembaikan :
-
Pada masa membaca rekod, tentukan mana dari beberapa nilai yang ada untuk kunci adalah yang terbaru dan paling sah.
-
Jika nilai paling terkini tidak dapat diputuskan, maka klien pangkalan data dibentangkan dengan semua pilihan nilai dan dibiarkan untuk menentukan sendiri.
Contoh yang baik untuk menggunakan kedai nilai utama yang konsisten termasuk menghantar mesej media sosial dan menyampaikan kepada pengguna yang disasarkan. Sekiranya tweet tiba terlambat atau lima minit dipaparkan, tiada kehilangan data bencana.
Melaksanakan sokongan ACID
Aerospike dan Redis adalah pengecualian ketara untuk konsistensi akhirnya. Kedua-dua menggunakan kluster tidak ada apa-apa , yang bermaksud setiap kunci mempunyai yang berikut:
-
Node induk: Hanya tuan menyediakan jawapan untuk satu kunci, yang memastikan bahawa anda mempunyai salinan terkini.
-
Pelbagai hibah hibah hamba: Ini mengandungi salinan semua data pada nod induk. Aerospike menyediakan konsistensi transaksi ACID penuh dengan membenarkan pengubahsuaian dibuang segera ke cakera sebelum urusniaga ditandakan sebagai lengkap kepada pelanggan pangkalan data.
Aerospike berjaya melakukan itu dengan kelajuan yang sangat tinggi (yang menyangkal tuntutan bahawa mempunyai ACID menurunkan kelajuan tulis). Aerospike secara asal mengendalikan SSD mentah untuk penulisan data dengan memintas sokongan sistem fail sistem operasi yang lebih perlahan.
Sudah tentu, lebih banyak SSD bermakna kos pelayan yang lebih tinggi. Anda boleh memutuskan bahawa menggunakan Redis (dikonfigurasikan untuk menghidupkan semua data ke cakera ketika tiba) cukup cepat dan menjamin ketahanan yang cukup untuk keperluan anda.Pengaturan lalai di Redis adalah untuk menghidupkan data ke disk setiap beberapa saat, meninggalkan jendela kecil kemungkinan kehilangan data jika server gagal.
Berikut adalah beberapa contoh apabila anda mungkin memerlukan stor nilai utama yang mematuhi ACID:
-
Apabila menerima data penderia yang anda perlukan untuk percubaan.
-
Dalam sistem pesanan di mana anda mesti menjamin resit.
Redis, sebagai contoh, menyediakan mekanisme Terbitkan / Melanggan yang bertindak sebagai pelayan pengesahan akhir. Ciri ini digabungkan dengan sokongan ACID membolehkan pemesejan yang tahan lama.