Ƙara tallafin SQLite WASM don amfani da DBMS a cikin mai binciken gidan yanar gizo

SQLite

tsarin gudanar da bayanai ne na alaƙa da ACID, wanda ke ƙunshe a cikin ƙaramin ɗakin karatu da aka rubuta a cikin C

da Masu haɓaka SQLite suna haɓaka aikin don aiwatarwa da ikon hada ɗakin karatu a cikin a matsakaicin lambar Yanar Gizo wanda za'a iya gudanar da shi a cikin mai binciken gidan yanar gizo kuma ya dace da tsara aiki tare da bayanan bayanai daga aikace-aikacen yanar gizo a cikin harshen JavaScript.

Manufa na aikin shine don samar da hanyar haɗin JavaScript mai aiki wanda yayi daidai da aiki da SQLite API. Ana samar da masu haɓaka gidan yanar gizo tare da babban matakin da ya dace da abu don aiki tare da bayanai a cikin salon sql.js ko Node.js, suna nannade ƙaramin matakin C API da API dangane da tsarin Ma'aikacin Yanar gizo wanda ke ba da izinin ƙirƙirar asynchronous controllers.waɗanda ke gudana akan zaren daban-daban.

Don ɓoye rikitattun zaren zare akan API na tushen Ma'aikacin Yanar Gizo, Bambancin da shirye-shirye dubawa dangane da inji Alkawari.

Bayanan da aikace-aikacen yanar gizo ke adanawa a cikin nau'in WASM na SQLite na iya kasancewa a cikin zaman na yanzu (batattu bayan sake kunna shafi) ko kuma nace a gefen abokin ciniki (ci gaba da zama).

Don ma'ajiya ta dindindin, an shirya masu baya don sanya bayanai akan tsarin fayil na gida ta amfani da OPFS (Asali-Private FileSystem, tsawaita zuwa API ɗin Samun Tsarin Fayil, a halin yanzu ana samunsa kawai a cikin WebKit da masu bincike na tushen Chromium) da ma'ajiyar gida mai bincike bisa taga.localStorage da window.sessionStorage APIs.

Lokacin amfani da Storage / SessionStorage na gida, ana yin taswirar bayanan zuwa maɓallan maɓalli / ƙimar da suka dace, yayin amfani da OPFS, akwai zaɓuɓɓuka guda biyu: yin kwatankwacin FS mai kama da amfani da WASMFS, da aiwatar da sqlite3_vfs daban wanda ke ba da Layer VFS na SQLite a cikin OPFS. .

Ana amfani da mai tarawa Emscripten don gina SQLite a cikin wakilcin WASM. Sakamakon shine fayilolin sqlite3.js da sqlite3.wasm waɗanda zaku iya haɗawa cikin aikin JavaScript ɗinku (samfurin HTML da JavaScript).

na takamaiman manufofin An ambaci wannan aikin:

Sai dai inda aka lura a cikin waɗanda ba manufa ba, samar da ƙarin ko žasa da cikakken nade na fasali don sqlite3 C API, gwargwadon yadda tsarin WASM ya yi daidai da C yana ba da damar. A zahiri, samar da aƙalla APIs masu zuwa.

  • Haɗa ƙaramin matakin sqlite3 API wanda ke kusa da ɗan ƙasa gwargwadon iyawa dangane da amfani.
  • Babban matakin OO API, kama da aiwatar da salon sql.js da node.js.
  • API ɗin tushen ma'aikaci wanda ke sadarwa tare da API ɗin sama ta hanyar saƙonnin ma'aikaci. An ƙera wannan don a yi amfani da shi akan babban zaren, tare da ƙananan APIs da aka sanya akan zaren ma'aikaci, da kuma sadarwa tare da su ta hanyar saƙonnin ma'aikaci.
  • Bambancin tushen alƙawarin API na Ma'aikaci wanda ke ɓoye gabaɗayan sassan sadarwar zaren na mai amfani.
  • Har zuwa iyakar yiwuwar, goyi bayan ma'ajiyar dagewa ta gefen abokin ciniki ta amfani da JS APIs. A lokacin wannan rubutun, wannan ya haɗa da Tsarin Fayil ɗin Masu Zaman Kansu (OPFS) da (mai iyakacin iyaka) ajiya ta taga.localStorage da .window.sessionStorage baya baya.

Amma ga manufofin da ba na musamman ba:

  • Tunda WASM fasaha ce ta tsakiya ta yanar gizo kuma UTF-8 shine sarkin rikodi a cikin wannan daula, babu wani shiri na yanzu don tallafawa APIs sqlite3 masu alaƙa da UTF16.
  • Yayin da goyan bayan lokutan gudu na WASM na waje ya yadu, wannan aikin a halin yanzu (karshen 2022) ya mai da hankali kan maƙasudin burauza kawai. Ko da yake cikakkun bayanan aiwatarwa da ke da alaƙa suna ɗaukar fifiko, kuma abubuwan API na JavaScript suna mai da hankali musamman kan abokan cinikin burauza, ƙaramin matakin WASM “ya kamata” yayi aiki a cikin mahallin WASM na yanar gizo.
  • Daidaitawa tare da tsofaffi ko dandamali na alkuki. An tsara WASM don gidan yanar gizo na zamani kuma yana buƙatar dandamali na zamani. Hakazalika, za a cire zaɓuɓɓukan ɗakin karatu na sqlite3 da aka yanke daga keɓancewar WASM gaba ɗaya.

An ƙara lambar don tallafin WebAssembly zuwa babban ma'ajiyar aikin. Ba kamar WebSQL API ba, wanda ya dogara da SQLite, WASM SQLite ya keɓe gaba ɗaya daga mai binciken kuma baya shafar tsaro (Google ya yanke shawarar sauke tallafi ga WebSQL a cikin Chrome bayan raunin da yawa a cikin SQLite wanda za'a iya amfani dashi ta hanyar WebSQL don kai hari ga Navigator. ).

a karshe idan kun kasance sha'awar ƙarin koyo game da shi, zaka iya duba bayanan A cikin mahaɗin mai zuwa.


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Alhakin bayanai: AB Internet Networks 2008 SL
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.