rqlite, DBMS relasional terdistribusi ringan yang sangat baik

Si Anda mencari DBMS terdistribusi yang menggunakan SQLite sebagai mesin penyimpanan, izinkan saya memberi tahu Anda itu rqlite adalah satu untuk Anda, karena memungkinkan untuk mengatur pekerjaan cluster dari penyimpanan yang disinkronkan satu sama lain.

Dari fitur rqlite, kemudahan instalasi, implementasi dan pemeliharaan disorot penyimpanan terdistribusi toleransi kesalahan, yang agak mirip dengan etcd dan Konsul, tetapi menggunakan model data relasional alih-alih format kunci/nilai.

Tentang rqlite

Algoritma konsensus Raft digunakan untuk menjaga semua node tetap sinkron. Rqlite gunakan pustaka SQLite asli dan driver go-sqlite3, selain menjalankan lapisan yang memproses permintaan klien, mereplikasi dirinya sendiri di node lain dan memantau konsensus yang dicapai pada pilihan node utama.

Perubahan pada database hanya dapat dilakukan oleh node yang dipilih sebagai pemimpin, tetapi koneksi dengan operasi tulis dapat diarahkan ke node lain di cluster, yang akan mengembalikan alamat pemimpin untuk mengulangi permintaan (dalam versi berikutnya, mereka berjanji untuk menambahkan penerusan otomatis panggilan ke pemimpin).

Fokus utama adalah pada toleransi kesalahan, jadi DBMS skala hanya dalam operasi baca, dan operasi tulis adalah hambatannya. Dimungkinkan untuk menjalankan kluster rqlite dari satu node dan solusi semacam itu dapat digunakan untuk menyediakan akses ke SQLite melalui HTTP tanpa memberikan toleransi kesalahan.

Data SQLite di setiap node mereka tidak disimpan dalam file, tetapi di memori. Pada tingkat lapisan dengan penerapan protokol Raft, catatan disimpan dari semua perintah SQLite yang mengarah pada perubahan dalam database.

Catatan ini digunakan untuk replikasi (replikasi pada tingkat pemutaran ulang kueri ke node lain), saat memulai node baru, atau untuk memulihkan dari kehilangan konektivitas.

Untuk mengurangi ukuran catatan, pengemasan otomatis digunakan, yang dimulai setelah sejumlah perubahan tertentu dan mengarah ke konfirmasi snapshot, di mana catatan baru dimulai (keadaan database dalam memori identik dengan snapshot + akumulasi log perubahan).

Dari fitur rqlite:

  • Kemudahan penyebaran cluster, tanpa perlu instalasi SQLite terpisah.
  • Kemampuan untuk mendapatkan penyimpanan SQL yang direplikasi dengan cepat.
  • Siap digunakan dalam proyek produksi.
  • Ketersediaan HTTP (S) API, yang memungkinkan pembaruan data dalam mode batch dan menentukan node pemimpin cluster. Antarmuka baris perintah dan pustaka klien untuk berbagai bahasa pemrograman juga disediakan.
  • Kehadiran layanan untuk menentukan node lain yang memungkinkan Anda membuat cluster secara dinamis.
  • Dukungan untuk enkripsi pertukaran data antar node.
  • Kemampuan untuk menyesuaikan tingkat pemeriksaan relevansi dan konsistensi data saat membaca.
  • Kemampuan opsional untuk menghubungkan node read-only yang tidak berpartisipasi dalam penentuan konsensus dan digunakan untuk meningkatkan skalabilitas cluster untuk operasi baca.
  • Dukungan untuk bentuk asli transaksi berdasarkan penggabungan perintah dalam satu permintaan (transaksi berdasarkan BEGIN, COMMIT, ROLLBACK, SAVEPOINT, dan RELEASE tidak didukung).

Tentang rqlite 6.0

Versi baru memperkenalkan perubahan arsitektur yang signifikan yang bertujuan untuk meningkatkan keandalan cluster dengan meningkatkan proses mengarahkan permintaan baca dan tulis ke node cluster yang benar.

Node Rqlite sekarang dapat multipleks beberapa koneksi logis antara mereka menggunakan koneksi TCP yang dibuat antara node dengan protokol Raft. Jika permintaan memerlukan otoritas node pemimpin, tetapi dikirim ke node sekunder, node sekunder dapat menentukan alamat pemimpin dan mengirimkannya ke klien, tanpa melakukan perhitungan konsensus Raft.

Perubahan tersebut juga menghapus komponen terpisah untuk menyinkronkan metadata dan menghapus penanganan status dan metadata terpisah dari Raft.

Node sekunder sekarang mengirim permintaan ke node utama hanya jika diperlukan, bila perlu untuk mengetahui alamat node utama. API menyediakan kemampuan untuk memperoleh informasi tentang status node lain dalam cluster. Perintah Sysdump ditambahkan ke CLI.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentang itu atau lihat petunjuk pemasangan dan panduan pengguna, Anda dapat melakukannya do dari tautan di bawah.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.