๋ธŒ๋ผ์šฐ์ € ๋ฐ Node.js์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ AlaSQL 4.0 DBMS ๋ฆด๋ฆฌ์Šค

AlaSQL 4.0์€ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ์›น ๊ธฐ๋ฐ˜ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” Node.js ํ”Œ๋žซํผ ๊ธฐ๋ฐ˜ ์„œ๋ฒ„ ์ธก ํ•ธ๋“ค๋Ÿฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DBMS๋Š” JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ SQL ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ๊ด€๊ณ„ํ˜• ํ…Œ์ด๋ธ” ๋˜๋Š” ์Šคํ† ๋ฆฌ์ง€ ์Šคํ‚ค๋งˆ์˜ ํ•˜๋“œ ์ •์˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ค‘์ฒฉ๋œ JSON ๊ตฌ์กฐ์˜ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์ค„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด alasql ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” JavaScript๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

AlaSQL์€ ๋Œ€๋ถ€๋ถ„์˜ SQL-99 ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๋ฉฐ NoSQL ์Šคํƒ€์ผ ์ฒ˜๋ฆฌ(์Šคํ† ๋ฆฌ์ง€ ์Šคํ‚ค๋งˆ ์ •์˜ ์—†์Œ) ๋ฐ ๊ทธ๋ž˜ํ”„ ์กฐ์ž‘์„ ์œ„ํ•œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. SQL ์ฟผ๋ฆฌ์—์„œ ๋ณ‘ํ•ฉ(JOIN), ๊ทธ๋ฃนํ™”(GROUP), ํ•ฉ์ง‘ํ•ฉ(UNION) ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ANY, ALL ๋ฐ IN๊ณผ ๊ฐ™์€ ํ•˜์œ„ ์ฟผ๋ฆฌ ๋ฐ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜๊ณ  ROLLUP(), CUBE() ๋ฐ GROUPING SETS() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ์ง€์›์ด ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. SQL ์ฟผ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ ์ •์˜๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋น ๋ฅธ ํ•จ์ˆ˜ ํ˜ธ์ถœ์„ ์œ„ํ•ด SQL ํ‘œํ˜„์‹์„ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(PREPARE SQL ๋ฌธ๊ณผ ์œ ์‚ฌ).

AlaSQL DBMS๋Š” ETL(Extract, Transform, Load) ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์‚ฌ์šฉํ•˜๊ณ  ๊ฐ€์ ธ์˜ค๊ธฐ/์ฒ˜๋ฆฌ/๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. LocalStorage, IndexedDB, CSV, TAB, TXT, JSON, SQLite ๋ฐ Excel(.xls ๋ฐ .xlsx) ํ˜•์‹์„ ์ €์žฅ, ๋‚ด๋ณด๋‚ด๊ธฐ ๋ฐ ๊ฐ€์ ธ์˜ค๊ธฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์‹œ๋œ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์—์„œ ์ง์ ‘ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค. JavaScript ๊ฐœ์ฒด์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด SELECT ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ์ธํ…”๋ฆฌ์ „์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๋น ๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ ์ปดํŒŒ์ผ๋œ ํ•จ์ˆ˜ ํ˜•ํƒœ์˜ ์ฟผ๋ฆฌ ์บ์‹ฑ, ๋Šฅ๋™์  ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ ์ธ๋ฑ์‹ฑ ๋ฐ ๋ณ‘ํ•ฉ ์ž‘์—… ์ „ WHERE ์ ˆ ํ•„ํ„ฐ๋ง๊ณผ ๊ฐ™์€ ์ตœ์ ํ™”๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์œ ์‚ฌํ•œ ํ”„๋กœ์ ํŠธ์™€ ๋น„๊ตํ•  ๋•Œ AlaSQL์€ SUM, JOIN ๋ฐ GROUP BY ์ž‘์—…์œผ๋กœ ์„ ํƒํ•  ๋•Œ SQL.js๋ณด๋‹ค XNUMX๋ฐฐ, GROUP BY๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ Linq๋ณด๋‹ค XNUMX๋ฐฐ ๋น ๋ฅด๊ณ  WebSQL API(์• ๋“œ์˜จ์˜ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ)์™€ ๊ฑฐ์˜ ๋™์ผํ•œ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค. SUM, JOIN ๋ฐ GROUP BY ์ž‘์—…์œผ๋กœ ์„ ํƒํ•  ๋•Œ SQLite ์ƒ๋‹จ(Chrome์—์„œ ๊ณง ์ œ๊ฑฐ๋จ).

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€