CBS ja sqld projektid arendavad SQLite'i pilve- ja serveriversioone

SQLite arendajad arendavad katsetuslikku CBS (Cloud Backed SQLite) VFS-moodulit, mis vĂ”imaldab andmebaasi sisu hoida mitte kohalikus failis, vaid vĂ€lises pilvehoidlas. Andmete salvestamiseks kasutatakse spetsiaalselt vĂ€liseks salvestamiseks optimeeritud andmebaasi formaati, mis vĂ”imaldab andmeid laadida vĂ€lisest hoidlast dĂŒnaamiliselt vastavalt vajadusele, ilma et oleks vaja kogu andmebaasi eelnevalt kohalikku sĂŒsteemi kopeerida. Praegu toetab CBS-i kasutamine Azure Blob Storage ja Google Cloud Storage. KĂ”ik tavalist SQLite-d toetavad rakendused saavad kasutada CBS-i.

VFS-moodul vĂ”ib töötada taustal ja aktiivreĆŸiimis. Taustal töötab sĂŒsteemis pidevalt taustaprotsess, mis vĂ”imaldab vĂ€lise andmebaasi juurde pÀÀseda ainult lugemisreĆŸiimis, kuid toetab jagatud vahemĂ€lu, millega saavad ĂŒhiselt pÀÀseda erinevad protsessid. AktiivreĆŸiimis on lubatud lugemine ja kirjutamine, kuid kasutatakse ainult kohalikke vahemĂ€lu hetkeprotsessi jaoks. Igal ajahetkel saab kirjutada ainult ĂŒks klient, ja teised kliendid ei nĂ€e salvestatud muudatusi, kuni nad ei kĂŒsi neid selgelt vĂ€lja pilvehoidlast. Erinevate kirjutamisettepanekute eristamiseks kasutatakse SQLite tĂŒĂŒpilist lukustamissĂŒsteemi, mis pĂ”hineb WAL-logil.

Arendajatele pakutakse ulatuslikku C API-d ja kÀsurealiidest, mis vÔimaldavad sooritada selliseid toiminguid nagu vÀlise salvestuse loomine ja puhastamine, andmebaasi laadimine ja vÀljutamine vÀlisest salvestusest, andmebaasi koopia loomine vÀlises salvestuses, pilvehoidlas olevate andmebaaside nimekirja vaatamine ja mittekasutatavate plokkide eemaldamine pilvehoidlast.

LibSQL projekti arendajad (ulatuslik fork SQLite-st) on kuulutanud vĂ€lja SQLite serveriversiooni — sqld, mis vĂ”imaldab organiseerida jagatud andmebaasi tööd, kuhu kliendid saavad ĂŒhenduda PostgreSQL vĂ”i HTTP protokolli rakendamise kaudu. NĂ€iteks sqld-iga ĂŒhendamiseks vĂ”ivad kasutada olemasolevad klientteegid, mis on loodud PostgreSQL andmebaasi jaoks, sh CLI-liides psql. Sqld serveriga saab samuti suhelda HTTP-protokolli alusel pĂ”hineva API kaudu, mis lihtsustab veebirakendustega integreerimist. Sqld kood on kirjutatud Rust keeles ja levitatakse MIT litsentsi alusel.

sqld kasutusvaldkondade hulka kuulub varundamine, replikeerimine teistele sĂŒsteemidele ja juurdepÀÀsu korraldamine SQLite andmebaasile serverivabades infrastruktuurides, kus puudub pĂŒsiv salvestus ja ei ole vĂ”imalik hallata andmebaasi kohalikus failis. Serverivabades sĂŒsteemides saab sqld-ga töötav andmebaas replikeerida teistest. serverid. KĂ”rge kĂ€ttesaadavuse ja tĂ”rke talumise tagamiseks toetatakse integreerimist mvSQLite - jaotatud SQLite versiooniga, mis töötab FoundationDB peal. On aktiivse varukoopia hoidmise reĆŸiim, mis on teostatud andmebaasi oleku periodilise salvestamise ja muudatuste replikeerimise kaudu WAL-logis olevasse pilvesalvestusse, mis on ĂŒhilduv Amazon S3-ga.

Rakendustele on saadaval SQLite-ga ĂŒhilduv teek, mis saab laadida LD_PRELOAD kaudu, et liikuda andmete salvestamisest kohalikus failis sqld kaudu töötamisele. SQLite'i laiendusi on vĂ”imalik laadida. Klientteegid on ette valmistatud TypeScripti, JavaScripti, Rusti, Go ja Pythoni jaoks. sqld-ga seotud andmebaasi saab kasutada samal ajal SQLite'i tavapĂ€rase tööriistaga, st sqld toimib kui kiht, et pakkuda vĂ”rgu juurdepÀÀsu andmebaasile, replikeerida ja varundada. NĂ€iteks: # KĂ€ivitame serveri SQLite andmebaasi foo.db jaoks: sqld -d foo.db -p 127.0.0.1:5432 —http-listen-addr=127.0.0.1:8000 # Pöördume andmebaasi poole PostgreSQLi utiliitide abil: psql -q postgres://127.0.0.1 # Ühendume kohapeal SQLite tööriistade kaudu andmebaasiga: sqlite3 foo.db # Pöördume HTTP kaudu: curl -s -d "{\"statements\": [\"SELECT * from databases;\"] }" \ http://127.0.0.1:8000

KokkuvĂ”tteks vĂ”ib mainida projekti LiteFS, mida arendab ettevĂ”te Fly.io. LiteFS on FUSE moodul, mis korraldab töö ĂŒhte ĂŒhisse SQLite andmebaasi mitmel hostil. LiteFS replikeerib andmebaasi oleku mitme sĂŒsteemi vahel, pĂŒĂŒdes faili kirjutamise operatsioone andmebaasiga ja edastades neid teistesse sĂŒsteemidesse, kasutades sarnast tehingumehhanismi ning tehingute sĂ€ilitamist eraldi failis LTX formaadis. LiteFS kood on kirjutatud Go keeles ja jagatakse Apache 2.0 litsentsi alusel.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster