Dqlite 1.0, versi SQLite yang diedarkan daripada Canonical, tersedia

Syarikat Canonical ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° keluaran projek yang penting Dqlite 1.0 (SQlite Teragih), yang membangunkan enjin SQL terbenam serasi SQLite yang menyokong replikasi data, pemulihan automatik daripada kegagalan dan toleransi kesalahan dengan mengedarkan pengendali merentas berbilang nod. DBMS dilaksanakan dalam bentuk perpustakaan C yang dilampirkan pada aplikasi dan diedarkan oleh di bawah lesen Apache 2.0 (SQlite asal disediakan dalam domain awam). Ikatan bahasa tersedia Go.

Pustaka ialah tambahan kepada pangkalan kod SQLite sedia ada yang menambah sokongan protokol rangkaian untuk menyambung berbilang contoh aplikasi yang dijalankan pada hos yang berbeza. Aplikasi yang disusun dengan Dqlite boleh berfungsi sebagai gugusan toleransi kesalahan yang mencukupi, bebas daripada DBMS luaran. Dalam amalan, Dqlite digunakan oleh Canonical dalam sistem pengurusan kontenanya LXD. Di antara bidang aplikasi perpustakaan, penciptaan peranti dan pemproses Internet Perkara yang tahan terhadap kesalahan dalam sistem juga disebut.
The Edge- pengiraan.

Untuk memastikan konsistensi dalam replikasi data, kaedah konsensus berasaskan algoritma digunakan Rakit, yang digunakan dalam projek seperti etcd, RethinkDB, CockroachDB dan OpenDaylight. Dqlite menggunakan pelaksanaan tak segeraknya sendiri C-rakit, ditulis dalam bahasa C. Perpustakaan sedia digunakan untuk pemprosesan sambungan berganda dan mengatur pelancaran coroutine libuv ΠΈ libco.

Berbanding dengan projek yang serupa rqlite,Dqlite menyediakan sokongan transaksi penuh, boleh berkomunikasi, dengan mana-mana projek C, membenarkan penggunaan fungsi time() dan ,menggunakan replikasi berasaskan bingkai dan bukannya replikasi berasaskan terjemahan SQL.

Ciri-ciri Dqlite:

  • Lakukan semua operasi cakera dan rangkaian secara tidak segerak;
  • Ketersediaan set ujian untuk mengesahkan ketepatan data;
  • Penggunaan memori yang rendah dan pertukaran data yang cekap melalui rangkaian;
  • Storan kekal pangkalan data dan log transaksi pada cakera (dengan kemungkinan caching dalam memori);
  • Pemulihan cepat daripada kegagalan;
  • Pelanggan CLI stabil dalam bahasa Go, yang boleh digunakan untuk memulakan pangkalan data, mengkonfigurasi replikasi dan menyambung/putus sambungan nod;
  • Menyokong seni bina ARM, X86, POWER dan IBM Z;
  • Pelaksanaan algoritma Raft dioptimumkan untuk meminimumkan kelewatan apabila melakukan transaksi.

Sumber: opennet.ru

Tambah komen