Study/Denodo

Denodo ์‹ค์Šต - 1. Base View ์ƒ์„ฑ ๋ฐ ์กฐํšŒ

๋ณ˜์ฐŒ 2026. 9. 21. 20:59

๐Ÿ’ก [Denodo ์‹ค์Šต 1] Base View ์ƒ์„ฑ ๋ฐ ์กฐํšŒํ•ด๋ณด๊ธฐ

  • ์ด๋ฒˆ์—๋Š” ๊ฐ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  CSV Data Source ์—ฐ๊ฒฐ ํ›„, Base View ์ƒ์„ฑ๊นŒ์ง€ ์—ฐ์Šตํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

1๏ธโƒฃ ์—ฐ์Šต์šฉ ๊ฐ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ

  • ๋จผ์ € ์‹ค์Šต์—์„œ ์‚ฌ์šฉํ•  ๊ฐ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผํ•œ๋‹ค.
    1. Virtual DataPort Administration Tool์˜ ์œ„์ชฝ ๋ฉ”๋‰ด์—์„œ Administration → Database Management ์„ ํƒ
    2. New ํด๋ฆญ →  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„์„ tutorial๋กœ ์ž…๋ ฅํ•˜๊ณ  OK ํด๋ฆญ

    3.  tutorial ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ ์™„๋ฃŒ!
      : ์—ฌ๊ธฐ์„œ ์ƒ์„ฑํ•œ tutorial์€ PostgreSQL์ด๋‚˜ Oracle์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์ €์žฅํ•˜๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์•„๋‹ˆ๋ผ, Data Source, Base View, Derived View ๋“ฑ์˜ ๊ฐ์ฒด๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋…ผ๋ฆฌ์ ์ธ ์ž‘์—… ๊ณต๊ฐ„โ€‹์ด๋‹ค.

2๏ธโƒฃ  tutorial ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ ‘์†

  • ํ˜„์žฌ๋Š” admin์ด๋ผ๋Š” ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, Disconnect ํ›„ tutorial ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋‹ค์‹œ ์ ‘์†ํ•ด์•ผ ํ•œ๋‹ค.
    1.  ์™ผ์ชฝ ๋ฉ”๋‰ด์—์„œ File → Disconnect ํด๋ฆญ

    2.  ๋กœ๊ทธ์ธ ํ™”๋ฉด์—์„œ tutorial ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๋ณด ์ž…๋ ฅ ํ›„ ์ ‘์†
      • USER: admin
      • PASSWORD: ๊ธฐ์กด ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ทธ๋Œ€๋กœ
      • VIRTUAL DATAPORT SERVER: //localhost:9999/tutorial ์ž…๋ ฅํ•˜๊ณ  ์—ฐ๊ฒฐ
    3.  tutorial ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์† ์™„๋ฃŒ!

3๏ธโƒฃ  ์—ฐ์Šต์šฉ CSV ํŒŒ์ผ ์ƒ์„ฑ

  • Windows์—์„œ C:\denodo-practice ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ , ๋ฉ”๋ชจ์žฅ์„ ์—ด์–ด์„œ ์•„๋ž˜ ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜๊ณ  csv ํŒŒ์ผ๋กœ ์ €์žฅ
customer_id,customer_name,grade
1,Eunji,VIP
2,Mina,NORMAL
3,Jisoo,VIP

 

4๏ธโƒฃ  CSV ํŒŒ์ผ์„ Data Source๋กœ ์—ฐ๊ฒฐ

  1. ๋‹ค์‹œ Virtual DataPort Administration Tool์—์„œ File → New  →  Data source  → Delimited File ํด๋ฆญ
  2.  ์„ค์ • ํ™”๋ฉด์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •๋ณด ์ž…๋ ฅ
    • Name: customers_cs  (Denodo์—์„œ ์‚ฌ์šฉํ•  Data Source ์ด๋ฆ„)
    • Column delimiter: ์‰ผํ‘œ (๊ฐ ์ปฌ๋Ÿผ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฌธ์ž)
    • Header: ์ฒดํฌ โœ… (CSV์˜ ์ฒซ ๋ฒˆ์งธ ํ–‰์„ ์ปฌ๋Ÿผ๋ช…์œผ๋กœ ์‚ฌ์šฉ)
    • End of line delimiter: \n (๊ฐ ํ–‰์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฌธ์ž)
  3. Data route์—์„œ Local ์„ ํƒ → Configure ํด๋ฆญ
    - File path์— ์•ž์—์„œ ์ƒ์„ฑํ•œ CSV ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๊ณ  ok → save ํด๋ฆญ

  4. ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— Create base View ๋ฅผ ํด๋ฆญํ•˜๋ฉด, customers_csv ๋ผ๋Š” Data Source๋ฅผ ์ด์šฉํ•œ Base View๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

  5. ์ƒ์„ฑ๋œ Base View์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•œ๋‹ค.
    • View name์„ bv_customers๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค. (bv๋Š” Base View๋ผ๋Š” ๊ฑธ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ์ด๋ฆ„)
    • customer_id์˜ Field Type์„ text์—์„œ int๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.
    • customer_id ํ–‰ ์™ผ์ชฝ์˜ ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•˜๊ณ ,  Set selected as PK ํด๋ฆญ (PK๋กœ ์ง€์ •)
      • ๐Ÿ“Œ PK ์„ค์ • ์‹œ  ์ฃผ์˜ํ•  ์ 
        • Set selected as PK๋Š” CSV ํŒŒ์ผ์— ์‹ค์ œ ๊ธฐ๋ณธํ‚ค ์ œ์•ฝ์กฐ๊ฑด์„ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์•„๋‹ˆ๊ณ  Denodo์— customer_id๊ฐ€ ๊ฐ ํ–‰์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ณ ์œ ํ•œ ๊ฐ’์ด๋ผ๋Š” ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์„ค์ •์ด๋‹ค.
        • Denodo๋Š” ์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ธ์ด๋‚˜ ์ฟผ๋ฆฌ ์ตœ์ ํ™”์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, CSV์— ์ค‘๋ณต ๊ฐ’์ด ๋“ค์–ด์˜ค๋Š” ๊ฒƒ์„ ์ง์ ‘ ์ฐจ๋‹จํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.
    • ์œ„์ชฝ์˜ ๋””์Šค์ผ“ ๋ชจ์–‘ Save ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.

  6. Base View ์„ค์ • ์™„๋ฃŒ!

