Te tukunga o te rqlite 7.0, he DBMS-a-te-hape kua tohatohahia i runga i te SQLite

Ko te tukunga o te DBMS rqlite 7.0 kua tohatohahia, e whakamahi ana i te SQLite hei miihini rokiroki ka taea e koe te whakarite i nga mahi o te kahui mai i nga rokiroki kua hono tahi me tetahi. Ko tetahi o nga ahuatanga o te rqlite ko te ngawari o te whakaurunga, te tohatoha me te tiaki i te penapena hapa-whakaaro kua tohatohahia, he ahua rite ki te etcd me te Consul, engari ma te whakamahi i te tauira raraunga whanaungatanga hei utu mo te whakatakotoranga matua/uara. Kua tuhia te waehere kaupapa ki te Haere me te tohatoha i raro i te raihana MIT.

Hei pupuri i nga pona katoa i roto i te ahua tukutahi, ka whakamahia te Raft consensus algorithm. Ka whakamahi a Rqlite i te whare pukapuka SQLite taketake me te taraiwa go-sqlite3, kei runga ake ka whakarewahia he paparanga hei whakahaere i nga tono a te kiritaki, ka mahi tukurua ki etahi atu pona, me te aro turuki i te tutukitanga o te whakaaetanga mo te kowhiringa o te node rangatira.

Ko nga huringa ki te paataka raraunga ka taea anake e te pona kua tohua hei kaihautu, engari ka taea hoki te tuku hononga me nga mahi tuhi ki etahi atu pona kei roto i te tautau, ka whakahoki te wahitau o te rangatira ki te whakahoki ano i te tono (i te putanga e whai ake nei. oati ki te taapiri i te tuku whakamua aunoa o nga tono ki te kaiarahi). Ko te aro nui ki te aro ki te he, no reira ka whakatauhia e te DBMS me nga mahi panui anake, me nga mahi tuhi ko te kohungahunga. Ka taea te whakahaere i te roopu rqlite mai i te node kotahi ka taea te whakamahi i tenei otinga ki te uru atu ki te SQLite i runga i te HTTP me te kore e hoatu he he.

Ko nga raraunga SQLite i ia node kaore i te rongoa ki roto i te konae, engari ki te mahara. I te taumata paparanga me te whakatinanatanga o te kawa Raft, ka pupurihia he raarangi o nga whakahau SQLite katoa e arai ana ki nga huringa ki te paataka raraunga. Ka whakamahia tenei rangitaki i te wa o te tukuruatanga (te tukurua i te taumata o te whakaputa i nga tono ki etahi atu pona), i te wa e timata ana i te node hou, ki te whakaora ranei i te ngaro o te hononga. Hei whakaiti i te rahi o te pororakau, ka whakamahia te kapi aunoa, ka tiimata i muri i te maha o nga huringa ka arahi ki te whakatika i te whakaahua, e pa ana ki te tiimata ka tiimata te pupuri i tetahi raarangi hou (ko te ahua o te papaaarangi kei roto i te mahara he rite ki te whakaahua + te raarangi huringa kua kohia).

Nga waahanga o te rqlite:

  • He ngawari ki te tohatoha i te tautau, me te kore e hiahiatia he whakaurunga SQLite motuhake.
  • Te kaha ki te tiki tere i te rokiroki SQL.
  • Kua reri mo te whakamahi i nga kaupapa whakangao (whakaputa-koeke).
  • Ko te aroaro o te HTTP(S) API e taea ai e koe te whakahou i nga raraunga i roto i te aratau puranga me te whakatau i te waahanga matua o te kohinga. He atanga raina whakahau me nga whare pukapuka a nga kaihoko mo nga momo reo hootaka ka tukuna ano.
  • Te waatea o tetahi ratonga mo te tautuhi i etahi atu pona, ka taea e koe te hanga tautau i runga i te hihiri.
  • Tautoko mo te whakamuna whakawhiti raraunga i waenga i nga pona.
  • Te kaha ki te whirihora i te taumata o te tirotiro i te whaitake me te rite o nga raraunga i te wa e panui ana.
  • Te kaha ki te hono i nga pona ki te aratau panui-anake, karekau e uru ki te whakatau i te whakaaetanga ka whakamahia hei whakanui ake i te tauineine o te tautau mo nga mahi panui.
  • Tautoko mo taau ake momo whakawhitinga i runga i te whakakotahi i nga whakahau i roto i te tono kotahi (kaore e tautokohia nga tauwhitinga i runga i te BEGIN, COMMIT, ROLLBACK, SAVEPOINT me te RELEASE).
  • Tautoko mo te hanga taapiri wera.

I roto i te tukunga hou:

  • He tautoko taapiri mo te kohinga rqlite aunoa ma te whakamahi i te ratonga rapunga node hou ka taea te mahi i runga i te turanga o te Consul me te rokiroki tohatoha etcd. Ka taea e te ratonga te kimi aunoa i nga pona rqlite tetahi ki tetahi - me whakarewa noa e te kaiwhakahaere he maha nga pona ki runga i nga momo tuumau rereke, me te tohu i te wahitau kahui a Consul, etcd tautau ranei (hei tauira, "example.com:8500"), ka noho aunoa nga pona. ka honoa ki roto i te tautau. Ko te node matua e whakahou ana i nga korero mo tona wahitau i roto i te rokiroki Consul, etcd ranei, e taea ai e koe te whakarereke i te kaiarahi me te kore e hiahia ki te whirihora ano i etahi atu pona, me te taapiri i nga pona hou ahakoa i muri i te huri i te kaiarahi. Ko te ratonga aratau Discovery tuku iho e whakahaere ana i runga i te AWS Lambda kua whakamutua.
  • Ka taea e te atanga CLI te tautuhi i nga kaihautu maha i te wa kotahi - ki te kore e waatea te pona tuatahi, ka whakapā atu ki nga kaihautu e whai ake nei.
  • Ko te waehere mo te poroporo i nga tohenga rarangi whakahau rqlited kua mahi ano.
  • Kua whakakorehia te kete protobuf kua whakakorehia.
  • Ko te rokiroki BoltDB i whakamahia i roto i te whakatinanatanga o te kawa Raft kua whakakapihia e te bbolt, he marau mai i te kaupapa etcd.

Source: opennet.ru

Tāpiri i te kōrero