Sakin rqlite 6.0, DBMS mai jurewa da kuskure bisa SQLite

An gabatar da sakin DBMS rqlite 6.0 da aka rarraba, wanda ke amfani da SQLite a matsayin injin ajiya kuma yana ba ku damar tsara aikin gungu na ɗakunan ajiya masu aiki tare. Ɗaya daga cikin fasalulluka na rqlite shine sauƙi na shigarwa, ƙaddamarwa da kuma kula da ajiya mai jure rashin kuskure, da ɗan kama da etcd da Consul, amma ta amfani da tsarin bayanai na dangantaka maimakon maɓalli / ƙima. An rubuta lambar aikin a cikin Go kuma an rarraba ta ƙarƙashin lasisin MIT.

Don kiyaye duk nodes a cikin yanayin aiki tare, ana amfani da algorithm raft consensus. Rqlite yana amfani da ainihin ɗakin karatu na SQLite da madaidaicin go-sqlite3 direba, a saman wanda aka ƙaddamar da wani Layer wanda ke aiwatar da buƙatun abokin ciniki, yin kwafi zuwa sauran nodes kuma yana sa ido kan nasarar yarjejeniya kan zaɓin babban kumburi.

Canje-canje ga ma'ajin bayanai ba za a iya yin kawai ta kumburin da aka zaɓa a matsayin jagora ba, amma ana iya aikawa da haɗin kai tare da ayyukan rubutu zuwa wasu nodes a cikin gungu, wanda zai mayar da adireshin jagora don maimaita buƙatar (a cikin sigar gaba za su iya yin hakan). alƙawarin ƙara tura buƙatun atomatik zuwa jagora). Babban abin da aka fi mayar da hankali akan haƙurin kuskure, don haka ma'auni na DBMS kawai tare da ayyukan karantawa, da kuma ayyukan rubutu sune ƙulli. Yana yiwuwa a gudanar da gungu na rqlite daga kumburi guda ɗaya kuma ana iya amfani da wannan maganin don samar da dama ga SQLite akan HTTP ba tare da samar da haƙurin kuskure ba.

Ba a adana bayanan SQLite akan kowane kumburi a cikin fayil ba, amma a cikin ƙwaƙwalwar ajiya. A matakin Layer tare da aiwatar da ka'idar Raft, ana adana log na duk umarnin SQLite waɗanda ke haifar da canje-canje a cikin bayanan. Ana amfani da wannan log ɗin yayin maimaitawa (maimaitawa a matakin sake buƙatun akan wasu nodes), fara sabon kumburi, ko murmurewa daga asarar haɗin gwiwa. Don rage girman log ɗin, ana amfani da marufi ta atomatik, wanda ke farawa bayan ƙayyadaddun canje-canje kuma yana haifar da daidaitawa ta hoto akan faifai, dangane da abin da aka fara ajiye sabon log ɗin (yanayin bayanan da ke cikin ƙwaƙwalwar ajiya). yayi kama da hoton hoto + da tarin tarihin canji).

Siffofin rqlite:

  • Sauƙi don tura gungu, ba tare da buƙatar shigarwar SQLite daban ba.
  • Ikon samun saurin samun kwafin ajiyar SQL.
  • Shirye don amfani a cikin ayyukan aiki (Production-grade).
  • Kasancewar API ɗin HTTP(S) wanda ke ba ku damar sabunta bayanai a yanayin tsari kuma ku tantance kullin jagorar tari. Hakanan yana ba da ƙirar layin umarni da ikon amfani da ɗakunan karatu daban-daban da aka gina don SQLite.
  • Samuwar sabis don gano wasu nodes, yana ba ku damar ƙirƙirar gungu a hankali.
  • Taimako don rufaffen musayar bayanai tsakanin nodes.
  • Ability don saita matakin duba dacewa da daidaiton bayanai lokacin karantawa.
  • Ikon zaɓi don haɗa nodes a cikin yanayin karantawa kawai, waɗanda ba sa shiga cikin ƙayyadaddun yarjejeniya kuma ana amfani da su don ƙara girman gungu don ayyukan karantawa.
  • Taimako don nau'in ma'amala na ku dangane da haɗa umarni a cikin buƙatu ɗaya (ma'amaloli da suka danganci BEGIN, COMMIT, ROLLBACK, SAVEPOINT da SAKI ba su da tallafi).
  • Taimako don ƙirƙirar madadin zafi.

Sabuwar sakin yana gabatar da manyan canje-canje na gine-gine da nufin haɓaka amincin tari ta hanyar inganta tsarin karantawa da rubuta buƙatun zuwa madaidaitan nodes na gungu. nodes na rqlite yanzu na iya haɓaka haɗin kai na ma'ana da yawa a tsakanin su ta amfani da haɗin TCP da aka kafa tsakanin nodes ta ka'idar Raft. Idan buƙatun na buƙatar ikon jagora amma an aika zuwa kumburin sakandare, kumburin na biyu zai iya tantance adireshin jagora kuma a mika shi ga abokin ciniki ba tare da yin lissafin yarjejeniya ta Raft ba.

Canjin ya kuma kawar da buƙatar keɓantaccen ɓangaren aiki tare na metadata tare da kawar da sarrafa daban na jihar Raft da metadata. Nodes na biyu yanzu suna aika buƙatun zuwa kumburin jagora kawai lokacin da ya cancanta, lokacin da suke buƙatar gano adireshin kumburin jagora. API ɗin yana ba da damar samun bayanai game da yanayin sauran nodes a cikin tari. An ƙara umarnin ".sysdump" zuwa layin layin umarni.

source: budenet.ru

Add a comment