๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
1๏ธโƒฃ Web/๊ธฐํƒ€

[Web] ElasticSearch ์ ์šฉ ๋ฐฉ์•ˆ ํƒ์ƒ‰

by seolhee2750 2023. 4. 2.

๐Ÿ“ ElasticSearch ๊ธฐ๋ณธ ๊ฐœ๋… ์š”์•ฝ

์šฐ์„  ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์ ์šฉํ•œ ElasticSearch์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

๋‚ด๊ฐ€ ElasticSearch๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ค‘์š”ํ•˜๊ฒŒ ์ž‘์šฉํ•œ ๋ถ€๋ถ„๋“ค๋งŒ ์ถ”๋ ค์„œ ์ ์–ด๋ณธ๋‹ค.

 

๐Ÿ’ก ELK

ElasticSearch์— ๋Œ€ํ•ด ๊ณต๋ถ€๋ฅผ ํ•˜๋‹ค๋ณด๋ฉด ELK Stack์ด๋ผ๋Š” ๋ง์„ ๋งŽ์ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

ELK๋Š” ElasticSearch, Logstash, Kibana์˜ ์ค„์ž„๋ง์ธ๋ฐ

๋ฐ์ดํ„ฐ ๋กœ๊ทธ๋“ค์ด Logstash๋ฅผ ๊ฑฐ์ณ ElasticSearch์— ์ €์žฅ๋˜๊ณ , ์ด๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ Kibana์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‚ด์šฉ์ด๋‹ค.

  • Logstash  |  ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๋กœ๊ทธ ๋˜๋Š” ํŠธ๋žœ์žญ์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘, ์ง‘๊ณ„, ํŒŒ์‹ฑํ•˜์—ฌ ElasticSearch๋กœ ์ „๋‹ฌ
  • ElasitcSearch  |  Logstash๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ , ๊ฒ€์ƒ‰ ๋ฐ ์ง‘๊ณ„ํ•˜์—ฌ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํš๋“
  • Kibana  |  ElasticSearch์˜ ๋™์ž‘์„ ์‹œ๊ฐํ™” ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง

 

๐Ÿ’ก ElasticSerach ๋ฐ์ดํ„ฐ ์ €์žฅ

ElasitcSearch๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ๋ถ„๋“ค์ด๋ผ๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋””์— ์ €์žฅํ•˜๋Š”๊ฑด์ง€ ์˜๋ฌธ์ด ๋“ค ์ˆ˜ ์žˆ๋Š”๋ฐ,

ElasticSearch๋งŒ์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ๊ฐ€ ์žˆ๊ณ , ๋˜ ๊ทธ๋“ค๋งŒ์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ ํ˜•ํƒœ๊ฐ€ ์ •ํ•ด์ ธ์žˆ๋‹ค.

 

ํ”ํžˆ ์‚ฌ์šฉ๋˜๋Š” RDB์™€ ๋น„๊ตํ•˜์ž๋ฉด

Database๋Š” Index, Table์€ Type, column์€ Field, row๋Š” Document๋กœ ๊ฐ๊ฐ ๋งคํ•‘๋œ๋‹ค.

https://steemit.com/elasticsearch/@secmon/elasticsearch

 

๊ทธ๋ฆฌ๊ณ  RDB์™€ ์„ฑ๋Šฅ์ ์ธ ์ธก๋ฉด์—์„œ๋„ ๋น„๊ต๋˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋Š”๋ฐ,

๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ์— ๋Œ€ํ•ด์„œ๋Š” RDB๊ฐ€ ์„ฑ๋Šฅ์ด ์šฐ์›”ํ•˜๋ฉฐ

ํ•˜๋‚˜์˜ ํ…€(ํ˜น์€ ๋‹จ์–ด)๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ์ฐพ๋„๋ก ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์— ์žˆ์–ด์„œ๋Š” ElasticSearch๊ฐ€ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ธ๋‹ค.

 

๐Ÿ’ก ์—ญ์ƒ‰์ธ

ElasticSearch๊ฐ€ ์ „์ฒด ๋ฌธ์„œ๋ฅผ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜์ง€ ์•Š์•„๋„ ๊ธˆ๋ฐฉ ํ•˜๋‚˜์˜ ๋‹จ์–ด๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๋น„๊ฒฐ์ด ๋ฐ”๋กœ ์—ญ์ƒ‰์ธ์ด๋‹ค.

