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

Melindungi Metrik Media Sosial anda dengan Alat Cadangan - dummies

Melindungi Metrik Media Sosial anda dengan Alat Cadangan - dummies

Jika anda telah memulakan jejak sosial metrik media dan menikmati kurniaan data yang kini dapat dilihat, dihidupkan, dan digunakan, anda mungkin tertanya-tanya apa yang mungkin menyebabkan kemurungan! Mudah: kehilangan data. Katakanlah bahawa anda mempunyai masalah tapak atau entah bagaimana kehilangan akses ke tapak atau data anda. Adakah anda mempunyai sandaran anda ...

Laman web baru? Menarik Tumpuan Media Sosial Lalu Lintas dan Meningkat - dummies

Laman web baru? Menarik Tumpuan Media Sosial Lalu Lintas dan Meningkat - dummies

Mana-mana kempen baru, laman web, akaun Twitter, halaman Facebook, atau item lain yang anda ingin ukur dengan metrik media sosial bermula pada sifar. Nombor ini boleh membuat anda merasa seperti anda bercakap dengan tidak sah, bercakap dengan diri anda atau anda tersembunyi dari pandangan. Perasaan ini boleh membawa kepada pengasingan secara keseluruhan ...

Meracuni Google Spider - dummies

Meracuni Google Spider - dummies

Anda sentiasa dapat mencari orang yang ingin menyimpang dari lurus dan sempit. Ya, mereka adalah orang bodoh yang terlibat dalam taktik pengoptimuman berisiko yang bertujuan untuk menggerakkan PageRank secara artifisial, memanipulasi pesanan halaman hasil carian di Google, dan mendapatkan kelebihan yang tidak adil dalam indeks. Google, dengan reputasi yang luar biasa untuk melindungi, ...

Pilihan Editor

Mengukur Pengunjung Lama Menginap di Laman Web Anda - dummies

Mengukur Pengunjung Lama Menginap di Laman Web Anda - dummies

Di laman web anda memberikan wawasan yang penting. Anda boleh memikirkan sama ada pengunjung sedang melihat cepat, kemudian pergi, atau sama ada mereka bertahan lebih lama dan sebenarnya membaca bahan dalam talian anda dengan tujuan untuk mengambil tindakan. Jika majoriti pelawat laman web anda tidak ...

Pemasaran web: Cara Menilai Layouts dengan Peta Haba - dummies

Pemasaran web: Cara Menilai Layouts dengan Peta Haba - dummies

Laman web perniagaan sangat mirip dengan merancang kedai dengan pemasaran produk dalam fikiran. Malah, laman web anda benar-benar adalah kedai - kedai maya di Internet. Rangkaian kedai runcit telah menghabiskan berjuta-juta dolar dalam penyelidikan pasaran, menonton dan mendokumentasikan bagaimana pembeli memasuki kedai, belok kanan atau kiri, dan ...

Analitik web Untuk Menipu Cheat Sheet - dummies

Analitik web Untuk Menipu Cheat Sheet - dummies

Melakukan analisis laman web tidak perlu meletihkan dan intensif masa. Anda boleh meringkaskan prestasi keseluruhan laman web anda dengan cepat - jika anda tahu apa yang perlu dicari. Alat analisis web percuma dan kos rendah boleh membantu anda mengukur kejayaan laman web anda, dan anda boleh menjana perujuk tapak dengan pelbagai cara yang tidak mungkin ...

Pilihan Editor

Cara Memaksimumkan Ruang pada Laman Web - dummies

Cara Memaksimumkan Ruang pada Laman Web - dummies

Terlalu terhad, anda boleh membuat penggunaan kreatif beberapa teknologi di luar sana untuk memaksimumkan antara muka anda. Untuk setiap teknik berikut yang diterangkan, terdapat banyak laman web yang menawarkan sampel kod, forum, dan sumber untuk membantu anda memulakan. Accordions. Antara muka akordion membolehkan ...

Cara Mendapatkan Corak CSS3 Online - dummies

Cara Mendapatkan Corak CSS3 Online - dummies

Mencipta kesan mudah untuk laman CSS3 menggunakan gradien mudah . Walau bagaimanapun, mewujudkan sesuatu yang benar-benar hebat memerlukan masa dan keupayaan artistik. Kebanyakan pemaju benar-benar tidak mempunyai masa atau kemahiran yang diperlukan untuk mencipta sesuatu yang mempesonakan menggunakan CSS3 sahaja (atau CSS3 digabungkan dengan grafik) - di sinilah pereka bermain. Ramai pereka yang membolehkan anda ...

Bagaimana Mengoptimumkan Aplikasi CSS3 dengan Modernizr - dummies

Bagaimana Mengoptimumkan Aplikasi CSS3 dengan Modernizr - dummies

Terdapat banyak pelayar dan versi pelayar yang berbeza gunakan hari ini. Tidak semua daripada mereka adalah optimum untuk CSS3. Inilah tempat Modernizr dimainkan. Pemajunya menyebutnya "perpustakaan JavaScript yang mengesan ciri HTML5 dan CSS3 dalam pelayar pengguna. "Anda menggunakan Modernizr untuk melaksanakan tugas secara pilihan dan memasukkan ciri aplikasi berdasarkan ...