ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • QuadCore Team Project
    it's me/๐Ÿ‘ฉ‍๐Ÿ’ป ํ”„๋กœ์ ํŠธ ์ •๋ฆฌ 2020. 2. 1. 01:39

     

    ์šฐ๋ฆฌ์˜ ํ”„๋กœ์ ํŠธ ๋ฐ ๊ทธ ์ค‘ ๋‚ด๊ฐ€ ๋งก๊ฒŒ ๋œ ๋ถ€๋ถ„๋“ค ... ์ด์ œ์„œ์•ผ ๋ธ”๋กœ๊ทธ์— ์˜ฌ๋ฆฐ๋‹ค.

    ํ•ญ์ƒ ๋…ธ์…˜์—๋งŒ ์ •๋ฆฌํ•ด๋†“๊ณ  ๋ธ”๋กœ๊ทธ์— ํ•œ๊บผ๋ฒˆ์— ์˜ฌ๋ฆฌ๋ ค๋‹ˆ ์‰ฝ์ง€ ์•Š๋‹ค

     

     

    ์šฐ๋ฆฌ ํŒ€  MSA ์•„ํ‚คํ…์ฒ˜

     

    ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์˜ ์•„ํ‚คํ…์ฒ˜ (์„ธ๋ถ€์ ์ธ ๊ฒƒ๋“ค์€ ๋‚˜์ค‘์— ์ˆ˜์ •๋ ์ง€๋„..)

     

    ์ด ์ค‘์—์„œ ๋‚˜๋Š” ํŠธ๋ Œ๋“œ ๋ถ€๋ถ„์„ ๋งก์•„์„œ ์ง„ํ–‰ํ•œ๋‹ค.

     

    โญ๏ธ ์ •๋ฆฌ ๋ชฉ์ฐจ

     

    What ? ์–ด๋–ค ๊ฒƒ ํ•˜๊ณ  ์‹ถ์–ด / ์–ด๋–ค ๊ฒƒ ๋งŒ๋“ค๊บผ์•ผ?

    • ๋ชฉํ‘œ ์ •์˜
    • ๊ธฐ๋Šฅ ์ •์˜

     

    Why ? ์™œ ํ•˜๋ ค๊ณ  ํ•˜๋Š”๋ฐ ?

    • ํ•˜๊ณ  ์‹ถ์€ ์ด์œ 
    • ๊ทธ๊ฒƒ์„ ํ†ตํ•ด ๋‚ด๊ฐ€ ์–ป๊ณ ์ž ํ•˜๋Š” ๊ฒƒ

     

    How ? ์–ด๋–ป๊ฒŒ ํ• ๊ป€๋ฐ?

    • ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„
    • ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋Šฅ ๋ช…์„ธ
    • ์‚ฌ์šฉ ํˆด / ์–ธ์–ด

     

    Milestone 1.2.3

     

     

    What

    ๋ชฉํ‘œ :

    ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋งŽ์€ ์–‘์˜ Raw Data ์ค‘ ์˜๋ฏธ์žˆ๋Š” Data ๋“ค์„ ์‹ ์†ํ•˜๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๊ณ  ์‹ถ๋‹ค !

     

    ๊ธฐ๋Šฅ : ํ•œ๋งˆ๋””๋กœ ์ •์˜ํ•˜์ž๋ฉด ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๊ฐ€๊ณต + ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ

    Twitter API ํ™œ์šฉํ•œ ์‹œ๊ฐ„๋Œ€๋ณ„ ( ์ผ ๋‹จ์œ„, ์‹œ๊ฐ„ ๋‹จ์œ„, ๋ถ„ ๋‹จ์œ„, ์‹ค..์‹œ๊ฐ„..? ) ํŠธ์œ— ๋ถ„์„ → ์‹œ๊ฐํ™”

     

    ์บ ํ”„๋ฅผ ํ†ตํ•ด ๊นŠ๊ฒŒ ๊ณ ๋ฏผ ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ€๋ถ„ : ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๋งŽ์•„์ ธ๋„ ์†๋„์™€ ์ •ํ™•์„ฑ์ด ๋ณด์žฅ๋ ๊นŒ?

     

    Why

    ์ด์œ  :

    ์ด์œ ๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ,, ๋‚ด ๊ด€์‹ฌ์ด ์ž๊พธ ๊ทธ์ชฝ์œผ๋กœ ๊ฐ„๋‹ค..

    ๋Œ์ด์ผœ๋ณด๋ฉด ํ•ญ์ƒ ์ž์†Œ์„œ์— ๋‚ด๊ฐ€ ํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ๋“ค์„ ์ผ์„ ๋•Œ๋„ ๊ทธ๋ ‡๊ณ  ์•ž์œผ๋กœ์˜ ๋‚ด๊ฐ€ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐœ๋ฐœ๋„ ์‚ฌ์šฉ์ž์—๊ฒŒ ํŽธ์˜๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ฐœ์ด๋‹ค. ( ๋‹น์—ฐํ•œ ๊ฑด๊ฐ€...? ์–ด์จ‹๋“  )

    ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ํŽธ์˜๋ž€ ๊ธฐํš์ ์œผ๋กœ ์ฐธ์‹ ํ•œ ๊ฒƒ๋“ค์„ ๊ตฌํ˜„ํ•ด์„œ ํŽธ์˜๋ฅผ ์ค€๋‹ค๊ธฐ ๋ณด๋‹ค๋Š” ๊ธฐ์ˆ ์ ์œผ๋กœ ์ ‘๊ทผํ•ด์„œ low latency, consistency ๋ณด์žฅ ๋“ฑ๋“ฑ ์„ ๋งํ•œ๋‹ค. ( ํ˜„์žฌ๋กœ์ฌ ๊ทธ๋ ‡๋‹ค )

    • raw data → ์˜๋ฏธ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋กœ ๊ฐ€๊ณต
    • ๋น ๋ฅด๊ฒŒ ์ž˜ ์ „๋‹ฌ

    ์ด ์•ˆ์— ์‚ฌ์šฉ์ž ํŽธ์˜๋ฅผ ์œ„ํ•œ ๊ฐœ๋ฐœ ๋ชจ๋“  ๊ฒƒ์ด ํ•จ์ถ•์ ์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

     

    ์–ป๊ณ ์ž ํ•˜๋Š” ๊ฒƒ :

    ๋”ฐ๋ผ์„œ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด

    • kafka ๋ฅผ ํ†ตํ•œ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
    • ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ์ฒ˜๋ฆฌ ํ”Œ๋žซํผ ํ™œ์šฉ
    • ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ์‹œ๊ฐํ™”
    • ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ํšจ์œจ์  db ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ๋ฐ api ์„ค๊ณ„

     

    ์ด ๋ชจ๋“  ๊ฑธ ํ•œ๋‹ค๋ฉด ์•„์ฃผ ๋Œ€๋ฐ•์ .

     

    How

    ๋ฐ์ดํ„ฐ ํ๋ฆ„ : ์œ„ ์•„ํ‚คํ…์ฒ˜์—์„œ Trend API Server ๋กœ ์ด์–ด์ง€๋Š” ๋ชจ๋“  ๋ถ€๋ถ„

     

    ๋‚˜์˜ ๊ธฐ๋Šฅ ํฌ๊ฒŒ ๋‘๊ฐ€์ง€.

     

    1. ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต ๋ฐ ๋ถ„์„ ( Raw Data ์ค‘ ์˜๋ฏธ์žˆ๋Š” Data ์ถ”์ถœํ•˜๊ธฐ )
      • ๋ถ„์„์˜ ๊นŠ์ด ? ๋ฒ”์œ„ ? ์ž˜ ์กฐ์ ˆํ•˜๊ธฐ !! ์ž์นซํ•˜๋ฉด ๋จธ์‹ ๋Ÿฌ๋‹์œผ๋กœ ์ด์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์—
      • ๊ตฌ์ฒด์ ์œผ๋กœ ์–ด๋–ค ๋ถ„์„์„ ์–ด๋–ป๊ฒŒ ํ• ๊ป€๋ฐ?
      • ๊ทธ๋ž˜์„œ ๊ณ ๋ฏผํ•œ ๋ถ€๋ถ„ ↓
      • ์šฐ๋ฆฌ์˜ data pool ์ธ 'BTS' ๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ์žฌ๋ฏธ์žˆ๋Š” ๋ถ„์„ ?
        • word count ๋ฅผ ํ†ตํ•œ ์‹œ๊ฐ„๋Œ€๋ณ„ ์œ ์ € ํŠธ์œ— ํŠธ๋ Œ๋“œ ๋ถ„์„ / ํ•ด์‹œํƒœ๊ทธ ๋ถ„์„
        • ๋ฉค๋ฒ„๋ณ„ ํŠธ์œ—  → ์—ฐ๊ด€ ํ‚ค์›Œ๋“œ ์ถ”์ถœ
        • ์‹œ๊ฐ„๋Œ€๋ณ„ ํŠธ์œ— ๋žญํ‚น → ์ข‹์•„์š” / ๋ฆฌํŠธ์œ— ์ˆ˜ ( ์ธ๊ธฐ๊ธ€ ๋ณด์—ฌ์ฃผ๊ธฐ )

     

    1.  ์—ฌ๊ธฐ์„œ ํ•ต์‹ฌ ! ์‹œ๊ฐ„๋Œ€๋ณ„...์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ ํ•  ๊ฒƒ์ธ๊ฐ€ ?
      • ์ผ์ • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์œผ๋กœ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ถ„์„
      • ์‚ฌ์šฉ์ž ์ง€์ • ๋‚ ์งœ ๋‹จ์œ„ or ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ๋ถ„์„
      • ( ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ณ„์† ๋“ค์–ด์˜ค๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ๋‚ ์งœ๋‚˜ ์‹œ๊ฐ„์˜ ์‹œ์ž‘, ๋์ด ์ •ํ•ด์ง€์ง€ ์•Š๋Š” ์ด์ƒ ์ตœ๋Œ€ํ•œ ์š”์ฒญํ•  ๋•Œ์˜ ์‹œ๊ฐ„๊ณผ ๊ฐ€๊น๊ฒŒ ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๊นŒ์ง€ (๋์ง€์ ) ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณด๋‚ด์ฃผ์–ด์•ผ ํ• ๋“ฏ.. )
      • ๊ธฐํƒ€
    1. ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ํšจ์œจ์  db ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„ ๋ฐ api ์„ค๊ณ„ ( ์‹ ์†ํ•˜๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ )
      • ๊ฐ€๊ณตํ•œ ๋ฐ์ดํ„ฐ๋ฅผ db์— ๋ถ„์‚ฐ ์ €์žฅ
      • ๊ฐ€๊ณต๋œ ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์— ๋งž๋Š” db ์„ ํƒ ๋ฐ ์ €์žฅ ๋ฐฉ๋ฒ• ์„ค๊ณ„
      • ๋งŽ์€ ์š”์ฒญ์ด ๋“ค์–ด์™€๋„ ๋ฐ”๋กœ๋ฐ”๋กœ ์ž˜ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก api ์„ค๊ณ„

     

    Milestone

     

    1. word count ํ™œ์šฉํ•œ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ์ €์žฅ / ์‹œ๊ฐ„๋Œ€๋ณ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ / ๋ฐ์ดํ„ฐ ๋„˜๊ฒจ์ค„ api ์„ค๊ณ„
    2. ์ธ๊ธฐ ๋žญํ‚น ๋“ฑ ๋˜ ๋‹ค๋ฅธ ๋ถ„์„ ์ง„ํ–‰ํ•ด๋ณด๊ธฐ / ์š”์ฒญ ์ˆ˜์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ ๊ฐœ์„ 
    3. kafka ๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘

    ๊ณ ๋ฏผํ•ด ๋ด์•ผ ํ•  ๋ฌธ์ œ๋“ค

    • spark ๋กœ ๋ถ„์„๋œ ๊ฒฐ๊ณผ ๋ณด๋‚ด๋Š” ๋ฐฉ์‹ ( db ์ €์žฅ ํ›„ ๋ณด๋ƒ„ / ์š”์ฒญ ์‹œ ๋ฐ”๋กœ ์ฒ˜๋ฆฌ )
      • db ์ €์žฅ ํ•  ๊ฒฝ์šฐ ๋งŽ์€ ์š”์ฒญ ๋ฐ ์ €์žฅ์— ๋”ฐ๋ฅธ ๊ณผ๋ถ€ํ•˜ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ธ์ง€?

     

    • ๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ฐฑ์‹ ํ•˜๋Š” ์ฃผ๊ธฐ ์„ค์ •
      • ์ผ์ • ์‹œ๊ฐ„ ์„ค์ • ํ›„ ๋งค ์‹œ๊ฐ„๋ณ„๋กœ ๋ฐ์ดํ„ฐ ๋„˜๊ฒจ์ฃผ๊ธฐ ex) 1์‹œ๊ฐ„๋งˆ๋‹ค
      •  ์š”์ฒญ ์‹œ (ex) ์ƒˆ๋กœ๊ณ ์นจ) ๋ฐ”๋กœ ์ฒ˜๋ฆฌ
      • ์‚ฌ์šฉ์ž ์ง€์ • ๋‚ ์งœ ๋ณ„ ๋ณด์—ฌ์ฃผ๊ธฐ

     

     

    ๋Œ“๊ธ€

Designed by Tistory.