2carrot84
by 2carrot84
2 min read

Categories

  • development

Tags

  • ์„ฑ๋Šฅ ๊ฐœ์„ 

์ „ ์ง์žฅ์— ์ž…์‚ฌ ํ›„ ๋‹ค์–‘ํ•œ ์‹ ๊ทœ ์„œ๋น„์Šค ๊ฐœ๋ฐœ๊ณผ ์šด์˜ ์—…๋ฌด๋ฅผ ์ง„ํ–‰ํ•˜์˜€์ง€๋งŒ, ๋‹น์‹œ ๊ฐ€์žฅ ํฐ ๋ชฉํ‘œ๋Š” ์„ฑ๋Šฅ ๊ฐœ์„ ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ž…์‚ฌ ๋‹น์‹œ ์นดํ†กํ”Œ์นœ ๋ฐœ์†ก๋งŒ ๋˜์–ด๋„ ์ œ๋‹ˆํผ๊ฐ€ ๋ถˆ๋ฐ”๋‹ค๊ฐ€ ๋˜๋Š” ์ƒํ™ฉ์ด์—ˆ๊ธฐ์— ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ํ†ตํ•œ ์„ฑ๋Šฅ ๊ฐœ์„ ์ด ํ•„์š”ํ–ˆ์—ˆ์ฃ .

์ œ๋‹ˆํผ์˜ x-view ๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋˜๋Š” ์ƒํ™ฉ์„ ๊ฒช์–ด๋ณธ ์‚ฌ๋žŒ๋งŒ์ด ๊ทธ ๊ณตํฌ๊ฐ์„ ์•Œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๐Ÿคฏ๐Ÿคฌ

x-view

๊ทธ ๊ณผ์ •์—์„œ ์ œ๊ฐ€ ๊ฒฝํ—˜ํ•œ ๊ฐ„๋‹จํ•œ ์„ฑ๋Šฅ ๊ฐœ์„  ๋ฐฉ๋ฒ•๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์Šค์ผ€์ผ Out & ์Šค์ผ€์ผ Up

๋จผ์ € ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๊ฐ€์žฅ ๊ฐ„๋‹จ(?)ํ•˜๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์Šค์ผ€์ผ Out ๊ณผ ์Šค์ผ€์ผ Up ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.
๋น„์šฉ์ด ํ—ˆ๋ฝํ•œ๋‹ค๋ฉด ๊ฐ€์žฅ ๋น ๋ฅด๊ณ  ๋‹จ์ˆœํ•˜๊ฒŒ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด์ฃ  ๐Ÿ’ธ๐Ÿ’ธ๐Ÿ’ธ

์Šค์ผ€์ผ Out - ์„œ๋ฒ„(๋ฌผ๋ฆฌ or ๋…ผ๋ฆฌ)๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ฒ˜๋ฆฌ๋Ÿ‰ ๋ถ„์‚ฐ์„ ํ†ตํ•œ ์„ฑ๋Šฅ๊ฐœ์„ 
์Šค์ผ€์ผ Up - ์„œ๋ฒ„์˜ ์ŠคํŽ™(Cpu, Memory)์„ ๋Š˜๋ ค ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ ํ–ฅ์ƒ์„ ํ†ตํ•œ ์„ฑ๋Šฅ๊ฐœ์„ 

์ฟผ๋ฆฌ ํŠœ๋‹

์Šค์ผ€์ผ Out/Up ์„ ํ•˜์—ฌ๋„ ์›๋ž˜ ์‘๋‹ต์†๋„๊ฐ€ ๋А๋ฆฐ ๋กœ์ง์€ ๊ฐœ์„ ์ด ๋˜์ง€ ์•Š์ฃ . ๊ฒฝํ—˜์ƒ ์‘๋‹ต์†๋„๊ฐ€ ๋А๋ฆฐ ๊ฐ€์žฅ ๋งŽ์€ ์ด์œ ๋Š” ์ฟผ๋ฆฌ์˜ ์ˆ˜ํ–‰ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ์˜€์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก , ์š”์ฆ˜์€ ๋ณต์žกํ•˜๊ฒŒ ์„ค๊ณ„๋œ ํ…Œ์ด๋ธ”์ด ์กด์žฌํ•˜๋Š” RDB ์‚ฌ์šฉ ๋น„์ค‘์ด ์ ์  ๋‚ฎ์•„์ง€๊ณ , ORM ์ด๋‚˜ NoSql ์˜ ์‚ฌ์šฉ์ด ๋Š˜์–ด๋‚˜๋Š” ์ƒํ™ฉ์—๋Š” ๋น„์ค‘์ด ๋งŽ์ด ์ค„์—ˆ์„๊ฒƒ ๊ฐ™๋„ค์š”. (์˜›๋‚ ์‚ฌ๋žŒ..๐Ÿค”)

