์ ๋ฌธ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๋ฐ ์ํคํ ์ฒ ์๋น์ค์ ๋๋ค. ์คํค๋ง๋ฅผ ์ค๊ณํ๊ณ , ์ ํฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํจ๊ป ํ์ฅ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ๋ ์ด์ด๋ฅผ ๊ตฌ์ถํฉ๋๋ค.
์์ํ๊ธฐ
์ฌ๋ฐ๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํคํ ์ฒ๋ ๋ชจ๋ ์ฑ๊ณต์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ฐ์ ๋๋ค. ์๋ชป๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฒฐ์ ์ ์ฑ๋ฅ ๋ฌธ์ , ๋ฐ์ดํฐ ๋ถ์ผ์น, ๊ทธ๋ฆฌ๊ณ ๋์ค์ ๊ฐ๋น์ผ ๋ง์ด๊ทธ๋ ์ด์ ์ผ๋ก ์ด์ด์ง๋๋ค. ์ฐ๋ฆฌ๋ ์ ๊ทผ ํจํด, ํ์ฅ ์๊ตฌ์ฌํญ, ์ผ๊ด์ฑ ์๊ตฌ์ฌํญ์ ๋ง๋ ๋ฐ์ดํฐ ์ํคํ ์ฒ๋ฅผ ์ค๊ณํ์ฌ ์ฒ์๋ถํฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ถํฉ๋๋ค.
์ฐ๋ฆฌ๋ ๊ด๊ณํ ์ํฌ๋ก๋์๋ PostgreSQL์, ๋ฌธ์ ํจํด์๋ MongoDB๋ฅผ, ์บ์ฑ ๋ฐ ์ธ์ ์๋ Redis๋ฅผ, ๋ฌด์ ํ ํ์ฅ์ ์ํด์๋ DynamoDB๋ฅผ, ์ ์ฒด ํ ์คํธ ๊ฒ์์๋ Elasticsearch๋ฅผ, ์๊ณ์ด ๋ฐ์ดํฐ์๋ TimescaleDB๋ฅผ ์ฌ์ฉํ์ฌ ์ค๊ณํฉ๋๋ค. ๋ชจ๋ ์ค๊ณ์๋ ๋ง์ด๊ทธ๋ ์ด์ ๋๊ตฌ, ๋ชจ๋ํฐ๋ง ๋ฐ ๋ฐฑ์ ์ ๋ต์ด ํฌํจ๋ฉ๋๋ค.
๊ฒฌ๊ณ ํ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ด ํ์ํ ์ ๊ท ํ๋ก์ ํธ๋ฅผ ์์ํ๋ ํ, ๋ฐ์ดํฐ ์ฆ๊ฐ๋ก ์ธํ ์ด๋ ค์์ ๊ฒช๋ ํ์ฌ, ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ ์ ๊ณ ๋ คํ๋ ์กฐ์ง์ ์ํ ์๋น์ค์ ๋๋ค. ์คํค๋ง ๊ฒํ , ์์ ํ ๋ฐ์ดํฐ ์ํคํ ์ฒ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ์ ๋ํ ์ง์นจ์ด ํ์ํ๋ ๊ด๊ณ์์ด ์ ๋ฌธ๊ฐ์ ์ค๊ณ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ฐ์ดํฐ ํจํด, ์ฟผ๋ฆฌ ์๊ตฌ์ฌํญ, ์ผ๊ด์ฑ ์๊ตฌ์ฌํญ ๋ฐ ํ์ฅ ์์ธก์ ๋ถ์ํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ๊ณ , ์คํค๋ง๋ฅผ ์ค๊ณํ๋ฉฐ, ์ธ๋ฑ์ฑ ์ ๋ต์ ๊ณํํ๊ณ , ๋ฐ์ดํฐ ํ๋ฆ์ ๋ฌธ์ํํฉ๋๋ค.
์คํค๋ง๋ฅผ ์์ฑํ๊ณ , ๋ง์ด๊ทธ๋ ์ด์ ์ ๊ตฌํํ๋ฉฐ, ๋ณต์ ๋ฅผ ์ค์ ํ๊ณ , ๋ฐฑ์ ์ ๋ต์ ๊ตฌ์ฑํฉ๋๋ค.
์ค์ ๋ฐ์ดํฐ๋ก ๋ถํ ํ ์คํธ๋ฅผ ์ํํ๊ณ , ์ฟผ๋ฆฌ๋ฅผ ์ต์ ํํ๋ฉฐ, ์ธ๋ฑ์ค๋ฅผ ๊ฒ์ฆํ๊ณ , ์ฑ๋ฅ์ ๋ฒค์น๋งํนํฉ๋๋ค.
์คํค๋ง ๊ฒฐ์ ์ ๋ฌธ์ํํ๊ณ , ๋ง์ด๊ทธ๋ ์ด์ ๊ฐ์ด๋๋ฅผ ์์ฑํ๋ฉฐ, ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ๊ดํ์ ์๋ฆฝํฉ๋๋ค.
๊ทํ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํจ๊ป ์ฑ๋ฅ์ ๋ฐํํ๊ณ , ํ์ฅํ๋ฉฐ, ๋ฐ์ ํ๋ ๋ฐ์ดํฐ ์ํคํ ์ฒ๋ฅผ ์ค๊ณํด ๋ด ์๋ค.
์ฐ๋ฆฌ๋ OLTP ์์คํ ์ ์ํด ์ ๊ทํ ์์น์ ๋ฐ๋ฅด๋ฉฐ, ๋ถ์ ์ํฌ๋ก๋๋ฅผ ์ํด ๋น์ ๊ทํ๋ ์ฐจ์ ๋ชจ๋ธ๋ง์ ๋ฐ๋ฆ ๋๋ค. ์ฐ๋ฆฌ์ ์ค๊ณ ํ๋ก์ธ์ค๋ ์ฒ ์ ํ ๋ฌธ์ํ์ ์ดํด๊ด๊ณ์ ๊ฒํ ๋ฅผ ํฌํจํ๋ ๊ฐ๋ ์ , ๋ ผ๋ฆฌ์ , ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง ๋จ๊ณ๋ฅผ ํฌํจํฉ๋๋ค.
MicrocosmWorks์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๋ฐ ์ํคํ ์ฒ ์ปจ์คํ ์ ์๊ฐ๋น $25~$45์ ์ด์ฉ ๊ฐ๋ฅํ๋ฉฐ, ์คํค๋ง ์ค๊ณ, ์ธ๋ฑ์ฑ ์ ๋ต, ํํฐ์ ๋ ๊ณํ, ๊ทธ๋ฆฌ๊ณ ๊ณ ๊ฐ์ ํน์ ์ํฌ๋ก๋์ ๋ง๋ ์ฉ๋ ๊ณํ์ ํฌํจํฉ๋๋ค.
๋ค, ์ ํฌ๋ ๊ณ ๊ฐ์ ๊ท์ ์ค์, ์ฑ๋ฅ ๋ฐ ๋น์ฉ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ row-level security, schema-per-tenant ๋๋ database-per-tenant ํจํด์ ํตํ tenant isolation์ ๊ฐ์ถ shared-database๋ฅผ ์ฌ์ฉํ์ฌ multi-tenant ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํคํ ์ฒ๋ฅผ ์ค๊ณํฉ๋๋ค.
์ ํฌ๋ Flyway, Liquibase, ๋๋ Alembic๊ณผ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์คํค๋ง ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ๊ตฌํํ๋ฉฐ, ์ด๋ฅผ CI/CD ํ์ดํ๋ผ์ธ์ ํตํฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋ ์คํค๋ง ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐฐํฌ ์ ์ ์ถ์ ๋๊ณ , ๋๋๋ฆด ์ ์์ผ๋ฉฐ, ํ๋ก๋์ ๊ณผ ์ ์ฌํ ๋ฐ์ดํฐ์ ๋ํด ํ ์คํธ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
๋ค, ์ ํฌ๋ ์คํค๋ง ์ค๊ณ, ์ธ๋ฑ์ฑ ํจ์จ์ฑ, ์ฟผ๋ฆฌ ํจํด, ์คํ ๋ฆฌ์ง ์์ง ์ ํ ๋ฐ ํ์ฅ์ฑ ํ๊ณ๋ฅผ ๊ฒํ ํ๋ ์ฒ ์ ํ ์ํคํ ์ฒ ๊ฒํ ๋ฅผ ์ํํ๋ฉฐ, ์คํ ๊ฐ๋ฅํ ๊ถ์ฅ ์ฌํญ์ด ํฌํจ๋ ์ฐ์ ์์ ๋ณด๊ณ ์๋ฅผ ์ ๊ณตํฉ๋๋ค.