Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

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

Odnoklassniki์—์„œ๋Š” ๋กœ๊ทธ ๊ด€๋ฆฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Elasticsearch๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์œผ๋ฉฐ ์ด์ œ ์•„ํ‚คํ…์ฒ˜์™€ ํ•จ์ •์— ๊ด€ํ•œ ๊ฒฝํ—˜์„ Habr๊ณผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” Pyotr Zaitsev์ด๊ณ  Odnoklassniki์—์„œ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๋กœ ์ผํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ „์—๋Š” Manticore Search, Sphinx ๊ฒ€์ƒ‰, Elasticsearch๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ด€๋ฆฌ์ž์ด๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋˜ ๋‹ค๋ฅธ ๊ฒ€์ƒ‰์ด ๋‚˜ํƒ€๋‚˜๋ฉด ๋‚˜๋„ ๊ทธ ๊ฒ€์ƒ‰์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ๋˜ํ•œ ์ž๋ฐœ์ ์œผ๋กœ ์—ฌ๋Ÿฌ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Odnoklassniki์— ์™”์„ ๋•Œ ์ธํ„ฐ๋ทฐ์—์„œ Elasticsearch๋กœ ์ผํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ฌด๋ชจํ•˜๊ฒŒ ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ์š”๋ น์„ ํ„ฐ๋“ํ•˜๊ณ  ๋ช‡ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ์ž‘์—…์„ ๋งˆ์นœ ํ›„, ๋‹น์‹œ ์กด์žฌํ•˜๋˜ ๋กœ๊ทธ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ๊ฐœํŽธํ•˜๋Š” ํฐ ์ž„๋ฌด๊ฐ€ ์ฃผ์–ด์กŒ์Šต๋‹ˆ๋‹ค.

์š”๊ตฌ ์‚ฌํ•ญ

์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณต์‹ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • Graylog๋ฅผ ํ”„๋ŸฐํŠธ์—”๋“œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํšŒ์‚ฌ์—์„œ๋Š” ์ด๋ฏธ ์ด ์ œํ’ˆ์„ ์‚ฌ์šฉํ•ด ๋ณธ ๊ฒฝํ—˜์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ๊ทธ๋ž˜๋จธ์™€ ํ…Œ์Šคํ„ฐ๋“ค์€ ์ด ์ œํ’ˆ์„ ์•Œ๊ณ  ์žˆ์—ˆ๊ณ  ์ต์ˆ™ํ•˜๊ณ  ํŽธ๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ: ์ดˆ๋‹น ํ‰๊ท  50~80๊ฐœ์˜ ๋ฉ”์‹œ์ง€์ด์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํŠธ๋ž˜ํ”ฝ์€ ์–ด๋–ค ์ œํ•œ๋„ ๋ฐ›์ง€ ์•Š์œผ๋ฉฐ ์ดˆ๋‹น 2~3๋ฐฑ๋งŒ ์ค„์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ณ ๊ฐ๊ณผ ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ ์ฒ˜๋ฆฌ ์†๋„์— ๋Œ€ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋…ผ์˜ํ•œ ๊ฒฐ๊ณผ ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ํŒจํ„ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ์ง€๋‚œ ์ดํ‹€ ๋™์•ˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ๋ฅผ ์ฐพ๊ณ  ์žˆ์œผ๋ฉฐ XNUMX์‹œ๊ฐ„ ์ด์ƒ ๊ธฐ๋‹ค๋ฆฌ๊ธฐ๋ฅผ ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ๋Š” ๊ณต์‹ํ™”๋œ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.
  • ๊ด€๋ฆฌ์ž๋“ค์€ ์‹œ์Šคํ…œ ์ž‘๋™ ๋ฐฉ์‹์„ ์ž์„ธํžˆ ์•Œ์•„๋ณผ ํ•„์š” ์—†์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์„ ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ฃผ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์— ์ฃผ๊ธฐ์ ์œผ๋กœ ํ•„์š”ํ•œ ์œ ์ผํ•œ ์œ ์ง€ ๊ด€๋ฆฌ ์ž‘์—…์€ ์ผ๋ถ€ ํ•˜๋“œ์›จ์–ด๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๋˜ํ•œ Odnoklassniki๋Š” ๋›ฐ์–ด๋‚œ ๊ธฐ์ˆ ์  ์ „ํ†ต์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ถœ์‹œํ•˜๋Š” ๋ชจ๋“  ์„œ๋น„์Šค๋Š” ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ์žฅ์• (๊ฐ‘์ž‘์Šค๋Ÿฝ๊ณ , ๊ณ„ํš๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ, ์–ธ์ œ๋“ ์ง€)์—๋„ ์‚ด์•„๋‚จ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ๋งˆ์ง€๋ง‰ ์š”๊ตฌ ์‚ฌํ•ญ์— ๊ฐ€์žฅ ๋งŽ์€ ๋น„์šฉ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ˆ˜์š”์ผ

์šฐ๋ฆฌ๋Š” XNUMX๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ ์ผํ•˜๊ณ  ์žˆ์ง€๋งŒ Elasticsearch ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๋Š” (๊ธฐ์ˆ ์ ์ด์ง€ ์•Š์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๋กœ) XNUMX๊ฐœ์—๋งŒ ์œ„์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋“ค 18๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—๋Š” ํ•˜๋“œ์›จ์–ด, ์ปจํ…Œ์ด๋„ˆ, ๊ฐ€์ƒ ๋จธ์‹  ๋“ฑ ์•ฝ XNUMX๊ฐœ์˜ ๋‹ค์–‘ํ•œ ๋กœ๊ทธ ์†Œ์Šค๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ค‘์š”ํ•œ ๊ธฐ๋Šฅ: ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ํฌ๋“œ ๋งจ ์‹ค์ œ ๋จธ์‹ ์ด ์•„๋‹ˆ๋ผ ์ž์ฒด ํด๋ผ์šฐ๋“œ ์ œํ’ˆ one-cloud. ์ปจํ…Œ์ด๋„ˆ๋Š” 2Ghz v2.0์™€ ์œ ์‚ฌํ•œ 4๊ฐœ์˜ ์ฝ”์–ด๋ฅผ ๋ณด์žฅํ•˜๋ฉฐ ์œ ํœด ์ƒํƒœ์ธ ๊ฒฝ์šฐ ๋‚˜๋จธ์ง€ ์ฝ”์–ด๋ฅผ ์žฌํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ๋ง๋กœํ•˜๋ฉด :

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

ํ† ํด๋กœ์ง€

์ฒ˜์Œ์—๋Š” ์†”๋ฃจ์…˜์˜ ์ผ๋ฐ˜์ ์ธ ํ˜•ํƒœ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

  • 3~4๊ฐœ์˜ VIP๋Š” Graylog ๋„๋ฉ”์ธ์˜ A ๋ ˆ์ฝ”๋“œ ๋’ค์— ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋กœ๊ทธ๊ฐ€ ์ „์†ก๋˜๋Š” ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.
  • ๊ฐ VIP๋Š” LVS ๋ฐธ๋Ÿฐ์„œ์ž…๋‹ˆ๋‹ค.
  • ๊ทธ ํ›„ ๋กœ๊ทธ๋Š” Graylog ๋ฐฐํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•˜๊ณ  ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋Š” GELF ํ˜•์‹์ด๊ณ  ์ผ๋ถ€๋Š” syslog ํ˜•์‹์ž…๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด ๋ชจ๋“  ๋‚ด์šฉ์ด Elasticsearch ์ฝ”๋””๋„ค์ดํ„ฐ ๋ฐฐํ„ฐ๋ฆฌ์— ๋Œ€๊ทœ๋ชจ ๋ฐฐ์น˜๋กœ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ๊ด€๋ จ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ์— ์“ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