๊ฐœ๋ฐœ์ž๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ฟผ๋ฆฌ ํŠœ๋‹์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์€ ์ž‘์„ฑํ•œ ์ฟผ๋ฆฌ์˜ ์ธ๋ฑ์Šค ์‚ฌ์šฉ ์—ฌ๋ถ€์ด์ง€ ์•Š์„๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ๊ฐ€ ํ’€ ์Šค์บ”์„ ํ•˜๋Š”์ง€ ์ธ๋ฑ์Šค ์Šค์บ”์„ ํ•˜๋Š”์ง€์— ๋”ฐ๋ผ ์‘๋‹ต ์†๋„์™€ ์ž์› ์‚ฌ์šฉ์˜ ์—„์ฒญ๋‚œ ์ฐจ์ด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์กฐ๊ฑด์„ ๊ฑธ๋•Œ ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๋Š” ์ปฌ๋Ÿผ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, ์ธ๋ฑ์Šค ์ปฌ๋Ÿผ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๋‹จ, ์ƒํ™ฉ์— ๋”ฐ๋ผ ํ’€ ์Šค์บ”์ด ์ธ๋ฑ์Šค ์Šค์บ” ๋ณด๋‹ค ํšจ์œจ์ ์ธ ๊ฒฝ์šฐ๋„ ์žˆ์œผ๋‹ˆ ๋ฌด์กฐ๊ฑด ํ’€ ์Šค์บ”์ด ๋‚˜์œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž๋“ค์ด ์ž์ฃผ ์‹ค์ˆ˜ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ์š”๊ฑด : 2021๋…„ 9์›” ๊ฐ€์ž…ํ•œ ๊ณ ๊ฐ(CUSTOMER)์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜์ž!
  • ์ธ๋ฑ์Šค ์ปฌ๋Ÿผ : JOIN_DATE

์ž˜๋ชป๋œ ์˜ˆ

SELECT COUNT(ID) AS CNT
  FROM CUSTOMER C
 WHERE TO_CHAR(C.JOIN_DATE,'YYYYMM') = '202109'

์ž˜๋œ ์˜ˆ

SELECT COUNT(ID) AS CNT
  FROM CUSTOMER C
 WHERE C.JOIN_DATE BETWEEN TO_DATE('20210901','YYYYMMDD') AND TO_DATE('20210930235959','YYYYMMDDHH24MISS')

์œ„์™€ ๊ฐ™์ด JOIN_DATE ์ปฌ๋Ÿผ์„ TO_CHAR ํ•จ์ˆ˜๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ธฐ๊ป ๋งŒ๋“ค์–ด๋‘” ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

SQL ํŠœ๋‹์€ ๋„ˆ๋ฌด๋‚˜ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์–ด, ์ „๋ฌธ๊ฐ€์ธ ํŠœ๋„ˆ๋‚˜ DBA ๋ถ„๋“ค์˜ ๋„์›€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋Œ€์‹  ๊ทธ ๊ฒฐ๊ณผ๋Š” ๊ฐœ๋ฐœ์ž์ธ ์ €๋กœ์ฌ ๊ฒฝ์ด๋กœ์šธ ์ •๋„์˜ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. ๐Ÿ‘๐Ÿป๐Ÿ‘๐Ÿป

์บ์‹œ(Cache) ๋„์ž…

์บ์‹œ๊ฐ€ ๋„์ž…๋˜๊ธฐ ์ „์—๋Š” ํŠธ๋ž˜ํ”ฝ์ด ์ฆ๊ฐ€๋กœ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•˜๋ฉด, ์„œ๋ฒ„(Web, Was, DB) ์Šค์ผ€์ผ Out & Up ๋˜๋Š” ์ฟผ๋ฆฌ ํŠœ๋‹ ๊ณผ์ •๋งŒ ๋ฐ˜๋ณตํ•ด ์™”์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ํŠธ๋ž˜ํ”ฝ ๋ถ„์‚ฐ๊ณผ ๋น ๋ฅธ ์‘๋‹ต์†๋„๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋‹ค์–‘ํ•œ ์บ์‹œ ์„œ๋น„์Šค๊ฐ€ ์ƒ๊ธฐ๋ฉด์„œ, ์›น์„œ๋น„์Šค ์•„์ผ€ํ…์ฒ˜๊ฐ€ ์ข€ ๋” ๋ณต์žกํ•ด์ง€๊ฒŒ ๋˜์—ˆ์ฃ .

