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

Itusilẹ ti pinpin DBMS rqlite 6.0 ti gbekalẹ, eyiti o nlo SQLite bi ẹrọ ibi ipamọ ati gba ọ laaye lati ṣeto iṣẹ ti iṣupọ ti awọn ibi-ipamọ mimuuṣiṣẹpọ. Ọ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 boṣewa, 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 ninu aaye 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), bẹ̀rẹ̀ ìsokọ́ra tuntun kan, tàbí tí ń bọ́ lọ́wọ́ ìpàdánù ìsopọ̀ pẹ̀lú. Lati dinku iwọn log naa, a ti lo apoti aifọwọyi, eyiti o bẹrẹ lẹhin nọmba awọn ayipada kan pato ti o yori si aworan ti o wa titi lori disiki, ni ibatan si eyiti akọọlẹ tuntun bẹrẹ lati wa ni ipamọ (ipo data data ni iranti. jẹ aami si aworan aworan + akọọlẹ iyipada ti 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.
  • Setan fun lilo ninu ṣiṣẹ ise agbese (Production-ite).
  • 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. O tun pese wiwo laini aṣẹ ati agbara lati lo ọpọlọpọ awọn ile-ikawe alabara ti a ṣe fun SQLite.
  • 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.

Itusilẹ tuntun n ṣafihan awọn ayipada ayaworan pataki ti o ni ero lati jijẹ igbẹkẹle iṣupọ nipa imudara ilana ti ipa ọna kika ati kikọ awọn ibeere si awọn apa iṣupọ to pe. awọn apa rqlite le ni bayi pupọ awọn asopọ ọgbọn ọgbọn pupọ laarin ara wọn ni lilo awọn asopọ TCP ti iṣeto laarin awọn apa nipasẹ Ilana Raft. Ti ibeere kan ba nilo aṣẹ adari ṣugbọn ti o firanṣẹ si ipade keji, ipade keji le pinnu adirẹsi adari ki o gbe lọ si alabara laisi ṣiṣe awọn iṣiro isọdọkan Raft.

Iyipada naa tun yọ iwulo fun paati amuṣiṣẹpọ metadata lọtọ ati imukuro mimu lọtọ ti ipinlẹ Raft ati metadata. Awọn apa keji bayi fi awọn ibeere ranṣẹ si ipade olori nikan nigbati o jẹ dandan, nigbati wọn nilo lati wa adirẹsi ti ipade olori. API n pese agbara lati gba alaye nipa ipo awọn apa miiran ninu iṣupọ. Aṣẹ “.sysdump” ti jẹ afikun si wiwo laini aṣẹ.

orisun: opennet.ru

Fi ọrọìwòye kun