์ „๋ฌธ ์šฉ์–ด

์•„๋งˆ๋„ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์šฉ์–ด๋ฅผ ์ž์„ธํžˆ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฏ€๋กœ ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

Elasticsearch์—๋Š” ๋งˆ์Šคํ„ฐ, ์ฝ”๋””๋„ค์ดํ„ฐ, ๋ฐ์ดํ„ฐ ๋…ธ๋“œ ๋“ฑ ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ๋…ธ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๋กœ๊ทธ ๋ณ€ํ™˜ ๋ฐ ์„œ๋กœ ๋‹ค๋ฅธ ํด๋Ÿฌ์Šคํ„ฐ ๊ฐ„์˜ ํ†ต์‹ ์„ ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์œ ํ˜•์ด ์žˆ์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ๋‚˜์—ด๋œ ์œ ํ˜•๋งŒ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ
ํด๋Ÿฌ์Šคํ„ฐ์— ์žˆ๋Š” ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ pingํ•˜๊ณ , ์ตœ์‹  ํด๋Ÿฌ์Šคํ„ฐ ๋งต์„ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ณ , ์ด๋ฅผ ๋…ธ๋“œ ๊ฐ„์— ๋ฐฐํฌํ•˜๊ณ , ์ด๋ฒคํŠธ ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด ๊ด€๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์กฐ์ •์ž
๋‹จ์ผ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์˜ ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๊ณ  ์ด ํŠธ๋ž˜ํ”ฝ์„ ๋ผ์šฐํŒ…ํ•ฉ๋‹ˆ๋‹ค. ์“ฐ๊ธฐ ์š”์ฒญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋งˆ์Šคํ„ฐ์—๊ฒŒ ๊ด€๋ จ ์ธ๋ฑ์Šค์˜ ์–ด๋–ค ์ƒค๋“œ๋ฅผ ๋„ฃ์–ด์•ผ ํ•˜๋Š”์ง€ ๋ฌป๊ณ  ์š”์ฒญ์„ ์ถ”๊ฐ€๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋…ธ๋“œ
๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ์™ธ๋ถ€์—์„œ ๋“ค์–ด์˜ค๋Š” ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ, ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ์žˆ๋Š” ์ƒค๋“œ์— ๋Œ€ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ˆ์ด๋กœ๊ทธ
์ด๋Š” ELK ์Šคํƒ์—์„œ Kibana์™€ Logstash๋ฅผ ์œตํ•ฉํ•œ ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. Graylog๋Š” UI์™€ ๋กœ๊ทธ ์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ์„ ๋ชจ๋‘ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€์ ์œผ๋กœ Graylog๋Š” Kafka ๋ฐ Zookeeper๋ฅผ ์‹คํ–‰ํ•˜์—ฌ Graylog์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์„ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Graylog๋Š” Elasticsearch๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ๋กœ๊ทธ(Kafka)๋ฅผ ์บ์‹œํ•˜๊ณ  ์‹คํŒจํ•œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์š”์ฒญ์„ ๋ฐ˜๋ณตํ•˜๊ณ  ์ง€์ •๋œ ๊ทœ์น™์— ๋”ฐ๋ผ ๋กœ๊ทธ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๊ณ  ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Logstash์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Graylog์—๋Š” ํ–‰์„ Elasticsearch์— ์“ฐ๊ธฐ ์ „์— ์ˆ˜์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ Graylog์—๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•˜๋‚˜์˜ Elasticsearch ๋…ธ๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ „์ฒด ํด๋Ÿฌ์Šคํ„ฐ ๋งต์„ ์–ป๊ณ  ์ด๋ฅผ ํŠน์ • ํƒœ๊ทธ๋กœ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์žฅ ์„œ๋น„์Šค ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์ด ์žˆ์–ด ํŠน์ • ์ปจํ…Œ์ด๋„ˆ์— ์š”์ฒญ์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ๊ฐ์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

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

์ง€์ˆ˜

์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜๋กœ ๋Œ์•„๊ฐ€์„œ ๋ชจ๋“  ๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋„๋ก ์ธ๋ฑ์Šค ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์œ„ ๋‹ค์ด์–ด๊ทธ๋žจ์—์„œ ์ด๋Š” ๊ฐ€์žฅ ๋‚ฎ์€ ์ˆ˜์ค€์ธ Elasticsearch ๋ฐ์ดํ„ฐ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค๋Š” Elasticsearch ์ƒค๋“œ๋กœ ๊ตฌ์„ฑ๋œ ๋Œ€๊ทœ๋ชจ ๊ฐ€์ƒ ์—”ํ„ฐํ‹ฐ์ž…๋‹ˆ๋‹ค. ๊ทธ ์ž์ฒด๋กœ ๊ฐ ์ƒค๋“œ๋Š” Lucene ์ธ๋ฑ์Šค์— ์ง€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ Lucene ์ธ๋ฑ์Šค๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์„ธ๊ทธ๋จผํŠธ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

์„ค๊ณ„ํ•  ๋•Œ ์šฐ๋ฆฌ๋Š” ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ฝ๊ธฐ ์†๋„ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋ ค๋ฉด ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ ์ „์ฒด์— ๊ณ ๋ฅด๊ฒŒ "๋ถ„์‚ฐ"ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋กœ ์ธํ•ด ์ธ๋ฑ์Šค๋‹น ์ƒค๋“œ(๋ณต์ œ๋ณธ ํฌํ•จ) ์ˆ˜๊ฐ€ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ ์ˆ˜์™€ ์—„๊ฒฉํ•˜๊ฒŒ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์ด ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ฒซ์งธ, ๋ณต์ œ ์ธ์ˆ˜๊ฐ€ XNUMX๊ฐ€ ๋˜๋„๋ก ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด(์ฆ‰, ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ ˆ๋ฐ˜์„ ์žƒ์„ ์ˆ˜ ์žˆ์Œ) ๋‘˜์งธ, ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ ˆ๋ฐ˜ ์ด์ƒ์—์„œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋จผ์ € ๋ณด๊ด€ ๊ธฐ๊ฐ„์„ 30์ผ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ƒค๋“œ์˜ ๋ถ„ํฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ทธ๋ž˜ํ”ฝ์œผ๋กœ ํ‘œํ˜„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

์–ด๋‘์šด ํšŒ์ƒ‰ ์ง์‚ฌ๊ฐํ˜• ์ „์ฒด๊ฐ€ ์ƒ‰์ธ์ž…๋‹ˆ๋‹ค. ์™ผ์ชฝ ๋นจ๊ฐ„์ƒ‰ ์‚ฌ๊ฐํ˜•์€ ์ธ๋ฑ์Šค์˜ ์ฒซ ๋ฒˆ์งธ ์ƒค๋“œ์ธ ๊ธฐ๋ณธ ์ƒค๋“œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŒŒ๋ž€์ƒ‰ ์‚ฌ๊ฐํ˜•์€ ๋ณต์ œ ํŒŒํŽธ์ž…๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ์œ„์น˜ํ•ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์ƒค๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ์„ธ ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋กœ ์ด๋™๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ๊ตญ ์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ์„ ์žƒ์ง€ ์•Š๊ณ  DC๋ฅผ ์žƒ์„ ์ˆ˜ ์žˆ๋Š” ๋‹ค์Œ ๊ตฌ์กฐ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

์ธ๋ฑ์Šค ํšŒ์ „, ์ฆ‰ ์ƒˆ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ์ธ๋ฑ์Šค๋ฅผ ์‚ญ์ œํ•˜์—ฌ 48์‹œ๊ฐ„์œผ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค(์ธ๋ฑ์Šค ์‚ฌ์šฉ ํŒจํ„ด์— ๋”ฐ๋ผ ์ตœ๊ทผ 48์‹œ๊ฐ„์ด ๊ฐ€์žฅ ์ž์ฃผ ๊ฒ€์ƒ‰๋ฉ๋‹ˆ๋‹ค).

์ด ์ธ๋ฑ์Šค ํšŒ์ „ ๊ฐ„๊ฒฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํŠน์ • ๋ฐ์ดํ„ฐ ๋…ธ๋“œ์— ๊ฒ€์ƒ‰ ์š”์ฒญ์ด ๋„์ฐฉํ•˜๋ฉด ์„ฑ๋Šฅ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ ๊ทธ ํฌ๊ธฐ๊ฐ€ ๋…ธ๋“œ์˜ ์—‰๋ฉ์ด ํฌ๊ธฐ์™€ ๋น„์Šทํ•  ๊ฒฝ์šฐ ํ•˜๋‚˜์˜ ์ƒค๋“œ๋ฅผ ์ฟผ๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋” ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ธ๋ฑ์Šค์˜ "ํ•ซ" ๋ถ€๋ถ„์„ ํž™์— ์œ ์ง€ํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "ํ•ซํŒŒํŠธ"๊ฐ€ ๋งŽ์œผ๋ฉด ์ธ๋ฑ์Šค ๊ฒ€์ƒ‰ ์†๋„๊ฐ€ ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค.

๋…ธ๋“œ๊ฐ€ ํ•˜๋‚˜์˜ ์ƒค๋“œ์—์„œ ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ๋ฌผ๋ฆฌ์  ์‹œ์Šคํ…œ์˜ ํ•˜์ดํผ์Šค๋ ˆ๋”ฉ ์ฝ”์–ด ์ˆ˜์™€ ๋™์ผํ•œ ์ˆ˜์˜ ์Šค๋ ˆ๋“œ๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ๊ฐ€ ๋‹ค์ˆ˜์˜ ์ƒค๋“œ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒฝ์šฐ ์Šค๋ ˆ๋“œ ์ˆ˜๊ฐ€ ๋น„๋ก€์ ์œผ๋กœ ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฒ€์ƒ‰ ์†๋„์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ  ์ƒˆ ๋ฐ์ดํ„ฐ์˜ ์ธ๋ฑ์‹ฑ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ๊ฒ€์ƒ‰ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด SSD๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์š”์ฒญ์„ ์‹ ์†ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ์ด๋Ÿฌํ•œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ์‹œ์Šคํ…œ์— ์ฝ”์–ด๊ฐ€ 56๊ฐœ ์ด์ƒ ์žˆ์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. 56์ด๋ผ๋Š” ์ˆซ์ž๋Š” Elasticsearch๊ฐ€ ์ž‘์—… ์ค‘์— ์ƒ์„ฑํ•  ์Šค๋ ˆ๋“œ ์ˆ˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์กฐ๊ฑด๋ถ€ ์ถฉ๋ถ„ ๊ฐ’์œผ๋กœ ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Elasitcsearch์—์„œ ๋งŽ์€ ์Šค๋ ˆ๋“œ ํ’€ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฝ”์–ด ์ˆ˜์— ์ง์ ‘์ ์œผ๋กœ ์˜์กดํ•˜๋ฉฐ, ์ด๋Š” "๋” ์ ์€ ์ฝ”์–ด - ๋” ๋งŽ์€ ๋…ธ๋“œ" ์›์น™์— ๋”ฐ๋ผ ํด๋Ÿฌ์Šคํ„ฐ์— ํ•„์š”ํ•œ ๋…ธ๋“œ ์ˆ˜์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

๊ทธ ๊ฒฐ๊ณผ, ํ‰๊ท ์ ์œผ๋กœ ์ƒค๋“œ ํ•˜๋‚˜์˜ ๋ฌด๊ฒŒ๋Š” ์•ฝ 20GB์ด๊ณ , ์ธ๋ฑ์Šค๋‹น ์ƒค๋“œ ์ˆ˜๋Š” 1๊ฐœ๋ผ๋Š” ๊ฒƒ์„ ์•Œ์•„๋ƒˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 360์‹œ๊ฐ„๋งˆ๋‹ค ํ•œ ๋ฒˆ์”ฉ ๊ต์ฒดํ•˜๋ฉด 48๊ฐœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์ธ๋ฑ์Šค์—๋Š” 15์ผ ๋™์•ˆ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ ํšŒ๋กœ

์ด ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ป๊ฒŒ ๊ธฐ๋ก๋˜๋Š”์ง€ ์•Œ์•„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Graylog์—์„œ ์ฝ”๋””๋„ค์ดํ„ฐ์—๊ฒŒ ์ผ๋ถ€ ์š”์ฒญ์ด ๋„์ฐฉํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 2~3๊ฐœ์˜ ํ–‰์„ ์ƒ‰์ธํ™”ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Graylog๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐ›์€ ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ๋งˆ์Šคํ„ฐ์—๊ฒŒ "์ธ๋ฑ์‹ฑ ์š”์ฒญ์—์„œ ์ธ๋ฑ์Šค๋ฅผ ๊ตฌ์ฒด์ ์œผ๋กœ ์ง€์ •ํ–ˆ์ง€๋งŒ ์ด๋ฅผ ์ž‘์„ฑํ•  ์ƒค๋“œ๊ฐ€ ์ง€์ •๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค."๋ผ๊ณ  ์งˆ๋ฌธํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์Šคํ„ฐ๋Š” "์ด ์ •๋ณด๋ฅผ ์ƒค๋“œ ๋ฒˆํ˜ธ 71์— ๊ธฐ๋กํ•˜์„ธ์š”"๋ผ๊ณ  ์‘๋‹ตํ•œ ํ›„ ๊ธฐ๋ณธ ์ƒค๋“œ ๋ฒˆํ˜ธ 71์ด ์žˆ๋Š” ๊ด€๋ จ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๋กœ ์ง์ ‘ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ๋Š” ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ์žˆ๋Š” ๋ณต์ œ๋ณธ ์ƒค๋“œ๋กœ ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค.

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

Graylog์—์„œ ์ฝ”๋””๋„ค์ดํ„ฐ์—๊ฒŒ ๊ฒ€์ƒ‰ ์š”์ฒญ์ด ๋„์ฐฉํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ์ธ๋ฑ์Šค์— ๋”ฐ๋ผ ์ด๋ฅผ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋Š” ๋ฐ˜๋ฉด Elasticsearch๋Š” ๋ผ์šด๋“œ ๋กœ๋นˆ ์›์น™์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ์ƒค๋“œ์™€ ๋ณต์ œ๋ณธ ์ƒค๋“œ ๊ฐ„์— ์š”์ฒญ์„ ๋ถ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

