Rumah Keuangan Pribadi Menangani Partisi di NoSQL

Menangani Partisi di NoSQL

Daftar Isi:

Video: Cara partisi / hapus partisi hard disk di Windows 10 2024

Video: Cara partisi / hapus partisi hard disk di Windows 10 2024
Anonim

Kata partisi digunakan untuk dua konsep yang berbeda di tanah NoSQL. Partisi data adalah mekanisme untuk memastikan bahwa data didistribusikan secara merata di seluruh cluster. Di sisi lain, partisi jaringan terjadi ketika dua bagian cluster database yang sama tidak dapat berkomunikasi.

Pada sistem berkerumun yang sangat besar, semakin mungkin terjadi kegagalan satu peralatan akan terjadi. Jika sebuah jaringan berpindah antar server dalam cluster gagal, sebuah fenomena yang disebut sebagai (dalam jargon komputer) split brain terjadi. Dalam kasus ini, server individual masih menerima permintaan, namun mereka tidak dapat saling berkomunikasi satu sama lain.

Skenario ini dapat menyebabkan ketidakkonsistenan data atau hanya mengurangi kapasitas penyimpanan data, karena partisi jaringan dengan server paling sedikit dikeluarkan dari cluster (atau "dipilih dari" dalam mode True Brother yang benar).

Partisi yang mentolerasi

Anda memiliki dua pilihan saat terjadi partisi jaringan:

  • Terus, pada tingkat tertentu, untuk layanan membaca dan menulis operasi.

  • "Voting off" satu bagian dari partisi dan putuskan untuk memperbaiki datanya nanti ketika kedua bagian bisa berkomunikasi. Ini biasanya melibatkan cluster voting replika baca sebagai master baru untuk setiap node partisi master yang hilang.

Riak memungkinkan Anda menentukan berapa kali data direplikasi (tiga salinan, secara default - yaitu, n = 3) dan berapa banyak server yang harus ditanya agar dibaca berhasil. Ini berarti bahwa, jika master kunci utama berada pada sisi yang salah dari partisi jaringan, operasi baca tetap dapat berhasil jika dua server lainnya tersedia (yaitu, r = 2 read availability).

Riak menangani menulis ketika server partisi utama diturunkan dengan menggunakan sistem yang disebut handoff yang diisyaratkan . Ketika data awalnya direplikasi, simpul pertama untuk partisi kunci tertentu ditulis, bersama dengan (secara default) dua node tetangga berikut.

Jika primer tidak dapat ditulis, simpul berikutnya di ring ditulis. Penulisan ini secara efektif diserahkan ke simpul berikutnya. Ketika server utama muncul kembali, penulisan diputar ulang ke simpul sebelum mengambil alih operasi penulisan utama lagi.

Dalam kedua operasi ini, ketidakkonsistenan versi dapat terjadi karena replika yang berbeda mungkin berada dalam status versi yang berbeda, bahkan jika hanya selama beberapa milidetik.

Riak menggunakan sistem lain yang disebut active antigen - entropy untuk mengatasi masalah ini. Sistem ini menjalar melalui nilai yang diperbarui dan memastikan bahwa replika diperbarui pada beberapa titik, sebaiknya lebih cepat daripada nanti.Ini membantu menghindari konflik pada pembacaan sambil mempertahankan kecepatan penyerapan yang tinggi, yang menghindari komit dua fasa yang digunakan oleh database NoSQL lainnya dengan master-slave, shared-nothing clustering support.

Jika terjadi konflik pada pembacaan, Riak menggunakan baca perbaikan untuk mengembalikan hanya data terakhir. Akhirnya meskipun, dan tergantung pada pengaturan konsistensi dan ketersediaan yang Anda gunakan, aplikasi klien dapat disajikan dengan beberapa versi dan diminta untuk memutuskan sendiri.

Dalam beberapa situasi, tradeoff ini diinginkan, dan banyak aplikasi dapat diketahui secara intuitif, berdasarkan data yang disajikan, versi mana yang akan digunakan dan versi yang akan dibuang.

Pengindeksan sekunder

Indeks sekunder adalah indeks pada data tertentu dalam suatu nilai. Sebagian besar toko key-value meninggalkan pengindeksan ini sampai ke aplikasi. Namun, Riak berbeda, menggunakan skema yang disebut document - berdasarkan partisi yang memungkinkan pengindeksan sekunder.

Partisi berbasis dokumen mengasumsikan bahwa Anda menulis struktur JSON ke database Riak. Anda kemudian dapat mengatur indeks pada properti tertentu dalam struktur JSON ini, seperti yang ditunjukkan:

{"order-id": 5001, "customer-id": 1429857, "order-date": "2014-09-24 "," Total ": 134. 24}

Jika Anda memiliki aplikasi yang menunjukkan pesanan pelanggan untuk bulan sebelumnya, Anda ingin query semua catatan, seperti yang ditunjukkan, di mana id pelanggan adalah nilai tetap (1429857) dan tanggal pesanan berada dalam rentang tertentu (awal dan akhir bulan).

Di sebagian besar toko dengan nilai penting, Anda membuat ember lain yang kuncinya adalah nomor pelanggan dan bulan gabungan dan nilainya adalah daftar id pesanan. Namun, di Riak, Anda cukup menambahkan indeks sekunder pada customer-id (integer) dan tanggal pesanan (tanggal), yang tidak mengambil ruang penyimpanan ekstra namun memiliki keuntungan untuk menjadi transparan kepada pengembang aplikasi.

Indeks ini juga diperbarui secara live - artinya tidak ada jeda antara memperbarui nilai dokumen di Riak dan indeksnya up to date. Akses langsung ke data ini lebih sulit dilakukan daripada yang terlihat. Bagaimanapun, jika indeks tidak konsisten, Anda tidak akan pernah menemukan data yang dipegang secara konsisten!

Mengevaluasi Riak

Basho, entitas komersial di belakang Riak, mengatakan bahwa versi yang akan datang 2. 0 Database NoSQL selalu memiliki konsistensi yang kuat, klaim yang dibuat oleh vendor NoSQL lainnya. Klaim oleh vendor NoSQL untuk selalu memiliki konsistensi yang kuat seperti mengaku menjadi vegetarian yang kuat … kecuali pada hari Minggu ketika Anda memiliki daging panggang.

Riak bukan database yang sesuai dengan ACID. Konfigurasinya tidak dapat diubah sedemikian rupa sehingga berjalan dalam mode kepatuhan ACID. Klien bisa mendapatkan data yang tidak konsisten selama operasi normal atau selama partisi jaringan. Riak melakukan konsistensi mutlak untuk meningkatkan ketersediaan dan toleransi partisi.

Menjalankan Riak dalam mode konsistensi yang kuat berarti replika baca-nya diperbarui bersamaan dengan master utama. Ini melibatkan komit dua fasa - pada dasarnya, simpul master menulis ke simpul lain sebelum memastikan bahwa penulisan selesai.

Pada saat penulisan ini, mode konsistensi Riak yang kuat tidak mendukung indeks sekunder atau tipe data kompleks (misalnya, JSON). Mudah-mudahan, Basho akan memperbaiki masalah ini dalam rilis database yang akan datang.

Riak Search (mesin lateks Apache Solr yang rebranded dan terintegrasi menggunakan model pembaruan yang akhirnya konsisten) dapat menghasilkan false positive saat menggunakan konsistensi yang kuat. Situasi ini terjadi karena data dapat ditulis dan kemudian transaksi ditinggalkan, namun datanya masih digunakan untuk pengindeksan - meninggalkan hasil pencarian "false positive" - ​​hasilnya sebenarnya tidak berlaku lagi untuk kueri penelusuran.

Riak juga menggunakan proses sentinel yang terpisah untuk menentukan node mana yang menjadi master dalam kondisi failover. Proses ini, bagaimanapun, tidak tersedia, yang berarti bahwa untuk beberapa detik, mungkin saja, sementara salinan baru proses pengiriman dibawa secara online, sebuah simpul baru tidak dapat ditambahkan atau yang baru. master terpilih Anda perlu menyadari kemungkinan ini dalam kondisi failover tegangan tinggi.

Riak memang memiliki beberapa fitur bagus untuk pengembang aplikasi, seperti pengindeksan sekunder dan dukungan nilai JSON built-in. Replikasi database untuk pemulihan bencana ke pusat data lainnya hanya tersedia dalam versi berbayar, yang harganya dapat ditemukan di situs web mereka (harga sewa ditunjukkan, harga lisensi perpetual hanya diberikan pada aplikasi). Alat pemantauan cluster Riak Control juga tidak terlalu dianggap karena jeda waktu saat melakukan pemantauan cluster. Riak memegang banyak janji, dan jika Basho akan menambahkan lebih banyak fasilitas manajemen cluster

di versi mendatang, maka akan menjadi produk terbaik di kelasnya.

Menangani Partisi di NoSQL

Pilihan Editor

Menjelajahi Alternatif untuk Jaringan Multichannel - dummies

Menjelajahi Alternatif untuk Jaringan Multichannel - dummies

