Rumah Keuangan Pribadi Mengelola Data di NoSQL - dummies

Mengelola Data di NoSQL - dummies

Daftar Isi:

Video: Couch DB (Pengenalan dan Implementasi) 2024

Video: Couch DB (Pengenalan dan Implementasi) 2024
Anonim

Setelah Anda mengelola kunci dengan tepat, Anda siap untuk merancang cara menyimpan data dengan NoSQL dan memastikannya aman dan selalu dapat diakses untuk pekerjaan. Anda perlu melakukan.

Jenis data di toko dengan nilai penting

Toko dengan nilai kunci biasanya bertindak sebagai & ldquo; ember & rdquo; untuk data biner Beberapa database memang memberikan pengetikan data internal yang kuat dan bahkan dukungan skema. Yang lain hanya menyediakan fungsi pembantu yang mudah digunakan pada driver klien mereka untuk membuat seri aplikasi struktur aplikasi umum ke toko dengan nilai kunci. Contohnya termasuk peta, daftar, dan kumpulan yang diurutkan.

Toko biner sederhana

  • Skema skema Avro yang sangat terstruktur

  • Skema avro mirip dengan skema database relasional - menegakkan set yang sangat ketat dari aturan format pada data JavaScript Object Notation (JSON) yang tersimpan dalam database, seperti yang digambarkan di sini:

{username: & ldquo; afowler & rdquo;, sessionid: 13452673, sejak: 1408318745, tema: & ldquo; bluesky & rdquo;}

Anda mendefinisikan skema Avro menggunakan dokumen JSON. Ini adalah contoh skema Avro untuk data tersimpan yang ditunjukkan sebelumnya:

{& ldquo; tipe & rdquo;: & ldquo; catatan & rdquo;, & ldquo; namespace & rdquo;: & ldquo; com. contoh & rdquo;, & ldquo; nama & rdquo;: & ldquo; UserSession & rdquo;, & ldquo; bidang & rdquo;: [{& ldquo; nama & rdquo;: & ldquo; username & rdquo;, & ldquo; tipe & rdquo;: [& ldquo; string & rdquo;, & rdquo; null & rdquo;]}, {& ldquo; nama & rdquo;: & ldquo; sessionid & rdquo;, & ldquo; tipe & rdquo;: & ldquo; int & rdquo;}, {& ldquo; nama & rdquo;: & ldquo; sejak & rdquo;, & ldquo; tipe & rdquo;: & ldquo; panjang & rdquo;}, {& ldquo; nama & rdquo;: & ldquo; tema & rdquo;, & ldquo; tipe & rdquo;: [& ldquo; string & rdquo;, & rdquo; null & rdquo;]}]}
Skema Avro memberikan ketikan yang sangat kuat dalam database saat skema penting. Dalam contoh sebelumnya, Anda melihat data string, id sesi numerik, tanggal (milidetik, sejak Unix Time Epoch, sebagai bilangan bulat panjang), dan pengaturan personalisasi untuk tema yang akan digunakan di situs web.

Perhatikan juga bahwa jenis username dan theme memiliki dua pilihan - string dan null, yaitu bagaimana Anda menginstruksikan Oracle NoSQL agar nilai null diperbolehkan. Anda bisa saja meninggalkan tema sebagai string dan memberikan parameter konfigurasi tambahan & ldquo; default & rdquo;: & ldquo; bluesky & rdquo;.

Database NoSQL lainnya memberikan indeks sekunder pada properti sewenang-wenang dari suatu nilai yang memiliki konten JSON. Riak, misalnya, menyediakan indeks sekunder berdasarkan

partisi dokumen - pada dasarnya, properti yang dikenal dalam dokumen JSON diindeks dengan tipe tertentu.Hal ini memungkinkan untuk query jarak jauh (kurang dari atau lebih dari) selain perbandingan yang sama dan tidak sama. Riak mengelola untuk memberikan berbagai pertanyaan tanpa skema yang ketat - hanya definisi indeks sederhana. Jika datanya ada, maka itu ditambahkan ke indeks. Menggandakan data

Menyimpan banyak salinan dari data yang sama di server lain, atau bahkan rak server, membantu memastikan ketersediaan data jika satu server gagal. Kegagalan server terjadi terutama di cluster yang sama.

Anda bisa mengoperasikan replika dua cara utama:

Master-slave:

  • Semua membaca dan menulis terjadi pada master. Budak mengambil alih dan menerima permintaan hanya jika tuannya gagal. Replikasi master-budak biasanya digunakan pada toko key-value yang sesuai dengan ASID. Untuk mengaktifkan konsistensi maksimum, toko utama ditulis dan semua replika diperbarui sebelum transaksi selesai. Mekanisme ini disebut

two-phase commit dan menciptakan jaringan ekstra dan waktu pemrosesan pada replika. Master-master:

  • Membaca dan menulis bisa terjadi pada semua node yang mengelola sebuah kunci. Tidak ada konsep a & ldquo; utama & rdquo; pemilik partisi Master-master replika biasanya pada akhirnya konsisten, dengan cluster melakukan operasi otomatis untuk menentukan nilai terbaru untuk kunci dan menghapus nilai basi yang lebih tua.

Di kebanyakan toko dengan nilai penting, ini terjadi secara perlahan - pada waktu baca. Riak terkecuali di sini karena memiliki layanan anti-entropi yang memeriksa konsistensi selama operasi normal.

Versi data

Untuk mengaktifkan resolusi konflik otomatis, Anda memerlukan sebuah mekanisme untuk menunjukkan versi data terbaru. Akhirnya toko kunci-nilai konsisten mencapai resolusi konflik dengan cara yang berbeda.