180๊ฐœ์˜ ๋…ธ๋“œ๋Š” ๊ณ ๋ฅด์ง€ ์•Š๊ฒŒ ์‘๋‹ตํ•˜๋ฉฐ, ์‘๋‹ตํ•˜๋Š” ๋™์•ˆ ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ๋” ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ์— ์˜ํ•ด ์ด๋ฏธ "๋ฑ‰์–ด๋‚ธ" ์ •๋ณด๋ฅผ ์ถ•์ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„ ๋ชจ๋“  ์ •๋ณด๊ฐ€ ๋„์ฐฉํ•˜๊ฑฐ๋‚˜ ์š”์ฒญ์ด ์‹œ๊ฐ„ ์ดˆ๊ณผ์— ๋„๋‹ฌํ•˜๋ฉด ๋ชจ๋“  ์ •๋ณด๊ฐ€ ํด๋ผ์ด์–ธํŠธ์— ์ง์ ‘ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ด ์ „์ฒด ์‹œ์Šคํ…œ์€ ํ‰๊ท ์ ์œผ๋กœ ์ง€๋‚œ 48์‹œ๊ฐ„ ๋™์•ˆ์˜ ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ๋ฅผ 300-400ms ๋‚ด์— ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ์•ž์— ์™€์ผ๋“œ์นด๋“œ๊ฐ€ ์žˆ๋Š” ์ฟผ๋ฆฌ๋Š” ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

Elasticsearch๋ฅผ ์‚ฌ์šฉํ•œ ๊ฝƒ: Java ์„ค์ •

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

๋ชจ๋“  ๊ฒƒ์ด ์›๋ž˜ ์›ํ–ˆ๋˜ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋‹ค์–‘ํ•œ ํ•ญ๋ชฉ์„ ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ ๋งค์šฐ ์˜ค๋žœ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.

๋ฐœ๊ฒฌ๋œ ๋ฌธ์ œ์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์€ Elasticsearch์—์„œ Java๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์ „ ๊ตฌ์„ฑ๋˜๋Š” ๋ฐฉ์‹๊ณผ ๊ด€๋ จ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ
Lucene ์ˆ˜์ค€์—์„œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์ด ์‹คํ–‰ ์ค‘์ผ ๋•Œ Lucene ์„ธ๊ทธ๋จผํŠธ ๋ณ‘ํ•ฉ์ด ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์‹คํŒจํ•œ๋‹ค๋Š” ๋ณด๊ณ ๊ฐ€ ๋งค์šฐ ๋งŽ์ด ๊ด€์ฐฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ๋กœ๊ทธ์—๋Š” ์ด๊ฒƒ์ด OutOfMemoryError ์˜ค๋ฅ˜๋ผ๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์›๊ฒฉ ์ธก์ •์„ ํ†ตํ•ด ์—‰๋ฉ์ด๊ฐ€ ์ž์œ ๋กœ์šด ๊ฒƒ์„ ๋ณด์•˜์œผ๋ฉฐ ์ด ์ž‘์—…์ด ์‹คํŒจํ•œ ์ด์œ ๋Š” ๋ช…ํ™•ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

Lucene ์ง€์ˆ˜ ๋ณ‘ํ•ฉ์€ ์—‰๋ฉ์ด ์™ธ๋ถ€์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ปจํ…Œ์ด๋„ˆ๋Š” ์†Œ๋น„๋˜๋Š” ๋ฆฌ์†Œ์Šค ์ธก๋ฉด์—์„œ ๋งค์šฐ ์—„๊ฒฉํ•˜๊ฒŒ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ํž™๋งŒ ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ(heap.size ๊ฐ’์€ ๋Œ€๋žต RAM๊ณผ ๋™์ผํ•จ) ์ผ๋ถ€ ์˜คํ”„ ํž™ ์ž‘์—…์€ ์–ด๋–ค ์ด์œ ๋กœ ์ œํ•œ ์ด์ „์— ๋‚จ์•„ ์žˆ๋Š” ~500MB์— ๋งž์ง€ ์•Š์œผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์ถฉ๋Œ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ • ์‚ฌํ•ญ์€ ๋งค์šฐ ๊ฐ„๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” RAM์˜ ์–‘์ด ์ฆ๊ฐ€ํ•œ ํ›„ ์šฐ๋ฆฌ๋Š” ๊ทธ๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์กฐ์ฐจ ์žŠ์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ XNUMX
ํด๋Ÿฌ์Šคํ„ฐ ์‹œ์ž‘ ํ›„ 4~5์ผ ํ›„์— ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋น ์ ธ๋‚˜์˜ค๊ณ  10~20์ดˆ ํ›„์— ํด๋Ÿฌ์Šคํ„ฐ์— ๋“ค์–ด๊ฐ€๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

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

์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์ด ์ž‘์—…์— ๊ฝค ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์œผ๋ฉฐ ์ด ์‹œ๊ฐ„ ๋™์•ˆ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ด ๋…ธ๋“œ๋ฅผ ์ด๋ฏธ ์ข…๋ฃŒ๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์ž˜ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

ํ•ด๊ฒฐ์ฑ…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์œ„ํ•ด ํž™ ์™ธ๋ถ€์˜ ๋Œ€๋Ÿ‰ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Java์˜ ๊ธฐ๋Šฅ์„ ์ œํ•œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ 16GB(-XX:MaxDirectMemorySize=16g)๋กœ ์ œํ•œํ•˜์—ฌ ๋ช…์‹œ์  GC๊ฐ€ ํ›จ์”ฌ ๋” ์ž์ฃผ ํ˜ธ์ถœ๋˜๊ณ  ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋˜์–ด ๋” ์ด์ƒ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋ถˆ์•ˆ์ •ํ•ด์ง€์ง€ ์•Š๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ XNUMX
โ€œ๊ฐ€์žฅ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ˆœ๊ฐ„์— ๋…ธ๋“œ๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋– ๋‚˜๋Š”โ€ ๋ฌธ์ œ๊ฐ€ ๋๋‚ฌ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด ์ฐฉ๊ฐ์ž…๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค๋กœ ์ž‘์—…์„ ๊ตฌ์„ฑํ•  ๋•Œ mmapfs๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ ์‹œ๊ฐ„์„ ์ค„์ด๋‹ค ํ›Œ๋ฅญํ•œ ์„ธ๋ถ„ํ™”๋ฅผ ๊ฐ–์ถ˜ ์‹ ์„ ํ•œ ์ƒค๋“œ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” mmapfs๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ํŒŒ์ผ์ด RAM์— ๋งคํ•‘๋œ ๋‹ค์Œ ๋งคํ•‘๋œ ํŒŒ์ผ๋กœ ์ž‘์—…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํฐ ์‹ค์ˆ˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด GC๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์Šค๋ ˆ๋“œ๋ฅผ ์ค‘์ง€ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋งค์šฐ ์˜ค๋žœ ์‹œ๊ฐ„ ๋™์•ˆ safepoint๋กœ ์ด๋™ํ•˜๊ณ  ๊ทธ๊ณณ์œผ๋กœ ๊ฐ€๋Š” ๋„์ค‘์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋งˆ์Šคํ„ฐ์˜ ์‚ด์•„ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์— ๋Œ€ํ•œ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์ค‘์ง€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. . ๋”ฐ๋ผ์„œ ๋งˆ์Šคํ„ฐ๋Š” ํ•ด๋‹น ๋…ธ๋“œ๊ฐ€ ๋” ์ด์ƒ ํด๋Ÿฌ์Šคํ„ฐ์— ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„ 5~10์ดˆ ํ›„์— ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๊ฐ€ ์ž‘๋™ํ•˜๊ณ  ๋…ธ๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ๋‹ค์‹œ ํด๋Ÿฌ์Šคํ„ฐ์— ๋“ค์–ด๊ฐ€ ์ƒค๋“œ ์ดˆ๊ธฐํ™”๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋ชจ๋‘ "์šฐ๋ฆฌ๊ฐ€ ๋งˆ๋•…ํžˆ ๋ฐ›์•„์•ผ ํ•  ์ œ์ž‘๋ฌผ"์ฒ˜๋Ÿผ ๋Š๊ปด์กŒ๊ณ  ์ง„์ง€ํ•œ ๊ฒƒ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด ๋™์ž‘์„ ์—†์• ๊ธฐ ์œ„ํ•ด ๋จผ์ € ํ‘œ์ค€ niofs๋กœ ์ „ํ™˜ํ•œ ๋‹ค์Œ Elastic์˜ ๋‹ค์„ฏ ๋ฒˆ์งธ ๋ฒ„์ „์—์„œ ์—ฌ์„ฏ ๋ฒˆ์งธ ๋ฒ„์ „์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ๋•Œ hybridfs๋ฅผ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ด ๋ฌธ์ œ๋Š” ์žฌํ˜„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ €์žฅ์†Œ ์œ ํ˜•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

๋ฌธ์ œ XNUMX
๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ๋ก์ ์ธ ์‹œ๊ฐ„ ๋™์•ˆ ๋‹ค๋ฃจ์—ˆ๋˜ ๋˜ ๋‹ค๋ฅธ ๋งค์šฐ ํฅ๋ฏธ๋กœ์šด ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํŒจํ„ด์ด ์ „ํ˜€ ์ดํ•ด๊ฐ€ ์•ˆ ๋˜๊ธฐ ๋•Œ๋ฌธ์— 2~3๊ฐœ์›” ๋™์•ˆ ์žก์•˜์Šต๋‹ˆ๋‹ค.

๋•Œ๋•Œ๋กœ ์šฐ๋ฆฌ ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ๋ณดํ†ต ์ ์‹ฌ ์‹์‚ฌ ํ›„์— Full GC์— ๊ฐ”๋‹ค๊ฐ€ ๋‹ค์‹œ๋Š” ๋Œ์•„์˜ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— GC ์ง€์—ฐ์„ ๊ธฐ๋กํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ์ง„ํ–‰๋˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ๊ฐ‘์ž๊ธฐ ๋ชจ๋“  ๊ฒƒ์ด ๋งค์šฐ ๋‚˜๋น ์กŒ์Šต๋‹ˆ๋‹ค.

์ฒ˜์Œ์— ์šฐ๋ฆฌ๋Š” ์ฝ”๋””๋„ค์ดํ„ฐ๋ฅผ ์ž‘์—… ๋ชจ๋“œ์—์„œ ์ข…๋ฃŒ์‹œํ‚ค๋Š” ์ผ์ข…์˜ ์š”์ฒญ์„ ์‹คํ–‰ํ•˜๋Š” ์‚ฌ์•…ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๋งค์šฐ ์˜ค๋žซ๋™์•ˆ ์š”์ฒญ์„ ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ๊ฒฐ๊ณผ, ์‚ฌ์šฉ์ž๊ฐ€ ๋Œ€๊ทœ๋ชจ ์š”์ฒญ์„ ์‹œ์ž‘ํ•˜๊ณ  ํŠน์ • Elasticsearch ์ฝ”๋””๋„ค์ดํ„ฐ์— ๋„๋‹ฌํ•˜๋Š” ์ˆœ๊ฐ„ ์ผ๋ถ€ ๋…ธ๋“œ๋Š” ๋‹ค๋ฅธ ๋…ธ๋“œ๋ณด๋‹ค ๋” ์˜ค๋ž˜ ์‘๋‹ตํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ๋ชจ๋“  ๋…ธ๋“œ์˜ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ ์ด๋ฏธ ์‘๋‹ตํ•œ ๋…ธ๋“œ๋“ค๋กœ๋ถ€ํ„ฐ ์ „์†ก๋œ ๊ฒฐ๊ณผ๋ฅผ ๋ˆ„์ ํ•œ๋‹ค. GC์˜ ๊ฒฝ์šฐ ์ด๋Š” ํž™ ์‚ฌ์šฉ ํŒจํ„ด์ด ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๋ณ€ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•œ GC๋Š” ์ด ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ์ƒํ™ฉ์—์„œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด ์ฐพ์€ ์œ ์ผํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์€ JDK13์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  Shenandoah ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๊ณ  ์ฝ”๋””๋„ค์ดํ„ฐ๊ฐ€ ๋„˜์–ด์ง€๋Š” ๊ฒƒ์„ ๋ฉˆ์ท„์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ Java ๋ฌธ์ œ๊ฐ€ ๋๋‚˜๊ณ  ๋Œ€์—ญํญ ๋ฌธ์ œ๊ฐ€ ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Elasticsearch๋ฅผ ์‚ฌ์šฉํ•œ "๋ฒ ๋ฆฌ": ์ฒ˜๋ฆฌ๋Ÿ‰

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

์ฒ˜๋ฆฌ๋Ÿ‰ ๋ฌธ์ œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜์ง€๋งŒ, ์ƒ‰์ธ๋œ ๋ฌธ์„œ ์ˆ˜๊ฐ€ ์ตœ๊ณ ์กฐ์— ๋‹ฌํ•˜๊ณ  ์กฐ์ž‘ ์ค‘์—๋Š” ์„ฑ๋Šฅ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์ฆ์ƒ: ํ”„๋กœ๋•์…˜ ์ค‘ ์ผ๋ถ€ "ํญ๋ฐœ" ์ค‘์— ๋งค์šฐ ๋งŽ์€ ์ˆ˜์˜ ๋กœ๊ทธ๊ฐ€ ๊ฐ‘์ž๊ธฐ ์ƒ์„ฑ๋˜๋ฉด ์ธ๋ฑ์‹ฑ ์˜ค๋ฅ˜ es_rejected_execution์ด Graylog์—์„œ ์ž์ฃผ ๊นœ๋ฐ•์ด๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” Elasticsearch๊ฐ€ ์ธ๋ฑ์‹ฑ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ •๋ณด๋ฅผ ๋””์Šคํฌ์˜ ์ƒค๋“œ์— ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ์— ์žˆ๋Š” thread_pool.write.queue๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ 200๊ฐœ์˜ ์š”์ฒญ๋งŒ ์บ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค ๋•Œ๋ฌธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Elasticsearch ๋ฌธ์„œ ์ด ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•ด์„œ๋Š” ์•Œ๋ ค์ง„ ๋ฐ”๊ฐ€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ์ตœ๋Œ€ ์Šค๋ ˆ๋“œ ์ˆ˜์™€ ๊ธฐ๋ณธ ํฌ๊ธฐ๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ก  ์šฐ๋ฆฌ๋Š” ์ด ๊ฐ’์„ ๋น„ํ‹€์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌ์‹ค์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์šฐ๋ฆฌ ์„ค์ •์—์„œ๋Š” ์ตœ๋Œ€ 300๊ฐœ์˜ ์š”์ฒญ์ด ์ƒ๋‹นํžˆ ์ž˜ ์บ์‹œ๋˜๊ณ  ๋” ๋†’์€ ๊ฐ’์€ ๋‹ค์‹œ Full GC๋กœ ์ด๋™ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค๋กœ ๊ฐ€๋“ ์ฐจ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด๋Š” ํ•˜๋‚˜์˜ ์š”์ฒญ ๋‚ด์— ๋„์ฐฉํ•˜๋Š” ๋ฉ”์‹œ์ง€ ๋ฐฐ์น˜์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฃผ, ์ž‘์€ ๋ฐฐ์น˜๋กœ ์“ฐ์ง€ ์•Š๊ณ  ๋Œ€๊ทœ๋ชจ ๋ฐฐ์น˜๋กœ ์“ฐ๊ฑฐ๋‚˜ ๋ฐฐ์น˜๊ฐ€ ์•„์ง ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ 3์ดˆ์— ํ•œ ๋ฒˆ์”ฉ ์“ฐ๋„๋ก Graylog๋ฅผ ์กฐ์ •ํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ Elasticsearch์— ์ž‘์„ฑํ•œ ์ •๋ณด๋Š” XNUMX์ดˆ๊ฐ€ ์•„๋‹ˆ๋ผ XNUMX์ดˆ(์šฐ๋ฆฌ์—๊ฒŒ ๋งค์šฐ ์ ํ•ฉํ•จ)์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์ง€๋งŒ, ๋Œ€๊ทœ๋ชจ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ†ต๊ณผํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ์žฌํŠธ๋ ˆ์ด ํšŸ์ˆ˜๊ฐ€ ๋งŽ์€ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ •๋ณด์˜ ์Šคํƒ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

์ด๋Š” ์–ด๋”˜๊ฐ€์—์„œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์—ฌ ์ด์— ๋Œ€ํ•ด ๊ฒฉ๋ ฌํ•˜๊ฒŒ ๋ณด๊ณ ํ•˜๋Š” ์ˆœ๊ฐ„์— ํŠนํžˆ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์™„์ „ํžˆ ์ŠคํŒธ ์ฒ˜๋ฆฌ๋œ Elastic์„ ์–ป์ง€ ๋ชปํ•˜๊ณ  ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๋ง‰ํžŒ ๋ฒ„ํผ๋กœ ์ธํ•ด ์ž‘๋™ํ•  ์ˆ˜ ์—†๋Š” Graylog ๋…ธ๋“œ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ƒ์‚ฐ์ด ์ด์™€ ๊ฐ™์ด ํญ๋ฐœ์ ์œผ๋กœ ์ฆ๊ฐ€ํ–ˆ์„ ๋•Œ ํ”„๋กœ๊ทธ๋ž˜๋จธ์™€ ํ…Œ์Šคํ„ฐ๋กœ๋ถ€ํ„ฐ ๋ถˆ๋งŒ์„ ์ ‘์ˆ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ด๋Ÿฌํ•œ ๋กœ๊ทธ๊ฐ€ ํ•„์š”ํ•œ ์ˆœ๊ฐ„์— ๋กœ๊ทธ๊ฐ€ ๋งค์šฐ ๋Š๋ฆฌ๊ฒŒ ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋“ค์€ ๊ทธ๊ฒƒ์„ ์•Œ์•„๋‚ด๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•œํŽธ์œผ๋กœ๋Š” ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ์™€ ์ธ๋ฑ์‹ฑ ์ฟผ๋ฆฌ๊ฐ€ ๋ณธ์งˆ์ ์œผ๋กœ ๋™์ผํ•œ ๋ฌผ๋ฆฌ์  ์‹œ์Šคํ…œ์—์„œ ์ฒ˜๋ฆฌ๋˜์—ˆ์œผ๋ฉฐ ์–ด๋–ค ์‹์œผ๋กœ๋“  ํŠน์ • ๋‹จ์ ์ด ์žˆ์„ ๊ฒƒ์ด ๋ถ„๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” Elasticsearch์˜ ์—ฌ์„ฏ ๋ฒˆ์งธ ๋ฒ„์ „์—์„œ ๋ฌด์ž‘์œ„ ๋ผ์šด๋“œ ๋กœ๋นˆ ์›์น™(์ธ๋ฑ์‹ฑ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ)์— ๋”ฐ๋ฅด์ง€ ์•Š๊ณ  ๊ด€๋ จ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ ๊ฐ„์— ์ฟผ๋ฆฌ๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋“ฑ์žฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€๋ถ„์ ์œผ๋กœ ์šฐํšŒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒค๋“œ๋Š” ๋งค์šฐ ๋ฐ”์  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋น ๋ฅด๊ฒŒ ์‘๋‹ตํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์š”์ฒญ์„ ๋ณต์ œ๋ณธ ์ƒค๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๋“œ๊ฐ€ ์ ์€ ์ปจํ…Œ์ด๋„ˆ์— ์ „๋‹ฌํ•˜๋ฉด ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, use_adaptive_replica_selection: true์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋…์„œ ๊ทธ๋ฆผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ด๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ „ํ™˜ํ•˜๋ฉด ์ž‘์„ฑํ•  ๋กœ๊ทธ ํ๋ฆ„์ด ๋งŽ์„ ๋•Œ ์ฟผ๋ฆฌ ์‹œ๊ฐ„์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ, ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋Š” ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜๋‚˜์˜ DC์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง„ ์งํ›„ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์›ํ•˜๋Š” ๊ฒƒ:

  • ์‹คํŒจํ•œ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ํ˜„์žฌ ๋งˆ์Šคํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹ค์‹œ ์„ ํƒ๋˜์–ด ๋‹ค๋ฅธ DC์˜ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ์—ญํ• ๋กœ ์ด๋™๋ฉ๋‹ˆ๋‹ค.
  • ๋งˆ์Šคํ„ฐ๋Š” ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†๋Š” ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋‚˜๋จธ์ง€ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ทธ๋Š” ์†์‹ค๋œ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ์ด๋Ÿฌํ•œ ์ฃผ์š” ์ƒค๋“œ๊ฐ€ ์žˆ์—ˆ๊ณ  ๋‚˜๋จธ์ง€ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ ๋ณด์™„์ ์ธ ๋ณต์ œ๋ณธ ์ƒค๋“œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์Šน๊ฒฉํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์ธ๋ฑ์‹ฑ์„ ๊ณ„์†ํ•  ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ์ดํ•ดํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๊ฒฐ๊ณผ์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์“ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ ์ฒ˜๋ฆฌ๋Ÿ‰์€ ์ ์ฐจ ์ €ํ•˜๋˜์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“  ๊ฒƒ์ด ๋Š๋ฆฌ์ง€๋งŒ ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์›ํ–ˆ์Šต๋‹ˆ๋‹ค.

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค:

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

์–ด๋–ป๊ฒŒ ๋œ๊ฑฐ์•ผ?

๋ฐ์ดํ„ฐ ์„ผํ„ฐ๊ฐ€ ๋ฌด๋„ˆ์ง€์ž ์šฐ๋ฆฌ ๋งˆ์Šคํ„ฐ๊ฐ€ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค.

์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์‚ฌ์‹ค ๋งˆ์Šคํ„ฐ์—๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ํŠน์ • ์ž‘์—… ๋ฐ ์ด๋ฒคํŠธ ๋ฐฐํฌ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” TaskBatcher๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋…ธ๋“œ ์ข…๋ฃŒ, ๋ณต์ œ๋ณธ์—์„œ ๊ธฐ๋ณธ์œผ๋กœ์˜ ์ƒค๋“œ ์Šน๊ฒฉ, ์–ด๋”˜๊ฐ€์— ์ƒค๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋“  ์ž‘์—… ๋“ฑ์ด ๋ชจ๋‘ ๋จผ์ € TaskBatcher๋กœ ์ด๋™ํ•˜์—ฌ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์—์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๊ฐ€ ์ฒ ์ˆ˜๋  ๋‹น์‹œ, ๋‚จ์•„ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๋Š” ๋งˆ์Šคํ„ฐ์—๊ฒŒ "์šฐ๋ฆฌ๋Š” ์ด๋Ÿฐ ์ƒค๋“œ์™€ ์ €๋Ÿฐ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๋ฅผ ์žƒ์—ˆ์Šต๋‹ˆ๋‹ค"๋ผ๊ณ  ์•Œ๋ฆฌ๋Š” ๊ฒƒ์„ ์ž์‹ ์˜ ์˜๋ฌด๋กœ ๊ฐ„์ฃผํ•œ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

