Waxaa lagu daray taageerada SQLite WASM si loogu isticmaalo DBMS biraawsarraha shabakadda

SQLite

waa nidaamka maaraynta xogta xogta xidhiidhka ee ACID, oo ka kooban maktabad yar oo ku qoran C

ka Soosaarayaasha SQLite ayaa soo saaraya mashruuc lagu hirgalinayo kartida lagu ururiyo maktabadda a koodka WebAssembly dhexe kaas oo lagu socodsiin karo biraawsarkaaga oo ku habboon in lagu abaabulo shaqada xogta kaydka ee codsiyada shabakadda ee luqadda JavaScript.

Ujeeddada ee mashruuca waa in la bixiyo isku xirka JavaScript shaqaynaya taasi waxay la mid tahay shaqada SQLite API. Soosaarayaasha shabakadaha waxaa la siiyaa interface heer sare ah oo ku jihaysan shayga si ay ugula shaqeeyaan xogta qaabka sql.js ama Node.js, iyagoo ku duubaya heer hoose C API iyo API oo ku salaysan habka Shaqeeyaha Shabakadda kaas oo u oggolaanaya abuurista asynchronous kontaroolayaasha.oo ku shaqeeya dunta kala duwan.

Si loo qariyo kakanaanta dunta API Worker-ku salaysan, Kala duwanaansho ah interface-ka barnaamijka oo ku salaysan habka Balanqaad.

Xogta ay arjiyada shabakadu ku kaydiyaan nooca WASM ee SQLite waxa ay ku jiri kartaa kalfadhiga hadda socda (lumay ka dib dib u soo dejinta bogga) ama ku sii socota dhinaca macmiilka (ku sii socdaan fadhiyada oo dhan).

Kaydinta joogtada ah, backends ayaa loo diyaariyey inay xogta ku dhejiyaan nidaamka faylalka deegaanka addoo isticmaalaya OPFS (Asal-Private FileSystem, kordhinta Nidaamka Faylka Helitaanka API, hadda kaliya laga heli karo WebKit iyo daalacashada ku salaysan Chromium) iyo browserka kaydinta maxaliga ah ee ku salaysan daaqada.localStorage iyo window.sessionStorage APIs.

Marka la isticmaalayo localStorage/sessionStorage, xogta waxaa lagu jaangooyay bakhaarada muhiimka ah/qiimaha ku haboon, halka marka la isticmaalayo OPFS, waxaa jira laba ikhtiyaar: jilitaanka FS dalwaddii iyadoo la isticmaalayo WASMFS, iyo sqlite3_vfs gaar ah fulinta oo bixiya SQLite ku salaysan lakabka VFS gudaha OPFS. .

Isku-duwaha Emscripten waxa loo isticmaalaa in lagu dhiso SQLite ee matalaadda WASM. Natiijadu waa faylalka sqlite3.js iyo sqlite3.wasm oo aad ku dari karto mashruucaaga JavaScript (HTML iyo JavaScript muunad).

ee ujeedooyinka gaarka ah Mashruucan waxaa lagu xusay:

Marka laga reebo halka lagu xusay kuwa aan bartilmaameedka ahayn, bixi wax ka badan ama ka yar oo duub dhammaystiran oo astaamo ah oo loogu talagalay sqlite3 C API, ilaa xadka muuqaalka WASM ee sinnaanta C uu oggol yahay. Dhab ahaantii, bixi ugu yaraan API-yada soo socda.

  • Ku xidh API sqlite3 heer hoose ah kaas oo sida ugu macquulsan ugu dhaw wadan ahaan xaga isticmaalka.
  • Heerka sare OO API, in ka badan sida sql.js iyo qaabka node.js.
  • API shaqaale ku salaysan oo kula xidhiidha API-yada sare iyada oo loo marayo fariimaha shaqaalaha. Tan waxaa loogu talagalay in lagu isticmaalo dunta ugu weyn, oo leh API-yo heer hoose ah oo lagu rakibay dunta shaqaalaha, oo lagula xiriiro iyaga oo isticmaalaya fariimaha shaqaalaha.
  • Kala duwanaanshiyaha ku-saleysan ballan-qaadka API Worker kaasoo si buuxda u qarinaya dhinacyada is-gaarsiinta-thread-ka ee isticmaalaha.
  • Ilaa inta ay suurtogalka tahay, taageer kaydinta joogtada ah ee dhinaca macmiilka adoo isticmaalaya JS API-yada la heli karo. Waqtiga qoraalkan, oo ay ku jiraan Nidaamka Faylka Gaarka ah ee Isha (OPFS) iyo (aad u xaddidan) kaydinta daaqadda.localStorage iyo .window.sessionStorage gadaal.

Sida for ujeeddooyin aan gaar ahayn:

  • Mar haddii WASM ay tahay tignoolajiyada xuddun u ah mareegaha UTF-8-na ay tahay boqorka cod-bixinta ee boqortooyadaas, ma jiraan qorshayaal hadda lagu taageerayo UTF3-la xidhiidha sqlite16 APIs.
  • Iyadoo taageerada wakhtiyada runtimes ee WASM-ka-baxsan ay tahay mid baahsan, mashruucan hadda (dhammaadka 2022) wuxuu diiradda saarayaa bartilmaameedyada browserka oo keliya. In kasta oo tafaasiisha hirgelinta la xidhiidha websaydka ay mudnaanta siiso, iyo qaybaha API-ga ee JavaScript-ka ay si gaar ah diiradda u saaraan macaamiisha browserka, heerka hoose ee WASM moduleka "waa in" uu ka shaqeeyaa jawiga WASM ee aan shabakadda ahayn.
  • La jaanqaadka aaladaha duugga ah ama niche. WASM waxaa loogu talagalay shabakad casri ah waxayna u baahan tahay qalab casri ah. Si la mid ah, fursadaha maktabadda sqlite3 ee go'ay ayaa laga saari doonaa gebi ahaanba interface-ka WASM.

Koodhka taageerada WebAssembly ayaa lagu daray kaydka ugu weyn ee mashruuca. Si ka duwan sida WebSQL API, kaas oo ku salaysan SQLite, WASM SQLite gabi ahaanba waa ka go'doonsan yahay browserka mana saameynayso ammaankeeda (Google wuxuu go'aansaday inuu joojiyo taageerada WebSQL ee Chrome ka dib dhowr nuglaanta SQLite oo laga faa'iidaysan karo iyada oo loo marayo WebSQL si loo weeraro Navigator. ).

ugu danbeyn hadii aad tahay xiisaynaya in aan wax badan ka barto, waad hubin kartaa faahfaahinta Xiriirka soo socda.


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Ka mas'uul ah xogta: AB Internet Networks 2008 SL
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.