์ƒˆ์†Œ์‹

Computer Science

ElasticSearch๋ž€

  • -
728x90
ElasticSearch๋ž€ ?

๐Ÿ“Œ ElasticSearch๋ž€?

Elasticsearch๋Š” Apache Lucene(์•„ํŒŒ์น˜ ๋ฃจ์”ฌ) ๊ธฐ๋ฐ˜์˜ Java ์˜คํ”ˆ ์†Œ์Šค ๋ถ„์‚ฐ ๊ฒ€์ƒ‰ ์—”์ง„์ด๋‹ค. Elasticsearch๋ฅผ ํ†ตํ•ด ๋ฃจ์”ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Java์—์„œ ๊ฐœ๋ฐœํ•œ ์ •๋ณด ๊ฒ€์ƒ‰์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)๋ฅผ ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ(๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„) ์ €์žฅ, ๊ฒ€์ƒ‰, ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Elasticsearch๋Š” ๊ฒ€์ƒ‰์„ ์œ„ํ•ด ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•˜๋ฉฐ, ELK(Elasticsearch / Logstash / Kibana) ์Šคํƒ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•œ๋‹ค. ELK ์Šคํƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

 

LogStash
: ๋‹ค์–‘ํ•œ ์†Œ์Šค(DB, csvํŒŒ์ผ ๋“ฑ) ์˜ ๋กœ๊ทธ ๋˜๋Š” ํŠธ๋žœ์žญ์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘, ์ง‘๊ณ„, ํŒŒ์‹ฑํ•˜์—ฌ ElasticSearch ๋กœ ์ „๋‹ฌ

 

ElasticSearch
: LogStash ๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ ๋ฐ ์ง‘๊ณ„ํ•˜์—ฌ ํ•„์š”ํ•œ ๊ด€์‹ฌ ์žˆ๋Š” ์ •๋ณด๋ฅผ ํš๋“

 

Kibana
: ElasticSearch์˜ ๋น ๋ฅธ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™” ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง

 

์ฃผ๋กœ ELK๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ๋˜์–ด ์žˆ๋Š” WAS์˜ ํฉ์–ด์ ธ ์žˆ๋Š” ๋กœ๊ทธ๋ฅผ ํ•œ ๊ณณ์œผ๋กœ ๋ชจ์œผ๊ณ , ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•œ ๋’ค ์‹œ๊ฐํ™”ํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.


 

๐Ÿ“š ElasticSearch ๊ณผ RDB ์˜ ๋น„๊ต

 

๊ธฐ์กด์— RDB๋ฅผ ๋งŽ์ด ์จ ์™”๋‹ค๋ฉด Elasticsearch์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ์™€ ๋งค์นญ์„ ํ•˜๊ธฐ ์‰ฝ๋‹ค. ๋‹ค๋งŒ, ์ธ๋ฑ์Šค์™€ ํƒ€์ž…์— ๋Œ€ํ•ด ์ฃผ์˜ํ•  ์ ์ด ์žˆ๋‹ค.


 

โญRDB์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”, ํ•œ ์ธ๋ฑ์Šค ๋‚ด์˜ ๋ฉ€ํ‹ฐ ํƒ€์ž…์ด ๊ฐ€๋Šฅํ•œ๊ฐ€?

 

๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค!

์œ„์—์„œ ์ธ๋ฑ์Šค๋Š” RDB์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๊ณ , ํƒ€์ž…์€ RDB์˜ ํ…Œ์ด๋ธ”์ด๋ผ๊ณ  ํ•˜์˜€๋‹ค. ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์„ ๊ฐ€์ง€๋“ฏ์ด, Elasticsearch๋„ ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค์— ์—ฌ๋Ÿฌ ํƒ€์ž…์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ Elasticsearch 7.0 ์ด์ƒ๋ถ€ํ„ฐ๋Š” ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค์—๋Š” ํ•˜๋‚˜์˜ ํƒ€์ž…๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋„๋ก ๋ฐ”๋€Œ์—ˆ๋‹ค. ์ด ๋ณ€๊ฒฝ์€ Elasticsearch์˜ ๊ฐ„์†Œํ™”์™€ ์Šคํ‚ค๋งˆ ๊ด€๋ฆฌ์˜ ์šฉ์ด์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ป˜ ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค์— ์—ฌ๋Ÿฌ ํƒ€์ž… ๋Œ€์‹  ์—ฌ๋Ÿฌ ์ธ๋ฑ์Šค ์‚ฌ์šฉ:
    : ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํ•„์š”ํ•  ๋•Œ์—๋Š” ๋ณ„๋„์˜ ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. Nested ํƒ€์ž… ์‚ฌ์šฉ:
    : ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ํƒ€์ž…์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, Nested ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ๊ตฌ์กฐ์˜ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ Elasticsearch๋Š” ์ธ๋ฑ์Šค๊ฐ€ ๋งคํ•‘๋˜๋ฉด ์ˆ˜์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์ƒˆ๋กœ์šด ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋‹ค.

 


