Rilis rqlite 6.0, DBMS toleransi kesalahan sing disebarake adhedhasar SQLite

Rilis DBMS rqlite 6.0 sing disebarake ditampilake, sing nggunakake SQLite minangka mesin panyimpenan lan ngidini sampeyan ngatur karya klompok panyimpenan sing disinkronake. Salah siji fitur saka rqlite iku ease saka instalasi, penyebaran lan pangopènan panyimpenan fault-tolerant mbagekke, Luwih padha etcd lan Konsul, nanging nggunakake model data hubungan tinimbang tombol / format Nilai. Kode proyek ditulis ing Go lan disebarake miturut lisensi MIT.

Kanggo njaga kabeh simpul ing negara sing disinkronake, algoritma konsensus Raft digunakake. Rqlite nggunakake perpustakaan SQLite asli lan driver go-sqlite3 standar, ing ndhuwur lapisan dibukak sing ngolah panjaluk klien, nindakake replikasi menyang kelenjar liyane lan ngawasi prestasi konsensus babagan pilihan node sing unggul.

Owah-owahan ing database mung bisa digawe dening simpul sing dipilih minangka pimpinan, nanging sambungan karo operasi nulis uga bisa dikirim menyang kelenjar liyane ing kluster, kang bakal bali alamat pimpinan kanggo mbaleni request (ing versi sabanjuré padha janji nambahake panjalukan otomatis menyang pimpinan). Penekanan utama yaiku toleransi kesalahan, mula skala DBMS mung nganggo operasi maca, lan operasi nulis minangka bottleneck. Sampeyan bisa mbukak kluster rqlite saka simpul siji lan solusi iki bisa digunakake kanggo nyedhiyakake akses menyang SQLite liwat HTTP tanpa menehi toleransi kesalahan.

Data SQLite ing saben simpul ora disimpen ing file, nanging ing memori. Ing tingkat lapisan kanthi implementasine protokol Raft, log kabeh perintah SQLite sing nyebabake owah-owahan ing database disimpen. Log iki digunakake sajrone replikasi (replikasi ing tingkat reproduksi panyuwunan ing simpul liyane), miwiti simpul anyar, utawa pulih saka kelangan konektivitas. Kanggo nyuda ukuran log, kemasan otomatis digunakake, sing diwiwiti sawise sawetara owah-owahan lan ndadékaké snapshot sing tetep ing disk, sing ana hubungane karo log anyar wiwit disimpen (kahanan database ing memori. identik karo gambar asline + log pangowahan akumulasi).

Fitur rqlite:

  • Gampang masang kluster, tanpa mbutuhake instalasi SQLite sing kapisah.
  • Kemampuan kanggo entuk panyimpenan SQL kanthi cepet.
  • Siap digunakake ing proyek kerja (Produksi-grade).
  • Ing ngarsane HTTP (S) API sing ngijini sampeyan kanggo nganyari data ing mode kumpulan lan nemtokake simpul anjog saka kluster. Uga nyedhiyakake antarmuka baris perintah lan kemampuan kanggo nggunakake macem-macem perpustakaan klien sing dibangun kanggo SQLite.
  • Kasedhiyan layanan kanggo ngenali simpul liyane, ngidini sampeyan nggawe klompok kanthi dinamis.
  • Dhukungan kanggo enkripsi ijol-ijolan data ing antarane simpul.
  • Kemampuan kanggo ngatur tingkat mriksa relevansi lan konsistensi data nalika maca.
  • Kemampuan opsional kanggo nyambungake kelenjar ing mode mung diwaca, sing ora melu nemtokake konsensus lan digunakake kanggo nambah skalabilitas kluster kanggo operasi maca.
  • Dhukungan kanggo wangun transaksi dhewe adhedhasar gabungan printah ing siji panjalukan (transaksi adhedhasar BEGIN, COMMIT, ROLLBACK, SAVEPOINT lan RELEASE ora didhukung).
  • Dhukungan kanggo nggawe serep panas.

Rilis anyar ngenalake owah-owahan arsitektur sing signifikan kanggo nambah linuwih kluster kanthi nambah proses nuntun maca lan nulis panjalukan menyang simpul kluster sing bener. rqlite simpul saiki bisa multiplex sawetara sambungan logis antarane piyambak nggunakake sambungan TCP diadegaké antarane kelenjar dening protokol Raft. Yen panjalukan mbutuhake wewenang pimpinan nanging dikirim menyang simpul sekunder, simpul sekunder bisa nemtokake alamat pimpinan lan ngirim menyang klien tanpa nindakake petungan konsensus Rakit.

Owah-owahan uga ngilangi kabutuhan komponen sinkronisasi metadata sing kapisah lan ngilangi penanganan kapisah saka negara Raft lan metadata. Node sekunder saiki ngirim panjalukan menyang simpul pimpinan mung yen perlu, nalika kudu ngerteni alamat simpul pimpinan. API menehi kemampuan kanggo njupuk informasi bab negara kelenjar liyane ing kluster. Printah ".sysdump" wis ditambahake menyang antarmuka baris printah.

Source: opennet.ru

Add a comment