Postgres WASM ํ”„๋กœ์ ํŠธ๋Š” PostgreSQL DBMS๋กœ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ์„ ๋งˆ๋ จํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ ์ž‘๋™ํ•˜๋Š” PostgreSQL DBMS๋กœ ํ™˜๊ฒฝ์„ ๊ฐœ๋ฐœํ•˜๋Š” Postgres WASM ํ”„๋กœ์ ํŠธ์˜ ๊ฐœ๋ฐœ์ด ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ๋œ ์ฝ”๋“œ๋Š” MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ฅธ ์˜คํ”ˆ ์†Œ์Šค์ž…๋‹ˆ๋‹ค. ๊ฐ„์†Œํ™”๋œ Linux ํ™˜๊ฒฝ, PostgreSQL 14.5 ์„œ๋ฒ„ ๋ฐ ๊ด€๋ จ ์œ ํ‹ธ๋ฆฌํ‹ฐ(psql, pg_dump)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ํˆดํ‚ท์ด ์ œ์•ˆ๋ฉ๋‹ˆ๋‹ค. ์ตœ์ข… ์–ด์…ˆ๋ธ”๋ฆฌ์˜ ํฌ๊ธฐ๋Š” ์•ฝ 30MB์ž…๋‹ˆ๋‹ค.

๊ฐ€์ƒ ๋จธ์‹  ์ฑ„์šฐ๊ธฐ๋Š” buildroot ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ๋˜๋ฉฐ v86 ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ PostgreSQL ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ์›น ์…ธ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰ ์ค‘์ธ PostgreSQL ์„œ๋ฒ„์— ์•ก์„ธ์Šคํ•˜๊ณ  ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด Websocket API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•˜๋Š” ํ”„๋ก์‹œ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Postgres WASM์˜ ์ฃผ์š” ๊ธฐ๋Šฅ:

  • IndexedDB๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒŒ์ผ ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ € ์Šคํ† ๋ฆฌ์ง€์—์„œ DBMS์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐ€์ƒ ๋จธ์‹ ์˜ ์ €์žฅ๋œ ์ƒํƒœ๋กœ ํŒŒ์ผ์—์„œ ๋น ๋ฅด๊ฒŒ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜์—ฌ ์ „์ฒด ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • 128~1024MB์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ€์ƒ ๋จธ์‹ ์— ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋Šฅ.
  • ์›น ํ„ฐ๋ฏธ๋„ ๊ธ€๊ผด ํฌ๊ธฐ ์„ค์ •.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋คํ”„ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜์—ฌ ๊ฐ€์ƒ ํ™˜๊ฒฝ์— ํŒŒ์ผ ์—…๋กœ๋“œ ์ง€์›.
  • ๊ฐ€์ƒ ํ™˜๊ฒฝ์—์„œ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ์ง€์›.
  • ์ˆ˜์‹  ๋ฐ ๋ฐœ์‹  ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์„ค์ •, ๋„คํŠธ์›Œํฌ ํฌํŠธ 5432๋กœ ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•œ ํ„ฐ๋„ ์ƒ์„ฑ.

Postgres WASM์˜ ๊ฐ€๋Šฅํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ค‘์—๋Š” ๋ฐ๋ชจ ๋ฐ ๊ต์œก ์‹œ์Šคํ…œ ์ƒ์„ฑ, ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ์—์„œ ๋ฐ์ดํ„ฐ ์ž‘์—… ๊ตฌ์„ฑ, ์˜คํ”„๋ผ์ธ ๋ชจ๋“œ์—์„œ ๋ฐ์ดํ„ฐ ๋ถ„์„, PostgresSQL ๊ธฐ๋Šฅ ๋ฐ ๊ตฌ์„ฑ ํ…Œ์ŠคํŠธ, ๋กœ์ปฌ ๊ฐœ๋ฐœ์ž ํ™˜๊ฒฝ ์ƒ์„ฑ, ํŠน์ • ์ƒํƒœ์˜ ์กฐ๊ฐ ์ค€๋น„ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์™ธ๋ถ€ DBMS์—์„œ ๋…ผ๋ฆฌ์  ๋ณต์ œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž ๋˜๋Š” ์ง€์› ํŒ€์— ๋ณด๋‚ด๊ธฐ ์œ„ํ•œ DBMS.

Postgres WASM ํ”„๋กœ์ ํŠธ๋Š” PostgreSQL DBMS๋กœ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ์„ ๋งˆ๋ จํ–ˆ์Šต๋‹ˆ๋‹ค.


์ถœ์ฒ˜ : opennet.ru

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