๐Ÿ“š ElasticSearch์˜ ๊ตฌ์กฐ

์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด Elasticsearch๋Š” ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ๋ถ„์‚ฐํ˜• ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ํ™•์žฅ์„ฑ์„ ๊ฐ€์ง€๋ฉฐ, ๊ณ ์„ฑ๋Šฅ ๊ฒ€์ƒ‰ ๋ฐ ์งˆ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

  1. ์ธ๋ฑ์Šค(Index)
    : Elasticsearch์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ๋‹จ์œ„๋‹ค. ๊ฐ ์ธ๋ฑ์Šค๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์ƒค๋“œ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์ธ๋ฑ์Šค๋Š” ํŠน์ • ์œ ํ˜• ๋˜๋Š” ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค. ์ฆ‰ RDBMS์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋Œ€์‘ํ•˜๋Š” ๊ฐœ๋…์ด๋‹ค.

  2. ์ƒค๋“œ(Shard)
    : ์ƒ‰์ธ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ €์žฅํ•˜๋Š” ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„์ด๋‹ค. ์ƒ‰์ธ์ด ์ปค์งˆ ๊ฒฝ์šฐ์— ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋…ธ๋“œ์— ์‰ฌ๋“œ๋ฅผ ๋ถ„์‚ฐ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ƒค๋“œ๋Š” ํ”„๋ผ์ด๋จธ๋ฆฌ ์ƒค๋“œ์™€ ๋ ˆํ”Œ๋ฆฌ์นด ์ƒค๋“œ๋กœ ๋‚˜๋‰œ๋‹ค.

  3. ๋…ธ๋“œ(Node)
    : Elasticsearch ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ๊ฐ์˜ ์„œ๋ฒ„ ๋˜๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋…ธ๋“œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ์— ์ฐธ์—ฌํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  4. ๋ฌธ์„œ(Document)
    : ์ธ๋ฑ์Šค ๋‚ด์—์„œ ์ €์žฅ๋˜๋Š” ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. JSON ํ˜•์‹์œผ๋กœ ํ‘œํ˜„๋˜๋ฉฐ, ๊ฐ ๋ฌธ์„œ๋Š” ๊ณ ์œ ํ•œ ID๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

  5. ํ•„๋“œ(Field)
    : ๋ฌธ์„œ ๋‚ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹จ์œ„๋กœ, ๊ฐ ๋ฌธ์„œ๋Š” ์—ฌ๋Ÿฌ ํ•„๋“œ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๊ฐ ํ•„๋“œ๋Š” ํ•ด๋‹น ๋ฐ์ดํ„ฐ์˜ ์œ ํ˜•๊ณผ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

  6. ๋งคํ•‘(Mapping)
    : Elasticsearch์—์„œ๋Š” ์ธ๋ฑ์Šค ๋‚ด์˜ ๋ฌธ์„œ์— ๋Œ€ํ•œ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ์„ "๋งคํ•‘"์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋งคํ•‘์€ ์–ด๋–ค ํ•„๋“œ๊ฐ€ ์–ด๋–ค ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์ •์˜ํ•œ๋‹ค.

  7. ๊ฒ€์ƒ‰ ๋ฐ ์งˆ์˜(Query)
    : Elasticsearch๋Š” ๊ฐ•๋ ฅํ•œ ๊ฒ€์ƒ‰ ์—”์ง„์„ ์ œ๊ณตํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” JSON ํ˜•์‹์˜ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

  8. ํด๋Ÿฌ์Šคํ„ฐ(Cluster)
    : Elasticsearch์˜ ์ „์ฒด ์‹œ์Šคํ…œ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ํ•˜๋‚˜ ์ด์ƒ์˜ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋…ธ๋“œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ์— ์ฐธ์—ฌํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

 

 


๐Ÿ“š ElasticSearch์˜ ์žฅ/๋‹จ์ 

ES๋„ NoSQL์˜ ์ผ์ข…์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๊ณ , ๋ถ„์‚ฐ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„์„ฑ์œผ๋กœ ๋น ๋ฅธ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ํŠนํžˆ ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ํž˜๋“  ๋Œ€๋Ÿ‰์˜ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ „๋ฌธ ๊ฒ€์ƒ‰(full text) ๊ฒ€์ƒ‰๊ณผ ๊ตฌ์กฐ ๊ฒ€์ƒ‰ ๋ชจ๋‘๋ฅผ ์ง€์›ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ๊ฒ€์ƒ‰์—”์ง„์ด์ง€๋งŒ MongoDB๋‚˜ Hbase์™€ ๊ฐ™์€ ๋Œ€์šฉ๋Ÿ‰ ์Šคํ† ๋ฆฌ์ง€๋กœ๋„ ํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

์žฅ์ 

  • ์˜คํ”ˆ์†Œ์Šค ๊ฒ€์ƒ‰์—”์ง„์ด๋‹ค. ํ™œ๋ฐœํ•œ ์˜คํ”ˆ์†Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ES๋ฅผ ๋Š์ž„์—†์ด ๊ฐœ์„ ํ•˜๊ณ  ๋ฐœ์ „์‹œํ‚ค๊ณ  ์žˆ๋‹ค.
  • ์ „๋ฌธ๊ฒ€์ƒ‰
    ๋‚ด์šฉ ์ „์ฒด๋ฅผ ์ƒ‰์ธํ•ด์„œ ํŠน์ • ๋‹จ์–ด๊ฐ€ ํฌํ•จ๋œ ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ๋Šฅ๋ณ„, ์–ธ์–ด๋ณ„ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ†ต๊ณ„ ๋ถ„์„
    ๋น„์ •ํ˜• ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ํ†ต๊ณ„ ๋ถ„์„์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. Kibana๋ฅผ ์—ฐ๊ฒฐํ•˜๋ฉด ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Schemaless
    ์ •ํ˜•ํ™”๋˜์ง€ ์•Š์€ ๋ฌธ์„œ๋„ ์ž๋™์œผ๋กœ ์ƒ‰์ธํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • RESTful API
    HTTP๊ธฐ๋ฐ˜์˜ RESTful๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์š”์ฒญ/์‘๋‹ต์— JSON์„ ์‚ฌ์šฉํ•ด ๊ฐœ๋ฐœ ์–ธ์–ด, ์šด์˜์ฒด์ œ, ์‹œ์Šคํ…œ์— ๊ด€๊ณ„์—†์ด ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • Multi-tenancy
    ์„œ๋กœ ์ƒ์ดํ•œ ์ธ๋ฑ์Šค์ผ์ง€๋ผ๋„ ๊ฒ€์ƒ‰ํ•  ํ•„๋“œ๋ช…๋งŒ ๊ฐ™์œผ๋ฉด ์—ฌ๋Ÿฌ ์ธ๋ฑ์Šค๋ฅผ ํ•œ๋ฒˆ์— ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Document-Oriented
    ์—ฌ๋Ÿฌ ๊ณ„์ธต ๊ตฌ์กฐ์˜ ๋ฌธ์„œ๋กœ ์ €์žฅ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ณ„์ธต ๊ตฌ์กฐ๋กœ๋œ ๋ฌธ์„œ๋„ ํ•œ๋ฒˆ์˜ ์ฟผ๋ฆฌ๋กœ ์‰ฝ๊ฒŒ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์—ญ์ƒ‰์ธ(Inverted Index)
  • ํ™•์žฅ์„ฑ
    ๋ถ„์‚ฐ ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ๋Š” shard๋ผ๋Š” ๋‹จ์œ„๋กœ ๋‚˜๋‰œ๋‹ค.

 

๋‹จ์ 

  • ์™„์ „ ์‹ค์‹œ๊ฐ„์€ ์•„๋‹ˆ๋‹ค.
    ์ƒ‰์ธ๋œ ๋ฐ์ดํ„ฐ๋Š” 1์ดˆ ๋’ค์—๋‚˜ ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋‚ด๋ถ€์ ์œผ๋กœ commit๊ณผ flush๊ฐ™์€ ๋ณต์žกํ•œ ๊ณผ์ •์„ ๊ฑฐ์น˜๊ธฐ ๋•Œ๋ฌธ.
  • Transaction Rollback์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.
    ์ „์ฒด์ ์ธ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์‹œ์Šคํ…œ์ ์œผ๋กœ ๋น„์šฉ ์†Œ๋ชจ๊ฐ€ ํฐ ๋กค๋ฐฑ๊ณผ ํŠธ๋žœ์žญ์…˜์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์กฐ์‹ฌํ•˜์ž..
  • ๋ฐ์ดํ„ฐ์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.
    ์—…๋ฐ์ดํŠธ ๋ช…๋ น์ด ์˜ฌ ๊ฒฝ์šฐ ๊ธฐ์กด ๋ฌธ์„œ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์ƒˆ๋กœ์šด ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ์—…๋ฐ์ดํŠธ์— ๋น„ํ•ด์„œ ๋งŽ์€ ๋น„์šฉ์ด ๋“ค์ง€๋งŒ ์ด๋ฅผ ํ†ตํ•ด ๋ถˆ๋ณ€์„ฑ(Immutable)์ด๋ผ๋Š” ์ด์ ์„ ์ทจํ•œ๋‹ค.

 


[์ฐธ๊ณ ]

https://steady-coding.tistory.com/573

https://jaemunbro.medium.com/elastic-search-%EA%B8%B0%EC%B4%88-%EC%8A%A4%ED%84%B0%EB%94%94-ff01870094f0

728x90
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.