์ €์žฅ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋– ํ•œ ๋ถ„์„๊ธฐ(์„ ํƒ ๊ฐ€๋Šฅ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ„์„ํ•˜๊ณ , index์— ์ €์žฅํ•œ๋‹ค.

 

ElasticSearch์˜ ๊ธฐ๋ณธ ๋ถ„์„๊ธฐ๋Š” WhiteSpace๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š”๋ฐ,

์˜ˆ๋ฅผ ๋“ค์–ด '๋™ํ•ด๋ฌผ๊ณผ ๋ฐฑ๋‘์‚ฐ์ด'๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ์žˆ๋‹ค๋ฉด '๋™ํ•ด๋ฌผ๊ณผ'์™€ '๋ฐฑ๋‘์‚ฐ์ด'๋กœ ์ชผ๊ฐœ์–ด ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 


๐Ÿ“ Elastic Search ์ ์šฉ ๋ฐฉ์•ˆ ํƒ์ƒ‰

์œ„์˜ ๊ฐœ๋…์„ ๊ฐ€์ง€๊ณ  ์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•  ๋ฐฉ์•ˆ์„ ํƒ์ƒ‰ํ–ˆ๋˜ ๊ณผ์ •์„ ์„œ์ˆ ํ•œ๋‹ค.

 

๐Ÿ’ก ELK๊ฐ€ ํ•„์š”ํ•œ๊ฐ€?

๋‚ด๊ฐ€ ์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ „ํ†ต์ฃผ์˜ ์ด๋ฆ„์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ Index๋กœ ์ €์žฅํ•˜๊ณ ,

์ „ํ†ต์ฃผ ๊ฒ€์ƒ‰ ์‹œ ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ ์ž ElasticSearch ๋„์ž…์„ ๊ฒฐ์ •ํ–ˆ๋‹ค.

 

์ฒ˜์Œ์—๋Š” ElasticSearch๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉฐ ELK๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋‹น์—ฐํ•œ ์ˆ˜์ˆœ๊ฐ™์ด ๋Š๊ปด์ ธ์„œ

Logstash๋ฅผ ์ด์šฉํ•˜์—ฌ ์ฃผ๊ธฐ์ ์œผ๋กœ MySQL์˜ ์ „ํ†ต์ฃผ ํ…Œ์ด๋ธ”์„ ํ™•์ธํ•˜์—ฌ ์‹ฑํฌ๋ฅผ ๋งž์ถฐ์ฃผ๋Š” ์ž‘์—…์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

(input ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  cron ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ Logstash ์ž‘์„ฑ)

 

๊ทธ๋Ÿฌ๋‚˜ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์—ฌ๋Ÿฌ ์ด์œ ๋กœ Logstash ์‚ฌ์šฉ์ด ๋ฌด์˜๋ฏธํ•จ์„ ๊นจ๋‹ฌ์•˜๋‹ค.

์ „ํ†ต์ฃผ์˜ ์ด๋ฆ„ ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ์—๋Š” ๋ณ€๋™์ด ๊ฑฐ์˜ ์—†์œผ๋ฏ€๋กœ

MySQL์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ํ™•์ธํ•˜์—ฌ ์‹ฑํฌ๋ฅผ ๋งž์ถฐ์ฃผ๋Š” ์ž‘์—…์ด ๋น„ํšจ์œจ์ ์ผ ๊ฒƒ์ด๋ฉฐ,

๋ณ€๋™์ด ์žˆ๋‹ค๊ณ  ํ•ด๋„ ํ•˜๋‚˜์”ฉ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•ด์ฃผ๋Š” ๊ณผ์ •์ด RDB์— ๋น„ํ•ด

์„ฑ๋Šฅ์ƒ์˜ ์ด์ ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ตณ์ด Logstash๋ฅผ ์ด์šฉํ•  ์ด์œ ๊ฐ€ ์—†์—ˆ๋‹ค.

 

์ถ”๊ฐ€์ ์œผ๋กœ, ๋‘ ๊ฐ€์ง€ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•˜์—ฌ ELK๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ๋กœ ํ™•์ •ํ–ˆ๋‹ค.

1๏ธโƒฃ '์‹œ์ž‘ํ•˜์„ธ์š”! ์—˜๋ผ์Šคํ‹ฑ์„œ์น˜'๋ฅผ ์ง‘ํ•„ํ•˜์‹  ๊น€์ข…๋ฏผ๋‹˜์˜ ๊ธ€

์—˜๋ผ์Šคํ‹ฑ์„œ์น˜ ์‚ฌ์šฉ๋ฒ• - Jongmin's Lifelog (kimjmin.net)

 

์—˜๋ผ์Šคํ‹ฑ์„œ์น˜ ์‚ฌ์šฉ๋ฒ• - Jongmin's Lifelog

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

kimjmin.net

 

์œ„ ๊ธ€์—์„œ๋Š” ํ˜„์—…์˜ ElasticSearch ํ™œ์šฉ ๋ฐฉ์•ˆ์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ์ ํ˜€์žˆ๋Š”๋ฐ, ์š”์•ฝํ•˜์ž๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

ํ˜น์‹œ ๋ชจ๋ฅผ ๋ฐ์ดํ„ฐ ์œ ์‹ค ๋“ฑ์— ๋Œ€๋น„ํ•˜์—ฌ ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ Logstash์— ์ž…๋ ฅ ๊ฐ€๋Šฅํ•œ JSON ํ˜•์‹์œผ๋กœ ์ €์žฅํ•˜๊ณ ,
S3์— ์••์ถ•ํ•˜์—ฌ ๋ณด๊ด€ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•จ

๊น€์ข…๋ฏผ๋‹˜์˜ ๊ฒฝ์šฐ, ๋งค์ผ 10GB์ •๋„ ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ JSON์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ ,
Logstash๋กœ ์ž…๋ ฅํ•œ ๋‹ค์Œ ๋ณ€ํ™˜ ํŒŒ์ผ์€ tar.gz๋กœ ์••์ถ•ํ•˜์—ฌ S3 ๋ฒ„ํ‚ท์— ๋งค์ผ ๋‚ ์งœ๋ณ„๋กœ ๋ฐฑ์—…ํ•˜๋Š” ์‹์œผ๋กœ ์šด์˜
๐Ÿ‘‰ ํ…์ŠคํŠธ ํŒŒ์ผ์ด๊ธฐ ๋•Œ๋ฌธ์— ์••์ถ• ์‹œ 1/100 ์ •๋„๋กœ ์ค„์–ด๋“ค๋ฉฐ, S3๋Š” ์‚ฌ์šฉ๋ฃŒ๊ฐ€ ์ €๋ ดํ•˜์—ฌ ๋ฐฑ์—…ํ•˜๊ธฐ ์ข‹์Œ

์šด์˜ํ•˜๋Š” ์„œ๋น„์Šค์— ๋”ฐ๋ผ ๋‹ค๋ฅด์ง€๋งŒ,
ES์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋ณ€ํ˜•์ด๋‚˜ ๊ฐ€๊ณต์„ ๋˜๋„๋ก ์ง€์–‘ํ•˜๊ณ  ๋ฌด๊ฒฐ์„ฑ์— ๋Œ€ํ•œ ๊ธฐ๋Œ€๋„ ํ•˜์ง€ ์•Š์œผ๋ฉฐ
์ˆœ์ˆ˜ํ•˜๊ฒŒ ๊ฒ€์ƒ‰๊ณผ ํ†ต๊ณ„๋ฅผ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•จ
(๋ฐ์ดํ„ฐ๋ฅผ ๋ฌด๊ฒฐํ•˜๊ฒŒ ์œ ์ง€ํ•˜๊ณ ์ž ์ง€๋‚˜์น˜๊ฒŒ ์ž์ฃผ Logstash๋ฅผ ์ด์šฉํ•ด RDB๋ฅผ ๊ฒ€์‚ฌํ•˜๊ฒŒ ๋˜๋ฉด
์„ฑ๋Šฅ์— ์•ˆ์ข‹์€ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Œ)

 

์œ„์˜ ๋‚ด์šฉ์œผ๋กœ ๋ณด์•˜์„ ๋•Œ, ๋ถˆํ•„์š”ํ•˜๊ฒŒ MySQL์„ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์€ ์„ฑ๋Šฅ์ƒ ์ข‹์ง€ ๋ชปํ•˜๋ฉฐ

ElasticSearch์— ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ 'ํ•œ ๋ฒˆ์—' ๋„ฃ๊ณ  ๋นผ๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋œ๋‹ค๊ณ  ๋ณด์—ฌ์กŒ๋‹ค.

(ํŠนํžˆ ๋ฐ์ดํ„ฐ ๋ณ€๋™์ด ๊ฑฐ์˜ ์—†๋Š” ์ „ํ†ต์ฃผ ์ด๋ฆ„ ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ์—๋Š” ๋”๋”์šฑ!)

 

2๏ธโƒฃ ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ ํ…Œํฌ ๋ธ”๋กœ๊ทธ์˜ ElasticSearch ํ™œ์šฉ ํฌ์ŠคํŒ…

๊ฒ€์ƒ‰์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ | ์šฐ์•„ํ•œํ˜•์ œ๋“ค ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ (woowahan.com)

 

๊ฒ€์ƒ‰์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ | ์šฐ์•„ํ•œํ˜•์ œ๋“ค ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

{{item.name}} ์•ˆ๋…•ํ•˜์„ธ์š”. ์šฐ์•„ํ•œํ˜•์ œ๋“ค ๊ฒ€์ƒ‰๊ฐœ๋ฐœํŒ€ ์ •์ฒ ์ž…๋‹ˆ๋‹ค. ๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ ๊ฒ€์ƒ‰์‹œ์Šคํ…œ์—์„œ ๊ฒ€์ƒ‰์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ ์žฌํ•˜๋ฉด์„œ ๊ฒฝํ—˜ํ–ˆ๋˜ ์–ด๋ ค์›€๊ณผ ํ•ด๊ฒฐํ–ˆ๋˜ ๋ฐฉ๋ฒ•์„ ๊ณต์œ ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰

techblog.woowahan.com

 

์œ„์˜ ๊ธ€์—์„œ๋Š” ๊ฑด๋ฐ”์ด๊ฑด์œผ๋กœ ElasticSearch์˜ ๋ฐ์ดํ„ฐ๋ฅผ update ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค,

ํ•œ ๋ฒˆ์— ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ update ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ž„์„ ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ์ด ์žˆ๋‹ค.

์š”์•ฝํ•˜์ž๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์ดˆ๊ธฐ ์‹œ์Šคํ…œ ์„ค๊ณ„ ์‹œ ๋“ค์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ๊ทธ๋ ‡๊ฒŒ ๋งŽ์ง€ ์•Š์•˜๊ณ ,
์˜ˆ์ธก์ด ๊ฐ€๋Šฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ณ„์ ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ์ด๋ฒคํŠธ๋ฅผ ๊ฑด๋ฐ”์ด๊ฑด์œผ๋กœ update request๋ฅผ ๋งŒ๋“ค์–ด ๋ฐ˜์˜ํ•จ

๐Ÿ‘‰ ๊ฐ€๊ฒŒ๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์˜คํ”ˆํ•˜๋Š” ์‹œ๊ฐ„๋Œ€๋‚˜ ์ฃผ๋ฌธ์ด ๋งŽ์•„ ๋ฉ”๋‰ด ํ’ˆ์ ˆ ๋“ฑ์˜ ์ƒํ™ฉ์ด ๋งŽ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ
์ด๋ฒคํŠธ๋ฅผ ๋งŽ์ด ์ˆ˜์‹ ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ๊ทธ์— ๋”ฐ๋ผ ElasticSearch์— ๋Œ€ํ•œ ๋ถ€๋‹ด์ด ์ง‘์ค‘๋˜๋ฉด์„œ
request๊ฐ€ reject๋˜๋Š” ๋ฌธ์ œ ๋“ฑ์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ƒ์Šนํ•จ

๋ฌธ์ œ์˜ ์›์ธ์œผ๋กœ, ์žฆ์€ ๋ณ€๊ฒฝ์— ์˜ํ•œ Dish I/O ๋ฌธ์ œ ๊ฑด๋ฐ”์ด๊ฑด ์š”์ฒญ์œผ๋กœ ์ธํ•œ thread pool ์ดˆ๊ณผ ์ด์Šˆ ๋ฐœ๊ฒฌ

๐Ÿ’ก ์ •๋‹ต์€ ์–ธ์ œ๋‚˜ ๊ธฐ๋ณธ์— ์žˆ๋‹ค.
MySQL Doc์„ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ง์ด ์žˆ์Œ
"insert ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ž‘์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—ฐ์‚ฐ์„ ํ•˜๋‚˜์˜ ํฐ ์—ฐ์‚ฐ์œผ๋กœ ๋งŒ๋“ค์–ด๋ผ."
ElasticSearch๋˜ํ•œ ๊ฐ™์€ ๊ฐœ๋…์„ ๊ฐ–๊ณ  ์žˆ๊ณ ,
๋‹จ๊ฑด request๋ณด๋‹ค Bulk request์˜ ํšจ๋Šฅ์ด ํฐ ๊ฒƒ์€ ์ž…์ฆ๋œ ์‚ฌ์‹ค์ž„

 

์œ„์˜ ๋‚ด์šฉ์„ ๋ณด๊ณ  ๊ฑด๋ฐ”์ด๊ฑด ์š”์ฒญ๋ณด๋‹ค ํ•œ ๋ฒˆ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ผ ๊ฒƒ์„ ํ™•์‹ ํ–ˆ๊ณ ,

ElasticSearch์˜ Bulk API๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ๊ฒฐ์ •ํ–ˆ๋‹ค.

 


๊ฒฐ๋ก 

์˜ค๋Š˜ ์ •๋ฆฌํ•œ ElasticSearch์˜ ๊ฐœ๋…๊ณผ ์ ์šฉ ๋ฐฉ์•ˆ ํƒ์ƒ‰ ๊ณผ์ •์„ ๊ธฐ๋ฐ˜์œผ๋กœ,

์šฐ๋ฆฌ๋Š” ELK ๋Œ€์‹  Bulk API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์„ ์ฑ„ํƒํ–ˆ๋‹ค.

๋‹ค์Œ ๊ธ€์—์„œ๋Š” ์ ์šฉํ•œ ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค.

 

2023.04.02 - [๐ŸŸข[ Web ]/๊ธฐํƒ€] - [Web] ElasticSearch nori & Bulk API ํ™œ์šฉ

๋Œ“๊ธ€