Rumah Kewangan Peribadi Menggunakan Kaedah Konsistensi dalam NoSQL - dummies

Menggunakan Kaedah Konsistensi dalam NoSQL - dummies

Isi kandungan:

Video: Day 3 Keynote: Made Here Together (Cloud Next '18) 2024

Video: Day 3 Keynote: Made Here Together (Cloud Next '18) 2024
Anonim

Ketekalan harta dalam pangkalan data bermakna bahawa sebaik sahaja data ditulis ke pangkalan data berjaya, pertanyaan yang mengikuti dapat mengakses data dan mendapatkan pandangan yang konsisten mengenai data. Dalam amalan, ini bermakna bahawa jika anda menulis rekod ke pangkalan data dan kemudian dengan segera meminta rekod itu, anda dijamin untuk melihatnya. Ia amat berguna untuk perkara seperti pesanan Amazon dan pemindahan bank.

Konsistensi adalah skala gelongsor, dan subjek yang terlalu dalam untuk diliputi di sini. Walau bagaimanapun, dalam dunia NoSQL, konsistensi biasanya jatuh ke dalam salah satu daripada dua kem:

  • Konsistensi ACID (ACID bermaksud Atomicity, Consistency, Isolation, Ketahanan): ACID bererti bahawa sekali data ditulis, anda mempunyai konsistensi penuh dalam dibaca.

  • Ketekalan Masa Depan (BASE): BASE bermaksud bahawa sekali data ditulis, ia akhirnya akan muncul untuk dibaca.

Pertempuran telah mengamuk di antara orang-orang yang percaya konsistensi yang kuat dalam pangkalan data tidak diperlukan dan mereka yang mempercayainya benar-benar diperlukan (menerjemahkan orang ke syarikat NoSQL 'jabatan pemasaran! ).

Realiti adalah suatu tempat di antara. Adakah penting bahawa siaran Facebook seseorang tidak dilihat oleh semua kawannya selama lima minit? Tidak, mungkin tidak. Tukar "catatan Facebook" kepada "bilion dolar-transaksi kewangan," walaupun, dan sikap anda berubah dengan cepat! Pendekatan konsistensi yang anda pilih bergantung pada keadaan. Walau bagaimanapun, dalam pengalaman saya, konsistensi yang kuat sentiasa menjadi pilihan dalam situasi sistem perusahaan kritikal misi.

ACID

ACID adalah satu set prinsip umum untuk sistem transaksi, bukan sesuatu yang berkaitan semata-mata dengan sistem relasi, atau bahkan hanya pangkalan data, jadi ia bernilai mengetahui. ACID pada dasarnya bermakna, " Pangkalan data ini mempunyai kemudahan untuk menghalang anda daripada merosakkan atau kehilangan data, " yang tidak diberikan untuk semua pangkalan data. Sebenarnya, kebanyakan pangkalan data NoSQL tidak memberikan jaminan ACID.

Yayasan DB, MarkLogic, dan Neo4j adalah pengecualian yang ketara. Sesetengah pangkalan data NoSQL menyediakan jaminan lebih rendah yang dipanggil Check and Set yang mengesahkan sama ada orang lain telah mengubah dokumen sebelum membenarkan transaksi selesai. Tingkah laku ini biasanya terhad kerana ia cenderung dilaksanakan dalam satu rekod tunggal.

MongoDB adalah pangkalan data penting yang menyediakan keupayaan Cek dan Set. Dengan MongoDB, data seluruh nilai nod boleh dikunci semasa kemas kini, dengan itu menghalang semua membaca dan semua operasi menulis sehingga operasi selesai.Syarikat sedang berusaha untuk menghapuskan batasan ini, walaupun.

BASE

BASE bermaksud bahawa daripada membuat jaminan ACID, pangkalan data mempunyai keseimbangan konsisten dan ketersediaan data. Ini biasanya berlaku apabila nod dalam kluster pangkalan data yang diberikan sebagai pengurus utama bahagian pangkalan data, dan nod lain memegang replika yang hanya dibaca.

Untuk memastikan setiap klien melihat semua kemas kini (iaitu, mereka mempunyai pandangan yang konsisten terhadap data), menulis ke nod utama yang memegang data perlu dikunci sehingga semua replika baca adalah terkini. Ini dipanggil dua - fasa koma - perubahan dibuat secara tempatan tetapi digunakan dan disahkan kepada klien hanya apabila semua nod lain dikemas kini.

BASE melonggarkan keperluan ini, hanya memerlukan subset dari node yang memegang data yang sama untuk dikemas kini agar transaksi berjaya. Kadang kala transaksi dilakukan, replika baca sahaja dikemas kini.

Keuntungan pendekatan ini ialah transaksi dilakukan dengan lebih cepat. Mempunyai replika langsung yang boleh dibaca juga bermakna anda boleh menyebarkan beban membaca data anda, menjadikan bacaan lebih cepat.

Kelemahannya adalah bahawa pelanggan yang menyambung ke beberapa replika baca mungkin melihat maklumat terkini untuk tempoh masa yang tidak ditentukan. Dalam sesetengah senario, keadaan ini baik-baik saja. Jika anda menghantar mesej baharu di Facebook dan beberapa rakan anda tidak melihatnya selama beberapa minit, itu bukan kerugian besar. Sekiranya anda menghantar pesanan pembayaran ke bank anda, anda mungkin mahu urus niaga segera.

Pendekatan alternatif kepada replika baca sahaja ialah mempunyai berkongsi - tiada cluster di mana hanya satu simpul pada cluster yang selalu berfungsi sebagai sebahagian daripada pangkalan data.

Dikongsi - tidak bermakna anda kehilangan replikasi, walaupun. Pangkalan data yang menggunakan kaedah ini biasanya meniru data mereka ke kawasan sekunder pada nod atau nod utama lain - tetapi hanya satu nod adalah tuan untuk membaca dan menulis pada bila-bila masa.

Kelompok yang tidak dikongsi mempunyai kelebihan model konsisten yang lebih mudah tetapi memerlukan komitmen dua fasa untuk replika. Fakta ini bermakna kunci urus niaga sementara semua replika dikemas kini. (Kunci dalaman ditambah penguncian untuk nod lain memberi anda dua fasa.)

Ini biasanya mempunyai kesan yang kurang daripada kluster data yang dikongsi dengan replika baca sahaja, walaupun, kerana bahagian data replika yang tidak dikongsi tidak menerima permintaan baca untuk itu sebahagian daripada pangkalan data. Oleh itu, komitmen dua fasa adalah lebih cepat pada cluster yang dikongsi-tidak daripada pada cluster dengan replika yang boleh dibaca.

Memilih ACID atau BASE?

Seperti yang anda harapkan, banyak hujahnya ialah kerana vendor NoSQL boleh membezakan diri mereka dari pesaing mereka dengan mendakwa pendekatan yang berbeza dan unik. Namun, menarik untuk diperhatikan, bagaimanapun, bilangan vendor NoSQL dengan pematuhan ACID pada hala tuju mereka.

Sesetengah pangkalan data NoSQL mempunyai pematuhan ACID pada hala tuju mereka, walaupun mereka adalah pendukung BASE, yang menunjukkan bagaimana jaminan ACID yang berkaitan adalah sistem perusahaan, misi - kritikal yang berkaitan.

Banyak syarikat menggunakan produk konsisten BASE ketika menguji idea kerana mereka bebas tetapi kemudian berpindah ke pangkalan data berbayar ACID yang patuh kepada ACID apabila mereka ingin hidup dalam sistem kritikal misi.

Cara paling mudah untuk memutuskan sama ada anda memerlukan ACID ialah untuk mempertimbangkan interaksi orang dan sistem lain dengan data anda. Sebagai contoh, jika anda menambah atau mengemas kini data, adakah penting bahawa pertanyaan seterusnya dapat melihat perubahan? Dalam erti kata lain, keputusan penting bergantung pada keadaan semasa pangkalan data? Akan melihat data yang agak ketinggalan zaman bermakna bahawa keputusan itu boleh menjadi cacat secara fizikal?

Dalam perkhidmatan kewangan, keperluan untuk konsisten adalah jelas. Fikirkan pedagang membeli stok. Mereka perlu menyemak baki tunai sebelum berdagang untuk memastikan bahawa mereka mempunyai wang untuk menutupi perdagangan. Jika mereka tidak melihat baki yang betul, mereka akan memutuskan untuk membelanjakan wang pada transaksi lain. Sekiranya maklumat pangkalan data mereka hanya akhirnya konsisten, mereka mungkin tidak melihat kekurangan dana yang mencukupi, dengan itu mendedahkan organisasi mereka kepada risiko kewangan.

Kas yang sama boleh dibina untuk ACID berbanding BASE dalam penjagaan kesihatan, pertahanan, kecerdasan, dan sektor lain. Ini semua berkait rapat dengan data, dan pentingnya ketepatan masa dan keselamatan data.

Menggunakan Kaedah Konsistensi dalam NoSQL - dummies

Pilihan Editor

Kotak dan Sempadan Sifat Cascading Style Sheets (CSS) - dummies

Kotak dan Sempadan Sifat Cascading Style Sheets (CSS) - dummies

Sifat kotak, anda boleh meletakkan objek gaya di mana saja di dalam tetingkap penyemak imbas, objek kedudukan berbanding dengan objek lain pada halaman, dan gunakan peraturan gaya padding dan margin kotak secara selektif untuk mana-mana atau semua empat objek gaya sebagai kiri dan bawah atau atas, kiri, dan ...

Mengira Kadar Terbuka untuk Kempen Pemasaran E-Mail Anda - dummies

Mengira Kadar Terbuka untuk Kempen Pemasaran E-Mail Anda - dummies

Kadar adalah salah satu istilah pemasaran yang paling mengelirukan dari e-mel. Ia sebenarnya mengukur bilangan interaksi tertentu dengan pelayan e-mel selepas e-mel dihantar dinyatakan sebagai peratusan jumlah tidak melantun. E-mel anda tidak dikira sebagai terbuka sehingga salah satu daripada interaksi berikut berlaku: Penerima membolehkan imej ...

BuddyPress For Dummies Cheat Sheet - dummies

BuddyPress For Dummies Cheat Sheet - dummies

BuddyPress adalah perisian bebas sumber terbuka yang dapat anda unduh, memasang, dan gunakan untuk membina komuniti sosial anda sendiri di laman web anda yang berkuasa WordPress. Untuk melakukan ini, anda memerlukan pemahaman asas tentang ciri dan terminologi BuddyPress. Mencipta komuniti sosial anda sendiri mudah dilakukan dengan BuddyPress, tetapi jika anda memerlukan bantuan, anda boleh bertanya ...

Pilihan Editor

Menikmati Magic of Mindful Movies - dummies

Menikmati Magic of Mindful Movies - dummies

Tidak ada cara yang lebih baik untuk mengembangkan pengalaman pemikiran anda melampaui batas fizikal United Kingdom dan mengembangkan wawasan anda daripada menikmati filem yang cenderung berfikiran. Filem untuk kanak-kanak: Kung Fu Panda (Mark Osborne, John Stevenson, 2008). Filem animasi moden ini sering merujuk kepada kuasa yang datang dari ...

Memperluaskan Kesedaran Anda dengan Mendengarkan CD - manisan

Memperluaskan Kesedaran Anda dengan Mendengarkan CD - manisan

Kadang-kadang, hanya apa yang anda perlukan untuk pengalaman pemikiran yang mendalam. Mendengarkan CD berkualiti boleh memindahkan anda ke luar United Kingdom dan benar-benar membuka fikiran anda kepada idea-idea. CD berikut disyorkan: Meditasi Berpandu: Untuk Ketenangan, Kesedaran dan Cinta oleh Bodhipaksa. A ...

Freemason yang terkenal - orang-orang buatan

Freemason yang terkenal - orang-orang buatan

Yang hebat dan paling cemerlang di dunia atau Freemason. Kumpulan-kumpulan ini memberikan anda jauh dari senarai komprehensif - mereka hanya contoh: Bapa pengasas: Freemason yang paling terkenal di Amerika, George Washington telah dimulakan pada tahun 1752, di Fredericksburg, Virginia. Bapa pengasas lain yang juga Mason termasuk Benjamin Franklin, Marquis de ...

Pilihan Editor

Rakaman Portraits dengan Canon EOS Rebel T1i / 500D - patung

Rakaman Portraits dengan Canon EOS Rebel T1i / 500D - patung

Subjek tertumpukan tajam dan latar belakang yang lembut dan kabur. Ikuti langkah-langkah ini untuk mengambil potret seperti Canon Rebel Digital anda.

Menukar Canon EOS Rebel T7i / 800D ke Mod Live View - dummies

Menukar Canon EOS Rebel T7i / 800D ke Mod Live View - dummies

DSLR yang dijual hari ini, kamera Canon EOS Rebel T7i / 800D menawarkan Live View, yang menyahdayakan pemidang tilik dan sebaliknya memaparkan pratonton langsung subjek anda pada monitor kamera. Senarai berikut menerangkan asas penggunaan Live View: Switch to Live View for photography: Tekan butang Live View untuk beralih dari ...