Siideynta rqlite 7.0, qaybsan, cillad-dulqaad leh DBMS oo ku salaysan SQLite

Siideynta DBMS rqlite 7.0 ee la qaybiyey ayaa dhacay, taas oo u adeegsata SQLite mashiinka kaydinta waxayna kuu ogolaaneysaa inaad habayso shaqada kooxeed kaydinta isku dhafan. Mid ka mid ah sifooyinka rqlite waa fududaynta rakibaadda, geynta iyo dayactirka kaydinta u dulqaadashada cilada qaybsan, oo la mid ah etcd iyo Qunsulka, laakiin la isticmaalayo qaabka xogta la xidhiidha halkii laga isticmaali lahaa qaabka muhiimka ah/qiimaha. Xeerka mashruuca wuxuu ku qoran yahay Go waxaana lagu qaybiyaa shatiga MIT.

Si loo ilaaliyo dhammaan qanjidhada si isku mid ah, Raft consensus algorithm ayaa la isticmaalaa. Rqlite waxay isticmaashaa maktabadda asalka ah ee SQLite iyo darawalka go-sqlite3, dushiisa waxaa la bilaabay lakab kaas oo ka baaraandegaya codsiyada macmiilka, sameeya ku celcelinta qanjidhada kale, oo kormeeraya guusha la isku raacsan yahay ee doorashada noodhka hogaaminaya.

Isbeddellada lagu sameeyo kaydka xogta waxa kaliya oo lagu samayn karaa noodhka loo doortay hoggaamiyaha, laakiin xidhiidhada hawlaha qorista ayaa sidoo kale loo diri karaa noodaha kale ee kooxda, kaas oo soo celin doona cinwaanka hoggaamiyaha si uu ugu celiyo codsiga (nooca soo socda ballan in aad ku dari doonto gudbinta tooska ah ee codsiyada hoggaamiyaha). Muhiimada ugu weyni waxay tahay dulqaadka khaladka, markaa DBMS waxay ku miisaamaysaa oo keliya hawlgallada akhrinta, iyo hawlgallada qorista ayaa ah cidhiidhiga. Waa suurtogal in laga maamulo koox rqlite ah hal noode oo xalkan waxaa loo isticmaali karaa in lagu bixiyo gelitaanka SQLite ee HTTP iyada oo aan la bixin dulqaadka cilladda.

Xogta SQLite ee nood kasta laguma kaydiyo fayl, laakiin waxa lagu kaydiyaa xusuusta. Marka la eego heerka lakabka ee hirgelinta nidaamka Raft, diiwaanka dhammaan amarrada SQLite ee u horseedaya isbeddelada xogta waa la hayaa. Qoraalkan waxa la isticmaalaa inta lagu guda jiro ku celcelinta (ku celcelinta heerka soo saarida codsiyada qanjidhada kale), marka la bilaabayo noodhka cusub, ama si looga soo kabsado luminta isku xidhka. Si loo yareeyo xajmiga log, baakad otomaatig ah ayaa loo isticmaalaa, taas oo bilaabma ka dib tiro cayiman oo isbeddel ah oo keenaysa hagaajinta sawir-qaadista, taas oo la xidhiidha diiwaan cusub oo la bilaabayo in la ilaaliyo (xaaladda xogta xogta ee xusuusta waa oo la mid ah sawirka sawirka + diiwaanka isbeddelka ee ururay).

Astaamaha rqlite:

  • Way fududahay in la geeyo koox, iyada oo aan loo baahnayn rakibaad gooni ah oo SQLite ah.
  • Awoodda in si degdeg ah loo helo kaydinta SQL oo la soo koobay.
  • U diyaarsan in loo isticmaalo mashaariicda wax-soo-saarka (wax-soo-saarka-heer).
  • Joogitaanka HTTP(S) API kaas oo kuu ogolaanaya inaad ku cusboonaysiiso xogta qaabka dufcada oo aad go'aamiso noodhka hogaaminaya kooxda. Interface-ka khadka taliska iyo maktabadaha macmiilka ee luuqadaha barnaamijyada kala duwan ayaa sidoo kale la bixiyaa.
  • Helitaanka adeeg lagu aqoonsado qanjidhada kale, taas oo kuu ogolaanaysa inaad abuurto kooxo si firfircooni leh.
  • Taageerada siraynta xogta is-weydaarsiga noodhka.
  • Awoodda lagu habeeyo heerka hubinta ku habboonaanta iyo joogtaynta xogta marka la akhrinayo.
  • Awoodda ikhtiyaarka ah ee isku xidhka qanjidhada qaab-akhris-kaliya, kuwaas oo aan ka qaybqaadan go'aaminta la isku raacsan yahay oo loo isticmaalo in lagu kordhiyo miisaanka kooxda ee hawlgallada akhrinta.
  • Taageerada qaabkaaga wax kala iibsiga ee ku salaysan isku darka amarada hal codsi (wax kala iibsiga ku salaysan BEGIN, COMMIT, ROLLBACK, SAVEPOINT iyo SIIDAYN lama taageero).
  • Taageerada abuurista kaydka kulul.

Siideynta cusub:

  • Taageero lagu daray oo loogu talagalay ururinta rqlite tooska ah iyadoo la adeegsanayo adeeg ogaansho node cusub oo ku shaqeyn kara ku saleysan Qunsulka iyo kaydinta la qaybiyay iwm. Adeeggu wuxuu u oggolaanayaa qanjidhada rqlite inay si toos ah isu helaan - maamuluhu wuxuu kaliya u baahan yahay inuu furo noodhka badan ee server-yada kala duwan, isagoo qeexaya ciwaanka guud ee Qunsulka ama kooxda iwm (tusaale, "example.com: 8500") si toos ah ayaa loogu daraa koox. Hogaamiye hogaamineed ayaa si joogto ah u cusbooneysiiya macluumaadka ku saabsan ciwaanka qunsulka ama kaydinta etcd, taas oo kuu ogolaaneysa inaad ka dib bedesho hogaamiyaha iyada oo aan loo baahnayn in dib loo habeeyo qanjidhada kale, iyo sidoo kale ku dar qanjidhada cusub xitaa ka dib markaad bedesho hogaamiyaha. Adeegga habka daahfurka dhaxalka ee ku shaqeeya AWS Lambda waa la joojiyay.
  • Interface-ka CLI waxa uu ogolaanayaa in la cayimo dhawr marti-galiyayaasha hal mar - haddii noodhka hore aanu jirin, martida soo socota waa lala xidhiidhi doonaa.
  • Koodhka sifaynta xujooyinka khadka taliska rqlited ayaa dib loo habeeyey.
  • Xirmada borotobuf-ka ee la joojiyay waa la joojiyay.
  • Kaydinta BoltDB ee loo adeegsaday hirgelinta borotokoolka Raft waxaa lagu beddelay bolt, fargeeto ka yimid mashruuca iwm.

Source: opennet.ru

Add a comment