Ada kekuatan dalam jumlah - atau begitulah kata pepatah. Hal ini dapat membantu saat mengelola saluran YouTube Anda. Pemikiran seperti inilah yang menyebabkan terbentuknya jaringan multichannel (sering disebut dengan singkatan MCNs) di YouTube. MCN pada dasarnya adalah kesepakatan kemitraan yang dibuat oleh pembuat konten independen dengan jumlah yang lebih besar ...

Apa yang harus dilakukan jika Anda lupa kata kunci atau kata kunci YouTube

Apa yang harus dilakukan jika Anda lupa kata kunci atau kata kunci YouTube

Jika Anda lupa nama pengguna atau kata sandi YouTube Anda, jangan panik YouTube memiliki alamat e-mail Anda, dan Anda dapat mengambil nama pengguna atau kata sandi yang terlupakan dari mereka. (Saat pertama kali mendaftar ke YouTube, catat nama pengguna dan kata sandi Anda, terutama jika berbeda dari yang biasa Anda gunakan di situs Web lainnya.) Buka YouTube. com ...

Apa itu YouTube Red? - dummies

Apa itu YouTube Red? - dummies

YouTube Red adalah layanan berlangganan baru yang meningkatkan pengalaman YouTube. Layanan ini mencakup langganan Google Play Musik. YouTube Red bukan hanya layanan streaming video - namun juga membuka fitur hebat membuat YouTube menjadi tempat yang tepat untuk hiburan berjam-jam. Kredit: Gambar milik YouTube. com. Layanan Red YouTube ...

Pilihan Editor

Dua kolom Kolom Sidebar kiri Desain Gambar - dummies

Dua kolom Kolom Sidebar kiri Desain Gambar - dummies

Gambar cermin dari layout sidebar kanan dua kolom , desain blog dua kolom ini menampilkan konten blog utama Anda di sisi kanan dengan sidebar di sebelah kiri. Memilih sidebar di sebelah kanan pasti pilihan yang lebih umum di blogland, namun menggunakan sidebar kiri tetap bisa memberi dampak. Di sini, Anda ...

Transparansi dalam Komunitas Online - dummies

Transparansi dalam Komunitas Online - dummies

Transparansi adalah kata besar di ruang media sosial saat ini. Ini adalah istilah yang menyenangkan dan menyenangkan untuk kejujuran. Ini berarti mendapatkan kepercayaan komunitas online karena tidak ada yang perlu disembunyikan. Dengan bersikap transparan, Anda memberi pandangan publik pada cara kerja merek Anda. Anda tidak menyapu pers atau ketidakpuasan yang buruk di bawah karpet. ...

Matikan Blog Mom Anda ke Job - dummies

Matikan Blog Mom Anda ke Job - dummies

Dapatkan pekerjaan bukanlah perluasan dari Anda blog, tapi anggap itu lebih sebagai perluasan karir Anda. Beberapa blogger, termasuk ibu, telah membangun begitu banyak kepercayaan dan kredibilitas di media sosial bahwa perusahaan telah mempekerjakan mereka untuk mengisi beberapa pemasaran media sosial yang hebat dan posisi manajemen lainnya. Bila Anda ...

Pilihan Editor

Cara membuat Lembar Kerja Prakiraan di Excel 2016 - dummies

Cara membuat Lembar Kerja Prakiraan di Excel 2016 - dummies

Fitur Lembar Perkiraan baru di Excel 2016 membuatnya sangat mudah untuk mengubah lembar kerja yang berisi data keuangan historis menjadi lembar kerja ramalan visual yang luar biasa. Yang Anda lakukan adalah membuka lembar kerja dengan data historis Anda, posisi kursor sel dalam satu selnya, lalu klik tombol Forecast Sheet pada Data ...

Cara membuat Peta Daya 3-D di Excel 2016 - dummies

Cara membuat Peta Daya 3-D di Excel 2016 - dummies

Power Map adalah nama fitur analisis visual baru yang menarik di Excel 2016 yang memungkinkan Anda menggunakan data geografis, keuangan, dan jenis lainnya bersama dengan bidang tanggal dan waktu dalam model data Excel Anda untuk membuat tur peta 3D animasi. Untuk membuat animasi baru untuk tur pertama di Power ...

Bagaimana cara Copy Formula dengan IsiOtomatis di Excel 2016 - dummies

Bagaimana cara Copy Formula dengan IsiOtomatis di Excel 2016 - dummies

Jika Anda hanya perlu menyalin satu formula di Excel 2016, gunakan fitur IsiOtomatis atau perintah Copy and Paste. Jenis salinan formula ini, meski lumrah, tidak bisa dilakukan dengan drag and drop. Jangan lupa pilihan Totals pada alat Quick Analysis. Anda bisa menggunakannya untuk membuat baris ...