์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ! ๋ด ์ด๋ฆ์ ๊ณจ๋กํ ๋์ฝ๋ผ์ด์ ๋๋ค. ์ด์ ์๋ Avito์์ ๊ทผ๋ฌดํ๋ฉฐ XNUMX๋ ๋์ ๋ฐ์ดํฐ ํ๋ซํผ์ ๊ด๋ฆฌํ์ต๋๋ค. ์ฆ, ๋ถ์(Vertica, ClickHouse), ์คํธ๋ฆฌ๋ฐ ๋ฐ OLTP(Redis, Tarantool, VoltDB, MongoDB, PostgreSQL) ๋ฑ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ์ต๋๋ค. ์ด ๊ธฐ๊ฐ ๋์ ๋๋ ๋งค์ฐ ๋ค๋ฅด๊ณ ํน์ดํ๋ฉฐ ๋นํ์ค์ ์ธ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๊ฐ์ง ์๋ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค๋ฃจ์์ต๋๋ค.
์ ๋ ํ์ฌ ManyChat์์ ์ผํ๊ณ ์์ต๋๋ค. ๋ณธ์ง์ ์ผ๋ก ์ด๊ฒ์ ์๋กญ๊ณ ์ผ์ฌ์ ์ด๋ฉฐ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๋ ์คํํธ์ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฒ์ ์ ์ฌํ์ ๋ โ์ ์ ์คํํธ์ ์ด ์ด์ DBMS์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฅ์์ ๋ฌด์์ ์ทจํด์ผ ํ๋๊ฐ?โ๋ผ๋ ๊ณ ์ ์ ์ธ ์ง๋ฌธ์ด ๋ ์ฌ๋์ต๋๋ค.
์ด ๊ธฐ์ฌ์์๋ ๋ด ๋ณด๊ณ ์๋ฅผ ๋ฐํ์ผ๋ก
์ผ๋ฐ์ ์ผ๋ก ์๋ ค์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค 2020
2020๋ ์ด ๋๋ ์ฃผ์๋ฅผ ๋๋ฌ๋ณด๋ ์ธ ๊ฐ์ง ์ข ๋ฅ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ณด์์ต๋๋ค.
์ฒซ ๋ฒ์งธ ์ ํ - ํด๋์ OLTP ๋ฐ์ดํฐ๋ฒ ์ด์ค: PostgreSQL, SQL Server, Oracle, MySQL. ์ค๋ ์ ์ ์์ฑ๋์์ง๋ง ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ๋งค์ฐ ์น์ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ ํ ๊ด๋ จ์ฑ์ด ์์ต๋๋ค.
๋ ๋ฒ์งธ ์ ํ์ "XNUMX"์ ์ผ๊ธฐ. ๊ทธ๋ค์ ๋ด์ฅ๋ ์ค๋ฉ ๋ฐ ๊ธฐํ ๋งค๋ ฅ์ ์ธ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ SQL, ๊ธฐ์กด ๊ตฌ์กฐ ๋ฐ ACID๋ฅผ ํฌ๊ธฐํจ์ผ๋ก์จ ๊ณ ์ ์ ์ธ ํจํด์์ ๋ฒ์ด๋๋ ค๊ณ ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด Cassandra, MongoDB, Redis ๋๋ Tarantool์ด ์์ต๋๋ค. ์ด๋ฌํ ๋ชจ๋ ์๋ฃจ์ ์ ์์ฅ์ ๊ทผ๋ณธ์ ์ผ๋ก ์๋ก์ด ๊ฒ์ ์ ๊ณตํ๊ธฐ๋ฅผ ์ํ์ผ๋ฉฐ ํน์ ์์ ์ ๋งค์ฐ ํธ๋ฆฌํ ๊ฒ์ผ๋ก ํ๋ช ๋์๊ธฐ ๋๋ฌธ์ ํ์ ์์ฅ์ ์ ์ ํ์ต๋๋ค. ์ ๋ ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ NOSQL์ด๋ผ๋ ํฌ๊ด์ ์ธ ์ฉ์ด๋ก ํ์ํ๊ฒ ์ต๋๋ค.
"XNUMX"์ ๋๋ฌ๊ณ ์ฐ๋ฆฌ๋ NOSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ต์ํด์ก์ผ๋ฉฐ ๋ด ๊ด์ ์์ ๋ณผ ๋ ์ธ์์ ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ์์ต๋๋ค. ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค. ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ธฐ์กด OLTP ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ์๋ก์ด NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋์ผํ ํต์ฌ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ํ์ง๋ง DBA์ DevOps๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ ํด๋ผ์ฐ๋์ ๊ด๋ฆฌํ ํ๋์จ์ด์์ ์คํ๋ฉ๋๋ค. ๊ฐ๋ฐ์์๊ฒ ์ด๊ฒ์ ์ด๋๊ฐ์์ ์๋ํ๋ "๊ทธ๋ฅ ๊ธฐ๋ฐ"์ด์ง๋ง ์๋ฒ์ ์ด๋ป๊ฒ ์ค์น๋๋์ง, ๋๊ฐ ์๋ฒ๋ฅผ ๊ตฌ์ฑํ๊ณ ๋๊ฐ ์ ๋ฐ์ดํธํ๋์ง ์๋ฌด๋ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค.
๊ทธ๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์:
- AWS RDS๋ PostgreSQL/MySQL์ฉ ๊ด๋ฆฌํ ๋ํผ์ ๋๋ค.
- DynamoDB๋ Redis ๋ฐ MongoDB์ ์ ์ฌํ ๋ฌธ์ ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ AWS ์๋ ๋ก๊ทธ์ ๋๋ค.
- Amazon Redshift๋ ๊ด๋ฆฌํ ๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค.
์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด์ง๋ง ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ ํ์ ์์ด ๊ด๋ฆฌ๋๋ ํ๊ฒฝ์์ ์์ฑ๋ฉ๋๋ค.
๋ฉ๋ชจ. ์์ ๋ AWS ํ๊ฒฝ์ ๊ธฐ์ค์ผ๋ก ์์ฑ๋์์ง๋ง Microsoft Azure, Google Cloud ๋๋ Yandex.Cloud์๋ ์ ์ฌํ ๋ด์ฉ์ด ์์ต๋๋ค.
์ด๊ฒ์ ๋ํ ์๋ก์ด ์ ์ ๋ฌด์์
๋๊น? 2020๋
์๋ ์ด ์ค ์๋ฌด๊ฒ๋ ์์ต๋๋ค.
์๋ฒ๋ฆฌ์ค ๊ฐ๋
2020๋ ์์ฅ์์ ์ค์ ๋ก ์๋ก์ด ๊ฒ์ ์๋ฒ๋ฆฌ์ค ๋๋ ์๋ฒ๋ฆฌ์ค ์๋ฃจ์ ์ ๋๋ค.
์ผ๋ฐ ์๋น์ค๋ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๊ฒ์ด ๋ฌด์์ ์๋ฏธํ๋์ง ์ค๋ช
ํ๋ ค๊ณ ํฉ๋๋ค.
์ผ๋ฐ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฐฐํฌํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ์๋ฒ๋ฅผ ๊ตฌ์
ํ๊ฑฐ๋ ์๋ํ๊ณ , ์๋ฒ์ ์ฝ๋๋ฅผ ๋ณต์ฌํ๊ณ , ์๋ํฌ์ธํธ๋ฅผ ์ธ๋ถ์ ๊ฒ์ํ๊ณ ์ ๊ธฐ์ ์ผ๋ก ์๋๋ฃ, ์ ๊ธฐ ๋ฐ ๋ฐ์ดํฐ ์ผํฐ ์๋น์ค ๋น์ฉ์ ์ง๋ถํฉ๋๋ค. ์ด๊ฒ์ด ํ์ค ๊ตฌ์ฑํ์
๋๋ค.
๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋์? ์๋ฒ๋ฆฌ์ค ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฅํฉ๋๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ ์ด์ ์ ๋ฌด์์ ๋๊น? ์๋ฒ๊ฐ ์์ผ๋ฉฐ ํด๋ผ์ฐ๋์ ๊ฐ์ ์ธ์คํด์ค๋ฅผ ์๋ํ์ง๋ ์์ต๋๋ค. ์๋น์ค๋ฅผ ๋ฐฐํฌํ๋ ค๋ฉด ์ฝ๋(ํจ์)๋ฅผ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ณต์ฌํ๊ณ ์๋ํฌ์ธํธ์ ๊ฒ์ํ์ธ์. ๊ทธ๋ฐ ๋ค์ ์ด ํจ์๊ฐ ์คํ๋๋ ํ๋์จ์ด๋ฅผ ์์ ํ ๋ฌด์ํ๊ณ ์ด ํจ์๋ฅผ ํธ์ถํ ๋๋ง๋ค ๋น์ฉ์ ์ง๋ถํฉ๋๋ค.
๋๋ ์ด ์ ๊ทผ๋ฒ์ ๊ทธ๋ฆผ์ผ๋ก ์ค๋ช
ํ๋ ค๊ณ ๋
ธ๋ ฅํ ๊ฒ์ด๋ค.
ํด๋์ ๋ฐฐํฌ. ํน์ ๋ถํ๋ฅผ ๊ฐ์ง ์๋น์ค๊ฐ ์์ต๋๋ค. ๋ฌผ๋ฆฌ์ ์๋ฒ ๋๋ AWS ์ธ์คํด์ค๋ผ๋ ๋ ๊ฐ์ง ์ธ์คํด์ค๋ฅผ ์์ฑํฉ๋๋ค. ์ธ๋ถ ์์ฒญ์ ์ด๋ฌํ ์ธ์คํด์ค๋ก ์ ์ก๋์ด ์ฒ๋ฆฌ๋ฉ๋๋ค.
์ฌ์ง์์ ๋ณผ ์ ์๋ฏ์ด ์๋ฒ๋ ๊ท ๋ฑํ๊ฒ ๋ฐฐ์น๋์ง ์์ต๋๋ค. ํ๋๋ 100% ํ์ฉ๋๊ณ , ๋ ๊ฐ์ ์์ฒญ์ด ์์ผ๋ฉฐ, ํ๋๋ ๋ถ๋ถ์ ์ผ๋ก ์ ํด ์ํ์ธ 50%์ ๋๋ค. 30๊ฐ๊ฐ ์๋ XNUMX๊ฐ์ ์์ฒญ์ด ๋์ฐฉํ๋ฉด ์ ์ฒด ์์คํ ์ด ๋ก๋๋ฅผ ์ฒ๋ฆฌํ ์ ์์ด ์๋๊ฐ ๋๋ ค์ง๊ธฐ ์์ํฉ๋๋ค.
์๋ฒ๋ฆฌ์ค ๋ฐฐํฌ. ์๋ฒ๋ฆฌ์ค ํ๊ฒฝ์์๋ ์ด๋ฌํ ์๋น์ค์ ์ธ์คํด์ค๋ ์๋ฒ๊ฐ ์์ต๋๋ค. ๊ฐ์ด๋ ๋ฆฌ์์ค ํ(๋ฐฐํฌ๋ ๊ธฐ๋ฅ ์ฝ๋๊ฐ ํฌํจ๋ ์์ ์ค๋น๋ Docker ์ปจํ
์ด๋)์ด ์์ต๋๋ค. ์์คํ
์ ์ธ๋ถ ์์ฒญ์ ์์ ํ๊ณ ๊ฐ ์์ฒญ์ ๋ํด ์๋ฒ๋ฆฌ์ค ํ๋ ์์ํฌ๋ ์ฝ๋๊ฐ ํฌํจ๋ ์์ ์ปจํ
์ด๋๋ฅผ ์์ฑํฉ๋๋ค. ์์คํ
์ ์ด ํน์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ์ปจํ
์ด๋๋ฅผ ์ข
๋ฃํฉ๋๋ค.
์์ฒญ 1000๊ฐ - ์ปจํ ์ด๋ 1000๊ฐ, ์์ฒญ XNUMX๊ฐ - ์ปจํ ์ด๋ XNUMX๊ฐ. ๊ทธ๋ฆฌ๊ณ ํ๋์จ์ด ์๋ฒ์ ๋ํ ๋ฐฐํฌ๋ ์ด๋ฏธ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด์ ์์ ์ ๋๋ค. ์ด๋ ์๋ฒ๋ฆฌ์ค ํ๋ ์์ํฌ์ ์ํด ์์ ํ ์จ๊ฒจ์ ธ ์์ต๋๋ค. ์ด ๊ฐ๋ ์์๋ ๋ชจ๋ ํตํ์ ๋ํด ๋น์ฉ์ ์ง๋ถํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํ๋ฃจ์ ํ ํต์ ์ ํ๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ํ ํตํ์ ๋ํด ๋น์ฉ์ ์ง๋ถํ๊ณ , ๋ถ๋น ๋ฐฑ๋ง ๊ฑด์ ์ ํ๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ฐฑ๋ง ๊ฑด์ ๋ํด ์ง๋ถํ์ต๋๋ค. ์๋๋ฉด ์ ์ ํ์ ์ด๋ฐ ์ผ๋ ๋ฐ์ํฉ๋๋ค.
์๋ฒ๋ฆฌ์ค ๊ธฐ๋ฅ์ ๊ฒ์ํ๋ค๋ ๊ฐ๋ ์ ์ํ ๋น์ ์ฅ ์๋น์ค์ ์ ํฉํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ (์ํ) ์ํ ์ ์ฅ ์๋น์ค๊ฐ ํ์ํ ๊ฒฝ์ฐ ์๋น์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ์ํ ์์ ๊ณผ ๊ด๋ จํ์ฌ ๊ฐ ์ํ ์ ์ฅ ํจ์๋ ๋จ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐ๊ณ ์ฝ์ต๋๋ค. ๋ํ ๊ธฐ์ฌ ์์ ๋ถ๋ถ์ ์ค๋ช ๋ ์ธ ๊ฐ์ง ์ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์.
์ด๋ฌํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ผ๋ฐ์ ์ธ ์ ํ ์ฌํญ์ ๋ฌด์์ ๋๊น? ์ด๋ ์ง์์ ์ผ๋ก ์ฌ์ฉ๋๋ ํด๋ผ์ฐ๋ ๋๋ ํ๋์จ์ด ์๋ฒ(๋๋ ์ฌ๋ฌ ์๋ฒ)์ ๋น์ฉ์ ๋๋ค. ํด๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ด๋ฆฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ , Devops์ ๊ด๋ฆฌ์๊ฐ ์๋ ์๋ ์๊ด์์ด ์ฐ๋ฆฌ๋ ์ฌ์ ํ ํ๋์จ์ด, ์ ๊ธฐ ๋ฐ ๋ฐ์ดํฐ ์ผํฐ ์๋ ๋น์ฉ์ ์ฐ์ค๋ฌดํด 24์๊ฐ ์ง๋ถํฉ๋๋ค. ํด๋์ ๊ธฐ๋ฐ์ด ์์ผ๋ฉด ๋ง์คํฐ์ ์ฌ๋ ์ด๋ธ ๋น์ฉ์ ์ง๋ถํฉ๋๋ค. ๋ก๋๊ฐ ๋์ ์ค๋ฉ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ ๊ฒฝ์ฐ 7, 10 ๋๋ 20๊ฐ์ ์๋ฒ์ ๋ํ ๋น์ฉ์ ์ง๋ถํ๊ณ ์ง์์ ์ผ๋ก ์ง๋ถํฉ๋๋ค.
๋น์ฉ ๊ตฌ์กฐ์์ ์๊ตฌ์ ์ผ๋ก ์์ฝ๋ ์๋ฒ์ ์กด์ฌ๋ ์ด์ ์๋ ํ์์ ์ผ๋ก ์ธ์๋์์ต๋๋ค. ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ์ฐ๊ฒฐ ์ ์ ํ, ํ์ฅ ์ ํ, ์ง๋ฆฌ์ ์ผ๋ก ๋ถ์ฐ๋ ํฉ์์ ๊ฐ์ ๋ค๋ฅธ ์ด๋ ค์๋ ์์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ด๋ป๊ฒ๋ ํด๊ฒฐ๋ ์ ์์ง๋ง ํ๊บผ๋ฒ์ ํด๊ฒฐ๋์ง๋ ์์ผ๋ฉฐ ์ด์์ ์ผ๋ก๋ ํด๊ฒฐ๋์ง ์์ต๋๋ค.
์๋ฒ๋ฆฌ์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค - ์ด๋ก
2020๋ ์ง๋ฌธ: ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๋ฒ๋ฆฌ์ค๋ก ๋ง๋๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๊น? ๋ค๋ค ์๋ฒ๋ฆฌ์ค ๋ฐฑ์๋์ ๋ํด ๋ค์ด๋ณด์ จ์ ํ ๋ฐ์. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๋ฒ๋ฆฌ์ค๋ก ๋ง๋ค์ด ๋ณผ๊น์?
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ํ ์ ์ฅ ์๋น์ค์ด๊ณ ์๋ฒ๋ฆฌ์ค ์ธํ๋ผ์๋ ์ ํฉํ์ง ์๊ธฐ ๋๋ฌธ์ ์ด์ํ๊ฒ ๋ค๋ฆฝ๋๋ค. ๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ ๊ธฐ๊ฐ๋ฐ์ดํธ, ํ ๋ผ๋ฐ์ดํธ, ๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ํํ๋ฐ์ดํธ๊น์ง ๋งค์ฐ ํฝ๋๋ค. ๊ฒฝ๋ Docker ์ปจํ ์ด๋์์ ํค์ฐ๋ ๊ฒ์ ๊ทธ๋ฆฌ ์ฝ์ง ์์ต๋๋ค.
๋ฐ๋ฉด, ๊ฑฐ์ ๋ชจ๋ ์ต์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ํธ๋์ญ์ , ๋ฌด๊ฒฐ์ฑ ์กฐ์ , ์ ์ฐจ, ๊ด๊ณ ์ข ์์ฑ ๋ฐ ๋ง์ ๋ ผ๋ฆฌ์ ๊ฐ์ ์์ฒญ๋ ์์ ๋ ผ๋ฆฌ์ ๊ตฌ์ฑ ์์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์๋นํ ๋ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ผ๋ฆฌ์ ๊ฒฝ์ฐ ์์ ์ํ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค. ๊ธฐ๊ฐ๋ฐ์ดํธ ๋ฐ ํ ๋ผ๋ฐ์ดํธ๋ ์ฟผ๋ฆฌ๋ฅผ ์ง์ ์คํํ๋ ๋ฐ ๊ด๋ จ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ผ๋ฆฌ์ ์์ ๋ถ๋ถ์์๋ง ์ง์ ์ฌ์ฉ๋ฉ๋๋ค.
๋ฐ๋ผ์ ๋ ผ๋ฆฌ์ ์ผ๋ถ๊ฐ ์ํ ๋น์ ์ฅ ์คํ์ ํ์ฉํ๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ํ ์ ์ฅ ๋ถ๋ถ๊ณผ ์ํ ๋น์ ์ฅ ๋ถ๋ถ์ผ๋ก ๋ถํ ํ๋ ๊ฒ์ด ์ด๋ป๊ฒ ์ต๋๊น?
OLAP ์๋ฃจ์ ์ ์ํ ์๋ฒ๋ฆฌ์ค
์ค์ ์ฌ๋ก๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ Stateful ๋ฐ Stateless ๋ถ๋ถ์ผ๋ก ๋๋๋ ๊ฒ์ด ์ด๋ค ๋ชจ์ต์ธ์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์๋ฅผ ๋ค์ด ๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ต๋๋ค.: ์ธ๋ถ ๋ฐ์ดํฐ(์ผ์ชฝ์ ๋นจ๊ฐ์ ์ํต), ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ก๋ํ๋ ETL ํ๋ก์ธ์ค, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ SQL ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด๋ ๋ถ์๊ฐ์
๋๋ค. ์ด๋ ์ ํ์ ์ธ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์ด์ ๋ฐฉ์์
๋๋ค.
์ด ๋ฐฉ์์์๋ ETL์ด ์กฐ๊ฑด๋ถ๋ก ํ ๋ฒ๋ง ์ํ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ผ ๋์์ด ์๋๋ก ETL๋ก ์ฑ์์ง ๋ฐ์ดํฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์คํ๋๋ ์๋ฒ์ ๋ํ ๋น์ฉ์ ์ง์์ ์ผ๋ก ์ง๋ถํด์ผ ํฉ๋๋ค.
AWS Athena Serverless์ ๊ตฌํ๋ ๋์ฒด ์ ๊ทผ ๋ฐฉ์์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ค์ด๋ก๋ํ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ์๊ตฌ์ ์ธ ์ ์ฉ ํ๋์จ์ด๋ ์์ต๋๋ค. ๋์ ์:
- ์ฌ์ฉ์๊ฐ Athena์ SQL ์ฟผ๋ฆฌ๋ฅผ ์ ์ถํฉ๋๋ค. Athena ์ต์ ํ ํ๋ก๊ทธ๋จ์ SQL ์ฟผ๋ฆฌ๋ฅผ ๋ถ์ํ๊ณ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์(๋ฉํ๋ฐ์ดํฐ)์์ ์ฟผ๋ฆฌ ์คํ์ ํ์ํ ํน์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํฉ๋๋ค.
- ์ตํฐ๋ง์ด์ ๋ ์์ง๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ถ ์์ค์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์์ ์ ์ฅ์(์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค)๋ก ๋ค์ด๋ก๋ํฉ๋๋ค.
- ์ฌ์ฉ์์ SQL ์ฟผ๋ฆฌ๋ ์์ ์ ์ฅ์์์ ์คํ๋๊ณ ๊ทธ ๊ฒฐ๊ณผ๊ฐ ์ฌ์ฉ์์๊ฒ ๋ฐํ๋ฉ๋๋ค.
- ์์ ์ ์ฅ์๊ฐ ์ง์์ง๊ณ ๋ฆฌ์์ค๊ฐ ํด์ ๋ฉ๋๋ค.
์ด ์ํคํ ์ฒ์์๋ ์์ฒญ์ ์คํํ๋ ํ๋ก์ธ์ค์ ๋ํด์๋ง ๋น์ฉ์ ์ง๋ถํฉ๋๋ค. ์์ฒญ ์์ - ๋น์ฉ์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
์ด๋ ํจ๊ณผ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ด๋ฉฐ Athena Serverless๋ฟ๋ง ์๋๋ผ Redshift Spectrum(AWS)์์๋ ๊ตฌํ๋ฉ๋๋ค.
Athena ์๋ ์๋ฒ๋ฆฌ์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ญ, ์๋ฐฑ ํ ๋ผ๋ฐ์ดํธ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ์ค์ ์ฟผ๋ฆฌ์์ ์๋ํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค. ์๋ฐฑ ํ ๋ผ๋ฐ์ดํธ์๋ ์๋ฐฑ ๋์ ์๋ฒ๊ฐ ํ์ํ์ง๋ง ์ฐ๋ฆฌ๋ ์ด์ ๋ํ ๋น์ฉ์ ์ง๋ถํ ํ์๊ฐ ์์ต๋๋ค. ์์ฒญ์ ๋ํ ๋น์ฉ๋ง ์ง๋ถํ๋ฉด ๋ฉ๋๋ค. ๊ฐ ์์ฒญ์ ์๋๋ Vertica์ ๊ฐ์ ์ ๋ฌธ ๋ถ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋นํด (๋งค์ฐ) ๋๋ฆฌ์ง๋ง ๊ฐ๋ ์ค์ง ์๊ฐ์ ๋ํด์๋ ๋น์ฉ์ ์ง๋ถํ์ง ์์ต๋๋ค.
์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋๋ฌธ ๋ถ์ ์์ ์ฟผ๋ฆฌ์ ์ ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ๊ฐ ์๋ฐ์ ์ผ๋ก ์์ฒญ๋ ์์ ๋ฐ์ดํฐ์ ๋ํ ๊ฐ์ค์ ํ ์คํธํ๊ธฐ๋ก ๊ฒฐ์ ํ ๊ฒฝ์ฐ์ ๋๋ค. Athena๋ ์ด๋ฌํ ๊ฒฝ์ฐ์ ์ ํฉํฉ๋๋ค. ์ ๊ธฐ์ ์ธ ์์ฒญ์ ๊ฒฝ์ฐ ์ด๋ฌํ ์์คํ ์ ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค. ์ด ๊ฒฝ์ฐ ์ผ๋ถ ํน์ ์๋ฃจ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์บ์ํ์ญ์์ค.
OLTP ์๋ฃจ์ ์ ์ํ ์๋ฒ๋ฆฌ์ค
์ด์ ์์์๋ OLAP(๋ถ์) ์์ ์ ์ดํด๋ณด์์ต๋๋ค. ์ด์ OLTP ์์ ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
ํ์ฅ ๊ฐ๋ฅํ PostgreSQL ๋๋ MySQL์ ์์ํด ๋ด ์๋ค. ์ต์ํ์ ๋ฆฌ์์ค๋ก ์ผ๋ฐ ๊ด๋ฆฌํ ์ธ์คํด์ค PostgreSQL ๋๋ MySQL์ ํค์๋ณด๊ฒ ์ต๋๋ค. ์ธ์คํด์ค๊ฐ ๋ ๋ง์ ๋ก๋๋ฅผ ๋ฐ์ผ๋ฉด ์ฝ๊ธฐ ๋ก๋์ ์ผ๋ถ๋ฅผ ๋ถ์ฐํ ์ถ๊ฐ ๋ณต์ ๋ณธ์ ์ฐ๊ฒฐํฉ๋๋ค. ์์ฒญ์ด๋ ๋ก๋๊ฐ ์์ผ๋ฉด ๋ณต์ ๋ณธ์ ๋๋๋ค. ์ฒซ ๋ฒ์งธ ์ธ์คํด์ค๋ ๋ง์คํฐ์ด๊ณ ๋๋จธ์ง๋ ๋ณต์ ๋ณธ์ ๋๋ค.
์ด ์์ด๋์ด๋ Aurora Serverless AWS๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ตฌํ๋ฉ๋๋ค. ์์น์ ๊ฐ๋จํฉ๋๋ค. ์ธ๋ถ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฒญ์ ํ๋ก์ ํ๋ฆฟ์์ ์๋ฝ๋ฉ๋๋ค. ๋ก๋๊ฐ ์ฆ๊ฐํ๋ ๊ฒ์ ํ์ธํ๊ณ ๋ฏธ๋ฆฌ ์๋ฐ์ ๋ ์ต์ ์ธ์คํด์ค์์ ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ํ ๋นํฉ๋๋ค. ์ฐ๊ฒฐ์ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ด๋ฃจ์ด์ง๋๋ค. ์ธ์คํด์ค ๋นํ์ฑํ๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฐ์ํฉ๋๋ค.
Aurora์๋ ACU๋ผ๋ Aurora ์ฉ๋ ๋จ์๋ผ๋ ๊ฐ๋ ์ด ์์ต๋๋ค. ์ด๊ฒ์ (์กฐ๊ฑด๋ถ๋ก) ์ธ์คํด์ค(์๋ฒ)์ ๋๋ค. ๊ฐ ํน์ ACU๋ ๋ง์คํฐ ๋๋ ์ฌ๋ ์ด๋ธ๊ฐ ๋ ์ ์์ต๋๋ค. ๊ฐ ์ฉ๋ ๋จ์์๋ ์์ฒด RAM, ํ๋ก์ธ์ ๋ฐ ์ต์ ๋์คํฌ๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ํ๋๋ ๋ง์คํฐ์ด๊ณ ๋๋จธ์ง๋ ์ฝ๊ธฐ ์ ์ฉ ๋ณต์ ๋ณธ์ ๋๋ค.
์คํ ์ค์ธ Aurora ์ฉ๋ ๋จ์์ ์๋ ๊ตฌ์ฑ ๊ฐ๋ฅํ ๋งค๊ฐ๋ณ์์ ๋๋ค. ์ต์ ์๋์ XNUMX ๋๋ XNUMX์ผ ์ ์์ต๋๋ค(์ด ๊ฒฝ์ฐ ์์ฒญ์ด ์์ผ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋ํ์ง ์์ต๋๋ค).
๋ฒ ์ด์ค๊ฐ ์์ฒญ์ ๋ฐ์ผ๋ฉด ํ๋ก์ ํ๋ฆฟ์ Aurora ์ฉ๋ ๋จ์๋ฅผ ๋์ฌ ์์คํ
์ ์ฑ๋ฅ ๋ฆฌ์์ค๋ฅผ ๋๋ฆฝ๋๋ค. ๋ฆฌ์์ค๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ด๋ ๊ธฐ๋ฅ์ ํตํด ์์คํ
์ ๋ฆฌ์์ค๋ฅผ "์กฐ์ "ํ ์ ์์ต๋๋ค. ์ฆ, ๊ฐ๋ณ ACU๋ฅผ ์๋์ผ๋ก ํ์ํ๊ณ (์ ACU๋ก ๊ต์ฒด) ์ฒ ํ๋ ๋ฆฌ์์ค์ ๋ํ ๋ชจ๋ ํ์ฌ ์
๋ฐ์ดํธ๋ฅผ ๋กค์์ํ ์ ์์ต๋๋ค.
Aurora Serverless ๊ธฐ๋ฐ์ ์ฝ๊ธฐ ๋ก๋๋ฅผ ํ์ฅํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฌธ์์๋ ์ด์ ๋ํด ์ง์ ์ ์ผ๋ก ์ธ๊ธ๋์ด ์์ง ์์ต๋๋ค. ๋ค์ค ๋ง์คํฐ๋ฅผ ๋ค์ด ์ฌ๋ฆด ์ ์๋ ๊ฒ์ฒ๋ผ ๋๊ปด์ง ์๋ ์์ต๋๋ค. ๋ง๋ฒ์ ์์ต๋๋ค.
์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์์ธกํ ์ ์๋ ์ก์ธ์ค๊ฐ ๊ฐ๋ฅํ ์์คํ ์ ๋ง๋ํ ๋น์ฉ์ ์ง์ถํ๋ ๊ฒ์ ๋ฐฉ์งํ๋ ๋ฐ ๋งค์ฐ ์ ํฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด MVP๋ ๋ง์ผํ ๋ช ํจ ์ฌ์ดํธ๋ฅผ ๋ง๋ค ๋ ์ผ๋ฐ์ ์ผ๋ก ์์ ์ ์ธ ๋ก๋๋ฅผ ๊ธฐ๋ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ ์์ด ์์ ๊ฒฝ์ฐ ์ธ์คํด์ค ๋น์ฉ์ ์ง๋ถํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ปจํผ๋ฐ์ค๋ ๊ด๊ณ ์บ ํ์ธ ์ดํ ์์์น ๋ชปํ ๋ก๋๊ฐ ๋ฐ์ํ๊ณ ๋ง์ ์ฌ๋๋ค์ด ์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ์ฌ ๋ก๋๊ฐ ๊ธ๊ฒฉํ ์ฆ๊ฐํ๋ฉด Aurora Serverless๋ ์๋์ผ๋ก ์ด ๋ก๋๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋๋ฝ๋ ๋ฆฌ์์ค(ACU)๋ฅผ ์ ์ํ๊ฒ ์ฐ๊ฒฐํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ปจํผ๋ฐ์ค๊ฐ ํต๊ณผ๋๊ณ ๋ชจ๋๊ฐ ํ๋กํ ํ์ ์ ๋ํด ์์ด๋ฒ๋ฆฌ๊ณ ์๋ฒ(ACU)๊ฐ ์ด๋์์ง๊ณ ๋น์ฉ์ด XNUMX์ผ๋ก ๋จ์ด์ง๋ฏ๋ก ํธ๋ฆฌํฉ๋๋ค.
์ด ์๋ฃจ์ ์ ์ฐ๊ธฐ ๋ถํ๋ฅผ ํ์ฅํ์ง ์๊ธฐ ๋๋ฌธ์ ์์ ์ ์ธ ๊ณ ๋ถํ์๋ ์ ํฉํ์ง ์์ต๋๋ค. ์ด๋ฌํ ๋ชจ๋ ๋ฆฌ์์ค ์ฐ๊ฒฐ ๋ฐ ์ฐ๊ฒฐ ๋๊น์ ์์ "ํ์ฅ ์ง์ "(๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํธ๋์ญ์ ์ด๋ ์์ ํ ์ด๋ธ์์ ์ง์๋์ง ์๋ ์์ )์์ ๋ฐ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ผ์ฃผ์ผ ์ด๋ด์ ํ์ฅ ์ง์ ์ด ๋ฐ์ํ์ง ์์ ์ ์์ผ๋ฉฐ ๊ธฐ๋ฐ์ ๋์ผํ ๋ฆฌ์์ค์์ ์๋ํ๋ฏ๋ก ํ์ฅํ๊ฑฐ๋ ์ถ์ํ ์ ์์ต๋๋ค.
๋ง๋ฒ์ ์์ต๋๋ค. ์ผ๋ฐ PostgreSQL์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ธฐ๊ณ๋ฅผ ์ถ๊ฐํ๊ณ ์ฐ๊ฒฐ์ ๋๋ ๊ณผ์ ์ ๋ถ๋ถ์ ์ผ๋ก ์๋ํ๋์ด ์์ต๋๋ค.
์๋ฒ๋ฆฌ์ค ์ค๊ณ
Aurora Serverless๋ Serverless์ ์ผ๋ถ ์ด์ ์ ํ์ฉํ๊ธฐ ์ํด ํด๋ผ์ฐ๋์ฉ์ผ๋ก ์ฌ์์ฑ๋ ์ค๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ์ด์ ์๋ ํด๋ผ์ฐ๋์ฉ์ผ๋ก ์์ฑ๋ ์๋ฒ๋ฆฌ์ค ์ ๊ทผ ๋ฐฉ์์ธ Serverless-by-design์ ๋ํด ์ค๋ช ํ๊ฒ ์ต๋๋ค. ๋ฌผ๋ฆฌ์ ์๋ฒ์์ ์คํ๋๋ค๋ ๊ฐ์ ์์ด ๋ฐ๋ก ๊ฐ๋ฐ๋์์ต๋๋ค.
์ด ๋ฒ ์ด์ค์ ์ด๋ฆ์ Snowflake์ ๋๋ค. ์ธ ๊ฐ์ ํต์ฌ ๋ธ๋ก์ด ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ๋ ๋ฉํ๋ฐ์ดํฐ ๋ธ๋ก์
๋๋ค. ์ด๋ ๋ณด์, ๋ฉํ๋ฐ์ดํฐ, ํธ๋์ญ์
๋ฐ ์ฟผ๋ฆฌ ์ต์ ํ์ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋น ๋ฅธ ์ธ๋ฉ๋ชจ๋ฆฌ ์๋น์ค์
๋๋ค(์ผ์ชฝ ๊ทธ๋ฆผ ์ฐธ์กฐ).
๋ ๋ฒ์งธ ๋ธ๋ก์ ๊ณ์ฐ์ ์ํ ๊ฐ์ ์ปดํจํ ํด๋ฌ์คํฐ ์ธํธ์ ๋๋ค(๊ทธ๋ฆผ์๋ ํ๋์ ์ ์ธํธ๊ฐ ์์).
์ธ ๋ฒ์งธ ๋ธ๋ก์ S3 ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ์ ์ฅ ์์คํ ์ด๋ค. S3๋ AWS์ ๋ฌด์ฐจ์ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง๋ก, ์ผ์ข ์ ๋น์ฆ๋์ค์ฉ Dropbox์ ๊ฐ์ต๋๋ค.
์ฝ๋ ์คํํธ๋ฅผ ๊ฐ์ ํ์ฌ Snowflake๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๊ณ ๋ฐ์ดํฐ๊ฐ ๋ก๋๋์ด ์์ผ๋ฉฐ ์คํ ์ค์ธ ์ฟผ๋ฆฌ๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์์ฒญ์ด ์์ผ๋ฉด ๋น ๋ฅธ ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฉํ๋ฐ์ดํฐ ์๋น์ค(์ฒซ ๋ฒ์งธ ๋ธ๋ก)๋ฅผ ๋์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ ์ด๋ธ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ S3 ์คํ ๋ฆฌ์ง๊ฐ ์์ ๋ง์ดํฌ๋ก ํํฐ์ ์ผ๋ก ๋๋์ด์ ธ ์์ต๋๋ค. ๋จ์ํ๋ฅผ ์ํด ํ ์ด๋ธ์ ํธ๋์ญ์ ์ด ํฌํจ๋ ๊ฒฝ์ฐ ๋ง์ดํฌ๋ก ํํฐ์ ์ ํธ๋์ญ์ ๋ ์ง์ ๋๋ค. ๋งค์ผ์ ๋ณ๋์ ๋ง์ดํฌ๋กํํฐ์ , ๋ณ๋์ ํ์ผ์ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ด ๋ชจ๋๋ก ์๋ํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ฐจ์งํ๋ ๊ณต๊ฐ์ ๋ํด์๋ง ๋น์ฉ์ ์ง๋ถํ๋ฉด ๋ฉ๋๋ค. ๊ฒ๋ค๊ฐ ์ข์๋น ์๊ธ๋ ๋งค์ฐ ๋ฎ์ต๋๋ค(ํนํ ์๋นํ ์์ถ๋ฅ ์ ๊ณ ๋ คํ๋ฉด). ๋ฉํ๋ฐ์ดํฐ ์๋น์ค๋ ์ง์์ ์ผ๋ก ์๋ํ์ง๋ง ์ฟผ๋ฆฌ๋ฅผ ์ต์ ํํ๋ ๋ฐ ๋ง์ ๋ฆฌ์์ค๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ ์๋น์ค๋ ์ ฐ์ด์จ์ด๋ก ๊ฐ์ฃผ๋ ์ ์์ต๋๋ค.
์ด์ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ SQL ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. SQL ์ฟผ๋ฆฌ๋ ์ฒ๋ฆฌ๋ฅผ ์ํด ์ฆ์ ๋ฉํ๋ฐ์ดํฐ ์๋น์ค๋ก ์ ์ก๋ฉ๋๋ค. ๋ฐ๋ผ์ ์์ฒญ์ ๋ฐ์ผ๋ฉด ์ด ์๋น์ค๋ ์์ฒญ, ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ์ดํฐ, ์ฌ์ฉ์ ๊ถํ์ ๋ถ์ํ๊ณ ๋ชจ๋ ๊ฒ์ด ์ ์์ธ ๊ฒฝ์ฐ ์์ฒญ ์ฒ๋ฆฌ ๊ณํ์ ์ธ์๋๋ค.
๋ค์์ผ๋ก ์๋น์ค๋ ์ปดํจํ ํด๋ฌ์คํฐ์ ์์์ ์์ํฉ๋๋ค. ์ปดํจํ ํด๋ฌ์คํฐ๋ ๊ณ์ฐ์ ์ํํ๋ ์๋ฒ ํด๋ฌ์คํฐ์ ๋๋ค. ์ฆ, 1๊ฐ ์๋ฒ, 2๊ฐ ์๋ฒ, 4, 8, 16, 32๊ฐ ๋ฑ ์ํ๋ ๋งํผ ํฌํจํ ์ ์๋ ํด๋ฌ์คํฐ์ ๋๋ค. ์์ฒญ์ ํ๋ฉด ์ด ํด๋ฌ์คํฐ์ ์์์ด ์ฆ์ ์์๋ฉ๋๋ค. ์ ๋ง ๋ช ์ด๊ฐ ๊ฑธ๋ฆฝ๋๋ค.
๋ค์์ผ๋ก, ํด๋ฌ์คํฐ๊ฐ ์์๋ ํ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐ ํ์ํ ๋ง์ดํฌ๋ก ํํฐ์
์ด S3์์ ํด๋ฌ์คํฐ๋ก ๋ณต์ฌ๋๊ธฐ ์์ํฉ๋๋ค. ์ฆ, SQL ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ค๋ฉด ํ ํ
์ด๋ธ์ ๋ ๊ฐ์ ํํฐ์
์ด ํ์ํ๊ณ ๋ ๋ฒ์งธ ํ
์ด๋ธ์ ํ๋์ ํํฐ์
์ด ํ์ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด ๊ฒฝ์ฐ ํ์ํ ์ธ ๊ฐ์ ํํฐ์
๋ง ํด๋ฌ์คํฐ์ ๋ณต์ฌ๋๊ณ ๋ชจ๋ ํ
์ด๋ธ์ด ์์ ํ ๋ณต์ฌ๋๋ ๊ฒ์ ์๋๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฒ์ด ํ๋์ ๋ฐ์ดํฐ ์ผํฐ ๋ด์ ์๊ณ ๋งค์ฐ ๋น ๋ฅธ ์ฑ๋๋ก ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ ์ฒด ์ ์ก ํ๋ก์ธ์ค๊ฐ ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋ฐ์ํฉ๋๋ค. ๋ช ์ด ์์, ์์ฃผ ๋๋ฌผ๊ฒ๋ ๋ช ๋ถ ์์ ์ผ๋ถ ์์ฒญ๋ ์์ฒญ์ ๋ํด ์ด์ผ๊ธฐํ์ง ์๋ ํ . ๋ฐ๋ผ์ ๋ง์ดํฌ๋กํํฐ์
์ ์ปดํจํ
ํด๋ฌ์คํฐ์ ๋ณต์ฌ๋๊ณ , ์๋ฃ๋๋ฉด ์ด ์ปดํจํ
ํด๋ฌ์คํฐ์์ SQL ์ฟผ๋ฆฌ๊ฐ ์คํ๋ฉ๋๋ค. ์ด ์์ฒญ์ ๊ฒฐ๊ณผ๋ ํ ์ค, ์ฌ๋ฌ ์ค ๋๋ ํ
์ด๋ธ์ผ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฐ๊ณผ๋ ์ฌ์ฉ์๊ฐ ๋ค์ด๋ก๋ํ๊ฑฐ๋ BI ๋๊ตฌ์ ํ์ํ๊ฑฐ๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ์ธ๋ถ๋ก ์ฌ์ฉ์์๊ฒ ์ ์ก๋ฉ๋๋ค.
๊ฐ SQL ์ฟผ๋ฆฌ๋ ์ด์ ์ ๋ก๋๋ ๋ฐ์ดํฐ์์ ์ง๊ณ๋ฅผ ์ฝ์ ์ ์์ ๋ฟ๋ง ์๋๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ก๋/์์ฑํ ์๋ ์์ต๋๋ค. ์ฆ, ์๋ฅผ ๋ค์ด ์ ๋ ์ฝ๋๋ฅผ ๋ค๋ฅธ ํ ์ด๋ธ์ ์ฝ์ ํ์ฌ ์ปดํจํ ํด๋ฌ์คํฐ์ ์ ํํฐ์ ์ด ๋ํ๋๊ณ ๋จ์ผ S3 ์คํ ๋ฆฌ์ง์ ์๋์ผ๋ก ์ ์ฅ๋๋ ์ฟผ๋ฆฌ์ผ ์ ์์ต๋๋ค.
์์์ ์ค๋ช ํ ์๋๋ฆฌ์ค๋ ์ฌ์ฉ์ ๋์ฐฉ๋ถํฐ ํด๋ฌ์คํฐ ์์ฑ, ๋ฐ์ดํฐ ๋ก๋ฉ, ์ฟผ๋ฆฌ ์คํ, ๊ฒฐ๊ณผ ํ๋๊น์ง ๊ฐ์ ์ปดํจํ ํด๋ฌ์คํฐ, ๊ฐ์ ์ฐฝ๊ณ ๋ฅผ ์ฌ์ฉํ๋ ๋ถ๋น ์๊ธ์ผ๋ก ์ง๋ถ๋ฉ๋๋ค. ์๊ธ์ AWS ์์ญ ๋ฐ ํด๋ฌ์คํฐ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ํ๊ท ์ ์ผ๋ก ์๊ฐ๋น ๋ช ๋ฌ๋ฌ์ ๋๋ค. 16๊ฐ์ ๋จธ์ ์ผ๋ก ๊ตฌ์ฑ๋ ํด๋ฌ์คํฐ๋ 32๊ฐ์ ๋จธ์ ์ผ๋ก ๊ตฌ์ฑ๋ ํด๋ฌ์คํฐ๋ณด๋ค ๋ ๋ฐฐ ๋ ๋น์ธ๊ณ , 5๊ฐ์ ๋จธ์ ์ผ๋ก ๊ตฌ์ฑ๋ ํด๋ฌ์คํฐ๋ ์ฌ์ ํ ๋ ๋ฐฐ ๋ ๋น์๋๋ค. ์์ฒญ์ ๋ณต์ก์ฑ์ ๋ฐ๋ผ 10, XNUMX๋์ ๊ธฐ๊ณ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํด๋ฌ์คํฐ๊ฐ ์ค์ ๋ก ์คํ๋๋ ๋์์ ์๊ฐ์ ๋ํด์๋ง ๋น์ฉ์ ์ง๋ถํฉ๋๋ค. ์์ฒญ์ด ์์ผ๋ฉด ์์ ๋ผ๊ณ XNUMX~XNUMX๋ถ ๋์ ๊ธฐ๋ค๋ฆฐ ํ(๊ตฌ์ฑ ๊ฐ๋ฅํ ๋งค๊ฐ๋ณ์) ์์ฒด์ ์ผ๋ก ์ข ๋ฃ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ์์์ ํ๋ณดํ๊ณ ์์ ๋ก์์ง์ธ์.
์์ ํ ํ์ค์ ์ธ ์๋๋ฆฌ์ค๋ ์์ฒญ์ ๋ณด๋ผ ๋ ์๋์ ์ผ๋ก ํด๋ฌ์คํฐ๊ฐ ํ์ ๋๊ณ XNUMX๋ถ ํ์ ๋ค์ XNUMX๋ถ์ ๊ณ์ฐํ ๋ค์ XNUMX๋ถ ๋์ ์ข ๋ฃํ๊ณ ๊ฒฐ๊ตญ ์ด ํด๋ฌ์คํฐ์ XNUMX๋ถ ์์ ์ ๋ํ ๋น์ฉ์ ์ง๋ถํ๊ฒ ๋๋ ๊ฒ์ ๋๋ค. ๋ช ๋ฌ, ๋ช ๋ ๋์์ ์๋๋๋ค.
๋จ์ผ ์ฌ์ฉ์ ์ค์ ์์ Snowflake๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ช ํ ์ฒซ ๋ฒ์งธ ์๋๋ฆฌ์ค์ ๋๋ค. ์ด์ ์ค์ ์๋๋ฆฌ์ค์ ๋ ๊ฐ๊น์ด ์ฌ์ฉ์๊ฐ ๋ง๋ค๊ณ ์์ํด ๋ด ์๋ค.
์๋ง์ ๊ฐ๋จํ ๋ถ์ SQL ์ฟผ๋ฆฌ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์์ ์ผ๋ก ๊ณต๊ฒฉํ๋ ๋ง์ ๋ถ์๊ฐ์ Tableau ๋ณด๊ณ ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
๋ํ, ๋ฐ์ดํฐ๋ก ์์ฒญ๋ ์ผ์ ํ๊ณ , ์์ญ ํ ๋ผ๋ฐ์ดํธ๋ก ์์ ํ๊ณ , ์์ญ์ต, ์์กฐ ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๋ ค๋ ์ฐฝ์์ ์ธ ๋ฐ์ดํฐ ๊ณผํ์๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
์์์ ์ค๋ช ํ ๋ ๊ฐ์ง ์ ํ์ ์์ ๋ถํ์ ๋ํด Snowflake๋ฅผ ์ฌ์ฉํ๋ฉด ์ฉ๋์ด ์๋ก ๋ค๋ฅธ ์ฌ๋ฌ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ ์ปดํจํ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ๋ํ ์ด๋ฌํ ์ปดํจํ ํด๋ฌ์คํฐ๋ ๋ ๋ฆฝ์ ์ผ๋ก ์๋ํ์ง๋ง ์ผ๊ด๋ ๊ณตํต ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๊ฐ๋ฒผ์ด ์ฟผ๋ฆฌ ์๊ฐ ๋ง์ ๊ฒฝ์ฐ ๊ฐ๊ฐ ๋๋ต 2๋์ ๋จธ์ ์ผ๋ก ๊ตฌ์ฑ๋ 3~2๊ฐ์ ์์ ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ด ๋์์ ๋ฌด์๋ณด๋ค๋ ์๋ ์ค์ ์ ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์์ต๋๋ค. ๊ทธ๋์ ๋น์ ์ โ๋์ก์ด์ผ, ์์ ํด๋ฌ์คํฐ๋ฅผ ํค์๋ผ. ๋ถํ๊ฐ ํน์ ๋งค๊ฐ๋ณ์ ์ด์์ผ๋ก ์ฆ๊ฐํ๋ฉด ์ ์ฌํ ๋ ๋ฒ์งธ, ์ธ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ์์ํต๋๋ค. ๋ถํ๊ฐ ๊ฐ๋ผ์๊ธฐ ์์ํ๋ฉด ์ด๊ณผ๋ถ์ ๋์ญ์์ค.โ ๋ฐ๋ผ์ ์ผ๋ง๋ ๋ง์ ๋ถ์๊ฐ๊ฐ ์์ ๋ณด๊ณ ์๋ฅผ ์ดํด๋ณด๋๋ผ๋ ๋ชจ๋๊ฐ ์ถฉ๋ถํ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค.
๋์์ ๋ถ์๊ฐ๊ฐ ์ ๋ค์ด ์๊ณ ๋ณด๊ณ ์๋ฅผ ๋ณด๋ ์ฌ๋์ด ์๋ค๋ฉด ํด๋ฌ์คํฐ๊ฐ ์์ ํ ์ด๋์์ง ์ ์์ผ๋ฉฐ ์ด์ ๋ํ ๋น์ฉ ์ง๋ถ์ด ์ค๋จ๋ฉ๋๋ค.
๋์์ ๋ฐ์ดํฐ ๊ณผํ์์ ์ฟผ๋ฆฌ๊ฐ ๋ง์ ๊ฒฝ์ฐ 32๊ฐ ์์คํ ์ ๋ํด ๋งค์ฐ ํฐ ํด๋ฌ์คํฐ ํ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๋ํ ์ด ํด๋ฌ์คํฐ๋ ๋๊ท๋ชจ ์์ฒญ์ด ์คํ๋๋ ๋ถ๊ณผ ์๊ฐ์ ๋ํด์๋ง ๋น์ฉ์ ์ง๋ถํฉ๋๋ค.
์์์ ์ค๋ช ํ ๊ธฐํ๋ฅผ ํตํด 2๊ฐ๋ฟ๋ง ์๋๋ผ ๋ ๋ง์ ์ ํ์ ์ํฌ๋ก๋๋ฅผ ํด๋ฌ์คํฐ(ETL, ๋ชจ๋ํฐ๋ง, ๋ณด๊ณ ์ ๊ตฌ์ฒดํ ๋ฑ)๋ก ๋๋ ์ ์์ต๋๋ค.
Snowflake๋ฅผ ์์ฝํด ๋ณด๊ฒ ์ต๋๋ค. ๊ธฐ๋ณธ์ ์๋ฆ๋ค์ด ์์ด๋์ด์ ์คํ ๊ฐ๋ฅํ ๊ตฌํ์ ๊ฒฐํฉํฉ๋๋ค. ManyChat์์๋ Snowflake๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด์ ํ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํฉ๋๋ค. ์์์ ๊ฐ์ด 5๊ฐ์ ํด๋ฌ์คํฐ๊ฐ ์์ง๋ง ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ 9~16๊ฐ์ ํด๋ฌ์คํฐ๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ผ๋ถ ์์ ์ ๋ํด ๊ธฐ์กด์ 2 ๋จธ์ , 1 ๋จธ์ , ์ด์ํ XNUMX ๋จธ์ ์ ๋ณด์ ํ๊ณ ์์ต๋๋ค. ์ด๋ ๋ถํ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๋ถ์ฐ์์ผ ๋ง์ ๋น์ฉ์ ์ ์ฝํ ์ ์๊ฒ ํด์ค๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๋ก๋๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํ์ฅํ์ต๋๋ค. ์ด๋ ์ฝ๊ธฐ ๋ถํ๋ง ์ ๋ฌํ๋ ๋์ผํ "์ค๋ก๋ผ"์ ๋น๊ตํ๋ฉด ์์ฒญ๋ ์ฐจ์ด์ด์ ์์ฒญ๋ ํ์ ์ ๋๋ค. Snowflake๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ์ปดํจํ ํด๋ฌ์คํฐ๋ฅผ ํตํด ์ฐ๊ธฐ ์์ ๋์ ํ์ฅํ ์ ์์ต๋๋ค. ์ฆ, ์๊น ๋งํ๋ฏ์ด ManyChat์์๋ ์ฌ๋ฌ ๊ฐ์ ํด๋ฌ์คํฐ๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์๊ท๋ชจ ๋ฐ ์ด์ํ ํด๋ฌ์คํฐ๋ ์ฃผ๋ก ETL, ๋ฐ์ดํฐ ๋ก๋ฉ์ ์ฌ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ถ์๊ฐ๋ค์ ์ด๋ฏธ ETL ๋ก๋์ ์ํฅ์ ์ ํ ๋ฐ์ง ์๋ ์ค๊ฐ ๊ท๋ชจ ํด๋ฌ์คํฐ์ ๊ฑฐ์ฃผํ๊ณ ์์ผ๋ฏ๋ก ์์ ์๋๊ฐ ๋งค์ฐ ๋น ๋ฆ ๋๋ค.
๋ฐ๋ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ OLAP ์์ ์ ๋งค์ฐ ์ ํฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ํ๊น๊ฒ๋ ์์ง OLTP ์ํฌ๋ก๋์๋ ์ ์ฉํ ์ ์์ต๋๋ค. ์ฒซ์งธ, ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ชจ๋ ํ์ ๊ฒฐ๊ณผ๋ฅผ ํฌํจํ๋ ์์ฃผํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. ๋์งธ, ๊ฐ ์์ฒญ์ ๋ํด ํ์ํ ๊ฒฝ์ฐ ์ปดํจํ ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ๊ณ ์ฌ๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ ๋์น๊ฒ ํ๋ ์ ๊ทผ ๋ฐฉ์ ์์ฒด๋ ๋ถํํ๋ ์์ง OLTP ๋ก๋์ ์ถฉ๋ถํ ๋น ๋ฅด์ง ์์ต๋๋ค. OLAP ์์ ์ ๊ฒฝ์ฐ ๋ช ์ด ๋์ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ์ ์์ด์ง๋ง OLTP ์์ ์ ๊ฒฝ์ฐ ํ์ฉ๋์ง ์์ต๋๋ค. 100ms๊ฐ ๋ ์ข๊ณ 10ms๊ฐ ๋ ์ข์ต๋๋ค.
ํฉ๊ณ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ Stateless ๋ถ๋ถ๊ณผ Stateful ๋ถ๋ถ์ผ๋ก ๋๋์ด ์๋ฒ๋ฆฌ์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ์์ ๋ชจ๋ ์์์ Stateful ๋ถ๋ถ์ ์๋์ ์ผ๋ก S3์ ๋ง์ดํฌ๋ก ํํฐ์ ์ ์ ์ฅํ๋ ๊ฒ์ด๋ฉฐ Stateless๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๋ฆฝ์ ์ธ ๊ฒฝ๋ Stateless ์๋น์ค๋ก ๋ฐ์ํ ์ ์๋ ๋ณด์ ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ๋ ์ต์ ํ ํ๋ก๊ทธ๋จ์ด๋ผ๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
SQL ์ฟผ๋ฆฌ ์คํ์ Snowflake ์ปดํจํ ํด๋ฌ์คํฐ์ ๊ฐ์ด ์๋ฒ๋ฆฌ์ค ๋ชจ๋์์ ํ์ ๋์ด ํ์ํ ๋ฐ์ดํฐ๋ง ๋ค์ด๋ก๋ํ๊ณ ์ฟผ๋ฆฌ๋ฅผ ์คํํ ํ "์ธ์ถ"ํ ์ ์๋ ๊ฐ๋จํ ์ํ ์๋น์ค๋ก ์ธ์๋ ์๋ ์์ต๋๋ค.
์๋ฒ๋ฆฌ์ค ํ๋ก๋์ ์์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๋ฏธ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ์๋ ์ค์ ๋๋ค. ์ด๋ฌํ ์๋ฒ๋ฆฌ์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด๋ฏธ OLAP ์์ ์ ์ฒ๋ฆฌํ ์ค๋น๊ฐ ๋์ด ์์ต๋๋ค. ๋ถํํ๊ฒ๋ OLTP ์์ ์๋ ํ๊ณ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฏธ๋ฌํ ์ฐจ์ด๋ก ์ฌ์ฉ๋ฉ๋๋ค. ํํธ์ผ๋ก ์ด๊ฒ์ ๋ง์ด๋์ค์ ๋๋ค. ๊ทธ๋ฌ๋ ํํธ์ผ๋ก๋ ์ด๊ฒ์ด ๊ธฐํ์ด๋ค. ์๋ง๋ ๋ ์ ์ค ํ ๋ช ์ Aurora์ ์ ํ ์์ด OLTP ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ ํ ์๋ฒ๋ฆฌ์ค๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฐพ์ ๊ฒ์ ๋๋ค.
ํฅ๋ฏธ๋ก์ ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์๋ฒ๋ฆฌ์ค๊ฐ ๋ฏธ๋์
๋๋ค :)
์ถ์ฒ : habr.com