рд╡реЗрдм рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ DBMS рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА SQLite 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 рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡реЗрдм рд╡рд░реНрдХрд░ рдпрдВрддреНрд░рдгреЗрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ рдЬреЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╣рдБрдбрд▓рд░ рддрдпрд╛рд░ рдХрд░рд╛ рдЬреЗ рд╡реЗрдЧрд│реНрдпрд╛ рдереНрд░реЗрдбрд╡рд░ рдЪрд╛рд▓рддрд╛рдд. рд╡реЗрдм рд╡рд░реНрдХрд░-рдЖрдзрд╛рд░рд┐рдд API рд╡рд░ рдереНрд░реЗрдбрд╕рд╣ рдХрд╛рд░реНрдп рдЖрдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЧреБрдВрддрд╛рдЧреБрдВрдд рд▓рдкрд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА, рдкреНрд░реЙрдорд┐рд╕ рдореЗрдХреЕрдирд┐рдЭрдорд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕рдЪрд╛ рдПрдХ рдкреНрд░рдХрд╛рд░ рджреЗрдЦреАрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдд рдЖрд╣реЗ.

рд╡реЗрдм рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ SQLite рдЪреНрдпрд╛ WASM рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╕рддреНрд░рд╛рдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХреАрдХреГрдд рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ (рдкреГрд╖реНрда рд░реАрд▓реЛрдб рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдЧрдорд╛рд╡рд▓реЗрд▓рд╛) рдХрд┐рдВрд╡рд╛ рдХреНрд▓рд╛рдпрдВрдЯ-рд╕рд╛рдЗрдб рдХрд╛рдпрдо (рд╕рддреНрд░рд╛рдВрдордзреНрдпреЗ рдЯрд┐рдХреВрди рд░рд╛рд╣рддреЛ). рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬрд╕рд╛рдареА, OPFS (Origin-Private FileSystem, File System Access API рдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░, рдлрдХреНрдд WebKit рдЖрдгрд┐ Chromium рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ) рдЖрдгрд┐ рд╕реНрдерд╛рдирд┐рдХ рдмреНрд░рд╛рдЙрдЭрд░ рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рдбреЗрдЯрд╛ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдмреЕрдХрдПрдВрдб рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд. window.localStorage API рдЖрдгрд┐ window.sessionStorage рд╡рд░ рдЖрдзрд╛рд░рд┐рдд. рд▓реЛрдХрд▓ рд╕реНрдЯреЛрд░реЗрдЬ/рд╕реЗрд╢рдирд╕реНрдЯреЛрд░реЗрдЬ рд╡рд╛рдкрд░рддрд╛рдирд╛, рдбреЗрдЯрд╛ рдпреЛрдЧреНрдп рдХреА/рд╡реНрд╣реЕрд▓реНрдпреВ рд╕реНрдЯреЛрдЕрд░рдордзреНрдпреЗ рдореЕрдк рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдУрдкреАрдПрдлрдПрд╕ рд╡рд╛рдкрд░рддрд╛рдирд╛, рджреЛрди рдкрд░реНрдпрд╛рдп рдЕрд╕рддрд╛рдд: рдбрдмреНрд▓реНрдпреВрдПрдПрд╕рдПрдордПрдлрдПрд╕ рд╡рд╛рдкрд░реВрди рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯреАрдордЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рдгреЗ, рдЖрдгрд┐ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ sqlite3_vfs рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЬреА OPFS-рдЖрдзрд╛рд░рд┐рдд SQLite VFS рд▓реЗрдпрд░ рдСрдлрд░ рдХрд░рддреЗ. .

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