Rumah Kewangan Peribadi Menguruskan Data dalam NoSQL - dummies

Menguruskan Data dalam NoSQL - dummies

Isi kandungan:

Video: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024

Video: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
Anonim

Sekali anda menguruskan kunci dengan sewajarnya, anda sudah bersedia untuk merancang cara menyimpan data dengan NoSQL dan memastikan ia selamat dan mudah diakses untuk kerja-kerja anda perlu buat.

Jenis data di kedai nilai penting

Kedai nilai-kunci biasanya bertindak sebagai & ldquo; baldi & rdquo; untuk data perduaan. Beberapa pangkalan data menyediakan penaipan data dalaman yang kuat dan juga sokongan skema. Lain-lain hanya menyediakan fungsi pembantu yang mudah di dalam pemandu klien mereka untuk membagi struktur data aplikasi biasa ke kedai nilai utama. Contohnya termasuk peta, senarai, dan set disusun.

Oracle NoSQL boleh beroperasi dalam dua mod:

  • Simpanan binary sederhana

  • Sokongan skema Avro yang sangat berstruktur

Skema Avro adalah serupa dengan skema pangkalan data relasional - menguatkuasakan set yang sangat ketat peraturan format pada data JavaScript Object Notation (JSON) yang disimpan dalam pangkalan data, seperti digambarkan di sini:

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

Anda menentukan skema Avro menggunakan dokumen JSON. Ini adalah contoh skema Avro untuk data yang disimpan sebelumnya:

{& ldquo; taip & rdquo;: & ldquo; rekod & rdquo;, & ldquo; ruang nama & rdquo;: & ldquo; com. contoh & rdquo;, & ldquo; nama & rdquo;: & ldquo; UserSession & rdquo;, & ldquo; bidang & rdquo;: [{& ldquo; nama & rdquo;: & ldquo; nama pengguna & rdquo;, & ldquo; taip & rdquo;: [& ldquo; tali & rdquo;, & rdquo; null & rdquo;]}, {& ldquo; nama & rdquo;: & ldquo; sessionid & rdquo;, & ldquo; taip & rdquo;: & ldquo; int & rdquo;}, {& ldquo; nama & rdquo;: & ldquo; sejak & rdquo;, & ldquo; taip & rdquo;: & ldquo; panjang & rdquo;}, {& ldquo; nama & rdquo;: & ldquo; tema & rdquo;, & ldquo; taip & rdquo;: [& ldquo; tali & rdquo;, & rdquo; null & rdquo;]}]}

Skema Avro menyediakan penaipan yang sangat kuat dalam pangkalan data apabila skema adalah penting. Dalam contoh sebelumnya, anda melihat data rentetan, id sesi angka, tarikh (milisaat, sejak Unix Time Epoch, sebagai integer panjang), dan tetapan peribadi untuk tema yang digunakan di laman web.

Juga perhatikan bahawa jenis nama pengguna dan tema mempunyai dua pilihan - rentetan dan batal, iaitu bagaimana anda mengarahkan Oracle NoSQL bahawa nilai nol dibenarkan. Anda boleh meninggalkan tema sebagai rentetan dan menyediakan parameter konfigurasi tambahan & ldquo; lalai & rdquo;: & ldquo; bluesky & rdquo;.

Pangkalan data NoSQL lain memberikan indeks sekunder pada mana-mana harta sewenang-wenang dari nilai yang mempunyai kandungan JSON. Sebagai contoh, Riak menyediakan indeks sekunder berdasarkan pembahagian dokumen - pada dasarnya, harta yang diketahui dalam dokumen JSON diindeks dengan jenis.Ini membolehkan pertanyaan pelbagai (kurang daripada atau lebih besar daripada) sebagai tambahan kepada perbandingan yang sama dan tidak sama rata. Riak berjaya menyediakan pertanyaan pelbagai tanpa skema ketat - takrif indeks mudah sahaja. Sekiranya data itu ada, ia ditambah kepada indeks.

Mengulangi data

Menyimpan pelbagai salinan data yang sama pada pelayan lain, atau bahkan pelayan, membantu memastikan ketersediaan data jika satu pelayan gagal. Kegagalan pelayan berlaku terutamanya dalam kelompok yang sama.

Anda boleh mengendalikan replika dua cara utama:

  • Master-hamba: Semua membaca dan menulis berlaku kepada tuan. Hamba mengambil alih dan menerima permintaan hanya jika tuan gagal.

Replikasi hamba-hamba biasanya digunakan pada kedai nilai utama yang mematuhi ACID. Untuk membolehkan konsistensi maksimum, gedung utama ditulis dan semua replika dikemas kini sebelum transaksi selesai. Mekanisme ini dipanggil dua fasa koma dan mewujudkan rangkaian tambahan dan masa memproses pada replika.

  • Master-master: Reads dan writes boleh berlaku pada semua nod yang mengurus kunci. Tidak ada konsep tentang & ldquo; utama & rdquo; pemilik partition.

Replika master-master biasanya akhirnya konsisten, dengan cluster melakukan operasi automatik untuk menentukan nilai terkini untuk kunci dan menghapus nilai-nilai yang lebih tua, basi.

Di kebanyakan kedai nilai penting, ini berlaku dengan perlahan - pada waktu baca. Riak adalah pengecualian di sini kerana ia mempunyai pemeriksaan anti-entropi untuk konsistensi semasa operasi biasa.

Versioning data

Untuk membolehkan resolusi konflik automatik, anda memerlukan mekanisme untuk menunjukkan versi data terkini. Akhirnya kedai-kedai bernilai konsisten mencapai resolusi konflik dengan cara yang berbeza.

Riak menggunakan mekanisme vektor jam untuk meramalkan salinan yang paling terkini. Kedai nilai penting lain menggunakan cap waktu yang mudah untuk menunjukkan keganasan. Apabila konflik tidak dapat diselesaikan secara automatik, kedua-dua salinan data dihantar kepada pelanggan. Data yang bertentangan yang dihantar kepada pelanggan boleh berlaku dalam keadaan berikut:

  1. Client 1 menulis untuk replika A 'Adam: {likes: Cheese}'.

  2. Replika Data salinan kepada replika B.

  3. Pelanggan 1 mengemas kini data pada replika A kepada 'Adam: {suka: Keju, membenci: sinar matahari}'.

    Pada ketika ini, replika A tidak mempunyai masa yang cukup untuk menyalin data terkini untuk replika B.

  4. Client 2 mengemas kini data pada replika B kepada 'Adam: {suka: Anjing, membenci: kangaroos}'.

    Pada ketika ini, replika A dan replika B dalam konflik dan kluster pangkalan data tidak dapat menyelesaikan perbezaan secara automatik.

Satu mekanisme alternatif adalah menggunakan setem masa dan mempercayai mereka untuk menunjukkan data terkini. Dalam keadaan sedemikian, adalah wajar untuk permohonan itu menyemak bahawa setem masa membaca nilai terkini sebelum mengemas kini nilai.

Mereka memeriksa cek dan tetapkan mekanisme, yang pada dasarnya bermaksud 'Jika versi terbaru masih versi 2, maka simpan versi 3 saya. Mekanisme ini kadang-kadang dirujuk sebagai baca kemaskini perlawanan (RMU) atau read match write (RMW). Mekanisme ini adalah mekanisme lalai yang digunakan oleh Oracle NoSQL, Redis, Riak, dan Voldemort.

Menguruskan Data dalam NoSQL - dummies

Pilihan Editor

Cara RSVP ke Acara di Ning - patung

Cara RSVP ke Acara di Ning - patung

Di Ning, setelah anda menemukan persidangan itu mencari atau parti yang ingin anda hadiri, anda perlu RSVP untuk acara tersebut supaya pihak penganjur boleh mendapatkan jumlah minuman, makanan dan barang yang sesuai untuk semua peserta - dan juga rakan-rakan rangkaian anda yang tahu anda akan pergi . Untuk RSVP ...

Cara Menghantar Mesej Peribadi di Ning - dummies

Cara Menghantar Mesej Peribadi di Ning - dummies

Mesej hanya dengan dua kumpulan orang: rakan anda dan Pentadbir (termasuk Pencipta Rangkaian). Mesej peribadi Ning memberi anda cara yang ideal sebagai ahli untuk berkomunikasi dengan ahli-ahli lain dalam rangkaian tanpa semua orang mengetahui tentangnya:

Pilihan Editor

Dimensi web untuk Infographics anda - dummies

Dimensi web untuk Infographics anda - dummies

Cabaran untuk menilai infographic untuk web adalah saiz reka bentuk kini sangat berubah , tiada standard untuk bercakap. "Reka bentuk responsif" yang dibawa dengan kemunculan HTML5 mengubah landskap reka bentuk web secara kekal. Tidak seperti grafik yang dicetak, di mana setiap orang yang melihatnya mengalaminya dalam saiz yang sama, ...

Pilihan Editor

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Bagaimana Menganalisis Sentimen dan Kesan Penglibatan Media Sosial Anda - pemahaman

Komuniti mempunyai tindak balas yang positif, negatif, atau neutral kepada anda dan jenama anda boleh membantu anda menentukan bagaimana untuk terus mengendalikan pendekatan penglibatan media sosial anda. Bagaimana anda mengukur pesaing dalam minda penonton dalam talian anda adalah satu lagi faktor penting untuk dinilai. Anda juga boleh memanfaatkan ...

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Cara Tanya Ahli Komuniti Dalam Talian untuk Ulasan - dummies

Tidak ada yang salah dengan menjangkau para blogger, penulis, dan ahli komuniti dalam talian lain dan bertanya kepada mereka jika mereka berminat untuk menyemak jenama atau komuniti anda. Perbezaan antara penginjilan jenama dan melakukan kajian semula adalah bahawa penginjil jenama tidak mengkaji: Mereka mempromosikan, dan mereka diberi pampasan sebagai pertukaran untuk promosi mereka. Penilai, di ...

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Cara Mengiklankan Syarikat Anda melalui Penajaan Blog - patung

Untuk cara percikan untuk dilihat blog atau laman web, pertimbangkan menaja laman web ini. Penajaan untuk blog popular telah mendapat banyak perhatian dalam blogosphere. Sesetengah blogger menyeru menerima tajaan "menjual keluar," tetapi yang lain menganggapnya sebagai cara terbaik untuk mendapatkan bayaran untuk melakukan apa yang mereka suka. Penajaan cenderung kepada ...