Yakawedzera SQLite WASM rutsigiro rwekushandisa iyo DBMS muwebhu browser

SQLite

ndeye ACID-inoenderana nehukama dhatabhesi manejimendi system, iri mudiki raibhurari yakanyorwa muC

ari Vagadziri veSQLite vari kugadzira chirongwa chekuita kugona kuunganidza raibhurari kuita a yepakati WebAssembly kodhi iyo inogona kumhanyisa mubrowser yewebhu uye inokodzera kuronga basa nedatabase kubva pawebhu application mumutauro weJavaScript.

Chinangwa yepurojekiti ndeyekupa chinongedzo cheJavaScript chinoshanda izvo zvakafanana mukushanda kune SQLite API. Vagadziri veWebhu vanopihwa yakakwira-level-yakatarisana nechinhu chekushanda nedata muchimiro chesql.js kana Node.js, kuputira yakaderera-level C API uye API yakavakirwa paWebhu Worker mechanism inobvumira kugadzira asynchronous. ma controller anomhanya pashinda dzakasiyana.

Kuvanza kuomarara kwekutsvaira pamusoro peWebhu Worker-based API, Musiyano we iyo programming interface inoenderana nemashini Vimbisa.

Iyo data inochengetwa newebhu maapplication muWASM vhezheni yeSQLite inogona kuwanikwa mukati mechikamu chazvino (kurasika mushure mekurodhazve peji) kana kuenderera kudivi remutengi (ramba uri mukati mezvikamu).

Nekuchengetedza zvachose, backends dzakagadzirirwa kuisa data pane yemunharaunda faira system uchishandisa OPFS (Origin-Private FileSystem, kuwedzera kune File System Access API, ikozvino inongowanikwa muWebKit neChromium-based browsers) uye bhurawuza rekuchengetedza nzvimbo zvichienderana nehwindo.localStorage uye window.sessionStorage APIs.

Paunenge uchishandisa localStorage/sessionStorage, iyo data inoiswa mepu kune yakakodzera kiyi / kukosha zvitoro, nepo kana uchishandisa OPFS, pane maviri sarudzo: kutevedzera chaiyo FS uchishandisa WASMFS, uye yakaparadzana sqlite3_vfs kuita iyo inopa SQLite yakavakirwa VFS layer. muOPFS. .

Iyo Emscripten compiler inoshandiswa kuvaka SQLite mune WASM inomiririra. Mhedzisiro yacho ndeye sqlite3.js uye sqlite3.wasm mafaira aunogona kuisa muJavaScript project yako (HTML neJavaScript sample).

yezvinangwa chaizvo zvechirongwa ichi zvakataurwa:

Kunze kwekunge kwacherechedzwa mune zvisiri izvo, ipa yakawanda kana shoma yakazara wrapper yezvinhu zvesqlite3 C API, kusvika pamwero wekuti WASM's parity neC inobvumira.

  • Sunga yakaderera nhanho sqlite3 API iri padyo neakaberekerwa sezvinobvira maererano nekushandiswa.
  • Yepamusoro level OO API, yakafanana nesql.js uye node.js maitiro ekushandisa.
  • A mushandi-based API inotaurirana nepamusoro APIs kuburikidza nevashandi meseji. Izvi zvakagadzirirwa kushandiswa pashinda huru, ine yakaderera-level maAPI akaiswa pane yevashandi shinda, uye kutaurirana navo kuburikidza nevashandi meseji.
  • Chivimbiso-chakavakirwa musiyano weMushandi API inovanza zvachose iyo yepakati-tambo yekukurukurirana maficha emushandisi.
  • Kusvika nepazvinogoneka, tsigira mutengi-parutivi kuenderera kuchengetedza uchishandisa iripo JS APIs. Panguva yekunyora uku, izvo zvinosanganisira Source Private File System (OPFS) uye (yakanyanya kushomeka) kuchengetedza kuburikidza nehwindo.localStorage uye .window.sessionStorage backends

Kana ari zvisiri-zvakananga zvinangwa:

  • Sezvo WASM iri webhu-centric tekinoroji uye UTF-8 ndiye mambo we encodings munzvimbo iyoyo, hapana zvirongwa zvazvino zvekutsigira UTF3-inoenderana sqlite16 APIs.
  • Nepo rutsigiro rwekunze-kwe-browser WASM runtimes rwakapararira, chirongwa ichi parizvino (kunopera 2022) chakatarisana nebrowser zvinangwa chete. Kunyangwe webhu-inoenderana nekuita zvekuita inotungamira, uye iyo API's JavaScript zvikamu zvinotarisa zvakanyanya kune browser vatengi, yepasi-level WASM module "inofanira" kushanda munzvimbo dzisiri dzewebhu WASM.
  • Kuenderana neyekare kana niche mapuratifomu. WASM yakagadzirirwa webhu yemazuva ano uye inoda mapuratifomu emazuva ano. Saizvozvo, yakaderedzwa sqlite3 raibhurari sarudzo dzichabviswa kubva kuWASM interface zvachose.

Iyo kodhi yeWebAssembly rutsigiro yakawedzerwa kune iyo huru repository yeprojekiti. Kusiyana neWebSQL API, iyo yakavakirwa paSQLite, WASM SQLite yakaparadzaniswa zvachose nebrowser uye haikanganisi kuchengetedzwa kwayo (Google yakafunga kudonhedza rutsigiro rweWebSQL muChrome mushure mekusagadzikana kwakati muSQLite kunogona kushandiswa kuburikidza neWebSQL kurwisa Navigator. )

pakupedzisira kana uri kufarira kudzidza zvakawanda nezvazvo, unogona kutarisa ruzivo Mune inotevera chinongedzo.


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira data: AB Internet Networks 2008 SL
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako