4.2 Data Warehouse

4.2 Data Warehouse#

Untitled



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๋กœ ์ฐธ์กฐ๋ฉ๋‹ˆ๋‹ค.

      • ์žฅ์ 

        1. ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ์šฐ์ˆ˜

      • ๋‹จ์ 

        1. ์ •๊ทœํ™” ๋‹จ๊ณ„๊ฐ€ ๋‚ฎ์•„์ง์œผ๋กœ์„œ ์ค‘๋ณต ๋ฐ์ดํ„ฐ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

      Star Schema Diagram
      Untitled

    • Snowflake Schema

      • star schema๋ฅผ ๋” ์ •๊ทœํ™”ํ•œ ๋ฐฉ์‹์œผ๋กœ์„œ dimension ํ…Œ์ด๋ธ”์„ ํ•˜์œ„์ฐจ์›์œผ๋กœ ๋”์šฑ ์„ธ๋ถ„ํ™”ํ•ฉ๋‹ˆ๋‹ค.

      • ์žฅ์ 

        1. ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ์ค„์ด๋ฉฐ ์ €์žฅ ๊ณต๊ฐ„ ์ ˆ์•ฝ

        2. ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‹ค ์ •ํ™•ํ•˜๊ณ  ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์ €์žฅ

        3. ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ํ™•์žฅํ•˜๊ณ  ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ

      • ๋‹จ์ 

        1. ๋งŽ์€ ์กฐ์ธ์œผ๋กœ ์ธํ•œ ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ์ €ํ•˜

      Snowflake Schema Diagram
      Untitled


  • Data Warehouse ๊ธฐ๋Šฅ ๋ฐ ํŠน์ง•

    1. ์ค‘์•™ ์ง‘์ค‘ํ™”: ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค์—์„œ ์ถ”์ถœ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘์•™์—์„œ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ๊ณผ ์ •ํ™•์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    2. ๋ฐ์ดํ„ฐ ์ •์ œ: ๋ฐ์ดํ„ฐ๋ฅผ ์ •์ œํ•˜์—ฌ ์ผ๊ด€๋œ ๋ฐ์ดํ„ฐ ํ’ˆ์งˆ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    3. ์‹œ๊ฐ„์  ๋ถ„์„ (time-series analysis) : ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€ ํ˜„์žฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋™ํ–ฅ์„ ํŒŒ์•…ํ•˜๊ณ  ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ex) AWS RedShift, BigQuery