BizSpring.ai

์ง€์‹์„ผํ„ฐ / ๋ ˆํผ๋Ÿฐ์Šค

๐Ÿ“‹ DMP ์ž ์žฌ๊ณ ๊ฐ์ˆ˜ API โ€” BQ ํ๋ธŒ ์ถ”๊ฐ€ ์ ์žฌ DevLog

# ๐Ÿ“‹ DMP ์ž ์žฌ๊ณ ๊ฐ์ˆ˜ API โ€” BQ ํ๋ธŒ ์ถ”๊ฐ€ ์ ์žฌ DevLog > ์ตœ์ข… ์—…๋ฐ์ดํŠธ: 2026-02-23 KST > ๊ด€๋ จ ์ฑ„ํŒ…: ํ˜„์žฌ ์„ธ์…˜ --- ## ๋ฐฐ๊ฒฝ ๋Ÿฐ์ปด ์‹ค์‹œ๊ฐ„ ํƒ€๊ฒŸํŒ… ๊ธฐํš์„œ v1.3์˜ ์„ธ๊ทธ๋จผํŠธ ํ•ญ๋ชฉ์„ ์šฐ๋ฆฌ API๋กœ ์„œ๋น„์Šคํ•˜๊ธฐ ์œ„ํ•ด, BQ ์›๋ณธ(tb_tam_f1)์—

