SQL๊ณผ ๋ฐ์ดํฐ ๋ถ์
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋?
๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์คํ ๋ฆฌ์ง
์์
์คํ๋ ๋์ํธ ํํ์ ํ
์ด๋ธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๊ณ ์ ์ฅํ๋ค.
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ
- ๊ฐ์ฅ ๋ฐ๋จ์๋ ํ
์ด๋ธ๋ค์ด ์กด์ฌ
- ํ
์ด๋ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค(or์คํค๋ง)๋ผ๋ ํด๋ ๋ฐ์ผ๋ก ๊ตฌ์ฑ
ํ
์ด๋ธ์ ๊ตฌ์กฐ
- ๋ ์ฝ๋๋ค๋ก ๊ตฌ์ฑ(ํ)
- ๋ ์ฝ๋๋ ํ๋ ์ด์์ ํ๋(์ปฌ๋ผ)๋ก ๊ตฌ์ฑ(์ด)
- ํ๋๋ ์ด๋ฆ๊ณผ ํ์
๊ณผ ์์ฑ(primary key)์ผ๋ก ๊ตฌ์ฑ)

SQL์ด๋?
SQL์ Structured Query Language์ ์ฝ์๋ก ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์กฐ์ํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค.
๋ ์ข
๋ฅ์ ์ธ์ด๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ํ
์ด๋ธ ์ ์๋ฅผ ์ํ DDL(Data Define Language)
- ํ
์ด๋ธ ๋ฐ์ดํฐ ์กฐ์/์ง์๋ฅผ ์ํ DML(Data Manipulation Language)
๋จ์
- ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋๋ฐ์๋ง ์ต์ ํ๊ฐ ๋์ด์์
๋น๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋์ ๋ ๋ค๋ฃจ๋ ๊ฒ์ ๊ฐ๋ฅํ๋ ์ ์ฝ์ด ์ฌํจ
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ง๋ค SQL๋ฌธ๋ฒ์ด ์กฐ๊ธ์ฉ ์์ดํ๋ค.
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Production DB
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค ์น ๋๋ ์ฑ ์ด์์ ํ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํด์ฃผ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค.
- ์๋น์ค ์ด์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณณ(MySQL, PostgreSQL,..)
- ๋น ๋ฅธ ์ฒ๋ฆฌ์๋ ์ค์
- ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํ๋ ํ
์ด๋ธ๋ค์ ์งํฉ์ผ๋ก ๊ตฌ์ฑํ์ฌ ์ ์ฅํ๊ณ ๊ด๋ฆฌ
- ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค DB
์ฌ์ฉ์๋ณด๋ค ํ์ฌ ๋ด ์ง์๋ค์ ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์ฒ๋ฆฌ์๋ ๋ณด๋ค ์ผ๋ง๋ ๋ง์ ์์ ์ฒ๋ฆฌํ ์ ์๋์ง๊ฐ ์ค์
- ๊ณ ๊ฐ์ฌ์ฉ์๋ณด๋ค ๋ฐ์ดํฐ ์์ง๋์ด, ๋ฐ์ดํฐ ๋ถ์๊ฐ, ๋ฐ์ดํฐ ๊ณผํ์ ๋ฑs๋ด๋ถ ์ง์์ด ์ฌ์ฉํ๋ค.
- ํ๋ก๋์
๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ๋ณ๋์ด์ด์ผํจ
- ์ธ๋ถ์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด๋ค๊ฐ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ก ์ ์ฅํด์ฃผ๋
์ฝ๋๋ค์ด ํ์ํด์ง๋๋ฐ ์ด๋ฅผ ETLํน์ ๋ฐ์ดํฐํ์ดํ๋ผ์ธ ์ด๋ผ๊ณ ๋ถ๋ฆ
๋ณดํต์ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ETL๋ฑ์ ํตํ์ด ๋ฐ์ดํฐ ์ธํ๋ผ ๋ผ๊ณ ํจ
๋ฐ์ดํฐ ์ธํ๋ผ๋?
-๋ฐ์ดํฐ ์์ง๋์ด๊ฐ ๊ด๋ฆฌํจ
-ํ ๋จ๊ณ ๋ ๋ฐ์ ํ๋ฉด spark์ ๊ฐ์ ๋์ฉ๋ ๋ถ์ฐ์ฒ๋ฆฌ ์์คํ
์ด ์ผ๋ถ๋ก ์ถ๊ฐ๋จ

๋ฐ์ดํฐ๋ชจ๋ธ๋ง ๋ฐฉ๋ฒ
- Star schema
- production DB์ฉ ๊ด๊ณํ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ๋ณดํต ์คํ์คํค๋ง๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
- ๋ฐ์ดํฐ๋ฅผ ๋
ผ๋ฆฌ์ ๋จ์๋ก ๋๋ ์ ์ฅํ๊ณ ํ์์ ์กฐ์ธ. ์คํ ๋ฆฌ์ง ๋ญ๋น๊ฐ
๋ ํ๊ณ ์
๋ฐ์ดํธ๊ฐ ์ฌ์
- Denormalized schema
- ๋จ์ํ
์ด๋ธ๋ก ๋๋ ์ ์ฅํ์ง ์์์ผ๋ก ๋ณ๋์ ์กฐ์ธ์ด ํ์ ์๋ ํํ
- ์ด๋ ์คํ ๋ฆฌ์ง๋ฅผ ๋ ์ฌ์ฉํ์ง๋ง ์กฐ์ธ์ด ํ์ ์๊ธฐ์ ๋น ๋ฅธ ์ฐ์ฐ์ด ๊ฐ๋ฅ
ํด๋ผ์ฐ๋
์ปดํจํ
์์์ ๋คํธ์ํฌ๋ฅผ ํตํด ์๋น์ค ํํ๋ก ์ฌ์ฉํ๋ ๊ฒ
- ์์(์๋ฅผ ๋ค๋ฉด ์๋ฒ)์ ํ์ํ๋งํผ ์ค์๊ฐ์ผ๋ก ํ ๋นํ์ฌ ์ฌ์ฉํ ๋งํผ ์ง๋ถ. ํ๋ ฅ์ ์ผ๋ก ํ์ํ ๋งํผ์ ์์์ ์ ์งํ๋ ๊ฒ์ด ์ค์
Redshift
AWS ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์๋น์ค ์ด๋ค.
Redshift Scalable SQL์์ง
- 2PB๊น์ง ์ง์
- Still OLAP : ์๋ต์๋๊ฐ ๋น ๋ฅด์ง ์๊ธฐ ๋๋ฌธ์ ํ๋ก๋์
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฌ์ฉ ๋ถ๊ฐ
- Columnar storage
์ปฌ๋ผ๋ณ๋ก ์์ถ์ด ๊ฐ๋ฅ
์ปฌ๋ผ์ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒ์ด ์์ฃผ ๋น ๋ฆ
-๋ฒํฌ์
๋ฐ์ดํธ ์ง์
๋ ์ฝ๋๊ฐ ๋ค์ด์๋ ํ์ผ์ S3๋ก ๋ณต์ฌ ํ copy์ปค๋งจ๋๋ก redshift๋ก ์ผ๊ด ๋ณต์ฌ
- ๊ณ ์ ์ฉ๋/๋น์ฉ SQL์์ง
- ๋ค๋ฅธ ๋ฐ์ดํฐ์จ์ดํ์ฐ์ค์ฒ๋ผ primary key uniqueness๋ฅผ ๋ณด์ฅํ์ง ์์
*ํ๋ก๋์
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ค์ ๋ณด์ฅํจ