Toddobaadkii hore Canonical wuxuu ku dhawaaqay sii deynta qayb weyn oo ka mid ah mashruuca Dqlite 1.0, waxaad horumarinaysaa mishiinka SQL Lagu dhisay SQLite oo u hoggaansamaya taageerida ku-soo-celinta xogta, soo-kabashada masiibada otomaatiga ah, iyo dulqaad la'aanta iyadoo la fidiyo noodhadh badan.
Dqlite waa maktabad C Waxay fulisaa mishiin nuqul ah iyo xog SQL leh helitaan sare iyo failover otomaatig ah. Gaabinta "dqlite" waxay u taagan tahay "SQLite Qaybiyay", taas oo macnaheedu yahay in dqlite uu ku balaadhiyo SQLite nidaam maamuleed oo isku xidhi kara dhacdooyin badan oo ka mid ah dalabkaaga isla markaana ka dhigaya inay u dhaqmaan sidii koox kooxeed oo aad loo heli karo, iyada oo aan lagu tiirsanaanin keydka keydka macluumaadka ee dibadda.
Sida ku xusan DBMS waxaa lagu hirgaliyay qaab maktabad C ah oo ku lifaaqan codsiyada waxaana loo qaybiyaa hoosta liisanka Apache 2.0 (SQLite asalka ah waxaa lagu bixiyaa qaybta dadweynaha). Maktabaddu waa shey ku xiran aasaaska SQLite code, kaas oo ku daraya taageerada borotokoolka shabakada iskuxirka dhacdooyin badan oo ka mid ah dalabka ku socda martida kala duwan.
Codsi lagu dhisay Dqlite wuxuu u shaqeyn karaa sidii kutlada failover qalad iskiis ah, oo ka madax bannaan DBMS dibedda ah.
Ficil ahaan, Canonical wuxuu u adeegsadaa Dqlite nidaamka maaraynta weelka LXD. Meelaha laga codsado maktabadda, abuuritaanka aaladda Internet-ka ee qaladka dulqaadka u leh iyo processor-ka nidaamka xisaabinta Edge ayaa sidoo kale la xusay.
Si loo hubiyo joogteynta ku-soo-celinta xogta, habka la isku raacsan yahay ee ku saleysan algorithm-ka Raft ayaa loo adeegsadaa, kaas oo loo isticmaalo mashaariicda sida iwm, RethinkDB, CockroachDB, iyo OpenDaylight. Dqlite waxay isticmaashaa fulinteeda asynchronous C-raft, oo lagu qoray C.
Si loo dhufto isku xidhka isku xidhka iyo abaabulka bilaabida coroutines, maktabadaha la diyaariyay ee libuv iyo libco ayaa la isticmaalaa.
Marka loo barbardhigo mashruuc la mid ah rqlite, Dqlite wuxuu bixiyaa taageero macaamil buuxa, waxay la xiriiri kartaa mashruuc kasta oo C ah, waxay kuu ogolaaneysaa inaad isticmaasho waqtiga () waxqabadka, waxayna isticmaashaa ku-celcelin ku saleysan qaab-dhismeedka halkii aad ka tarjum lahayd muujinta SQL muujinta tarjumaadda.
Waxyaabaha lagu tilmaami karo Dqlite waxaa ka mid ah kuwan soo socda:
- Ku samee dhammaan howlaha diskiga iyo shabakadda qaab asynchronous ah
- Jiritaanka noocyo tijaabo ah si loo xaqiijiyo saxnaanta xogta
- Isticmaalka xusuusta oo hooseeya iyo is-dhaafsiga xogta hufan ee shabakadda
- Keydinta xogta diskiga ee joogtada ah iyo diiwaangelinta macaamil ganacsi (oo leh awood kaydinta xasuusta)
- Soo kabasho deg deg ah ka dib guul darrooyinka
- Macmiil xasilloon oo CLI ah oo ku qoran luqadda Go, oo loo isticmaali karo in lagu bilaabo xog-ururin, qaabaynta soo-saar iyo isku xirnaanta / kala-goynta noodhadhka
- Taageerada ARM, X86, AWOODDA, iyo qaab dhismeedka IBM Z
- Hirgelinta algorithm Raft waxaa loo habeeyay si loo yareeyo daahitaanka macaamilka.
- Hirgelinta isku xidhka hal asynchronous iyadoo la adeegsanayo libuv ahaan loop dhacdo.
- Borotokoolka siligga ah ee loogu talagalay SQLite horudhac iyo noocyada xogta.
- Ku soo celinta xogta oo ku saleysan algorithm-ka Raft iyo hirgelinta hufan ee C-raft.
Sidee loo rakibaa Dqlite Ubuntu iyo derivatives?
Canonical wuxuu bixiyaa macluumaad ku saabsan sida aad u dhisi karto macmiil la falgala Dqlite, waad la tashan kartaa tan Xiriirka soo socda.
Hadda sida loogu rakibo maktabadda nidaamka, Tan waxaa lagu rakibi karaa laba siyaabood oo loogu talagalay kuwa isticmaala Ubuntu ama wax kale oo ka dhalan kara. Canonical wuxuu bixiyaa PPA meesha laga heli karo si fudud oo fudud.
PPA-kan waxaa lagu dari karaa boosteejada oo lagu fulinayaa amarradan soo socda:
sudo add-apt-repository ppa:dqlite/v1 sudo apt-get update sudo apt-get install libdqlite-dev
Qaabka kale ee loo rakibo maktabadani waa iyada oo la isku soo ururiyo tan tan nidaamka markaa tani waa hab guud oo guud oo loogu talagalay Ubuntu iyo qaybinta kale ee Linux labadaba.
Si tan loo sameeyo, kaliya waa inay furaan terminal oo ay fuliyaan amarradan soo socda:
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 ..
Marka dhammaan maktabadaha lagama maarmaanka ah la rakibo, si loo dhiso maktabadda la wadaago dqlite, waad ordi kartaa:
autoreconf -i ./configure make sudo make install