SQLite သည် ဝဘ်ဘရောက်ဆာတစ်ခုတွင် DBMS ကိုအသုံးပြုရန်အတွက် WASM အထောက်အပံ့ကို ပေါင်းထည့်သည်။

SQLite developer များသည် web browser တစ်ခုတွင် run နိုင်သော intermediate WebAssembly code အဖြစ် စာကြည့်တိုက်ကို compile လုပ်နိုင်စွမ်းကို အကောင်အထည်ဖေါ်ရန် ပရောဂျက်တစ်ခုကို ဖော်ဆောင်နေပြီး JavaScript language မှ web applications များမှ database နှင့် အလုပ်လုပ်ရန် သင့်လျော်ပါသည်။ WebAssembly ပံ့ပိုးမှုအတွက် ကုဒ်ကို ပင်မပရောဂျက်သိုလှောင်မှုတွင် ထည့်သွင်းထားသည်။ SQLite ကိုအခြေခံထားသည့် WebSQL API နှင့်မတူဘဲ၊ WASM SQLite သည် browser မှလုံးဝခွဲထုတ်ထားပြီး ၎င်း၏လုံခြုံရေးကိုမထိခိုက်စေပါ (Google သည် browser ကိုတိုက်ခိုက်ရန် WebSQL မှတဆင့်အသုံးချနိုင်သည့် SQLite တွင်အားနည်းချက်များစွာရှိပြီးနောက် WebSQL အတွက်အထောက်အပံ့ကိုချပြီးနောက် Chrome တွင် Google မှဆုံးဖြတ်ခဲ့သည် )

ပရောဂျက်၏ရည်ရွယ်ချက်မှာ SQLite API နှင့် လုပ်ဆောင်နိုင်စွမ်းတူညီသည့် အလုပ်လုပ်ဆောင်သည့် JavaScript binding ကို ပေးဆောင်ရန်ဖြစ်သည်။ ဝဘ်ဆော့ဖ်ဝဲရေးဆွဲသူများသည် sql.js သို့မဟုတ် Node.js စတိုင်တွင် ဒေတာနှင့်အလုပ်လုပ်ရန်၊ အဆင့်နိမ့် C API နှင့် သင့်အားခွင့်ပြုသည့် Web Worker ယန္တရားအပေါ်အခြေခံသည့် API တစ်ခုနှင့် လုပ်ဆောင်ရန်အတွက် ဝဘ်ဆော့ဖ်ဝဲအင်ဂျင်နီယာများကို ထောက်ပံ့ပေးထားသည်။ သီးခြားအစီအစဥ်များပေါ်တွင် လုပ်ဆောင်သည့် အညီအမျှ လက်ကိုင်ကိရိယာများကို ဖန်တီးရန်။ Web Worker-based API ၏ထိပ်တွင်ရှိသော thread များဖြင့်အလုပ်စီစဉ်ခြင်း၏ရှုပ်ထွေးရှုပ်ထွေးမှုများကိုဖုံးကွယ်ရန် Promise ယန္တရားအပေါ်အခြေခံသည့်ပရိုဂရမ်းမင်းအင်တာဖေ့စ်ဗားရှင်းတစ်မျိုးကိုလည်းဖန်တီးလျက်ရှိသည်။

ဝဘ်အက်ပ်လီကေးရှင်း SQLite ၏ WASM ဗားရှင်းတွင် သိမ်းဆည်းထားသည့် ဒေတာကို လက်ရှိစက်ရှင်အတွင်း (စာမျက်နှာပြန်တင်ပြီးနောက် ပျောက်ဆုံးသွားသည်) သို့မဟုတ် ကလိုင်းယင့်ဘက်မှ ဆက်ရှိနေသည် (ဆက်ရှင်များကြားတွင် ဆက်ရှိနေသည်)။ အမြဲမပြတ်သိုလှောင်မှုအတွက်၊ OPFS (မူလ-သီးသန့် FileSystem၊ WebKit နှင့် Chromium ကိုအခြေခံသည့်ဘရောက်ဆာများတွင်သာရရှိနိုင်သည်) နှင့် ဒေသတွင်းဘရောက်ဆာသိုလှောင်မှုများတွင်သာ OPFS (မူလ-ပုဂ္ဂလိက FileSystem၊ ဖိုင်စနစ်အသုံးပြုခွင့် API ၏နောက်ဆက်တွဲဖြစ်သော၊ WebKit နှင့် Chromium ကိုအခြေခံသည့်ဘရောက်ဆာများတွင်သာ သိမ်းဆည်းရန်အမြဲရှိနေသောသိုလှောင်မှုအတွက်၊ နောက်ကွယ်မှဒေတာများထည့်ရန်ပြင်ဆင်ထားပါသည်။ window.localStorage API နှင့် window.sessionStorage ကိုအခြေခံသည်။ localStorage/sessionStorage ကိုအသုံးပြုသည့်အခါ၊ ဒေတာကို သင့်လျော်သောသော့/တန်ဖိုးစတိုးဆိုင်များသို့ မြေပုံဆွဲထားပြီး OPFS ကိုအသုံးပြုသည့်အခါ၊ WASMFS ကိုအသုံးပြုထားသော virtual ဖိုင်စနစ်တစ်ခုကို အတုယူခြင်းနှင့် OPFS-based SQLite VFS အလွှာကိုပေးဆောင်သည့် သီးခြား sqlite3_vfs အကောင်အထည်ဖော်မှုတစ်ခု .

SQLite ကို WASM ကိုယ်စားပြုမှုအဖြစ်တည်ဆောက်ရန်၊ Emscripten compiler ကိုအသုံးပြုသည် (ext/wasm extension ကိုတည်ဆောက်ရန်လုံလောက်သည်- "./configure --enable-all; make sqlite3.c; cd ext/wasm; make")။ အထွက်သည် သင့် JavaScript ပရောဂျက်တွင် သင်ထည့်သွင်းနိုင်သော sqlite3.js နှင့် sqlite3.wasm ဖိုင်များဖြစ်သည် (HTML နှင့် JavaScript ဥပမာ)။

source: opennet.ru

မှတ်ချက် Add