- **OLTP(Online Transaction Processing)**λ μλΉμ€κ° μ€μκ°μΌλ‘ μ½κ³ μ°λ νΈλμμ
μ²λ¦¬μ© DB μ±κ²©
- **OLAP(Online Analytical Processing)**λ λͺ¨μλ λ°μ΄ν°λ₯Ό λ€κ°λλ‘ μ§κ³Β·λΆμνλ μ½κΈ° μ€μ¬μ λΆμμ© DB μ±κ²©
- λμ κ°μ βλ°μ΄ν°λ² μ΄μ€βλΌλ λ¨μ΄λ₯Ό μ°μ§λ§, μ΅μ ν λͺ©νκ° μ λ°λμΈ λ μν¬λ‘λ
μ λμ λλλκ°
- μ΄μ DB(OLTP)μ λ¬΄κ±°μ΄ λΆμ 쿼리λ₯Ό μ§μ λ 리면, μ΄μ νΈλν½κ³Ό μμμ λΊμ΄ μλΉμ€κ° λλ €μ§λ€
- OLTPλ βμ°κΈ°/λμμ±/μ ν©μ±βμ, OLAPμ βλλ μ€μΊ/μ§κ³ μλβμ μ΅μ μ΄λΌ ν DBκ° λ λ€ μνκΈ° μ΄λ ΅λ€
- κ·Έλμ λ°μ΄ν° λ§νΈΒ·λ°μ΄ν° μ¨μ΄νμ°μ€ κ°μ OLAP κ³μΈ΅μ λ³λλ‘ λΆλ¦¬νλ€
νλμ λΉκ΅
| κΈ°μ€ | OLTP (μ΄μ DB) | OLAP (λΆμ DB) |
|---|
| λͺ©μ | μ£Όλ¬Έ/κ²°μ λ± μ€μκ° νΈλμμ
| λ§€μΆΒ·μ νμ¨ κ°μ λΆμ/리ν¬ν
|
| 쿼리 | μ§§κ³ λ§μ read/insert/update/delete | κΈΈκ³ λ³΅μ‘ν μ§κ³ read μμ£Ό |
| λμμ± | μλ°±~μμ² μ¬μ©μ λμ μ°κΈ° | λΆμκ° μμ, λλ μ€μΊ |
| μ€ν€λ§ | μ κ·ν(normalized) | λΉμ κ·νΒ·μ°¨μ λͺ¨λΈ(star schema) |
| μ΅μ ν | μ°κΈ°Β·μ ν©μ±Β·λ³΅κ΅¬ | μ½κΈ°Β·μ§κ³ μλ |
| μμ | MongoDB, MySQL μ΄μ μΈμ€ν΄μ€ | Amazon Redshift, BigQuery |
- OLAPμ μ¬μ μ§κ³(pre-aggregation)λ κ°λ ₯ν΄μ, κ°μ μ§λ¬Έμ λν΄ OLTP λλΉ κ·Ήν μΌλΆ μκ°(μλ£μ λ°λΌ ~0.1% μμ€)λ§μ λ΅νκΈ°λ νλ€
OLAPμ λν λμ 3κ°μ§
- Roll-up(consolidation): μμΈ λ°μ΄ν°λ₯Ό μμ½μΌλ‘ μ§κ³ (μΌλ³ β μλ³)
- Drill-down: μμ½μμ μμΈλ‘ νκ³ λ€κΈ° (μλ³ β μΌλ³ β μ¬μ©μλ³)
- Slice & dice: νΉμ λ¨λ©΄μ μλΌ λ€λ₯Έ κ°λλ‘ λ³΄κΈ° (μ§μΓμνΓκΈ°κ°)
λ°μ΄ν° λ§νΈμμ κ΄κ³
- λ°μ΄ν° λ§νΈλ μ νμ μΈ OLAP κ³μΈ΅μ μ°μΆλ¬Όμ΄λ€ β OLTP μλ³Έμ κ°κ³΅ν΄ λΆμμ λ§κ² λΉμ κ·νν ν
μ΄λΈ
- βμ΄μ DBμ μ§μ 쿼리νλ 120μ΄+ κ±Έλ¦°λ€βλ λ¬Έμ λ κ²°κ΅ OLTPμ OLAP μμ
μ μν¨ κ²μ΄ μμΈμ΄κ³ , λΆλ¦¬(=λ§νΈ)κ° ν΄λ²μ΄λ€
μ°Έκ³ λ¬Έμ