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