๋ธ๋ผ์ฐ์ ๋ด์์ ์๋ํ๋ 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.
์ถ์ฒ : opennet.ru