SQLite рд▓реЗ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ DBMS рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ WASM рд╕рдорд░реНрдерди рдердкреНрдЫ

SQLite рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд▓рд╛рдИ WebAssembly рдордзреНрдпрд╡рд░реНрддреА рдХреЛрдб, рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдЪрд▓рд╛рдЙрди рд╕рдХреНрд╖рдо рд░ JavaScript рдорд╛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдмрд╛рдЯ рдбрд╛рдЯрд╛рдмреЗрд╕ рд╕рдВрдЧ рдХрд╛рдо рд╕рдВрдЧрдард┐рдд рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдЙрдкрдпреБрдХреНрдд рдХреЛ рд▓рд╛рдЧреА рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрджреИ рдЫрдиреНред WebAssembly рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗ рдХреЛрдб рдореБрдЦреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рднрдгреНрдбрд╛рд░рдорд╛ рдердкрд┐рдПрдХреЛ рдЫред WebSQL API рдХреЛ рд╡рд┐рдкрд░реАрдд, рдЬреБрди SQLite рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫ, WASM SQLite рдмреНрд░рд╛рдЙрдЬрд░рдмрд╛рдЯ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдкреГрдердХ рдЫ рд░ рдпрд╕рдХреЛ рд╕реБрд░рдХреНрд╖рд╛рд▓рд╛рдИ рдЕрд╕рд░ рдЧрд░реНрджреИрди (Google рд▓реЗ WebSQL рдорд╛рд░реНрдлрдд рдмреНрд░рд╛рдЙрдЬрд░рдорд╛ рдЖрдХреНрд░рдордг рдЧрд░реНрди SQLite рдорд╛ рдзреЗрд░реИ рдХрдордЬреЛрд░реАрд╣рд░реВрдХреЛ рд╢реЛрд╖рдг рдЧрд░реНрди рд╕рдХрд┐рдПрдкрдЫрд┐ Chrome рдорд╛ WebSQL рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЦрд╛рд░реЗрдЬ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреЛ)ред ред

рдкрд░рд┐рдпреЛрдЬрдирд╛рдХреЛ рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрдпрд╢реАрд▓ JavaScript рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреБ рд╣реЛ рдЬреБрди SQLite API рдХреЛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдорд╛ рд╕рдорд╛рди рдЫред рд╡реЗрдм рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ sql.js рд╡рд╛ Node.js рдХреЛ рд╢реИрд▓реАрдорд╛ рдбрд╛рдЯрд╛рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдЪреНрдЪ-рд╕реНрддрд░рдХреЛ рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдиреНрдЫ, рдирд┐рдореНрди-рд╕реНрддрд░ C API рд░ рд╡реЗрдм рд╡рд░реНрдХрд░ рдореЗрдХрд╛рдирд┐рдЬреНрдордорд╛ рдЖрдзрд╛рд░рд┐рдд API, рдЬрд╕рд▓реЗ рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рддрдкрд╛рдИрдБрд▓реЗ рдЫреБрдЯреНрдЯреИ рдереНрд░реЗрдбрд╣рд░реВрдорд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред Web Worker-based API рдХреЛ рд╢реАрд░реНрд╖рдорд╛ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ рд╕рдВрдЧ рдХрд╛рдо рд╕рдВрдЧрдард┐рдд рдЧрд░реНрдиреЗ рдЬрдЯрд┐рд▓рддрд╛рд╣рд░реВ рд▓реБрдХрд╛рдЙрди, Promise рдореЗрдХрд╛рдирд┐рдЬреНрдордорд╛ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрдиреНрдЯрд░рдлреЗрд╕рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдкрдирд┐ рд╡рд┐рдХрд╕рд┐рдд рднрдЗрд░рд╣реЗрдХреЛ рдЫред

рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд▓реЗ SQLite рдХреЛ WASM рд╕рдВрд╕реНрдХрд░рдгрдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреЗ рдбрд╛рдЯрд╛ рд╣рд╛рд▓рдХреЛ рд╕рддреНрд░ рднрд┐рддреНрд░ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ (рдкреГрд╖реНрда рдкреБрди: рд▓реЛрдб рднрдПрдкрдЫрд┐ рд╣рд░рд╛рдПрдХреЛ) рд╡рд╛ рдХреНрд▓рд╛рдЗрдиреНрдЯ рд╕рд╛рдЗрдбрдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ (рд╕рддреНрд░рд╣рд░реВ рдмреАрдЪрдорд╛ рдмрдЪрдд рдЧрд░рд┐рдПрдХреЛ)ред рд╕реНрдерд╛рдпреА рднрдгреНрдбрд╛рд░рдгрдХреЛ рд▓рд╛рдЧрд┐, OPFS (рдореВрд▓-рдирд┐рдЬреА рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА, рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдкрд╣реБрдБрдЪ API рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░, рд╣рд╛рд▓ рд╡реЗрдмрдХрд┐рдЯ рд░ рдХреНрд░реЛрдорд┐рдпрдордорд╛ рдЖрдзрд╛рд░рд┐рдд рдмреНрд░рд╛рдЙрдЬрд░рд╣рд░реВрдорд╛ рдорд╛рддреНрд░ рдЙрдкрд▓рдмреНрдз рдЫ) рд░ рд╕реНрдерд╛рдиреАрдп рдмреНрд░рд╛рдЙрдЬрд░ рднрдгреНрдбрд╛рд░рдгрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдбрд╛рдЯрд╛ рд░рд╛рдЦреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдмреНрдпрд╛рдХрдПрдиреНрдбрд╣рд░реВ рддрдпрд╛рд░ рдЧрд░рд┐рдПрдХреЛ рдЫред window.localStorage API рд░ window.sessionStorage рдорд╛ред localStorage/sessionStorage рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рдбрд╛рдЯрд╛ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕реНрдЯреЛрд░рд╣рд░реВрдорд╛ рдХреБрдЮреНрдЬреА/рдорд╛рди рдврд╛рдБрдЪрд╛рдорд╛ рдкреНрд░рддрд┐рдмрд┐рдореНрдмрд┐рдд рд╣реБрдиреНрдЫ, рд░ OPFS рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рддреНрдпрд╣рд╛рдБ рджреБрдИрд╡рдЯрд╛ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН: WASMFS рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рднрд░реНрдЪреБрдЕрд▓ FS рд╕рд┐рдореБрд▓реЗрдЯ рдЧрд░реНрдиреЗ рд░ sqlite3_vfs рдХреЛ рдЫреБрдЯреНрдЯреИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, SQLite VFS рддрд╣рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджреИред OPFS рдорд╛ред

SQLite рд▓рд╛рдИ WASM рджреГрд╢реНрдпрдорд╛ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди, Emscripten рдХрдореНрдкрд╛рдЗрд▓рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ (рдпреЛ ext/wasm рд╡рд┐рд╕реНрддрд╛рд░ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкрд░реНрдпрд╛рдкреНрдд рдЫ: тАЬ./configure тАФenable-all; make sqlite3.c; cd ext/wasm; makeтАЭ)ред рдЖрдЙрдЯрдкреБрдЯ sqlite3.js рд░ sqlite3.wasm рдлрд╛рдЗрд▓рд╣рд░реВ рд╣реБрдиреН, рдЬреБрди рддрдкрд╛рдИрдВрдХреЛ JavaScript рдкрд░рд┐рдпреЛрдЬрдирд╛ (HTML рд░ JavaScript рдЙрджрд╛рд╣рд░рдг) рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди