Part4. +a

claireยท2022๋…„ 4์›” 20์ผ
0

WEB

๋ชฉ๋ก ๋ณด๊ธฐ
3/3

๐Ÿ“Œ ์ด ๊ธ€์„ ์™œ ์“ฐ๋Š”๊ฐ€
์„œ๋ฒ„์™€ ๋„คํŠธ์›Œํฌ. ์›น์˜ ๋™์ž‘์›๋ฆฌ๋ฅผ ์•Œ๊ณ  ๋‚˜๋‹ˆ ๊ถ๊ธˆํ•œ ๊ฒŒ ํ•˜๋‚˜๋‘˜์”ฉ ๋” ์ƒ๊ฒจ๋‚ฌ๋‹ค. ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•ด ๋Œ€์‘ํ•˜๋ ค๋ฉด ๋ถ„์‚ฐ ์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€, DB๋Š” ์–ด๋–ป๊ฒŒ ์—ฎ์–ด์•ผ ํ•˜๋Š”์ง€, ๊ฒ€์ƒ‰ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๊ฐœ๋ฐœ์€ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€, ๋Œ€๊ทœ๋ชจ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์€ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š”์ง€ ์ฃผ๋กœ ๋ณด๋ฉด DB์™€ ์„œ๋ฒ„์— ๊ด€ํ•œ ๊ถ๊ธˆ์ฆ์ด ์ฃผ์ธ ๊ฑธ ๋ด์„œ ๋ฐ์ดํ„ฐ ๋ถ„์•ผ์™€ ๋™์‹œ์— ๋ฐฑ์—”๋“œ๋ฅผ ํ•˜๋”๋ผ๋„ ์ด์ชฝ ๋ถ„์•ผ์— ์ „๋…ํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ์•ฝ๊ฐ„ ๋’ค์ฃฝ๋ฐ•์ฃฝ ์„ž์ธ ์ฑ„๋กœ ์ •๋ฆฌํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ ์ด์ œ ์ง„์งœ ์ œ๋Œ€๋กœ ํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ๋“ค์ด ์ •ํ•ด์ง„ ๋Š๋‚Œ์ด๋‹ค ๐Ÿ™‚

1. ๋Œ€์šฉ๋Ÿ‰ ๋ถ„์‚ฐ ์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„

๐Ÿšฉ ์›น ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋Œ€๊ทœ๋ชจ ์„œ๋น„์Šค๋ฅผ ์ง€ํƒฑํ•˜๋Š” ๊ธฐ์ˆ  - ์ดํ†  ๋‚˜์˜ค์•ผ, ๋‹ค๋‚˜์นด ์‹ ์ง€ ๊ณต์ €

  1. ๋Œ€๋Ÿ‰์˜ ์•ก์„ธ์Šค๊ฐ€ ์žˆ๋Š” ์„œ๋น„์Šค์—์„œ๋Š” ์„œ๋ฒ„ 1๋Œ€๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ๋ถ€ํ•˜๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ธ์ง€๊ฐ€ ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋‹ค. ์ตœ๊ทผ 10๋…„ ๋™์•ˆ์˜ ํŠธ๋ Œ๋“œ๋กœ๋Š” ์ด๋ฅธ๋ฐ” '์Šค์ผ€์ผ์•„์›ƒ'์ด ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ „๋žต์˜ ๊ธฐ์ดˆ๊ฐ€ ๋œ๋‹ค. ์Šค์ผ€์ผ์•„์›ƒ์€ ์„œ๋ฒ„๋ฅผ ํšก์œผ๋กœ ์ „๊ฐœ, ์ฆ‰ ์„œ๋ฒ„์˜ ์—ญํ• ์„ ๋ถ„๋‹ดํ•˜๊ฑฐ๋‚˜ ๋Œ€์ˆ˜๋ฅผ ๋Š˜๋ฆผ์œผ๋กœ์จ ์‹œ์Šคํ…œ์˜ ์ „์ฒด์ ์ธ ์ฒ˜๋ฆฌ๋Šฅ๋ ฅ์„ ๋†’์—ฌ์„œ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฐ˜๋ฉด ์Šค์ผ€์ผ์—…์€ ํ•˜๋“œ์›จ์–ด์˜ ์„ฑ๋Šฅ์„ ๋†’์—ฌ ์ฒ˜๋ฆฌ๋Šฅ๋ ฅ์„ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

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

  3. ์Šค์ผ€์ผ์•„์›ƒ์„ ํ•ด์„œ ์„œ๋ฒ„ ๋Œ€์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๋ฉด ์„œ๋ฒ„์˜ ๊ณ ์žฅ๋ฅ ๋„ ํ•„์—ฐ์ ์œผ๋กœ ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์–ด๋”˜๊ฐ€ ์ž˜๋ชป๋˜๋ฉด ์„œ๋น„์Šค๊ฐ€ ์ „๋ถ€ ์ •์ง€ํ•ด๋ฒ„๋ฆฌ๋Š” ์„ค๊ณ„๋Š” 24์‹œ๊ฐ„ 365์ผ ๊ณ„์† ๊ฐ€๋™๋˜์–ด์•ผ ํ•˜๋Š” ์›น ์„œ๋น„์Šค์—์„œ๋Š” ๋„์ €ํžˆ ์šฉ๋‚ฉํ•  ์ˆ˜ ์—†๋‹ค. ์„œ๋น„์Šค๊ฐ€ ๋Œ€๊ทœ๋ชจํ™”๋˜๋ฉด ๋ ์ˆ˜๋ก ์‹œ์Šคํ…œ ์ •์ง€์˜ ์‚ฌํšŒ์  ์ถฉ๊ฒฉ๋„ ๋Š˜์–ด๋‚˜๋ฏ€๋กœ ๋”์šฑ ๋” ๋‹ค์ค‘์„ฑ ํ™•๋ณด๊ฐ€ ์ค‘์š”ํ•ด์ง„๋‹ค. ์‹œ์Šคํ…œ์ด ๊ณ ์žฅ ๋‚˜๋ฉด ๊ทธ๊ฑฐ๋กœ ๋์ด์–ด๋„ ๊ดœ์ฐฎ์€ ์‹œ์Šคํ…œ ๊ตฌ์ถ•๊ณผ ๊ณ ์žฅ ๋‚˜๋”๋ผ๋„ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์ด ์ž๋™์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ์ธ๊ณ„๋ฐ›๋Š” ์‹œ์Šคํ…œ ๊ตฌ์ถ• ๊ฐ„์—๋Š” ๊ธฐ์ˆ ์ ์œผ๋กœ๋‚˜ ๋น„์šฉ๋ฉด์—์„œ ์ƒ๋‹นํžˆ ํฐ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

  4. ์ปดํ“จํ„ฐ๋Š” ๋””์Šคํฌ(ํ•˜๋“œ๋””์Šคํฌ)์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ, ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ CPU๊ฐ€ ํŒจ์น˜(fetch)ํ•ด์„œ ํŠน์ • ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋˜ํ•œ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํŒจ์น˜๋œ ๋ช…๋ น์€ ๋ณด๋‹ค ๋น ๋ฅธ ์บ์‹œ(cache)๋ฉ”๋ชจ๋ฆฌ์— ์บ์‹ฑ๋œ๋‹ค. ์ด์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋Š” ๋””์Šคํฌ -> ๋ฉ”๋ชจ๋ฆฌ -> ์บ์‹œ๋ฉ”๋ชจ๋ฆฌ -> CPU์™€ ๊ฐ™์ด ๋ช‡ ๋‹จ๊ณ„๋ฅผ ๊ฒจ์œ ํ•ด์„œ ์ฒ˜๋ฆฌ๋˜์–ด ๊ฐ„๋‹ค. ๋””์Šคํฌ๋กœ๋ถ€ํ„ฐ ์ฝ์–ด๋“ค์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์บ์‹ฑํ•ด๋‘ ์œผ๋กœ์จ ์ „๋ฐ˜์ ์œผ๋กœ ๋””๋ฐ”์ด์Šค๊ฐ„ ์†๋„์ฐจ๊ฐ€ ์ฒด๊ฐ ์†๋„์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋„๋ก ํ•˜๊ณ  ์žˆ๋‹ค. DB๋ฅผ ๋น„๋กฏํ•œ ๋ฏธ๋“ค์›จ์–ด๋„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์†๋„์ฐจ๋ฅผ ์˜์‹ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ, ๊ตฌํ˜„์„ ์ฑ„์šฉํ•˜๊ณ  ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ž˜๋„ ํ•œ๊ณ„๋Š” ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Ÿ‰์ด ๋งŽ์•„์ง€๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ ์บ์‹œ ๋ฏธ์Šค(cache miss)๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋กœ ์ €์†์˜ ๋””์Šคํฌ๋กœ์˜ I/O๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค. ์ด์ฒ˜๋Ÿผ ๋Œ€๊ทœ๋ชจ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์šด์šฉํ•  ๋•Œ ๋Œ€๋ถ€๋ถ„์˜ ์–ด๋ ค์›€์€ ์ด๋Ÿฌํ•œ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์ง‘์ค‘๋œ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ ๊ฒŒ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ์„๊นŒ, ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋กœ ๋ถ„์‚ฐ์‹œํ‚ฌ ์ˆ˜ ์žˆ์„ ๊นŒ, ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ์†Œํ•œ์˜ ํšŸ์ˆ˜๋กœ ์ฝ์–ด๋“ค์ผ ์ˆ˜ ์žˆ์„๊นŒ ๋“ฑ๋“ฑ ์ด๊ฒƒ์ด ๋ณธ์งˆ์ ์ธ ๊ณผ์ œ๊ฐ€ ๋œ๋‹ค.

  1. ์ œ 1 ํฌ์ธํŠธ '๋ฉ”๋ชจ๋ฆฌ ๋‚ด์—์„œ ๊ณ„์‚ฐํ•  ์ˆ˜ ์—†๋‹ค' ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์—์„œ ๊ณ„์‚ฐํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜๋ฉด ๋””์Šคํฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋””์Šคํฌ๋Š” ๋Š๋ฆฌ๋ฏ€๋กœ I/O์— ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค. ์šฐ์„  ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ „๊ธฐ์ ์ธ ๋ถ€ํ’ˆ์ด๋ฏ€๋กœ ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ์™€ ํƒ์ƒ‰์†๋„์™€ ๊ทธ๋‹ค์ง€ ๊ด€๊ณ„์—†๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ์Šคํฌ๋Š” ๋ฉ”๋ชจ๋ฆฌ์™€๋Š” ๋‹ฌ๋ฆฌ ํšŒ์ „ ๋“ฑ์˜ ๋ฌผ๋ฆฌ์ ์ธ ๋™์ž‘์„ ์ˆ˜๋ฐ˜ํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฐ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๊ฐ€ ํƒ์ƒ‰ ์†๋„์— ์˜ํ–ฅ์„ ์ค€๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๋งŽ์•„์งˆ์ˆ˜๋ก ๋””์Šคํฌ์™€ ๋ฉ”๋ชจ๋ฆฌ ์ฐจ์ด๋„ ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋˜๋ฏ€๋กœ ์ „์†ก์†๋„์—์„œ๋„ ๋””์Šคํฌ๋Š” ๋Šฆ์–ด์ง„๋‹ค. os๋ ˆ๋ฒจ์—์„œ์˜ ์—ฐ๊ตฌ์™€ ์ „์†ก์†๋„, ๋ฒ„์Šค์˜ ์†๋„์ฐจ ๊ณต๋ถ€๋„ ํ•„์š”.

  2. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ถ€ํ•˜๋Š” ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค. CPU๋ถ€ํ•˜/ I/O๋ถ€ํ•˜.

  • CPU ๋ถ€ํ•˜์˜ ๊ทœ๋ชจ์กฐ์ •์€ ๊ฐ„๋‹จํ•˜๋‹ค. ๊ฐ™์€ ๊ตฌ์„ฑ์˜ ์„œ๋ฒ„๋ฅผ ๋Š˜๋ฆฌ๊ณ  ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋กœ ๋ถ„์‚ฐ, ์›น,AP,์„œ๋ฒ„,ํฌ๋กค๋Ÿฌ
  • I/O๋ถ€ํ•˜์˜ ๊ทœ๋ชจ์กฐ์ •์€ ์–ด๋ ต๋‹ค. DB, ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ

DBํ™•์žฅ์„ฑ์„ ํ™•๋ณดํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํžˆ ์–ด๋ ต๋‹ค. ๋Œ€๊ทœ๋ชจ ํ™˜๊ฒฝ์—์„œ๋Š” I/O๋ถ€ํ•˜๋ฅผ ๋ถ€๋‹ดํ•˜๊ณ  ์žˆ๋Š” ์„œ๋ฒ„๋Š” ์• ์ดˆ์— ๋ถ„์‚ฐ์‹œํ‚ค๊ธฐ ์–ด๋ ค์šด๋ฐ๋‹ค๊ฐ€ ๋””์Šคํฌ I/O๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ๊ธˆ์ƒˆ ๋Š๋ ค์ง€๋Š” ๋ณธ์งˆ์ ์ธ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์–ด๋”˜๊ฐ€์˜ ์‹œ์Šคํ…œ์„ ์ด์šฉํ•˜๋ฉด์„œ ๋ฌด๊ฒ๊ฒŒ ๋Š๊ปด์ง„๋‹ค๊ณ  ํ•ด์„œ '์„œ๋ฒ„๋ฅผ ๋Š˜๋ฆฌ์ง€'๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•˜๋‹ค(claire ์กฐ์‹ฌํ•ด๋ผ...)

  1. ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด
  • 1) ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ฒ˜๋ฆฌ๋ฅผ ๋งˆ์น  ์ˆ˜ ์žˆ์„๊นŒ?
    • ๋””์Šคํฌ seek ํšŸ์ˆ˜ ์ตœ์†Œํ™”ํ•˜๊ธฐ
    • ๊ตญ์†Œ์„ฑ์„ ํ™œ์šฉํ•œ ๋ถ„์‚ฐ ์‹คํ˜„
  • 2) ๋ฐ์ดํ„ฐ๋Ÿ‰ ์ฆ๊ฐ€์— ๊ฐ•ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ
  • 3) ๋ฐ์ดํ„ฐ ์••์ถ•, ์ •๋ณด๊ฒ€์ƒ‰๊ธฐ์ˆ 
    ์„ ์“ธ ์ˆ˜ ์žˆ๋Š”๋ฐ ํŠนํžˆ ๊ฒ€์ƒ‰์ด ์ค‘์š”ํ•œ ์ด์œ ๋Š” ํ™•์žฅ์„ฑ ๋ฉด์—์„œ DB์—๋งŒ ๋งก๊ฒจ์„œ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์„ ๋•Œ, ํŠน์ • ์šฉ๋„์— ํŠนํ™”๋œ ๊ฒ€์ƒ‰์—”์ง„ ๋“ฑ์„ ๋งŒ๋“ค์–ด์„œ ํ•ด๋‹น ๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ์„ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ด์šฉํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ „ํ™˜ํ•œ๋‹ค๋ฉด ์†๋„๋ฅผ ์ œ๋Œ€๋กœ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ์••์ถ•๊ณผ ๊ฒ€์ƒ‰์ด ์ค‘์š”ํ•œ ๊ฒƒ์ด๋‹ค.
  1. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด์ •๋„๋งŒ ์š”์•ฝํ•˜๊ธฐ๋กœ ํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ ์ „์— ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์˜ ํ•œ์ธต ์•„๋ž˜ ๊ธฐ์ดˆ์ธ OS ์บ์‹œ, ๋ถ„์‚ฐ์„ ๊ณ ๋ คํ•œ RDBMS ์šด์šฉ, ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋‹ค์ŒํŽธ์—์„œ ์š”์•ฝํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค!

2. ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์„ค๊ณ„

๐Ÿšฉhttps://www.youtube.com/watch?v=rCbzilpjsdY ํ•˜๋ฃจ 400์–ต ๊ฑด์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ | ๋ผ์ธ๊ฐœ๋ฐœ์‹ค๋ก

  • ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์ด ํ•„์š”ํ•œ ์ด์œ 

๊ธฐ์กด์ฒ˜๋Ÿผ ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๋ฉด ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์•„์ง€๋ฉด ์„œ๋ฒ„๋ฅผ ์Šค์ผ€์ผ์•„์›ƒํ•˜๋ฉด ๋˜์ง€ ์•Š๋ƒ? ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋Š˜๋ฆฌ๋ฉด ๋˜์ง€ ์•Š๋ƒ? ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋Ÿฌ๋งํ•ด์„œ ๊ฑฐ๊ธฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฟผ๋ฆฌํ•˜๋Š” ์„œ๋ฒ„๋ฅผ ๋” ์“ฐ๋ฉด ๋˜์ง€ ์•Š๋ƒ? ์ž ๊ทธ๋Ÿฌ๋ฉด, ๋ฐ์ดํ„ฐ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์•„์„œ DB๊ฐ€ ์Šค์ผ€์ผ์•„์›ƒ์ด ์•ˆ๋˜๋ฉด? ๋‹จ์ˆœํžˆ ์„œ๋ฒ„๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ๋ ๊นŒ?
NO, ์ฃผ์š”๋ฌธ์ œ๋Š” ์‚ฌ์ด์ฆˆ์—์„œ ์˜จ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋‹ค.

  • over 10PB/ Aggregation Latency 10s/ SQL - SIZE DOES MATTER ์‚ฌ๋ก€ ํ›„ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์ตœ์ ํ™”๋œ ๊ฑธ ์“ฐ์ž! Apache Druid! but also cannot meet the requirements! ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง! - Apache Kylin meets all requirement!

  • Kylin?

  • LINE ๊ด‘๊ณ  ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์•„ํ‚คํ…์ฒ˜

