4.2 Data Warehouse#
Data Warehouse๋ ์ฌ๋ด์์ ๋ฐ์ํ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์์ฉ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ์ ์ฅ์์
๋๋ค.
์ฒ์์๋ ํธ๋์ญ์ ์ฒ๋ฆฌ(OLTP)์ ๋ถ์ query(OLAP)๋ฅผ ๋์ผํ RDB๋ด์์ ์ฌ์ฉํ์ต๋๋ค. ํ์ง๋ง ๋ฐ์ดํฐ๊ฐ ๋ฐฉ๋ํด์ง๊ณ ๋ถ์ query์ ๋น์ฉ์ด ๋์์ง์ ๋ฐ๋ผ ์ ์ฐจ ๋ถ์์ฉ๋์ Database๊ฐ ๋ถ๋ฆฌ๋์๊ณ ์ด๋ฅผ Data Warehouse๋ผ ๋ถ๋ฅด๊ฒ ๋์์ต๋๋ค. (OLTP, OLAP ์ธ๋ถ๋ด์ฉ -> 2.4 ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฐฉ์ ์์๋ณด๊ธฐ)
ํธ๋์ญ์ ์ฒ๋ฆฌ์ฉ๋์ Database์์ Batch ํน์ Stream์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ถ์ถ(Extract)ํ์ฌ ๋ณํ(Transform)ํ๊ณ ์ด๋ฅผ ์ ์ฌ(Load)ํ๋ฉด์ Data Warehouse๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
Data Warehouse ๊ตฌ์ถ
ETL Process
Extract : Source Data๋ฅผ ์ถ์ถํ๋ ๋จ๊ณ์ ๋๋ค. ๊ธฐ์กด์ ์ฌ์ฉํ๋ ERP, RDB, File ๋ฑ์์ Business์ ์ฌ์ฉํ๊ธฐ ์ํ ๋ฐ์ดํฐ ์ถ์ถํฉ๋๋ค.
Transform : Source Data ์ ์ ๋ฐ ๊ฐ๊ณตํ๋ ๋จ๊ณ์ ๋๋ค. Data Warehouse์ ์ ์ฌํ๊ธฐ ์ํด ์ฌ๋ฌ format์ผ๋ก ๋ณด๊ด์ค์ด๋ Source data๋ฅผ Stuctured Data๋ก ๋ณํํ์ฌ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ํต์ผํฉ๋๋ค.
Load : Data Warehouse or Target System์ ์ ์ฌํ๋ ๋จ๊ณ์ ๋๋ค. ๋ฐ์ดํฐ๊ฐ Data Warehouse์ ์คํค๋ง์ ์ ํฉํ ํํ๋ก ๋ณํ๋๋ฉด ์ด๋ฅผ ์ ์ฌํ๋ฉด์ Data Warehouse๋ฅผ ์ง์์ ์ผ๋ก ๊ฐฑ์ ํฉ๋๋ค.
Structured Schema
Data warehouse๋ ๊ธฐ์กด์ RDB์ ์ ์ฌํ๊ฒ ์คํค๋ง๋ฅผ ์ ์ํ์ฌ ๊ตฌ์ถํ๋๋ฐ, Star Schema, Snowflake Schema๋ฅผ ์ฃผ๋ก ์ฌ์ฉํฉ๋๋ค.Star Schema
fact ํ ์ด๋ธ๊ณผ dimension ํ ์ด๋ธ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
fact ํ ์ด๋ธ : ํ๋งค์ก, ์ฃผ๋ฌธ๋, ์์ต ๋ฑ ์ ๋์ ์ธ ๊ฐ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ฃผ๋ก ํ๋์ row๊ฐ ๊ฐ๋ณ ์ด๋ฒคํธ๋ก ๋ํ๋ ๋๋ค. ex) ์ ํ ๊ตฌ๋งค ๊ธฐ๋ก
dimension ํ ์ด๋ธ : ์ฅ์, ์ ํ, ๊ณ ๊ฐ ์ ๋ณด ๋ฑ fact ํ ์ด๋ธ์ ์ ๋ณด๋ฅผ ์ ์ฒด์ ์ผ๋ก ํ์ธํ๊ธฐ ์ํ ๊ฐ๋ค๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. fact ํ ์ด๋ธ๊ณผ Foreign Key๋ก ์ฐธ์กฐ๋ฉ๋๋ค.
์ฅ์
์ฟผ๋ฆฌ ์ฑ๋ฅ ์ฐ์
๋จ์
์ ๊ทํ ๋จ๊ณ๊ฐ ๋ฎ์์ง์ผ๋ก์ ์ค๋ณต ๋ฐ์ดํฐ ๋ฐ์ ๊ฐ๋ฅ
Star Schema Diagram
Snowflake Schema
star schema๋ฅผ ๋ ์ ๊ทํํ ๋ฐฉ์์ผ๋ก์ dimension ํ ์ด๋ธ์ ํ์์ฐจ์์ผ๋ก ๋์ฑ ์ธ๋ถํํฉ๋๋ค.
์ฅ์
๋ฐ์ดํฐ ์ค๋ณต์ ์ค์ด๋ฉฐ ์ ์ฅ ๊ณต๊ฐ ์ ์ฝ
๋ฐ์ดํฐ๋ฅผ ๋ณด๋ค ์ ํํ๊ณ ์ผ๊ด์ฑ ์๊ฒ ์ ์ฅ
๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ํ์ฅํ๊ณ ๋ณ๊ฒฝ ๊ฐ๋ฅ
๋จ์
๋ง์ ์กฐ์ธ์ผ๋ก ์ธํ ์ฟผ๋ฆฌ ์ฑ๋ฅ ์ ํ
Snowflake Schema Diagram
Data Warehouse ๊ธฐ๋ฅ ๋ฐ ํน์ง
์ค์ ์ง์คํ: ๋ค์ํ ๋ฐ์ดํฐ ์์ค์์ ์ถ์ถ๋ ๋ฐ์ดํฐ๋ฅผ ์ค์์์ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ๊ณผ ์ ํ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ ์ ์ : ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ์ฌ ์ผ๊ด๋ ๋ฐ์ดํฐ ํ์ง์ ์ ์งํ ์ ์์ต๋๋ค.
์๊ฐ์ ๋ถ์ (time-series analysis) : ๊ณผ๊ฑฐ ๋ฐ์ดํฐ์ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋น๊ตํ์ฌ ๋น์ฆ๋์ค ๋ํฅ์ ํ์ ํ๊ณ ์์ธกํ ์ ์์ต๋๋ค.
ex) AWS RedShift, BigQuery