๋™์‹œ์—, ์‚ด์•„๋‚จ์€ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๋Š” ์ด ๋ชจ๋“  ์ •๋ณด๋ฅผ ํ˜„์žฌ ๋งˆ์Šคํ„ฐ์—๊ฒŒ ๋ณด๋‚ด๊ณ  ๊ทธ๊ฐ€ ์ด๋ฅผ ์ˆ˜๋ฝํ–ˆ๋‹ค๋Š” ํ™•์ธ์„ ๊ธฐ๋‹ค๋ฆฌ๋ ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์ธ์ด ๋Œ€๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋นจ๋ฆฌ ์ž‘์—…์„ ๋ฐ›์•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋“ค์€ ์ด๊ฒƒ์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ๋Š” ๋ฐ˜๋ณต๋˜๋Š” ์š”์ฒญ ์‹œ๊ฐ„์„ ์ดˆ๊ณผํ–ˆ์œผ๋ฉฐ ์ด๋•Œ ๋งˆ์Šคํ„ฐ๋Š” ์‘๋‹ต์„ ์‹œ๋„์กฐ์ฐจํ•˜์ง€ ์•Š๊ณ  ์šฐ์„  ์ˆœ์œ„์— ๋”ฐ๋ผ ์š”์ฒญ์„ ์ •๋ ฌํ•˜๋Š” ์ž‘์—…์— ์™„์ „ํžˆ ๋ชฐ๋‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ„ฐ๋ฏธ๋„ ํ˜•ํƒœ์—์„œ๋Š” ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๊ฐ€ ์ „์ฒด GC๋กœ ์ด๋™ํ•˜๋Š” ์ง€์ ๊นŒ์ง€ ๋งˆ์Šคํ„ฐ์— ์ŠคํŒธ์„ ๋ณด๋‚ธ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ทธ ํ›„ ์šฐ๋ฆฌ์˜ ๋งˆ์Šคํ„ฐ ์—ญํ• ์€ ๋‹ค์Œ ๋…ธ๋“œ๋กœ ์ด๋™ํ–ˆ๊ณ  ์™„์ „ํžˆ ๋™์ผํ•œ ์ผ์ด ๋ฐœ์ƒํ–ˆ์œผ๋ฉฐ ๊ฒฐ๊ณผ์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์™„์ „ํžˆ ๋ถ•๊ดด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ธก์ • ๊ฒฐ๊ณผ, ์ด ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋œ ๋ฒ„์ „ 6.4.0 ์ด์ „์—๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์™„์ „ํžˆ ์ข…๋ฃŒํ•˜๋ ค๋ฉด 10๊ฐœ ์ค‘ 360๊ฐœ์˜ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๋งŒ ๋™์‹œ์— ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์˜€์Šต๋‹ˆ๋‹ค:

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

์ด ๋”์ฐํ•œ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋œ ๋ฒ„์ „ 6.4.0 ์ดํ›„์—๋Š” ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๊ฐ€ ๋งˆ์Šคํ„ฐ ์ข…๋ฃŒ๋ฅผ ์ค‘๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๊ฒƒ์ด ๊ทธ๋ฅผ "๋” ๋˜‘๋˜‘ํ•˜๊ฒŒ" ๋งŒ๋“ค์ง€๋Š” ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, 2๊ฐœ, 3๊ฐœ ๋˜๋Š” 10๊ฐœ(XNUMX๊ฐœ ์ด์™ธ์˜ ๋ชจ๋“  ์ˆ˜)์˜ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋งˆ์Šคํ„ฐ๋Š” ๋…ธ๋“œ A๊ฐ€ ๋– ๋‚ฌ๋‹ค๋Š” ์ฒซ ๋ฒˆ์งธ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  ๋…ธ๋“œ B, ๋…ธ๋“œ C, ๋…ธ๋“œ D์— ์ด์— ๋Œ€ํ•ด ์•Œ๋ฆฌ๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ˜„์žฌ ์ด ๋ฌธ์ œ๋Š” ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ๋ฌด์–ธ๊ฐ€๋ฅผ ์•Œ๋ฆฌ๋ ค๋Š” ์‹œ๋„์— ๋Œ€ํ•ด ์•ฝ 20-30์ดˆ์˜ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋ฅผ ์„ค์ •ํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ–์œผ๋กœ ์ด๋™ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์˜ ์†๋„๋ฅผ ์ œ์–ดํ•จ์œผ๋กœ์จ๋งŒ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›์น™์ ์œผ๋กœ ์ด๋Š” ํ”„๋กœ์ ํŠธ์˜ ์ผ๋ถ€๋กœ ์ตœ์ข… ์ œํ’ˆ์— ์ฒ˜์Œ ์ œ์‹œ๋œ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋ถ€ํ•ฉํ•˜์ง€๋งŒ "์ˆœ์ˆ˜ ๊ณผํ•™"์˜ ๊ด€์ ์—์„œ ๋ณด๋ฉด ์ด๋Š” ๋ฒ„๊ทธ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ๋ฒ„์ „ 7.2์—์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”์šฑ์ด, ํŠน์ • ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๊ฐ€ ๋‚˜๊ฐ€๋ฉด, ๊ทธ ์ถœ๊ตฌ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ „ํŒŒํ•˜๋Š” ๊ฒƒ์ด ์ „์ฒด ํด๋Ÿฌ์Šคํ„ฐ์— ๊ทธ๋Ÿฌํ•œ ๊ธฐ๋ณธ ์ƒค๋“œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์•Œ๋ฆฌ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ด ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค(๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์—์„œ ๋ณต์ œ๋ณธ ์ƒค๋“œ๋ฅผ ์Šน๊ฒฉ์‹œํ‚ค๊ธฐ ์œ„ํ•ด). ๊ธฐ๋ณธ ์„ผํ„ฐ์— ์ •๋ณด๊ฐ€ ๊ธฐ๋ก๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).

๋”ฐ๋ผ์„œ ๋ชจ๋“  ๊ฒƒ์ด ์ด๋ฏธ ์ค‘๋‹จ๋œ ๊ฒฝ์šฐ ๋ฆด๋ฆฌ์Šค๋œ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๋Š” ์ฆ‰์‹œ ์˜ค๋ž˜๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ํ•ด์ œ๋œ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ์— ๋Œ€ํ•œ ๋ชจ๋“  ํ•‘ ์‹œ๊ฐ„์ด ์ดˆ๊ณผ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋ฉฐ, ๊ทธ ํ›„์—์•ผ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ •๋ณด ๊ธฐ๋ก์„ ๊ณ„์†ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ฃผ๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

๊ทธ ๊ฒฐ๊ณผ ์˜ค๋Š˜ ๋ฐ์ดํ„ฐ์„ผํ„ฐ ์ฒ ์ˆ˜ ์ž‘์—…์€ ์ถœํ‡ด๊ทผ ์‹œ๊ฐ„์— 5๋ถ„ ์ •๋„ ์†Œ์š”๋œ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํฌ๊ณ  ์„œํˆฌ๋ฅธ ๊ฑฐ์ƒ์—๊ฒŒ๋Š” ์ด๊ฒƒ์€ ๊ฝค ์ข‹์€ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค.

๊ทธ ๊ฒฐ๊ณผ, ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ์ •์„ ๋‚ด๋ ธ์Šต๋‹ˆ๋‹ค.

  • ์šฐ๋ฆฌ๋Š” 360GB ๋””์Šคํฌ๋ฅผ ๊ฐ–์ถ˜ 700๊ฐœ์˜ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ์„ ๋ผ์šฐํŒ…ํ•˜๊ธฐ ์œ„ํ•œ 60๊ฐœ์˜ ์ฝ”๋””๋„ค์ดํ„ฐ.
  • 40 ์ด์ „ ๋ฒ„์ „๋ถ€ํ„ฐ ์ผ์ข…์˜ ์œ ์‚ฐ์œผ๋กœ ๋‚จ๊ฒจ๋‘” ๋งˆ์Šคํ„ฐ 6.4.0๊ฐœ - ๋ฐ์ดํ„ฐ์„ผํ„ฐ ์ฒ ์ˆ˜์—๋„ ์‚ด์•„๋‚จ๊ธฐ ์œ„ํ•ด, ๋งˆ์Šคํ„ฐ ์ •์กฑ์ˆ˜ ํ™•๋ณด๋ฅผ ์œ„ํ•ด ๋ช‡ ๋Œ€์˜ ๋จธ์‹ ์„ ์žƒ์„ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์ •์‹ ์  ์ค€๋น„๊ฐ€ ๋˜์–ด ์žˆ์—ˆ๋‹ค. ์ตœ์•…์˜ ์‹œ๋‚˜๋ฆฌ์˜ค
  • ํ•˜๋‚˜์˜ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์—ญํ• ์„ ๊ฒฐํ•ฉํ•˜๋ ค๋Š” ๋ชจ๋“  ์‹œ๋„๋Š” ์กฐ๋งŒ๊ฐ„ ๋…ธ๋“œ๊ฐ€ ๋ถ€ํ•˜๋กœ ์ธํ•ด ์ค‘๋‹จ๋œ๋‹ค๋Š” ์‚ฌ์‹ค์— ์ง๋ฉดํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ „์ฒด ํด๋Ÿฌ์Šคํ„ฐ๋Š” 31GB์˜ heap.size๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ธฐ๋ฅผ ์ค„์ด๋ ค๋Š” ๋ชจ๋“  ์‹œ๋„๋Š” ์•ž์— ์™€์ผ๋“œ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ๊ณผ๋„ํ•œ ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ์—์„œ ์ผ๋ถ€ ๋…ธ๋“œ๋ฅผ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜ Elasticsearch ์ž์ฒด์—์„œ ํšŒ๋กœ ์ฐจ๋‹จ๊ธฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
  • ๋˜ํ•œ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋งˆ์Šคํ„ฐ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ณ‘๋ชฉ ํ˜„์ƒ์—์„œ ๊ฐ€๋Šฅํ•œ ์ ์€ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐœ์ฒด ์ˆ˜๋ฅผ ๊ฐ€๋Šฅํ•œ ํ•œ ์ ๊ฒŒ ์œ ์ง€ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง์— ๋Œ€ํ•ด

์ด ๋ชจ๋“  ๊ฒƒ์ด ์˜๋„ํ•œ ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฐ ๋ฐ์ดํ„ฐ ๋…ธ๋“œ๋Š” ํด๋ผ์šฐ๋“œ์— ์ž์‹ ์ด ์กด์žฌํ•˜๋ฉฐ ๊ทธ๋Ÿฌํ•œ ์ƒค๋“œ๊ฐ€ ์žˆ์Œ์„ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์–ด๋”˜๊ฐ€์—์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๋„๋ฉด ํด๋Ÿฌ์Šคํ„ฐ๋Š” 2~3์ดˆ ํ›„์— ์„ผํ„ฐ A์—์„œ ๋…ธ๋“œ 2, 3, 4๋ฅผ ๋„์—ˆ๋‹ค๊ณ  ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ๋Š” ์–ด๋–ค ์ƒํ™ฉ์—์„œ๋„ ์ƒค๋“œ๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ ๋Œ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์™ผ์ชฝ.
  • ๋งˆ์Šคํ„ฐ ํ–‰๋™์˜ ์„ฑ๊ฒฉ์„ ์•Œ๋ฉด์„œ ์šฐ๋ฆฌ๋Š” ๋Œ€๊ธฐ ์ค‘์ธ ์ž‘์—…์˜ ์ˆ˜๋ฅผ ๋งค์šฐ ์ฃผ์˜ ๊นŠ๊ฒŒ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ๋ฉˆ์ถ˜ ์ž‘์—…์ด๋ผ๋„ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉด ์ด๋ก ์ ์œผ๋กœ ์ผ๋ถ€ ๊ธด๊ธ‰ ์ƒํ™ฉ์—์„œ๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธฐ๋ณธ ๋ณต์ œ๋ณธ์˜ ๋ณต์ œ๋ณธ ์ƒค๋“œ ์Šน๊ฒฉ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์•„ ์ธ๋ฑ์‹ฑ ์ž‘๋™์ด ์ค‘์ง€๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋˜ํ•œ ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ์ด๋ฏธ ํฐ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ ์ง€์—ฐ๋„ ๋งค์šฐ ์ž์„ธํžˆ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.
  • ๋ณ‘๋ชฉ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๋Š” ์œ„์น˜๋ฅผ ๋ฏธ๋ฆฌ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์Šค๋ ˆ๋“œ๋ณ„๋กœ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.
  • ํž™, RAM, I/O์™€ ๊ฐ™์€ ํ‘œ์ค€ ๋ฉ”ํŠธ๋ฆญ์ž…๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ตฌ์ถ•ํ•  ๋•Œ Elasticsearch์˜ ์Šค๋ ˆ๋“œ ํ’€ ๊ธฐ๋Šฅ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Elasticsearch ๋ฌธ์„œ ๊ฒ€์ƒ‰ ๋ฐ ์ธ๋ฑ์‹ฑ์„ ์œ„ํ•œ ๊ตฌ์„ฑ ์˜ต์…˜ ๋ฐ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค๋ช…ํ•˜์ง€๋งŒ thread_pool.management์— ๋Œ€ํ•ด์„œ๋Š” ์ „ํ˜€ ์„ค๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์Šค๋ ˆ๋“œ๋Š” ํŠนํžˆ _cat/shards ๋ฐ ๊ธฐํƒ€ ์œ ์‚ฌํ•œ ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง ์ž‘์„ฑ ์‹œ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ํด์ˆ˜๋ก ๋‹จ์œ„ ์‹œ๊ฐ„๋‹น ๋” ๋งŽ์€ ์š”์ฒญ์ด ์‹คํ–‰๋˜๋ฉฐ ์•ž์„œ ์–ธ๊ธ‰ํ•œ thread_pool.management๋Š” ๊ณต์‹ ๋ฌธ์„œ์— ํ‘œ์‹œ๋˜์ง€ ์•Š์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ธฐ๋ณธ์ ์œผ๋กœ 5๊ฐœ์˜ ์Šค๋ ˆ๋“œ๋กœ ์ œํ•œ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ดํ›„ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ํ๊ธฐ๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋ชจ๋‹ˆํ„ฐ๋ง์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”์ง€.

๊ฒฐ๋ก ์ ์œผ๋กœ ๋งํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ์€: ์šฐ๋ฆฌ๊ฐ€ ํ•ด๋ƒˆ๋‹ค! ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์™€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๊ฑฐ์˜ ๋ชจ๋“  ์ƒํ™ฉ์—์„œ ํ”„๋กœ๋•์…˜์—์„œ ์ผ์–ด๋‚˜๋Š” ์ผ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ, ๊ฝค ๋ณต์žกํ•œ ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋˜์—ˆ์ง€๋งŒ ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์„ ๊ธฐ์กด ์ œํ’ˆ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŒจ์น˜ํ•˜๊ณ  ๋‹ค์‹œ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ 200TB ์ด์ƒ

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€