2021. 10. 6. 14:57ใELK
1. elasticsearch๋?
์ฆ, Elasticsearch๋ ๊ฒ์ ๋ฐ ๋ถ์ ์์ง์ด๋ค.
2. Cluster ๋?
ํด๋ฌ์คํฐ๋ ํ๋ ์ด์์ ๋ ธ๋(์๋ฒ)๊ฐ ๋ชจ์ธ ๊ฒ์ผ๋ก, ์ด๋ฅผ ํตํด ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ๋ชจ๋ ๋ ธ๋๋ฅผ ํฌ๊ดํ๋ ํตํฉ ์์ธํ ๋ฐ ๊ฒ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
3. Node ๋?
๋ ธ๋๋ ํด๋ฌ์คํฐ์ ํฌํจ๋ ๋จ์ผ ์๋ฒ๋ก, ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ํด๋ฌ์คํฐ์ ์์ธํ ๋ฐ ๊ฒ์ ๊ธฐ๋ฅ์ ์ฐธ์ฌํ๋ค.
์ํ๋ค๋ฉด ๊ธฐ๋ณธ ์ด๋ฆ ๋์ ์ด๋ค ๋ ธ๋ ์ด๋ฆ๋ ์ ์ํ ์ ์๋ค. -> ์ด๋ ๊ด๋ฆฌ ๋ชฉ์ ์ผ๋ก ์ค์ํ๋ค.
๋คํธ์ํฌ์ ์ด๋ค ์๋ฒ๊ฐ Elasticsearch ํด๋ฌ์คํฐ์ ์ด๋ค ๋ ธ๋์ ํด๋นํ๋์ง ์๋ณํด์ผํ๊ธฐ ๋๋ฌธ์ด๋ค.
4. index ๋?
์ธ๋ฑ์ค๋ ๋ค์ ๋น์ทํ ํน์ฑ์ ๊ฐ์ง ๋ฌธ์์ ๋ชจ์์ด๋ค.
ex) ๊ณ ๊ฐ ๋ฐ์ดํฐ์ ๋ํ ์์ธ, ์ ํ ์นดํ๋ก๊ทธ์ ๋ํ ์์ธ, ์ฃผ๋ฌธ ๋ฐ์ดํฐ์ ๋ํ ์์ธ ๋ฑ์ ๋ ์ ์๋ค.
(์์ธ ์ด๋ฆ์ ์๋ฌธ์์ด์ด์ผ ํ๋ค.)
์์ธ ์ด๋ฆ์ ํฌํจ๋ ๋ฌธ์์ ๋ํ ์์ธํ, ๊ฒ์, ์ ๋ฐ์ดํธ, ์ญ์ ์์ ์์ ํด๋น ์์ธ์ ๊ฐ๋ฆฌํค๋๋ฐ ์ฌ์ฉํ๋ค.
5. Dcoument ๋?
document๋ indxํ ์ ์๋ ๊ธฐ๋ณธ ์ ๋ณด ๋จ์์ด๋ค.
json ํ์์ผ๋ก ๋จ์ผ ๊ณ ๊ฐ, ๋จ์ผ ์ ํ, ๋จ์ผ ์ฃผ๋ฌธ์ ๋ํ document๊ฐ ๊ฐ๊ฐ ์กด์ฌ.
6. shard ๋?
์์ธ์ ๋ฐฉ๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ง๋ง, ๋ฐ์ดํฐ๊ฐ ๋จ์ผ ๋ ธ๋์ ํ๋์จ์ด ํ๋๋ฅผ ์ด๊ณผํ ์๋ ์์ผ๋ฉฐ, ๋จ์ผ๋ ธ๋์ ๋์คํฌ์์ ์์ฉํ์ง ๋ชปํ ์๋ ์์ผ๋ฉฐ, ๋จ์ผ ๋ ธ๋์์ ๊ฒ์ ์์ฒญ ์ฒ๋ฆฌ ์ ์๋๊ฐ ๋๋ ค์ง ์๋ ์๋ค.
๋ฐ๋ผ์ Elasticsearch๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ์์ธ์ ์ด๋ฅธ๋ฐ ์ค๋(shard) ๋ผ๋ ์กฐ๊ฐ์ผ๋ก ๋ถํ ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
๊ฐ๊ฐ์ ์ค๋๋ ๊ทธ ์์ฒด๊ฐ ์จ์ ํ ๊ธฐ๋ฅ์ ๊ฐ์ง ๋ ๋ฆฝ์ ์ธ "์์ธ"์ผ๋ก ํด๋ฌ์คํฐ์ ์ด๋ค ๋ ธ๋์์๋ ํธ์คํ ํ ์ ์๋ค.
- ์ฝํ ์ธ ์ ํฌ๊ธฐ๋ฅผ ์ํ ๋ถํ / ํ์ฅ์ด ๊ฐ๋ฅํด์ง๋ค.
- ์์ ์ ์ฌ๋ฌ ์ค๋์ ๋ถ์ฐ ๋ฐฐ์นํ๊ณ ๋ณ๋ ฌํํจ์ผ๋ก์จ ์ฑ๋ฅ/ ์ฒ๋ฆฌ๋์ ๋๋ฆด ์ ์๋ค.
์ค๋๊ฐ ๋ถ์ฐ ๋ฐฐ์น๋๋ ๋ฐฉ์์ด๋ ๊ทธ ๋ฌธ์๊ฐ ๋ค์ ๊ฒ์ ์์ฒญ์ผ๋ก ์ง๊ณ๋๋ ๋ฐฉ์์ ๋ฉ์ปค๋์ฆ ๋ชจ๋ elasticsearch์์ ๊ด๋ฆฌํ๊ณ , ์ฌ์ฉ์์๊ฒ๋ ํฌ๋ช ํ๊ฒ ์ด๋ฃจ์ด์ง๋ค๊ณ ํ๋ค.
7. Replica shard(๋ผํ๋ฆฌ์นด) ๋?
๋คํธ์ํฌ/ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์๋ ์ด๋ค ์ด์ ์์๋ ์ค๋/ ๋ ธ๋๊ฐ ์คํ๋ผ์ธ ์ํ๊ฐ ๋๊ฑฐ๋ ์ฌ๋ผ์ง๊ฒ ๋ ๊ฒฝ์ฐ์ ๋๋นํด์ ํ์ผ ์ค๋ฒ ๋ฉ์ปค๋์ฆ์ ๋ง๋ จํ๋ ๊ฒ์ด ๋งค์ฐ ์ ์ตํ๊ณ , ๋ฐ๋์งํ๋ค.
๋ฐ๋ผ์ Elasticsearch์์๋ index ์ shard์ ๋ํด ํ๋ ์ด์์ ๋ณต์ฌ๋ณธ์ ์์ฑํ ์ ์๋๋ฐ, ์ด๋ฅผ ๋ผํ๋ฆฌ์นด ์ค๋, ์ค์ฌ์ ๋ผํ๋ฆฌ์นด๋ผ๊ณ ํ๋ค.
๋ผํ๋ฆฌ์นด๋ฅผ ์ค์ํ ์ด์
- ์ค๋/๋ ธ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ผ๋ ๊ณ ๊ฐ์ฉ์ฑ์ ์ ๊ณตํ๋ค. ๋ฐ๋ผ์ ๋ผํ๋ฆฌ์นด ์ค๋๋ ๊ทธ ์๋ณธ์ธ ๊ธฐ๋ณธ ์ค๋์ ๋์ผํ ๋ ธ๋์ ๋ฐฐ์ ํ์ง ์๋๋ค.
- ๋ชจ๋ ๋ผํ๋ฆฌ์นด์์ ๋ณ๋ ฌ ๋ฐฉ์์ผ๋ก ๊ฒ์์ ์คํํ ์ ์์ผ๋ฏ๋ก ๊ฒ์ ๋ณผ๋ฅจ/ ์ฒ๋ฆฌ๋์ ํ์ฅํ ์ ์๋ค.
8. ์ด์ ๋ฆฌ
1๊ฐ์ ํด๋ฌ์คํฐ๋ 1๊ฐ ์ด์์ ๋ ธ๋๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๋ ธ๋๋ ๋จ์ผ ์๋ฒ๋ฅผ ์๋ฏธํ๋ค.
ํด๋ฌ์คํฐ๋ ๋ชจ๋ ๋ ธ๋๋ฅผ ํตํฉํด์ ์์ธํ ๋ฐ ๊ฒ์ ๊ธฐ๋ฅ์ ํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ธ๋์๋ ์ธ๋ฑ์ค๋ฅผ ์ฌ๋ฌ๊ฐ ๊ตฌ์ฑํ ์ ์๋ค. ๊ทธ ์ธ๋ฑ์ค๋ ๋ฌธ์๋ค๋ก ๊ตฌ์ฑ๋์ด ์๊ณ (์๋ฅผ ๋ค์๋ฉด db์ table์์ ํ์ด๋ผ๊ณ ํ ์ ์๋ค.)
๊ทธ๋ฆฌ๊ณ ์ด ์ธ๋ฑ์ค ์์๋ ์ฌ๋ฌ๊ฐ์ ์ค๋๋ก ๋ถํ ํ ์ ์๋ค. ์ค๋๋ฅผ ๋ณต์ ํ๋ฉด ๋ผํ๋ฆฌ์นด ์ค๋๊ฐ ์๊ณ , ์ด ๋์ ์๋ก ๋ค๋ฅธ ๋ ธ๋์ ์กด์ฌํด์ผ ํ๋ค.
index๊ฐ ์์ฑ๋ ์ดํ์ ์ธ์ ๋ผ๋ ๋ผํ๋ฆฌ์นด์ ์๋ ๋ณ๊ฒฝํ ์ ์์ง๋ง, ์ค๋์ ์๋ ์ฌํ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก elasitcsearch์ index๋ ๊ธฐ๋ณธ ์ค๋ 5๊ฐ, ๋ผํ๋ฆฌ์นด 1๊ฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.