1) ๋ชจ๋ฐ”์ผ์—์„œ ๊ด‘๊ณ ๋ฅผ ๋ณด๋ฉด SDk์—์„œ ๊ด‘๊ณ ๋ฅผ ๋ณด๋‚ด๊ณ  event receiver๊ฐ€ ๋ฐ›๊ณ  event validator๋Š” ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๋ณต์€ ์—†๋Š”์ง€ ๋ฐธ๋ฆฌ๋ฐ์ด์…˜์„ ํ•ด์„œ data loader๊ฐ€ ๋ฐ›์•„์„œ ๊ฐ ๋ชฉ์ ์— ๋งž๋Š” ๊ณณ์— ์ €์žฅ์„ ํ•œ๋‹ค storages์—! ES๋Š” ์‹œ๊ฐํ™”์— ์“ด๋‹ค
2) ์ด๊ฒƒ๋“ค์„ ๋‹ค์‹œ ์žฌํ™œ์šฉํ•œ๋‹ค ETL/batch๋ฅผ ํ†ตํ•ด์„œ ํ˜น์€ OLAP ๋ถ„์„์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋ฆฌํฌํŠธ๋ฅผ ๋งŒ๋“ค๊ธฐ๋„ ํ•˜๊ณ  Data API ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์…‹ํŒ…์„ ํ†ตํ•ด์„œ ๋น ๋ฅด๊ฒŒ ์กฐํšŒํ•  ์ˆ˜์žˆ๋„๋ก ํ•œ๋‹ค.
3) ๊ฐ ์ปดํฌ๋„ŒํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์š” ๊ธฐ์ˆ ์Šคํƒ:

  • Heron?

1) ์ŠคํŠธ๋ฆฌ๋ฐ: ์ผ๋ฐ˜ ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๊ณ  ๋ฐฑ์—”๋“œ๋กœ ๋ฆฌ์ฟผ์ŠคํŠธ๋กœ ์ „๋‹ฌํ•˜๊ณ  ์ฒ˜๋ฆฌ๋œ ๊ฒฐ๊ณผ๋ฅผ ์ „๋‹ฌํ•˜๋ฉด ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋งŒ๋“ค์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ๊ฑธ ๋ฐฐ์น˜ํ”„๋กœ์„ธ์‹ฑ/ single stage. ํ•˜์ง€๋งŒ ์ŠคํŠธ๋ฆฌ๋ฐ์€ ํ•œ๊ฑดํ•œ๊ฑด ์ด๋ฒคํŠธ๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ๋ฐ”๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฑธ ๋งํ•จ. ํ•ญ์ƒ long runnig processes/ multiple stage.

2) Heron: a realtime, distributed, fault-tolerant stream processing engine, apache heron is a re-architecture of apache storm

  • ๋ผ์ธ ๊ด‘๊ณ  ๋ฐ์ดํ„ฐํŒŒ์ดํ”„๋ผ์ธ ํŒ€์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝํ—˜: ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, ๊ทธ๋Œ€๋กœ ํ•˜๋ฉด ์•ˆ๋˜๋Š” ๊ฒฝํ—˜์„ ํ•˜๊ฒŒ ๋จ, ๋‹ค์–‘์„ฑ, ์˜คํ”ˆ์†Œ์Šค์— ๊ธฐ์—ฌ, ์—ฌ๋Ÿฌ stakeholders์™€์˜ ํ˜‘์—…/ ์–ด๋–ค ๊ฐœ๋ฐœ์ž? ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ๋ณธ๊ธฐ๊ฐ€ ๋˜์–ด์žˆ๋Š” ์—”์ง€๋‹ˆ์–ด, ๋ถ„์‚ฐ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์žˆ๋Š” ์—”์ง€๋‹ˆ์–ด(mysql์˜ ์ƒค๋”ฉ ํ˜น์€ ์นดํ”„์นด๊ฐ™์€ ๋ถ„์‚ฐ๋ฉ”์„ธ์ง€ ํ์— ๋Œ€ํ•ด์„œ), ์ง€์†์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด matric์„ ์ธก์ •ํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋ง์„ ํ•œ๋‹ค(SRE).

<๋‚˜์ค‘์— ๊ณต๋ถ€ํ•  ๊ฒƒ>

๐ŸšฉGoogle Cloud OnBoard Seoul OnAir ETL, ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ - https://www.youtube.com/watch?v=A8RpAFvbrl0
๐Ÿšฉํ™•์žฅ์„ฑ ์žˆ๋Š” ์›น ์•„ํ‚คํ…์ฒ˜์™€ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ - https://d2.naver.com/helloworld/206816

0๊ฐœ์˜ ๋Œ“๊ธ€