ICanonical Memezela Uhlobo 1.0 lwe-Dqlite, i-C Library ye-SQL

I-Canonical

Iviki eledlule ICanonical imemezele ukukhishwa kwenguqulo enkulu yephrojekthi ye-Dqlite 1.0, wenza injini ye-SQL Imithetho eyakhelwe ngaphakathi ye-SQLite esekela ukuphindaphindeka kwedatha, ukubuyiselwa kwenhlekelele okuzenzakalelayo, nokubekezelelana kwamaphutha ngokuvula ama-node amaningi.

I-Dqlite ilabhulali engu-C Isebenzisa injini yedatha ephindaphindwayo ne-SQL enokutholakala okuphezulu ne-failover ezenzakalelayo. Isiqu esithi "dqlite" simele "i-Distributed SQLite", okusho ukuthi i-dqlite inweba i-SQLite nge-protocol yenethiwekhi engaxhuma izimo eziningi zohlelo lwakho lokusebenza futhi izenze zisebenze njengeqoqo elitholakala kakhulu, ngaphandle kokuncika kulwazi lwangaphandle.

Njengoba kushiwo i-DBMS isetshenziswa ngendlela yelabhulali engu-C enamathiselwe ezinhlelweni zokusebenza futhi isatshalaliswa ngaphansi kwelayisense le-Apache 2.0 (i-SQLite yangempela inikezwa kusizinda somphakathi). Umtapo wezincwadi uyi-plugin ngesisekelo sekhodi ekhona ye-SQLite, engeza ukusekelwa kweprotocol yenethiwekhi ukuxhumanisa izimo eziningi zohlelo lokusebenza olusebenza kubaphathi abahlukahlukene.

Uhlelo lokusebenza olwakhiwe nge-Dqlite lungasebenza njengeqoqo le-failover ngephutha elizimele, ezimele kwi-DBMS yangaphandle.

Ngokwenzayo, ICanonical isebenzisa iDqlite ohlelweni lokuphathwa kweziqukathi ze-LXD. Phakathi kwezindawo ezisetshenziswayo zomtapo wezincwadi, ukwakhiwa kwamadivayisi we-Intanethi abekezelela amaphutha nama-processor ezinhlelweni zekhompyutha ze-Edge nakho kuyashiwo.

Ukuqinisekisa ukungaguquguquki kokuphindaphindeka kwedatha, kusetshenziswa indlela yokuvumelana esuselwa ku-Raft algorithm, esetshenziswa kumaphrojekthi afana ne-etcd, RethinkDB, CockroachDB, ne-OpenDaylight. I-Dqlite isebenzisa ukuqaliswa kwayo kwe-C-raft yayo eyinqaba, ebhalwe kuC.

Ukuphindaphinda ukucubungula ukuxhumana nokuhlela ukwethulwa kwama-coroutines, kusetshenziswa imitapo yolwazi elungiselelwe i-libuv ne-libco.

Uma kuqhathaniswa nephrojekthi efanayo ye-rqlite, i-Dqlite inikeza ukuxhaswa okugcwele kokuthengiselana, ingaxhumana nanoma iyiphi iphrojekthi ye-C, ikuvumela ukuthi usebenzise umsebenzi we-time (), futhi isebenzise ukuphindaphindeka okususelwa kuhlaka esikhundleni sokuphindaphindeka okususelwa kunkulumo ye-SQL.

Okwezici ezingagqanyiswa ku-Dqlite yilezi ezilandelayo:

  • Yenza yonke imisebenzi yediski nenethiwekhi ngemodi ye-asynchronous
  • Ukuba khona kweqoqo lezivivinyo ukuqinisekisa ukunemba kwedatha
  • Ukusetshenziswa kwememori okuphansi nokushintshaniswa kwedatha okusebenzayo kunethiwekhi
  • Isitoreji sediski esihlala njalo sedatha yediski nelog yokuthengiselana (enekhono lokugcina isikhashana kwimemori)
  • Ukululama okusheshayo ngemuva kokwehluleka
  • Iklayenti elizinzile le-CLI ngolimi lwe-Go, olungasetshenziswa ukuqala i-database, ukulungisa ukuphindaphindeka nokuxhuma / ukunqamula ama-node
  • Ukusekelwa kobuciko be-ARM, i-X86, AMANDLA, ne-IBM Z
  • Ukuqaliswa kwe-Raft algorithm kuthuthukisiwe ukunciphisa ukubambezeleka kokuthengiselana.
  • Ukuqaliswa kwentambo eyodwa kwe-Asynchronous kusetshenziswa i-libuv njenge-loop yomcimbi.
  • Iphrothokholi yocingo yangokwezifiso elungiselelwe izinhlobo zokuqala ze-SQLite nezinhlobo zedatha.
  • Ukuphindaphindeka kwedatha okususelwa ku-Raft algorithm nokusebenza kwayo okusebenzayo ku-C-raft.

Ungayifaka kanjani i-Dqlite ku-Ubuntu nakwezinye izinto?

ICanonical inikeza imininingwane yokuthi ungalakha kanjani iklayenti ukuze lisebenzisane neDqlite, ungakuthola lokhu Kulesi sixhumanisi esilandelayo.

Manje ngokufaka umtapo wezincwadi ohlelweni, Lokhu kungafakwa ngezindlela ezimbili kulabo abangabasebenzisi be-Ubuntu noma okunye okuphuma kukho. ICanonical inikeza iPPA lapho ingatholakala khona ngendlela elula.

Le PPA ingangezwa kusuka esigungwini bese isebenzisa imiyalo elandelayo kuyo:

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

Enye indlela yokufaka lo mtapo wezincwadi ukuhlanganisa kwalokhu kusistimu ngakho-ke le kuyindlela ejwayelekile yokusabalalisa Ubuntu kanye nokunye ukusatshalaliswa kweLinux.

Ukuze benze lokhu, kufanele bavule ukuphela bese benza imiyalo elandelayo:

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 ..

Lapho yonke imitapo yolwazi edingekayo ifakiwe, ukuze wakhe umtapo wolwazi owabiwe nge-dqlite, ungaqalisa:

autoreconf -i
./configure
make
sudo make install

Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.