FerretDB 1.0, PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ํ์ฉํ์ฌ MongoDB์ ์คํ ์์ค ๋์์ผ๋ก ์ถ์
FerretDB 1.0์ MongoDB์ ์ง์ ํ ์คํ ์์ค ๋์์ผ๋ก ์ถ์๋์ด PostgreSQL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ผ๋ก ์ฌ์ฉํ์ฌ MongoDB ํ๋กํ ์ฝ ์ฟผ๋ฆฌ๋ฅผ SQL๋ก ๋ณํํ๋ ์ํ ๋น์ ์ฅ ํ๋ก์๋ฅผ ์ ๊ณตํฉ๋๋ค. FerretDB๋ MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ ์คํ ์์ค ๋ฃจํธ๋ก ๋๋๋ฆฌ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.

MongoDB ํ๋กํ ์ฝ ์ฟผ๋ฆฌ๋ฅผ SQL๋ก ๋ณํํ๊ณ PostgreSQL ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ผ๋ก ํ์ฉํ๋๋ก ์ค๊ณ๋ ์ํ ๋น์ ์ฅ ํ๋ก์์ธ FerretDB 1.0์ด ์ด์ ํ๋ก๋์ ๋ฆด๋ฆฌ์ค๋ก ์ ๊ณต๋ฉ๋๋ค. ์ ์์๋ ์ด๋ฅผ "์ง์ ํ ์คํ ์์ค MongoDB ๋์"์ด๋ผ๊ณ ์ค๋ช ํฉ๋๋ค. ์ด ๋ฆด๋ฆฌ์ค์๋ ๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํฌ๋ก๋๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ํ์ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ต๋๋ค.
Apache 2.0 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ FerretDBMongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ "์คํ ์์ค ๋ฃจํธ"๋ก ๋๋๋ฆฌ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ด ๊ฐ๋ฐ์ 4์ 11์ผ FerretDB Inc. ์์ ๋ฐํํ์ต๋๋ค. ์ด ๊ธฐ์ ์ ์ฌ์ฉํ๋ฉด PostgreSQL ๋ฐ ๊ธฐํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์๋์์ MongoDB ์ํฌ๋ก๋๋ฅผ ์คํํ ์ ์์ต๋๋ค. SAP HANA ๋ฐ SQLite ํฌํจํ๊ธฐ ์ํ ์ง์์ ์ธ ๋ ธ๋ ฅ๊ณผ ํจ๊ป Tigris ์ ๋ํ ์ง์๋ ํฌํจ๋ฉ๋๋ค. FerretDB ์์์ ๋ํ ์ง์นจ์ GitHub ์์ ์ฐพ์ ์ ์์ต๋๋ค.
FerretDB ์ ๋ฐ๋ฅด๋ฉด MongoDB ์ด์ SSPL(Server Side Public License)์ ๋ฐ๋ผ ์ ๊ณต๋๋ฏ๋ก ๋ ์ด์ ์คํ ์์ค๊ฐ ์๋๋๋ค. ๊ทธ๋ค์ SSPL ๋ผ์ด์ผ์ค๊ฐ ์ฌ์ฉ์ ๊ถํ์ ๋ฐํํ๊ณ ๋ง์ ์คํ ์์ค ๋ฐ ์ด๊ธฐ ๋จ๊ณ ์์ ํ๋ก์ ํธ์ ์ ํฉํ์ง ์๋ค๊ณ ์ฃผ์ฅํ๋ Open Source Initiative์ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ์ง์ ํฉ๋๋ค. ๋ฐ๋ฉด์ MongoDB SSPL์ด ์๋น์ค๋ก์์ ์ํํธ์จ์ด ์ฌ์ฉ์๊ฐ ์ปค๋ฎค๋ํฐ์ ๋ค์ ๊ธฐ์ฌํ๋๋ก ๋ณด์ฅํ๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค.
FerretDBMongoDB ๋๋ผ์ด๋ฒ ๋ฐ ๋๊ตฌ์ ํธํ๋๋ฉฐ RPM ๋ฐ DEB ํจํค์ง๋ฟ๋ง ์๋๋ผ ๊ฐ๋ฐ ๋ฐ ์์ฐ์ฉ Docker ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํฉ๋๋ค. PostgreSQL ๋ก FerretDB ํ๊ฐํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ ํฌํจํ๋ ํฌ๊ด์ ์ธ Docker ์ด๋ฏธ์ง๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฆด๋ฆฌ์ค์ ์ถ์์ ํจ๊ป FerretDB createIndexes ๋ช ๋ น์ ์ง์ํ์ฌ ์ฌ์ฉ์๊ฐ ์ธ๋ฑ์ค์ ํ๋์ ์ฌ์ฉํ ์ธ๋ฑ์ค ์ ํ์ ์ง์ ํ ์ ์์ต๋๋ค. ๋ํ dropIndex ๋ช ๋ น์ ์ฌ์ฉํ๋ฉด ์ปฌ๋ ์ ์์ ์ธ๋ฑ์ค๋ฅผ ์ ๊ฑฐํ ์ ์์ต๋๋ค. $unwind, $limit ๋ฐ $skip๊ณผ ๊ฐ์ ๋ ๋ง์ ๋จ๊ณ๋ฅผ ํฌํจํ๋๋ก ์ง๊ณ ํ์ดํ๋ผ์ธ ๊ธฐ๋ฅ์ด ํ์ฅ๋์์ต๋๋ค.
ํ์ฌ ๋ถ๊ธฐ ๋ง์ FerretDB ๋ก๋๋งต์๋ ๊ธฐ๋ณธ ์ปค์ ๋ช ๋ น, ๊ณ ๊ธ ์ธ๋ฑ์ค ๋ฐ ์์ SQL ์ฟผ๋ฆฌ ๊ธฐ๋ฅ์ ๋ํ ์ง์์ด ํฌํจ๋ฉ๋๋ค. 3๋ถ๊ธฐ ๊ณํ์๋ ์ง๊ณ ํ์ดํ๋ผ์ธ ์ง์, ์ฌ์ฉ์ ๊ด๋ฆฌ ๋ช ๋ น ๋ฐ ์ฟผ๋ฆฌ ํ๋ก์ ์ ์ฐ์ฐ์ ํฅ์์ด ํฌํจ๋ฉ๋๋ค. ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ๊ฐ์ ํ๋ ๊ฒ๋ ์ฃผ์ ๋ชฉํ์ ๋๋ค. ํธํ์ฑ๊ณผ ์ ์ฌ๋ ฅ์ผ๋ก ์ธํด FerretDBPostgreSQL ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ [appmaster .io" data-mce-href="https:// appmaster.io"> AppMaster.io์](https://<span class=) ๊ฐ์ no-code ํ๋ซํผ์ ์ฌ์ฉ์์๊ฒ๋ ๋์์ด ๋ ์ ์์ต๋๋ค. ์ํฐํ๋ผ์ด์ฆ ๋ฐ ๊ณ ๋ถํ ์ฌ์ฉ ์ฌ๋ก.


