Ho lokolloa ha rqlite 7.0, DBMS e ajoang, e mamellang liphoso e thehiloeng ho SQLite

Ho lokolloa ha DBMS rqlite 7.0 ho ile ha etsahala, e sebelisang SQLite e le mochine oa polokelo 'me e u lumella ho hlophisa mosebetsi oa sehlopha ho tloha ho storages synchronized. E 'ngoe ea likarolo tsa rqlite ke boiketlo ba ho kenya, ho tsamaisa le ho boloka polokelo e ajoang e mamellang liphoso, e batlang e tšoana le etcd le Consul, empa ho sebelisa mohlala oa data oa kamano ho e-na le mokhoa oa bohlokoa / oa boleng. Khoutu ea projeke e ngotsoe ho Go mme e ajoa tlasa laesense ea MIT.

Ho boloka li-node tsohle li le boemong bo lumellanang, ho sebelisoa algorithm ea Raft consensus. Rqlite e sebelisa laeborari ea mantlha ea SQLite le mokhanni oa go-sqlite3, eo ka holim'a eona ho tsamaisoang lera le sebetsanang le likopo tsa bareki, e etsa boikaketsi ho li-node tse ling, 'me e lekola katleho ea tumellano mabapi le khetho ea node e etellang pele.

Liphetoho ho database li ka etsoa feela ke node e khethiloeng e le moetapele, empa likhokahano le ts'ebetso ea ho ngola li ka boela tsa romelloa ho li-node tse ling sehlopheng, se tla khutlisetsa aterese ea moetapele ho pheta kopo (phetolelong e latelang ba ts'episa ho eketsa phetisetso ea likopo ho moetapele). Ntho e ka sehloohong e hatisoang ke ho mamellana ha liphoso, kahoo DBMS e lekanya feela ka ts'ebetso ea ho bala, 'me ho ngola ts'ebetso ke bothata. Hoa khoneha ho tsamaisa sehlopha sa rqlite ho tloha node e le 'ngoe' me tharollo ena e ka sebelisoa ho fana ka phihlelo ea SQLite holim'a HTTP ntle le ho fana ka mamello ea phoso.

Lintlha tsa SQLite sebakeng se seng le se seng ha se bolokoe faeleng, empa mohopolong. Boemong ba lera ka ts'ebetsong ea protocol ea Raft, ho bolokoa lethathamo la litaelo tsohle tsa SQLite tse lebisang liphetohong ho database. Lenane lena le sebelisoa nakong ea ho pheta-pheta (ho pheta-pheta boemong ba likopo tsa ho ikatisa ho li-node tse ling), ha ho qala node e ncha, kapa ho hlaphoheloa ho lahleheloa ke khokahanyo. Ho fokotsa boholo ba logi, ho sebelisoa ho paka ka mokhoa o itekanetseng, e qalang ka mor'a palo e itseng ea liphetoho 'me e lebisa ho lokisoeng ha snapshot, mabapi le hore na ho qala ho bolokoa log e ncha (boemo ba database ea mohopolong ke e ts'oanang le sets'oants'o + sengoloa sa phetoho se bokelletsoeng).

Likarolo tsa rqlite:

  • Ho bonolo ho kenya sehlopha, ntle le tlhoko ea ho kenya SQLite ka thoko.
  • Bokhoni ba ho fumana sebaka sa polokelo ea SQL kapele.
  • E loketse ho sebelisoa mererong ea tlhahiso (production-grade).
  • Ho ba teng ha HTTP(S) API e u lumellang hore u ntlafatse data ka mokhoa oa batch le ho fumana node e ka sehloohong ea sehlopha. Khokahano ea mola oa taelo le lilaebrari tsa bareki bakeng sa lipuo tse fapaneng tsa lenaneo le tsona li fanoe.
  • Ho fumaneha ha ts'ebeletso bakeng sa ho khetholla li-node tse ling, ho u lumella ho theha lihlopha ka matla.
  • Ts'ehetso ea ho encrypting phapanyetsano ea data lipakeng tsa node.
  • Bokhoni ba ho hlophisa boemo ba ho lekola bohlokoa le ho tsitsa ha data ha u bala.
  • Bokhoni ba boikhethelo ba ho hokahanya li-node ka mokhoa oa ho bala feela, tse sa nkeng karolo ho khethollang tumellano mme li sebelisetsoa ho eketsa sekhahla sa sehlopha bakeng sa ts'ebetso ea ho bala.
  • Ts'ehetso bakeng sa mofuta oa hau oa khoebo o ipapisitseng le ho kopanya litaelo ka kopo e le 'ngoe (litšebelisano tse thehiloeng ho BEGIN, COMMIT, ROLLBACK, SAVEPOINT le RELEASE ha li tšehetsoe).
  • Tšehetso ea ho theha li-backups tse chesang.

Tokollong e ncha:

  • Ts'ehetso e ekelitsoeng bakeng sa ho kopanya rqlite ka boiketsetso ho sebelisa ts'ebeletso e ncha ea ho bona li-node e ka sebetsang motheong oa Consul le polokelo e ajoang ea etcd. Ts'ebeletso e lumella li-node tsa rqlite hore li fumane tse ling ka botsona - motsamaisi o hloka feela ho qala li-node tse 'maloa ho li-server tse fapaneng, a totobatsa aterese e tloaelehileng ea Consul kapa etcd cluster (mohlala, "example.com:8500"),' me li-node li tla ba teng ka bohona. kopantswe ho ba sehlopha. Node e etellang pele nako le nako e nchafatsa tlhahisoleseling mabapi le aterese ea eona ho Consul kapa etcd polokelo, e u lumellang hore ka mor'a moo u fetole moetapele ntle le tlhokahalo ea ho hlophisa li-node tse ling, hammoho le ho eketsa li-node tse ncha esita le ka mor'a ho fetola moetapele. Tšebeletso ea legacy Discovery mode e sebetsang ho AWS Lambda ha e sa sebetsa.
  • Sehokelo sa CLI se lumella ho hlakisa mabotho a 'maloa ka nako e le ngoe - haeba node ea pele e sa fumanehe, ho tla ikopanya le mabotho a latelang.
  • Khoutu ea ho arola likhang tsa mola oa taelo ea rqlited e se e sebelitsoe bocha.
  • Sephutheloana sa protobuf se lahliloeng ha se sa sebelisoa.
  • Polokelo ea BoltDB e sebelisitsoeng ts'ebetsong ea protocol ea Raft e nkeloe sebaka ke bbolt, fereko e tsoang morerong oa etcd.

Source: opennet.ru

Eketsa ka tlhaloso