Sakin rqlite 7.0, DBMS mai jurewa da kuskure bisa SQLite

An saki DBMS rqlite 7.0 da aka rarraba, wanda ke amfani da SQLite azaman injin ajiya kuma yana ba ku damar tsara aikin gungu daga ɗakunan ajiya da aka daidaita tare da juna. Ɗ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 samfurin bayanai na dangantaka maimakon tsarin maɓalli / ƙimar. 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 direban go-sqlite3, a saman wanda aka ƙaddamar da wani Layer wanda ke aiwatar da buƙatun abokin ciniki, yana yin kwafi zuwa sauran nodes, da kuma 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 aika haɗi tare da ayyukan rubutawa zuwa wasu nodes a cikin gungu, wanda zai mayar da adireshin jagora don maimaita buƙatar (a cikin sigar ta gaba za su iya yin hakan). alƙawarin ƙara tura buƙatun atomatik zuwa jagora). Babban abin da aka fi mayar da hankali shine 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 ga bayanan. Ana amfani da wannan log ɗin yayin maimaitawa (maimaitawa a matakin sake buƙatun buƙatun akan wasu nodes), lokacin fara sabon kumburi, ko murmurewa daga asarar haɗin gwiwa. Don rage girman log ɗin, ana amfani da tattarawa ta atomatik, wanda ke farawa bayan ƙayyadaddun canje-canje kuma yana haifar da gyara hoto, dangane da abin da sabon log ɗin ya fara kiyayewa (yanayin bayanan da ke cikin ƙwaƙwalwar ajiya shine. kama da hoton hoto + da tarin canje-canjen log).

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 samarwa (samar-sa).
  • Kasancewar API ɗin HTTP(S) wanda ke ba ku damar sabunta bayanai a yanayin tsari kuma ku tantance kullin jagorar tarin. Hakanan ana samar da layin umarni da ɗakunan karatu na abokin ciniki don harsunan shirye-shirye daban-daban.
  • 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.

A cikin sabon saki:

  • Ƙara goyon baya don tari ta atomatik ta rqlite ta amfani da sabon sabis na gano kumburi wanda zai iya aiki bisa tushen Consul da sauransu da aka rarraba ajiya. Sabis ɗin yana ba da damar nodes na rqlite don samun juna ta atomatik - mai gudanarwa kawai yana buƙatar ƙaddamar da nodes da yawa akan sabobin daban-daban, yana ƙayyade adireshin Consul na gama gari ko da sauransu (misali, “example.com: 8500”), kuma nodes ɗin za su kasance ta atomatik. a hade cikin gungu. Babban kumburi lokaci-lokaci sabunta bayanai game da adireshinsa a cikin Consul ko da dai sauransu ajiya ajiya, wanda ba ka damar daga baya canza jagora ba tare da bukatar sake saita sauran nodes, kazalika da ƙara sabon nodes ko da bayan canza shugaba. Sabis ɗin yanayin Gano na gado wanda ke gudana akan AWS Lambda an dakatar da shi.
  • Ƙididdigar CLI tana ba da damar tantance runduna da yawa a lokaci ɗaya - idan babu kumburin farko, za a tuntuɓi runduna ta gaba.
  • An sake yin aiki da lambar don tantance gardamar layin umarni rqlited.
  • An daina dakatar da fakitin protobuf.
  • Ma'ajiyar BoltDB da aka yi amfani da ita wajen aiwatar da ka'idar Raft an maye gurbinsu da bolt, cokali mai yatsa daga aikin da dai sauransu.

source: budenet.ru

Add a comment