ํ•ต์‹ฌ ์š”์•ฝ

    # ๐Ÿ“‹ DMP ์ž ์žฌ๊ณ ๊ฐ์ˆ˜ API โ€” BQ ํ๋ธŒ ์ถ”๊ฐ€ ์ ์žฌ DevLog

    > ์ตœ์ข… ์—…๋ฐ์ดํŠธ: 2026-02-23 KST

    > ๊ด€๋ จ ์ฑ„ํŒ…: ํ˜„์žฌ ์„ธ์…˜

    ---

    ๋ฐฐ๊ฒฝ

    ๋Ÿฐ์ปด ์‹ค์‹œ๊ฐ„ ํƒ€๊ฒŸํŒ… ๊ธฐํš์„œ v1.3์˜ ์„ธ๊ทธ๋จผํŠธ ํ•ญ๋ชฉ์„ ์šฐ๋ฆฌ API๋กœ ์„œ๋น„์Šคํ•˜๊ธฐ ์œ„ํ•ด, BQ ์›๋ณธ(tb_tam_f1)์—์„œ ๋ฏธ๋ณด์œ  ์ฐจ์›์„ ํ๋ธŒ ์ง‘๊ณ„ํ•˜์—ฌ Supabase์— ์ ์žฌ.

    ๊ตฌ์กฐ: ๋Ÿฐ์ปด ์• ๋“œ์„œ๋ฒ„ โ†’ ์šฐ๋ฆฌ API(Edge Function) โ†’ Supabase DB (์šฐ๋ฆฌ๊ฐ€ API ์ œ๊ณต์ž)

    ์ˆ˜ํ–‰ ๋‚ด์šฉ

    BQ ํ๋ธŒ 5๊ฐœ ์ง‘๊ณ„ + Supabase ์ ์žฌ ์™„๋ฃŒ

    #ํ๋ธŒBQ ํ…Œ์ด๋ธ”Supabase ํ…Œ์ด๋ธ”ํ–‰ ์ˆ˜์ปค๋ฒ„ ํ•ญ๋ชฉ
    1์ง€์—ญ ์ƒ์„ธcube_region_detailde_dmp_cube_region_detail336,843์‹œ๊ตฐ๊ตฌ, ์๋ฉด๋™
    2๋””๋ฐ”์ด์Šคcube_devicede_dmp_cube_device396ํ†ต์‹ ์‚ฌ, ๋ชจ๋ฐ”์ผ๋ธŒ๋žœ๋“œ
    3์นด๋“œ ์—…์ข…cube_card_categoryde_dmp_cube_card_category27,346์นด๋“œ ์Šน์ธ ์—…์ข… (KB์ „์šฉ)
    4๊ธˆ์•ก ๊ตฌ๊ฐ„cube_amount_bucketde_dmp_cube_amount_bucket13,561์Šน์ธ ๊ธˆ์•ก ๊ตฌ๊ฐ„
    5๊ตํ†ตcube_transitde_dmp_cube_transit24,773์ง€ํ•˜์ฒ ์—ญ, ์Šนํ•˜์ฐจ (๋ฒ„์Šค ์ œ์™ธ)

    FDW Foreign Table ์ถ”๊ฐ€ (5๊ฐœ)

    bigquery.cube_region_detail
    bigquery.cube_device
    bigquery.cube_card_category
    bigquery.cube_amount_bucket
    bigquery.cube_transit

    ์ฃผ์š” ๋ฐœ๊ฒฌ์‚ฌํ•ญ

    BQ ๋น„์šฉ

    ํ๋ธŒ 5๊ฐœ ์ง‘๊ณ„ ์‹คํ–‰: ์ถ”์ • ~$3~4

    ๊ธฐํš์„œ ์ปค๋ฒ„๋ฆฌ์ง€ ์ตœ์ข…

    ๊ธฐํš์„œ '๊ฐ€๋Šฅ' ํ•ญ๋ชฉ 15๊ฐœ ์ค‘ 13๊ฐœ ์ปค๋ฒ„ (87%)
    ๋ณด๋ฅ˜ 2๊ฐœ: ๋ชจ๋ฐ”์ผ ๋ธŒ๋žœ๋“œ(๊ธฐํš์„œ๋„ ๋ณด๋ฅ˜), ์Šน์ธ ํšŸ์ˆ˜(๊ธฐํš์„œ๋„ ๋ณด๋ฅ˜)

    ์‚ฐ์ถœ๋ฌผ

    ๋‹ค์Œ ์ž‘์—…: Phase 2 โ€” API ๊ตฌํ˜„

    ์•„๋ž˜ ์ˆœ์„œ๋กœ ์ง„ํ–‰ ์˜ˆ์ •:

    1. seg ํ‚ค ๋งคํ•‘ ํ…Œ์ด๋ธ” ์ƒ์„ฑ (de_dmp_segment_mapping)
    2. RPC ํ•จ์ˆ˜ ๊ตฌํ˜„ (get_segment_preview โ€” ๋‹ค์ฐจ์› ํ•„ํ„ฐ + ๊ต์ฐจ ์ถ”์ •)
    3. ๊ฐ’ ๋ณ€ํ™˜ ํ—ฌํผ ํ•จ์ˆ˜ (์—ฐ๋ น/์š”์ผ/์ง€์—ญ ๋งคํ•‘)
    4. Edge Function ๋ฐฐํฌ (segment-preview โ€” form-urlencoded ํŒŒ์‹ฑ)
    5. ๋Ÿฐ์ปด ์—ฐ๋™ ํ…Œ์ŠคํŠธ

    ์˜์‚ฌ๊ฒฐ์ • ํ•„์š” (์ฐฐ์Šค ํ™•์ธ)

    1. seg ํ‚ค ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ ์ ‘๊ทผ ๊ถŒํ•œ (๋Ÿฐ์ปด์— ์š”์ฒญ)
    2. ๋Ÿฐ์ปด โ†’ ์šฐ๋ฆฌ API ์ธ์ฆ ๋ฐฉ์‹ (API Key? IP ์ œํ•œ?)
    3. ์‘๋‹ต ์‹œ๊ฐ„ ์š”๊ตฌ์‚ฌํ•ญ (์‹ค์‹œ๊ฐ„ ํƒ€๊ฒŸํŒ…์ด๋ฉด <1์ดˆ ํ•„์š”)

    ๋‹ค๋ฅธ ํ‘œํ˜„: Markdown ยท JSON ยท ์ตœ์ข… ๊ฐฑ์‹  2026-08-24