5๏ธโƒฃ  Base View ๋ฐ์ดํ„ฐ ์กฐํšŒ

  • ์œ„์ชฝ ์ฟผ๋ฆฌ ๋ฒ„ํŠผ ํด๋ฆญ ํ›„, ์•„๋ž˜ Query ์ฐฝ์—์„œ execute๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์กฐํšŒ๋œ๋‹ค.
    - Denodo ์•ˆ์— ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜์ง€๋งŒ, Base View๋ฅผ ํ†ตํ•ด ์›๋ณธ CSV์˜ ๋‚ด์šฉ์„ ํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

6๏ธโƒฃ  ์›๋ณธ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ํ™•์ธํ•ด๋ณด๊ธฐ

  • Denodo๊ฐ€ ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด CSV ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•ด๋ณด์ž.
    1. customers.csv๋ฅผ ๋ฉ”๋ชจ์žฅ์œผ๋กœ ๋‹ค์‹œ ์—ฐ๋‹ค.
    2. Mina,NORMAL์„ Mina,VIP๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.
    3. CSV ํŒŒ์ผ์„ ์ €์žฅํ•œ๋‹ค.
    4. Denodo์—์„œ Query๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•œ๋‹ค.
  • Base View๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ ์กฐํšŒ ๊ฒฐ๊ณผ์—์„œ Mina์˜ ๋“ฑ๊ธ‰์ด VIP๋กœ ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 
  • ์ด๋Š” Denodo๊ฐ€ CSV ๋ฐ์ดํ„ฐ๋ฅผ Base View ์•ˆ์— ๋ณต์‚ฌํ•˜์—ฌ ๋ณด๊ด€ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์—ฐ๊ฒฐ๋œ ์›๋ณธ ํŒŒ์ผ์„ ์ฝ์–ด์˜ค๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๐Ÿ’ก ์‹ค์Šต ๊ฒฐ๊ณผ ์ •๋ฆฌ

  • ์ด๋ฒˆ ์‹ค์Šต์—์„œ ์ƒ์„ฑํ•œ ๊ฐ์ฒด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    ๊ตฌ๋ถ„ ์ด๋ฆ„ ์—ญํ• 
    ๊ฐ€์ƒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค tutorial ์‹ค์Šต ๊ฐ์ฒด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋…ผ๋ฆฌ์  ์ž‘์—… ๊ณต๊ฐ„
    Data Source customers_csv ์›๋ณธ CSV ํŒŒ์ผ์˜ ์œ„์น˜์™€ ์ฝ๊ธฐ ๋ฐฉ๋ฒ• ๊ด€๋ฆฌ
    Base View bv_customers CSV ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ์กฐํšŒ
  • ์ด๋ ‡๊ฒŒ Denodo์˜ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ ์—ฐ๊ฒฐ ๊ตฌ์กฐ์™€, Base View๊ฐ€ ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ƒ์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฉ์‹๊นŒ์ง€ ํ™•์ธํ–ˆ๋‹ค.
  • ๋‹ค์Œ ์‹ค์Šต์—์„œ๋Š” orders.csv๋ฅผ ์ถ”๊ฐ€๋กœ ์—ฐ๊ฒฐํ•˜๊ณ , bv_customers์™€ bv_orders๋ฅผ customer_id ๊ธฐ์ค€์œผ๋กœ ์กฐ์ธํ•˜์—ฌ Derived View๋ฅผ ๋งŒ๋“ค์–ด๋ณผ ์˜ˆ์ •์ด๋‹ค.