์›น์„œ๋ฒ„ ์•ž์—๋Š” ์›น์บ์‹œ(ex. Ston)๊ฐ€ DB์„œ๋ฒ„ ์•ž์—๋Š” ๋ฉ”๋ชจ๋ฆฌ ์บ์‹œ(ex. Redis)๊ฐ€ ๋„์ž…๋˜๋ฉฐ ์•ˆ์ •ํ™”์— ํฐ ๋„์›€์„ ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋‹จ, ์บ์‹ฑ๋œ ๋ฐ์ดํ„ฐ๋กœ ์ธํ•ด ๊ณ ๋ คํ•ด์•ผํ•  ๊ฒƒ๋“ค๊ณผ ๊ด€๋ฆฌ ํฌ์ธํŠธ๋„ ๋งŽ์ด ๋Š˜์–ด๋‚˜๊ฒŒ ๋˜์—ˆ์ฃ . ๐Ÿคฆ๐Ÿป

๊ฐ„๋‹จํ•œ ์˜ˆ๋ฅผ ๋ช‡๊ฐ€์ง€ ๋“ค๋ฉด

  1. ์˜คํ”ˆ์†Œ์Šค์ธ ์บ์‹œ ์„œ๋ฒ„์— ๋Œ€ํ•œ ๊ด€๋ฆฌ๋Š” ๋ˆ„๊ฐ€ ํ• ๊ฒƒ์ด๋ฉฐ, ํ•ด๋‹น ์‹œ์Šคํ…œ Down ์‹œ ๋Œ€์ฑ…์€?
  2. ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ณ ๊ฐ ํ™”๋ฉด์—๋Š” ๋ฐ”๋กœ ๋ฐ˜์˜์ด ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ํ˜„์—…์˜ ๋ถˆ๋งŒ์€?
  3. ์บ์‹ฑ๋œ ๋ฐ์ดํ„ฐ์™€ ์บ์‹ฑ ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ•˜์ง€?
  4. ์บ์‹ฑ ์ •์ฑ…, ๋งŒ๋ฃŒ ์ฃผ๊ธฐ, ์˜ˆ์™ธ ์ผ€์ด์Šค ๋“ฑ๋“ฑ๋“ฑ..๐Ÿคข๐Ÿคข

์ œ๊ฐ€ ์–ธ๊ธ‰ํ•œ ์บ์‹œ ์‹œ์Šคํ…œ ์™ธ์— ๋‹ค์–‘ํ•œ ์บ์‹ฑ ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•˜๋ฉฐ, ํ•„์š”์— ๋”ฐ๋ผ ์ ํ•ฉํ•œ ์บ์‹œ๋ฅผ ์ ์šฉํ•˜๋ฉด ํ™•์‹คํ•œ ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ ๊ฐœ์„  ๋ฐฉ์•ˆ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ธ‰ ๋งˆ๋ฌด๋ฆฌ

๋ฒŒ์จ 2์‹œ๊ธฐ ๋‹ค ๋˜์–ด ๊ฐ€๋Š” ๊ด€๊ณ„๋กœ ์„ฑ๋Šฅ ๊ฐœ์„  ๊ด€๋ จ ํฌ์ŠคํŒ…์€ ๋‹ค์Œ ํŽธ์„ ๊ธฐ์•ฝํ•˜๋ฉฐ..๐Ÿฅ•๐Ÿ‘‹๐Ÿผ๐Ÿ–๐Ÿผ


์ฐธ๊ณ  ์ž๋ฃŒ

์Šค์ผ€์ผ Out & Up ์ด๋ž€? https://asfirstalways.tistory.com/66
ORM ์ด๋ž€? https://gmlwjd9405.github.io/2019/08/04/what-is-jpa.html
์ธ๋ฑ์Šค ๋ž€? https://mangkyu.tistory.com/96
ํ’€ ์Šค์บ”๊ณผ ์ธ๋ฑ์Šค ์Šค์บ” ์ด๋ž€?

์›น์บ์‹œ(Ston) : https://ston.readthedocs.io/ko/latest/admin/intro.html
๋ฉ”๋ชจ๋ฆฌ์บ์‹œ(Redis) : https://aws.amazon.com/ko/redis/