์ ๋ถ์์ฉ DB๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด์ผ ํ์ง?
์ด ์ง๋ฌธ์ ๋ํ ๋ต์ด ๋ฐ๋ก OLTP์ OLAP์ ์ฐจ์ด๋ค.
OLTP - ์๋น์ค๋ฅผ ์ํ DB
- OLTP(Online Transaction Processing)๋ ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ฐํ ๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ DB
- MySQL, PostgreSQL
* ๋ํ์ ์ธ OLTP ์ง๋ฌธ๋ค
- ์ฃผ๋ฌธ #1234์ ํ์ฌ ์ํ๋?
- ๊น์ฒ ์์ ์ฅ๋ฐ๊ตฌ๋์ ์ํ ์ถ๊ฐ
- ํ(Row) ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ด๋ค.
- ์ ๊ทํ๊ฐ ์ ๋์ด ์๋ค.
- ์๋์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ค.
- ์ค์๊ฐ ์ฝ๊ธฐ/์ฐ๊ธฐ๊ฐ ๋ง๋ค.
OLAP - ๋ถ์์ ์ํ DB
- OLAP(Online Analytical Processing)๋ ๋ถ์ ์ ์ฉ DB
- BigQuery, Snowflake, Redshift
* ๋ํ์ ์ธ OLAP ์ง๋ฌธ๋ค
- ์ง๋ 3๊ฐ์ ์ง์ญ๋ณ ๋งค์ถ ํฉ๊ณ
- ์ํ ์นดํ ๊ณ ๋ฆฌ๋ณ ์ฌ๊ตฌ๋งค์จ
- ์์ผ๋ณ ํ๊ท ์ฃผ๋ฌธ ๊ธ์ก ์ถ์ด
- ์ด(Column) ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ๋๋ค.
- ๋น์ ๊ทํ ๋์ด ์๋ค.
- ์๋ฐฑ๋ง~์์ต ๊ฑด์ ํ ๋ฒ์ ์ง๊ณํ๋ค.
- ์ฃผ๋ก ๋ฐฐ์น๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฌํ๋ค.
์ ๋์ ๋ถ๋ฆฌํด์ผ ํ๋
- ์ด์ DB์์ ์ง์ ๋ถ์ ์ฟผ๋ฆฌ๋ฅผ ๋ ๋ฆฌ๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
-- ์ด์ DB์์ ์ด ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ฉด ํ
์ด๋ธ ํ์ค์บ์ด ๋ฐ์
SELECT region, SUM(amount)
FROM orders
JOIN customers ON orders.customer_id = customers.id
JOIN products ON orders.product_id = products.id
WHERE created_at >= '2024-01-01'
GROUP BY region;
- ์๋ฐฑ๋ง ๊ฑด์ ์ฃผ๋ฌธ ๋ฐ์ดํฐ๋ฅผ ์ ๋ถ ์ฝ์ผ๋ฉด์ DB์ ์์ฒญ๋ ๋ถํ๊ฐ ๊ฑธ๋ฆฐ๋ค.
- ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋น์ค ์๋ต์ด ๋๋ ค์ง๊ฑฐ๋ ์ต์ ์ ๊ฒฝ์ฐ ์ฅ์ ๋ก ์ด์ด์ง๋ค.
์ปฌ๋ผ ๊ธฐ๋ฐ ์ ์ฅ์ด ๋ถ์์ ์ ๋ฆฌํ ์ด์
- OLAP DB๊ฐ ๋ถ์์ ๋น ๋ฅธ ํต์ฌ ์ด์ ์ค ํ๋๋ ์ปฌ๋ผ ๊ธฐ๋ฐ ์ ์ฅ ๋ฐฉ์์ด๋ค.
ํ ๊ธฐ๋ฐ (OLTP)
โโโโโโฌโโโโโโโฌโโโโโโโโโฌโโโโโโโโโโโโโ
โ id โ name โ amount โ created_at โ ← ํ ์ ์ฒด๋ฅผ ๊ฐ์ด ์ ์ฅ
โโโโโโผโโโโโโโผโโโโโโโโโผโโโโโโโโโโโโโค
โ 1 โ ๊น์ฒ ์โ 50000 โ 2024-01-01 โ
โ 2 โ ์ด์ํฌโ 30000 โ 2024-01-02 โ
โ 3 โ ๋ฐ๋ฏผ์โ 80000 โ 2024-01-03 โ
โโโโโโดโโโโโโโดโโโโโโโโโดโโโโโโโโโโโโโ
์ปฌ๋ผ ๊ธฐ๋ฐ (OLAP)
[id] → 1, 2, 3, ...
[name] → ๊น์ฒ ์, ์ด์ํฌ, ๋ฐ๋ฏผ์, ...
[amount] → 50000, 30000, 80000, ... ← amount๋ง ์ฝ์ผ๋ฉด ๋จ
[created_at] → 2024-01-01, ...
- SUM(amount)๋ฅผ ๊ณ์ฐํ ๋ ํ ๊ธฐ๋ฐ์ ๋ชจ๋ ํ์ ์ฝ์ด์ผ ํ์ง๋ง, ์ปฌ๋ผ ๊ธฐ๋ฐ์ amount ์ด๋ง ์ฝ์ผ๋ฉด ๋๋ค.
๋ฐ์ดํฐ๊ฐ ํ๋ฅด๋ ๋ฐฉํฅ
- ๋ฐ์ดํฐ ์์ง๋์ด๋ง ํต์ฌ ํ๋ฆ
[OLTP: MySQL / PostgreSQL]
↓
ETL ํ์ดํ๋ผ์ธ (Airflow) ← ๋ฐ์ดํฐ ์์ง๋์ด๊ฐ ๋ง๋๋ ๊ตฌ๊ฐ
↓
[OLAP: BigQuery / Snowflake]
↓
[๋์๋ณด๋: Tableau / Looker]
- OLTP์์ OLAP์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ธฐ๋ ๊ตฌ๊ฐ
- ์๋น์ค DB์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์์ ์ ํฉํ ํํ๋ก ๋ณํํด์ ์จ์ดํ์ฐ์ค์ ์ ์ฌํ๋ ๊ฒ
'Database > Engineering' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [DE] ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์ค๊ณ ์์น (2) | 2026.05.22 |
|---|---|
| [DE] ๋ฐฐ์น vs ์คํธ๋ฆฌ๋ฐ (2) | 2026.05.21 |
| [DE] dbt(data build tool) - SQL์ ์ฝ๋์ฒ๋ผ ๊ด๋ฆฌํ๋ ๋๊ตฌ (0) | 2026.05.21 |
| [DE] ๋ฐ์ดํฐ์จ์ดํ์ฐ์ค ๋ชจ๋ธ๋ง ๊ธฐ๋ณธ - Star Schema (0) | 2026.05.20 |