๐Ÿ” ๋ฐ์ดํ„ฐ ๋ถ„์„/Product

๋ฐ์ดํ„ฐ ๋กœ๊น… ๊ด€๋ จ ์ด๊ฒƒ์ €๊ฒƒ

xod22 2024. 8. 7. 08:19
728x90

ํ”„๋กœ๋•์—์„œ ๋กœ๊น…์„ ๋‚จ๊ธธ ๋•Œ, ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„ ์ด๋ชจ์ €๋ชจ๋ฅผ ๋‚จ๊ฒจ๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

ํšŒ์‚ฌ์— ๋“ค์–ด๊ฐ”์„ ๋•Œ, ์ด๋ฒคํŠธ ์ •์˜๋œ ๋ฌธ์„œ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋จผ์ € ํŒŒ์•…ํ•ด๋ณด๋ฉด ๋งŽ์€ ๋„์›€์ด๋  ๊ฒƒ ๊ฐ™๋‹ค! (ํšŒ์‚ฌ๋งˆ๋‹ค ๋ฐฉ๋ฒ•์ด ๋‹ค๋ฅด๋‹ˆ)

 

๐Ÿ’ก ์ง€ํ‘œ๋ฅผ ๋ฝ‘์„ ๋•Œ, ํ•ญ์ƒ ์ •ํ˜•ํ™”๋œ ๋ฐฉ์‹์œผ๋กœ๋งŒ ์ƒ๊ฐํ•˜์ง€๋ง๊ณ  ์‹ค์ œ๋กœ ์–ด๋–ค ์ด์œ ๋กœ ์ด ์ง€ํ‘œ๋ฅผ ํ™•์ธํ•˜๋ ค๊ณ  ํ•˜๋Š”์ง€๋ฅผ ์ƒ๊ฐํ•˜๊ณ ! ๊ณ ๋ฏผํ•˜๊ณ  ๋ฝ‘์„ ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค & ๊ฐ์ข… ํ•จ์ •๋“ค์— ๋Œ€ํ•ด ์ƒ๊ฐํ•˜๊ณ  ๊ณ ๋ฏผํ•˜๊ธฐ

 

[์ด๋ฒคํŠธ ๋กœ๊ทธ]

  • event type(์‚ฌ์šฉ์ž ํ–‰๋™ ์œ ํ˜•) - event action(์ด๋ฒคํŠธ ํƒ€์ž… ๋‚ด์—์„œ ๊ตฌ๋ถ„๋˜๋Š” ์‚ฌ์šฉ์ž ํ–‰๋™) : description
    • visit : ํŽ˜์ด์ง€ ๋ฐฉ๋ฌธ์‹œ์— ์ฐํžˆ๋Š” ๋กœ๊ทธ (page_id = ํ”„๋กœ๋ชจ์…˜ ํŽ˜์ด์ง€ / ํ™ˆํƒญ / ์ฐœํ•˜๊ธฐ..๋“ฑ๋“ฑ) 
    • select_product : ์ƒํ’ˆ์ƒ์„ธ๋ฅผ ํด๋ฆญํ–ˆ์„๋•Œ ๋กœ๊น… (์–ด๋–ค ์ƒํ’ˆ์„ ํด๋ฆญํ–ˆ๋Š”์ง€ pid์™€ ์–ด๋А ํŽ˜์ด์ง€๋กœ๋ถ€ํ„ฐ ํด๋ฆญ๋˜์–ด ๋“ค์–ด์™”๋Š”์ง€ ํ•จ๊ป˜ ๋กœ๊น… -> ์ง€๋ฉด๋ณ„ pdp pv๋ฅผ ๊ตฌํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค)
    • select : ๋ฒ„ํŠผ ์„ ํƒ ์‹œ ๋กœ๊น… (์–ด๋–ค ํŽ˜์ด์ง€์˜ ์–ด๋–ค ๋ฒ„ํŠผ - page_id / button_id๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. cta๋ฒ„ํŠผ ctr ๋“ฑ์„ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉ)
    • impression : ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ๋“ฑ์˜ ๋ฆฌ์ŠคํŠธ์—์„œ ์ƒํ’ˆ์ด ๋…ธ์ถœ๋  ๋•Œ. (pid์™€ ํ•จ๊ป˜ ๊ธฐ๋ก, ์–ด๋–ค ๊ด‘๊ณ  ์บ ํŽ˜์ธ์œผ๋กœ ๋…ธ์ถœ๋˜๋Š”์ง€๋„ ํ•จ๊ป˜ ๋กœ๊น…๋˜๋ฉด ์ข‹์Œ)
    • exposure : pid ๋…ธ์ถœ ์™ธ(impression)์˜ ์•ฑ ๋‚ด์˜ ์ปดํฌ๋„ŒํŠธ ๋…ธ์ถœ (ex. ํƒ‘๋ฐฐ๋„ˆ, ๋ฒ„ํŠผ)
    • launch : ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์„ ์—ด์—ˆ์„ ๋•Œ
    • search : ์–ด๋–ค ๊ฒ€์ƒ‰์–ด๋กœ ๊ฒ€์ƒ‰์„ ํ–ˆ๋Š”์ง€๊ฐ€ ๋กœ๊น… (search_term)
    • ์ฃผ์˜ํ•˜๋ฉด ์ข‹์„ ์ 
      • ๋กœ๊ทธ๋Š” ๋ฌด๊ฒ๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ๋‚ ์งœ ์กฐ๊ฑด ๊ฑธ์–ด์„œ ์‚ฌ์šฉํ•ด์ค„ ๊ฒƒ (WHERE์ ˆ์— ๊ธฐ์ˆ , ํ•„์š”์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜์ง€ ์•Š์•„ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค)
      • select *๋ณด๋‹ค๋Š” ์กฐํšŒํ•˜๋Š” ์ปฌ๋Ÿผ์„ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์ด ๋” ๋น ๋ฅด๋‹ค
      • UTC ๋‚ ์งœ๋ผ๋ฉด KST(ํ•œ๊ตญ ์‹œ๊ฐ„)๋กœ ๋ณ€๊ฒฝํ•ด์ค„ ๊ฒƒ

 


[๋กœ๊น… ๊ด€๋ จ ์ง€์‹]

+ ํ˜„์—…์—์„œ ๊ธฐํš์ „ ํŽ˜์ด์ง€ ์„ฑ๊ณผ ๋ถ„์„์„ ์œ„ํ•ด ์ถ”๊ฐ€ ๋กœ๊น… ์š”์ฒญ์„ ์ง„ํ–‰ํ–ˆ๋˜ ์ ์ด ์žˆ๋Š”๋ฐ

๋ฐ์ดํ„ฐ ๋กœ๊ทธ ์„ค๊ณ„์— ๋Œ€ํ•œ ๊ธฐ์ดˆ์ง€์‹์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋˜์–ด ์ถ”๊ฐ€๋กœ ๊ณต๋ถ€ํ•ด๋ณธ ๊ฒƒ๋“ค์„ ์ ์–ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

* ๋กœ๊น…์„ ํ•ด์•ผํ•˜๋Š” ์ด์œ ?

๋ฐ์ดํ„ฐ๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š์œผ๋ฉด ๋‚˜์ค‘์— ๋ณผ ์ˆ˜ ์—†์Œ + ์„ฑ๊ณผ ์ธก์ •์„ ์œ„ํ•ด

 

  • ๋ฐ์ดํ„ฐ์˜ source
    • ๋ฐ์ดํ„ฐ๊ฐ€ ์‹œ์ž‘๋˜๋Š” ๊ณณ, ๋ฐ์ดํ„ฐ์˜ ์ถœ์ฒ˜
    • ๊ตฌ์กฐ : ํด๋ผ์ด์–ธํŠธ(=์›น) <-> ์„œ๋ฒ„(=๋ฐฑ์—”๋“œ) <-> DB(=๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)
      • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— API๋ฅผ ํ˜ธ์ถœํ•˜๋Š” request(์š”์ฒญ)์™€ ์ „๋‹ฌํ•ด์ฃผ๋Š” response(์‘๋‹ต)๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.
      • ๋กœ์ง
        • ํ”„๋ก ํŠธ(ํด๋ผ์ด์–ธํŠธ) - ์š”์ฒญ > [๋ฐฑ์—”๋“œ(์„œ๋ฒ„) - ์š”์ฒญ >  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ]
          ํ”„๋ก ํŠธ < ์‘๋‹ต - [๋ฐฑ์—”๋“œ < ์‘๋‹ต - DB]
      • ์ƒ์„ธํ•˜๊ฒŒ ๋Œ์•„๊ฐ€๋Š”๊ฑด ์„œ๋ฒ„์—์„œ ์ž‘์—…ํ•˜๊ณ , ๊ทธ๊ฑธ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์œผ๋ฉด ํ”„๋ก ํŠธ๊ฐ€ ํ˜ธ์ถœ (์„œ๋ฒ„๊ฐ€ ๋งŒ๋“  api๋ฅผ ํ”„๋ก ํŠธ๊ฐ€ ํ˜ธ์ถœํ•˜๋ฉด ๋‹ค์‹œ db์— ์Œ“์ธ๋‹ค.
      • ๋งŒ์•ฝ ์„œ๋ฒ„์—์„œ ์„œ๋ฒ„ ์„ฑ๋Šฅ ํ–ฅ์ƒ ๊ด€๋ จํ•œ ๋…ผ์˜๋ฅผํ•œ๋‹ค๋ฉด, ์„œ๋ฒ„์— ๋กœ๊ทธ๋ฅผ ์‹ฌ์–ด์•ผํ•ด์„œ ์„œ๋ฒ„์™€ ํ˜‘์—…์ด ์ด๋ฃจ์–ด์ง€์ง€๋งŒ, ๋ถ„์„๊ฐ€๊ฐ€ ์œ ์ € ํ–‰๋™ ๋ถ„์„์„ ์œ„ํ•œ ๋กœ๊ทธ ์ˆ˜์ง‘์„ ํ•œ๋‹ค๊ณ ํ•˜๋ฉด, FE๋ž‘ ํ˜‘์—…ํ•  ์ผ์ด ๋งŽ์Œ
  • ๋ฐ์ดํ„ฐ target(์ €์žฅ์†Œ)
    • ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค(RDBMS) : ์„œ๋น„์Šค ์šด์˜ DB๋กœ ์„œ๋น„์Šค์˜ ์šด์˜์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋ฉฐ mysql, oracle, postgresql
    • ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค (DW) : DA๋“ค์ด ๋ถ„์„ํ•˜๊ธฐ ํŽธํ•˜๋ผ๊ณ  ๋งŒ๋“  DB, ๋”ฐ๋ผ์„œ ๋งค์šฐ ๋น ๋ฅด๊ณ  Redshift(aws), BigQuery(GCP), Databricks, Snowflake ๋“ฑ์ด ์žˆ๋‹ค.

์ค‘์š”ํ•œ ๊ฒƒ๋งŒ ์ ์–ด๋ดค๋‹ค.

 

์ค‘์š”ํ•œ๊ฑด ๋ถ„์„์„ ์œ„ํ•ด ์ถ”๊ฐ€ ๋กœ๊น…์„ ํ•  ๋•Œ, ๊ผญ ๋ณผ ์ง€ํ‘œ ์œ„์ฃผ๋กœ ๋กœ๊ทธ ์„ค๊ณ„๋ฅผ ํ•œ ํ›„์— ์‚ฌ์šฉ ๋ชฉ์ ์ด ๋ช…ํ™•ํ•  ๋•Œ๋งŒ ๋กœ๊ทธ ์„ค๊ณ„๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๊น…ํ•˜๋Š” ๊ฒƒ์€ ๋ฆฌ์†Œ์Šค ๋‚ญ๋น„ (์–ธ์  ๊ฐ€ ์‚ฌ์šฉ๋˜๊ฒ ์ง€ ๊ด€์ ์ด ๋˜์–ด์„  ์•ˆ๋œ๋‹ค!!!)

 

์ถœ์ฒ˜. ์นด์ผ์Šค์ฟจ

 


[DW์— ๋Œ€ํ•œ ์ด๊ฒƒ์ €๊ฒƒ]

 

  • ์Šคํ‚ค๋งˆ (Schema)
    • ์Šคํ‚ค๋งˆ๋Š” ๊ฐ ํ…Œ์ด๋ธ”์„ ์šฉ๋„์— ๋”ฐ๋ผ ๋ฌถ์–ด ๋†“์€ ๊ฒƒ์œผ๋กœ, ๋””๋ ‰ํ† ๋ฆฌ ๊ฐœ๋…
      • [๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ] ๋ˆ„๊ตฌ๋‚˜ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š”, ์ž‘์—… ๊ณต๊ฐ„์œผ๋กœ ์‚ฌ์šฉํ•œ ์Šคํ‚ค๋งˆ
      • [๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ] ์‚ฌ์šฉ์ž, ์ƒํ’ˆ ๋“ฑ ์„œ๋น„์Šค DB์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ด์ „์‹œํ‚จ ์Šคํ‚ค๋งˆ
        • ์„œ๋น„์Šค DB์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์Œ“์ด๊ณ  ์žˆ์ง€๋งŒ DW์— ์—†๋‹ค๋ฉด ์ด์ „ ์š”์ฒญ์„ ํ•ด์•ผํ•œ๋‹ค.
      • [๋‚ด๋ถ€ ์Šคํ‚ค๋งˆ] ๋ฐฐ์น˜์ž‘์—…์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋Š” ํ…Œ์ด๋ธ”
      • [์™ธ๋ถ€ ์Šคํ‚ค๋งˆ] ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ ์žˆ๋Š” ํ…Œ์ด๋ธ”
        • ์ƒˆ๋กญ๊ฒŒ ๋กœ๊น… ์ถ”๊ฐ€์ž‘์—…์„ ํ–ˆ์„ ๋•Œ, ํ•ด๋‹น ํ…Œ์ด๋ธ”์ด ์—†๋‹ค๋ฉด ์—ญ์‹œ DW ์ด์ „ ์š”์ฒญ์„ ํ•ด์•ผํ•œ๋‹ค.
        • ์™ธ๋ถ€ ํ…Œ์ด๋ธ”์—์„œ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์กฐํšŒํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” create table๋กœ ์ž„์‹œ ํ…Œ์ด๋ธ”๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธด ํ›„์— ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ด๋‹ค (๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ)
        • ์†๋„๋ฅผ ๋น ๋ฅด๊ฒŒ ํšจ์œจ์ ์œผ๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์„์ง€ ๋ฌธ์„œ ์ฐพ์•„๋ณด๊ธฐ ๐Ÿค”
          • ์—†๋‹ค๋ฉด ๋‚ด๊ฐ€ ์ฐพ์•„๋ณด๋Š” ๋ฐฉ๋ฒ•๋„? (์ˆ˜ํ–‰์‹œ๊ฐ„ ๊ธฐ์ค€)
      • ์™ธ๋ถ€ ์Šคํ‚ค๋งˆ๋Š” ์™ธ๋ถ€์— ์ €์žฅ์†Œ๋ฅผ ๋ณ„๋„๋กœ ๋‘” ํ…Œ์ด๋ธ”์ด๋‹ค. ๋กœ๊ทธ ๋ฐ์ดํ„ฐ์™€ ๊ฐ™์ด ๊ทœ๋ชจ๊ฐ€ ํฐ ๋ฐ์ดํ„ฐ๋Š” ์™ธ๋ถ€ ์ €์žฅ์†Œ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด๋“ค์ด๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค. ์•„๋งˆ๋„ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ๋น„์šฉ ๋ฐœ์ƒ

 

*์ฐธ๊ณ ๋ฌธ์„œ

 

ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ์ด๋ฒคํŠธ ๋กœ๊น… ์„ค๊ณ„์™€ ์ƒ์‚ฐ์„ฑ ๊ทน๋Œ€ํ™” (React, Typescript)

์ด๋ฒคํŠธ ๋กœ๊น… ๊ฐœ์„ ์— ๋Œ€ํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๋„ค ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. 1. ์ƒ์‚ฐ์ ์ธ ๋ฐ์ดํ„ฐ ์ด๋ฒคํŠธ ์ปจ๋ฒค์…˜ ์„ค๊ณ„ํ•˜๊ธฐ 2. ์ด๋ฒคํŠธ ๋ช…์„ธ๋ฅผ ์ฝ”๋“œ๋กœ Generate ํ•˜๊ธฐ 3. ์ปดํฌ๋„ŒํŠธ์™€ ์ด๋ฒคํŠธ ๋กœ๊น…์˜ ์˜์กด์„ฑ ๋ถ„๋ฆฌํ•˜๊ธฐ (React) 4. ์ •

velog.io

 

728x90