Canonical Mengumumkan Versi 1.0 dari Dqlite, Pustaka C untuk SQL

Resmi

Minggu lalu Canonical mengumumkan rilis versi utama dari proyek Dqlite 1.0, Anda sedang mengembangkan mesin SQL Sesuai dengan SQLite bawaan yang mendukung replikasi data, pemulihan bencana otomatis, dan toleransi kesalahan dengan menjangkau banyak node.

Dqlite adalah perpustakaan C. Ini mengimplementasikan mesin database yang direplikasi dan SQL dengan ketersediaan tinggi dan failover otomatis. Akronim "dqlite" adalah singkatan dari "SQLite Terdistribusi", yang berarti bahwa dqlite memperluas SQLite dengan protokol jaringan yang dapat menghubungkan beberapa instance aplikasi Anda dan membuatnya bertindak sebagai cluster yang sangat tersedia, tanpa ketergantungan pada database eksternal.

Sebagaimana dimaksud DBMS diimplementasikan dalam bentuk pustaka C yang dilampirkan ke aplikasi dan didistribusikan di bawah lisensi Apache 2.0 (SQLite asli disediakan di domain publik). Pustaka adalah plugin berdasarkan kode SQLite yang ada, yang menambahkan dukungan protokol jaringan untuk menghubungkan beberapa contoh aplikasi yang berjalan pada host yang berbeda.

Aplikasi yang dibangun dengan Dqlite dapat berfungsi sebagai cluster failover karena kesalahan otonom, independen dari DBMS eksternal.

Dalam praktek, Canonical menggunakan Dqlite dalam sistem manajemen kontainer LXD. Di antara area aplikasi perpustakaan, pembuatan perangkat dan prosesor Internet of Things yang toleran terhadap kesalahan dalam sistem komputasi Edge juga disebutkan.

Untuk memastikan konsistensi dalam replikasi data, metode konsensus berdasarkan algoritma Raft digunakan, yang digunakan dalam proyek-proyek seperti etcd, RethinkDB, CockroachDB, dan OpenDaylight. Dqlite menggunakan implementasi rakit C asinkronnya sendiri, yang ditulis dalam C.

Untuk membuat multipleks pemrosesan koneksi dan mengatur peluncuran coroutine, pustaka yang disiapkan libuv dan libco digunakan.

Dibandingkan dengan proyek rqlite serupa, Dqlite menyediakan dukungan transaksi penuh, ia dapat berkomunikasi dengan proyek C apa pun, memungkinkan Anda menggunakan fungsi time (), dan menggunakan replikasi berbasis bingkai alih-alih replikasi berbasis terjemahan ekspresi SQL.

Fitur yang dapat disorot di Dqlite adalah sebagai berikut:

  • Lakukan semua operasi disk dan jaringan dalam mode asynchronous
  • Adanya serangkaian pengujian untuk memastikan keakuratan data
  • Konsumsi memori rendah dan pertukaran data yang efisien melalui jaringan
  • Penyimpanan disk basis data permanen dan log transaksi (dengan kapabilitas cache dalam memori)
  • Pemulihan cepat setelah kegagalan
  • Klien CLI yang stabil dalam bahasa Go, yang dapat digunakan untuk menginisialisasi database, mengkonfigurasi replikasi, dan menghubungkan / memutuskan node
  • Dukungan untuk arsitektur ARM, X86, POWER, dan IBM Z.
  • Penerapan algoritma Raft dioptimalkan untuk meminimalkan latensi transaksi.
  • Implementasi single threaded asinkron menggunakan libuv sebagai event loop.
  • Protokol kabel kustom dioptimalkan untuk primitif SQLite dan tipe data.
  • Replikasi data berdasarkan algoritma Raft dan implementasinya yang efisien di C-raft.

Bagaimana cara menginstal Dqlite di Ubuntu dan turunannya?

Canonical memberikan informasi tentang bagaimana Anda dapat membangun klien untuk interaksi dengan Dqlite, Anda dapat berkonsultasi ini Di tautan berikut.

Sekarang untuk menginstal perpustakaan pada sistem, Ini dapat diinstal dengan dua cara bagi mereka yang merupakan pengguna Ubuntu atau turunan lainnya darinya. Canonical menyediakan PPA dari situ dapat diperoleh dengan cara yang cukup sederhana.

PPA ini dapat ditambahkan dari terminal dan menjalankan perintah berikut di dalamnya:

sudo add-apt-repository ppa:dqlite/v1
sudo apt-get update
sudo apt-get install libdqlite-dev

Metode lain untuk menginstal pustaka ini adalah dengan mengompilasi ini pada sistem jadi ini adalah metode yang lebih umum untuk Ubuntu dan distribusi Linux lainnya.

Untuk melakukan ini, mereka hanya perlu membuka terminal dan menjalankan perintah berikut:

git clone --depth 100 https://github.com/canonical/sqlite.git
cd sqlite
./configure --enable-replication
make
sudo make install
cd ..
git clone https://github.com/canonical/libco.git
cd libco
make
sudo make install
cd ..
git clone https://github.com/canonical/raft.git
cd raft
autoreconf -i
./configure
make
sudo make install
cd ..

Setelah semua pustaka yang diperlukan diinstal, untuk membangun pustaka bersama dqlite, Anda dapat menjalankan:

autoreconf -i
./configure
make
sudo make install

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.