Itusilẹ ti rqlite 7.0, pinpin, DBMS ifarada-aṣiṣe ti o da lori SQLite

Itusilẹ ti pinpin DBMS rqlite 7.0 waye, eyiti o nlo SQLite bi ẹrọ ibi ipamọ ati gba ọ laaye lati ṣeto iṣẹ iṣupọ kan lati awọn ibi-ipamọ mimuuṣiṣẹpọ pẹlu ara wọn. Ọkan ninu awọn ẹya ara ẹrọ ti rqlite ni irọrun ti fifi sori ẹrọ, imuṣiṣẹ ati itọju ibi ipamọ aibikita ti a pin kaakiri, ni itumo iru si etcd ati Consul, ṣugbọn lilo awoṣe data ibatan dipo ọna kika bọtini / iye. Koodu ise agbese ti kọ ni Go ati pinpin labẹ iwe-aṣẹ MIT.

Lati tọju gbogbo awọn apa ni ipo amuṣiṣẹpọ, a lo algorithm Raft consensus. Rqlite nlo ile-ikawe SQLite atilẹba ati awakọ go-sqlite3, lori oke eyiti a ṣe ifilọlẹ Layer kan ti o ṣe ilana awọn ibeere alabara, ṣe atunwi si awọn apa miiran, ati ṣe abojuto aṣeyọri ti ipohunpo lori yiyan ti ipade asiwaju.

Awọn iyipada si ibi ipamọ data le ṣee ṣe nikan nipasẹ ipade ti o yan bi adari, ṣugbọn awọn asopọ pẹlu awọn iṣẹ kikọ tun le firanṣẹ si awọn apa miiran ninu iṣupọ, eyiti yoo da adirẹsi adari pada lati tun ibeere naa pada (ni ẹya atẹle wọn. ṣe ileri lati ṣafikun fifiranṣẹ awọn ibeere laifọwọyi si oludari). Itọkasi akọkọ wa lori ifarada ẹbi, nitorinaa awọn iwọn DBMS nikan pẹlu awọn iṣẹ kika, ati awọn iṣẹ kikọ ni igo. O ṣee ṣe lati ṣiṣe iṣupọ rqlite kan lati oju ipade kan ati pe ojutu yii le ṣee lo lati pese iraye si SQLite lori HTTP laisi ipese ifarada ẹbi.

Awọn data SQLite lori ipade kọọkan ko ni ipamọ sinu faili kan, ṣugbọn ni iranti. Ni ipele ipele pẹlu imuse ti Ilana Raft, akọọlẹ kan ti gbogbo awọn aṣẹ SQLite ti o yori si awọn ayipada si ibi ipamọ data ti wa ni ipamọ. Wọ́n lo àkọọ́lẹ̀ yìí nígbà ìmúpadàbọ̀sípò (àtúnṣe ní ìpele àtúnṣe àwọn ìbéèrè lórí àwọn ọ̀nà míràn), nígbà tí wọ́n bá bẹ̀rẹ̀ ìsokọ́ra tuntun, tàbí láti bọ́ lọ́wọ́ ìpàdánù ìsopọ̀ pẹ̀lú. Lati dinku iwọn log naa, a lo iṣakojọpọ aifọwọyi, eyiti o bẹrẹ lẹhin nọmba kan ti awọn ayipada ti o yori si imuduro ti aworan aworan kan, ni ibatan si eyiti akọọlẹ tuntun bẹrẹ lati ṣetọju (ipo data data ni iranti jẹ aami si aworan + iwe iyipada akojo).

Awọn ẹya ara ẹrọ ti rqlite:

  • Rọrun lati ran iṣupọ kan lọ, laisi iwulo fun fifi sori SQLite lọtọ.
  • Agbara lati yara gba ibi ipamọ SQL ti o tun ṣe.
  • Ṣetan fun lilo ninu awọn iṣẹ iṣelọpọ (ipe iṣelọpọ).
  • Iwaju API HTTP(S) kan ti o fun ọ laaye lati ṣe imudojuiwọn data ni ipo ipele ati pinnu ipade asiwaju ti iṣupọ naa. Ni wiwo laini aṣẹ ati awọn ile-ikawe alabara fun ọpọlọpọ awọn ede siseto tun pese.
  • Wiwa ti iṣẹ kan fun idamo awọn apa miiran, gbigba ọ laaye lati ṣẹda awọn iṣupọ ni agbara.
  • Atilẹyin fun fifipamọ data paṣipaarọ laarin awọn apa.
  • Agbara lati tunto ipele ti ṣayẹwo ibaramu ati aitasera ti data nigba kika.
  • Agbara iyan lati sopọ awọn apa ni ipo kika-nikan, eyiti ko ṣe alabapin ninu ṣiṣe ipinnu ipohunpo ati pe a lo lati mu iwọn iwọn iṣupọ pọ si fun awọn iṣẹ kika.
  • Atilẹyin fun fọọmu iṣowo tirẹ ti o da lori apapọ awọn aṣẹ ni ibeere kan (awọn iṣowo ti o da lori BEGIN, COMMIT, ROLLBACK, SAVEPOINT ati Tu silẹ ko ni atilẹyin).
  • Atilẹyin fun ṣiṣẹda awọn afẹyinti gbona.

Ninu itusilẹ tuntun:

  • Atilẹyin ti a ṣafikun fun iṣupọ rqlite laifọwọyi nipa lilo iṣẹ wiwa oju ipade tuntun ti o le ṣiṣẹ lori ipilẹ ti Consul ati bẹbẹ lọ ibi ipamọ pinpin. Iṣẹ naa ngbanilaaye awọn apa rqlite lati wa ara wọn laifọwọyi - oluṣakoso kan nilo lati ṣe ifilọlẹ ọpọlọpọ awọn apa lori awọn olupin oriṣiriṣi, titọkasi Consul ti o wọpọ tabi adirẹsi iṣupọ bbl (fun apẹẹrẹ, “example.com: 8500”), ati awọn apa yoo jẹ laifọwọyi. ni idapo sinu kan iṣupọ. Oju ipade asiwaju lorekore ṣe imudojuiwọn alaye nipa adirẹsi rẹ ni ibi ipamọ Consul tabi ati be be lo, eyiti o fun ọ laaye lati yi oludari pada lẹhin iwulo lati tunto awọn apa miiran, bakannaa ṣafikun awọn apa tuntun paapaa lẹhin iyipada adari. Iṣẹ ipo Awari julọ ti nṣiṣẹ lori AWS Lambda ti duro.
  • Ni wiwo CLI ngbanilaaye lati ṣalaye ọpọlọpọ awọn ogun ni ẹẹkan - ti ipade akọkọ ko ba si, awọn agbalejo atẹle yoo kan si.
  • Awọn koodu fun sisọ awọn ariyanjiyan laini aṣẹ rqlited ti tun ṣiṣẹ.
  • Asopọmọra protobuf ti a ti daduro ti duro.
  • Ibi ipamọ BoltDB ti a lo ninu imuse ti Ilana Raft ti rọpo nipasẹ bbolt, orita lati iṣẹ akanṣe ati bẹbẹ lọ.

orisun: opennet.ru

Fi ọrọìwòye kun