Riak menggunakan mekanisme jam vektor untuk meramalkan salinan mana yang paling baru. Toko dengan nilai kunci lainnya menggunakan stempel waktu yang sederhana untuk menunjukkan kekakuan. Bila konflik tidak dapat diatasi secara otomatis, kedua salinan data dikirim ke klien. Data yang bertentangan dikirim ke klien dapat terjadi dalam situasi berikut:

Klien 1 menulis ke replika A 'Adam: {likes: Cheese}'.

  1. Replica Sebuah salinan data ke replika B.

  2. Klien 1 memperbarui data tentang replika A sampai 'Adam: {suka: Keju, membenci: sinar matahari}'.

  3. Pada saat ini, replika A tidak memiliki cukup waktu untuk menyalin data terbaru ke replika B.

    Klien 2 memperbarui data tentang replika B ke 'Adam: {suka: Anjing, membenci: kanguru}'.

  4. Pada titik ini, replika A dan replika B saling bertentangan dan cluster database tidak dapat secara otomatis menyelesaikan perbedaannya.

    Mekanisme alternatif adalah menggunakan stempel waktu dan mempercayai mereka untuk menunjukkan data terbaru. Dalam situasi seperti ini, masuk akal untuk aplikasi memeriksa perangko waktu membaca nilai terakhir sebelum memperbarui nilainya.

Mereka memeriksa cek

dan mengatur mekanisme, yang pada dasarnya berarti 'Jika versi terakhir masih versi 2, maka simpan versi saya 3'. Mekanisme ini kadang-kadang disebut read match update (RMU) atau baca tulis kecocokan (RMW). Mekanisme ini adalah mekanisme default yang digunakan oleh Oracle NoSQL, Redis, Riak, dan Voldemort.

Mengelola Data di NoSQL - dummies

Pilihan Editor

Bertahan dalam Zombie Sieges di Minecraft - dummies

Bertahan dalam Zombie Sieges di Minecraft - dummies

Bermasalah dengan zombie yang menyerang desa Anda pada malam hari di Minecraft? Pelajari bagaimana untuk membela diri, menyembuhkan penduduk desa zombie, dan pulihkan dunia Anda!

Zaman Batu di Minecraft - dummies

Zaman Batu di Minecraft - dummies

Tonggak penting dalam mode Minecraft Survival, dan yang dicapai oleh beberapa pemain di Hari pertama, mencapai Zaman Batu. Setelah Anda membuat pickax kayu dan Anda bisa menemukan gua atau menggali lubang, item dalam tabel berikut tersedia untuk Anda. Sebagian besar bahan berbasis batu lebih padat dari yang lain ...

Zaman Looting di Minecraft - dummies

Zaman Looting di Minecraft - dummies

Anda mencapai Usia Looting di Minecraft di awal permainan - kadang-kadang, bahkan paralel untuk mencapai Era Kayu. Anda mulai dengan membunuh musuh untuk menjarah, dan dengan menggunakan jarahan untuk memperbaiki repertoar kerajinan Anda. Lebih banyak item kemudian tersedia bagi Anda, seperti tercantum dalam tabel. Semua alat meningkatkan jumlah ...

Pilihan Editor

Infografis tepat waktu: Berbagi Breaking News - dummies

Infografis tepat waktu: Berbagi Breaking News - dummies

Walaupun infografik Anda tidak mungkin menjadi satu-satunya sumber berita, Ini bisa membantu pemahaman pembaca akan sebuah acara berita. Misalnya, banyak orang belajar di Twitter pada bulan Oktober, 2011 bahwa pendiri Apple Steve Jobs telah meninggal dunia. Infografis tidak akan menjadi orang pertama yang mendengarnya. Tapi orang-orang ...

Pilihan Editor

GED Contoh Pertanyaan: Pertanyaan Ilmu Fisik - dummies

GED Contoh Pertanyaan: Pertanyaan Ilmu Fisik - dummies

Ketika Anda mencapai bagian Sains GED, Anda akan diharapkan memiliki pengetahuan umum di semua cabang Ilmu Pengetahuan, termasuk Ilmu Fisika. Berikut adalah contoh jenis pertanyaan yang mungkin Anda hadapi pada hari ujian. Kecepatan dan Kecepatan Ada perbedaan antara kecepatan dan kecepatan, meskipun terkadang Anda ...

Latihan GED RLA: Reading Comprehension - dummies

Latihan GED RLA: Reading Comprehension - dummies

Cara terbaik untuk mempersiapkan bagian pemahaman bacaan GED Tes RLA adalah melakukan sebanyak mungkin pertanyaan latihan. Simak sampel untuk melihat apa yang akan Anda hadapi pada hari ujian. Contoh Pertanyaan Pertanyaan 1-6 mengacu pada bagian berikut. Fasilitas untuk Akses ke Perusahaan Kreatif (FACE) Awalnya didirikan ...

GED Penalaran melalui Latihan Keterampilan Membaca Bahasa Seni - dummies

GED Penalaran melalui Latihan Keterampilan Membaca Bahasa Seni - dummies

Komponen bacaan Penalaran meskipun Bahasa Seni Bagian pada GED terdiri dari kutipan dari fiksi dan nonfiksi. Setiap kutipan diikuti oleh beberapa item pilihan berdasarkan bahan bacaan. Untuk pertanyaan di bagian ini, pilih satu jawaban terbaik untuk setiap pertanyaan. Bekerja dengan hati-hati, tapi jangan terlalu banyak menghabiskan waktu ...