rqlite, DBMS hubungan ringan diedarkan ringan yang sangat baik

Si anda mencari DBMS yang diedarkan yang menggunakan SQLite sebagai mesin simpanan, izinkan saya memberitahu anda bahawa rqlite adalah yang sesuai untuk anda, kerana ia memungkinkan untuk mengatur kerja kluster dari penyimpanan yang diselaraskan antara satu sama lain.

Dari ciri rqlite, kemudahan pemasangan, pelaksanaan dan penyelenggaraan diketengahkan simpanan diedarkan toleransi kesalahan, yang agak serupa dengan etcd dan Consul, tetapi menggunakan model data hubungan dan bukannya format kunci / nilai.

Mengenai rqlite

Algoritma konsensus Raft digunakan untuk memastikan semua nod selaras. Rqlite gunakan perpustakaan SQLite asli dan pemacu go-sqlite3, sebagai tambahan untuk melaksanakan lapisan yang memproses permintaan pelanggan, mereplikasi dirinya dalam nod lain dan memantau konsensus yang dicapai mengenai pilihan simpul utama.

Perubahan pada pangkalan data hanya dapat dilakukan oleh simpul yang dipilih sebagai pemimpin, tetapi hubungan dengan operasi tulis dapat diarahkan ke node kluster lain, yang akan mengembalikan alamat pemimpin untuk mengulangi permintaan (dalam versi berikutnya, mereka berjanji untuk menambahkan pemajuan automatik panggilan ke pemimpin).

Fokus utama adalah pada toleransi kesalahan, jadi DBMS skala hanya dalam operasi baca, dan operasi menulis adalah halangan. Adalah mungkin untuk menjalankan rqlite cluster dari satu node dan penyelesaian seperti itu dapat digunakan untuk memberikan akses ke SQLite melalui HTTP tanpa memberikan toleransi kesalahan.

Data SQLite di setiap nod mereka tidak disimpan dalam fail, tetapi dalam memori. Pada tingkat lapisan dengan pelaksanaan protokol Raft, catatan disimpan semua perintah SQLite yang menyebabkan perubahan dalam pangkalan data.

Rekod ini digunakan untuk replikasi (replikasi pada tahap ulangan pertanyaan ke node lain), ketika memulakan simpul baru, atau untuk pulih dari kehilangan sambungan.

Untuk mengurangkan ukuran rekod, pembungkusan automatik digunakan, yang dimulai setelah sejumlah perubahan yang ditentukan dan mengarah ke pengesahan snapshot, yang menentangnya dengan catatan baru (keadaan pangkalan data dalam memori sama dengan snapshot log perubahan terkumpul).

Dari ciri rqlite:

  • Kemudahan penyebaran kluster, tanpa memerlukan pemasangan SQLite yang terpisah.
  • Keupayaan untuk mendapatkan penyimpanan SQL yang direplikasi dengan cepat.
  • Sedia digunakan dalam projek pengeluaran.
  • Ketersediaan API HTTP (S), yang membolehkan mengemas kini data dalam mod kumpulan dan menentukan node pemimpin kluster. Antaramuka baris perintah dan perpustakaan pelanggan untuk pelbagai bahasa pengaturcaraan juga disediakan.
  • Kehadiran perkhidmatan untuk menentukan nod lain yang membolehkan anda membuat kelompok secara dinamik.
  • Sokongan untuk penyulitan pertukaran data antara nod.
  • Keupayaan untuk menyesuaikan tahap memeriksa kesesuaian dan konsistensi data semasa membaca.
  • Keupayaan pilihan untuk menghubungkan nod baca sahaja yang tidak mengambil bahagian dalam penentuan konsensus dan digunakan untuk meningkatkan skalabilitas kluster untuk operasi baca.
  • Sokongan untuk bentuk transaksi asli berdasarkan menggabungkan perintah dalam satu permintaan (transaksi berdasarkan BEGIN, COMMIT, ROLLBACK, SAVEPOINT, dan RELEASE tidak disokong).

Mengenai rqlite 6.0

Versi baru memperkenalkan perubahan seni bina yang signifikan yang bertujuan meningkatkan kebolehpercayaan kluster dengan meningkatkan proses mengarahkan permintaan membaca dan menulis ke nod kluster yang betul.

Nod Rqlite sekarang dapat multiplex pelbagai sambungan logik di antara mereka menggunakan sambungan TCP yang dijalin di antara nod oleh protokol Raft. Sekiranya permintaan tersebut memerlukan kewibawaan simpul pemimpin, tetapi dikirim ke simpul sekunder, simpul sekunder dapat menentukan alamat pemimpin dan mengirimkannya kepada klien, tanpa melakukan pengiraan konsensus Raft.

Perubahan itu juga membuang komponen yang terpisah untuk menyegerakkan metadata dan membuang pengendalian status dan metadata Raft secara berasingan.

Nod sekunder kini menghantar permintaan ke nod utama hanya apabila perlu, apabila perlu untuk mengetahui alamat nod utama. API menyediakan kemampuan untuk mendapatkan maklumat mengenai status nod lain dalam kluster. Perintah Sysdump ditambahkan ke CLI.

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya atau rujuk arahan pemasangan dan manual pengguna, anda boleh melakukannya dari pautan di bawah.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.