Kutulutsidwa kwa rqlite 6.0, DBMS yogawidwa, yolekerera zolakwika kutengera SQLite

Kutulutsidwa kwa DBMS rqlite 6.0 yogawidwa kumaperekedwa, komwe kumagwiritsa ntchito SQLite ngati injini yosungiramo zinthu ndipo kumakupatsani mwayi wokonza ntchito yamagulu osakanikirana. Chimodzi mwazinthu za rqlite ndichosavuta kukhazikitsa, kutumiza ndi kukonza malo osungidwa osalolera zolakwika, ofanana ndi etcd ndi Consul, koma kugwiritsa ntchito mtundu wa data waubale m'malo mwa kiyi / mtundu wamtengo. Khodi ya projekiti idalembedwa mu Go ndikugawidwa pansi pa layisensi ya MIT.

Kuti ma node onse akhale olumikizana, algorithm ya Raft consensus imagwiritsidwa ntchito. Rqlite amagwiritsa ntchito laibulale yoyambirira ya SQLite ndi woyendetsa wokhazikika wa go-sqlite3, pamwamba pake pomwe gawo limakhazikitsidwa lomwe limayang'anira zopempha zamakasitomala, limachita kubwereza ku ma node ena ndikuwunika kukwaniritsidwa kwa mgwirizano pakusankha kotsogola.

Zosintha pa database zitha kupangidwa ndi node yomwe yasankhidwa kukhala mtsogoleri, koma kulumikizana ndi ntchito zolembera kumatha kutumizidwanso ku ma node ena mgululi, zomwe zidzabweza adilesi ya mtsogoleriyo kuti abwereze pempho (mu mtundu wotsatira iwo). lonjezani kuwonjezera kutumiza zopempha kwa mtsogoleri). Kugogomezera kwakukulu ndikulekerera zolakwika, kotero mamba a DBMS amangogwira ntchito zowerengera, ndipo ntchito zolembera ndizomwe zimalepheretsa. Ndizotheka kuyendetsa gulu la rqlite kuchokera ku node imodzi ndipo yankholi lingagwiritsidwe ntchito kupereka mwayi wa SQLite pa HTTP popanda kupereka kulekerera zolakwika.

Deta ya SQLite pa node iliyonse siyisungidwa mu fayilo, koma kukumbukira. Pamsinkhu wosanjikiza ndi kukhazikitsidwa kwa Raft protocol, chipika cha malamulo onse a SQLite omwe amatsogolera kusintha kwa database amasungidwa. chipikachi chimagwiritsidwa ntchito pobwerezabwereza (kubwereza pamlingo wa zopempha zobwereza pa mfundo zina), kuyambira node yatsopano, kapena kuchira kuchokera kutayika kwa kulumikizidwa. Kuti muchepetse kukula kwa chipikacho, kuyika kwachindunji kumagwiritsidwa ntchito, komwe kumayamba pambuyo pakusintha kwachulukidwe ndikupangitsa chithunzithunzi chokhazikika pa disk, pokhudzana ndi zomwe chipika chatsopano chimayamba kusungidwa (malo a database mu kukumbukira). ndizofanana ndi chithunzithunzi + chipika chosinthika chosonkhanitsidwa).

Makhalidwe a rqlite:

  • Zosavuta kuyika gulu, popanda kufunikira koyika kosiyana kwa SQLite.
  • Kutha kupeza mwachangu SQL yosungirako.
  • Okonzeka kugwiritsidwa ntchito pama projekiti ogwira ntchito (Kupanga-kalasi).
  • Kukhalapo kwa HTTP(S) API yomwe imakulolani kuti musinthe deta mumtundu wa batch ndikuzindikira node yotsogolera ya gululo. Imaperekanso mawonekedwe a mzere wamalamulo komanso kuthekera kogwiritsa ntchito malaibulale osiyanasiyana amakasitomala opangidwira SQLite.
  • Kupezeka kwa ntchito yozindikiritsa ma node ena, kukulolani kuti mupange magulu mwamphamvu.
  • Kuthandizira kubisa kusinthana kwa data pakati pa node.
  • Kutha kukonza mulingo wowona kufunikira ndi kusasinthika kwa data powerenga.
  • Kuthekera kosankha kulumikiza ma node mumayendedwe owerengera okha, omwe satenga nawo gawo pakuzindikira kuvomerezana ndipo amagwiritsidwa ntchito kuonjezera scalability wa gulu kuti awerenge ntchito.
  • Thandizo pamayendedwe anu otengera kuphatikizira malamulo mu pempho limodzi (zochitika zochokera pa BEGIN, COMMIT, ROLLBACK, SAVEPOINT ndi RELEASE sizikuthandizidwa).
  • Thandizo popanga ma backups otentha.

Kutulutsidwa kwatsopanoku kumabweretsa zosintha zazikulu zamamangidwe zomwe cholinga chake ndi kukulitsa kudalirika kwamagulu powongolera njira yowerengera ndikulemba zopempha kumagulu olondola amagulu. ma rqlite node tsopano amatha kuchulukitsa maulalo angapo omveka pakati pawo pogwiritsa ntchito ma TCP okhazikitsidwa pakati pa node ndi protocol ya Raft. Ngati pempho likufuna ulamuliro wa mtsogoleri koma limatumizidwa ku node yachiwiri, node yachiwiri ikhoza kudziwa adiresi ya mtsogoleriyo ndikuipereka kwa kasitomala popanda kuchita mawerengedwe a mgwirizano wa Raft.

Kusinthaku kunathetsanso kufunikira kwa gawo lolumikizana la metadata ndikuchotsa kusanja kosiyana kwa Raft state ndi metadata. Node sekondale tsopano kutumiza zopempha kwa mtsogoleri mfundo pokhapokha pakufunika, pamene iwo akufunika kupeza adiresi ya mtsogoleri mfundo. API imapereka mwayi wopeza zambiri za momwe ma node ena alili mgululi. Lamulo la ".sysdump" lawonjezeredwa ku mawonekedwe a mzere wa lamulo.

Source: opennet.ru

Kuwonjezera ndemanga