ํค์ด ํ๋ธ๋ฅด! ์ ๋ FINCH์์ ๋ถ์๊ฐ์ด์ ํ๋ก์ ํธ ๊ด๋ฆฌ์๋ก ์ผํ๊ณ ์๋ Maxim Vasiliev์
๋๋ค. ์ค๋ ์ ๋ ElasticSearch๋ฅผ ์ฌ์ฉํ์ฌ 15๋ถ ๋ง์ 6๋ง ๊ฑด์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ๊ณ ๊ฐ ์ฌ์ดํธ์ ์ผ์ผ ๋ก๋๋ฅผ ์ต์ ํํ ์ ์์๋ ๋ฐฉ๋ฒ์ ๋ง์๋๋ฆฌ๊ณ ์ ํฉ๋๋ค. ๋ถํํ๋ ์ฐ๋ฆฌ๋ NDA๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฆ์์ดํด์ผ ํ ๊ฒ์
๋๋ค. ๊ธฐ์ฌ์ ๋ด์ฉ์ด ์ด๋ก ์ธํด ๊ณ ํต๋ฐ์ง ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ฐ์๋ค.
ํ๋ก์ ํธ ์๋ ๋ฐฉ์
๋ฐฑ์๋์์ ๊ณ ๊ฐ์ ์น์ฌ์ดํธ ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ๋ณด์ฅํ๋ ์๋น์ค๋ฅผ ๋ง๋ญ๋๋ค. ์ผ๋ฐ์ ์ธ ๊ตฌ์กฐ๋ ๋ค์ด์ด๊ทธ๋จ์์ ๋ณผ ์ ์์ต๋๋ค.
์์
๊ณผ์ ์์ ์ฐ๋ฆฌ๋ ๊ตฌ๋งค, ๊ฒฐ์ , ์ฌ์ฉ์ ์์ก์ด ์๋ ์์
๋ฑ ๋ง์ ํธ๋์ญ์
์ ์ฒ๋ฆฌํ๋ฉฐ ๋ง์ ๋ก๊ทธ๋ฅผ ์ ์ฅํ๊ณ ์ด ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ ์์คํ
์ผ๋ก ๊ฐ์ ธ์ค๊ณ ๋ด๋ณด๋
๋๋ค.
ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ ๋๋ ์ญ๊ณผ์ ์ด ์์ต๋๋ค. ๋ํ ์ง๋ถ ๋ฐ ๋ณด๋์ค ํ๋ก๊ทธ๋จ ์์ ์ ์ํ ํ๋ก์ธ์ค๊ฐ ์์ง ๋จ์ ์์ต๋๋ค.
๊ฐ๋ตํ ๋ฐฐ๊ฒฝ
์ฒ์์๋ PostgreSQL์ ์ ์ผํ ๋ฐ์ดํฐ ์ ์ฅ์๋ก ์ฌ์ฉํ์ต๋๋ค. DBMS์ ๋ํ ํ์ค ์ด์ : ํธ๋์ญ์ ์ ์กด์ฌ, ๊ฐ๋ฐ๋ ๋ฐ์ดํฐ ์ํ๋ง ์ธ์ด, ๊ด๋ฒ์ํ ํตํฉ ๋๊ตฌ ์ข์ ์ฑ๋ฅ๊ณผ ๊ฒฐํฉํ์ฌ ๊ฝค ์ค๋ซ๋์ ์ฐ๋ฆฌ์ ์๊ตฌ๋ฅผ ์ถฉ์กฑ์์ผฐ์ต๋๋ค.
๊ฑฐ๋๋ถํฐ ๋ด์ค๊น์ง ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ Postgres์ ์ ์ฅํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ์ฉ์ ์๊ฐ ์ฆ๊ฐํ๊ณ ์ด์ ๋ฐ๋ผ ์์ฒญ ์๋ ์ฆ๊ฐํ์ต๋๋ค.
์ดํด๋ฅผ ๋๊ธฐ ์ํด 2017๋ ๋ฐ์คํฌํฑ ์ฌ์ดํธ์ ์ฐ๊ฐ ์ธ์ ์๋ 131์ต 2018๋ง์ ๋๋ค. 125๋ ์๋ 2019์ต 130๋ง, 100๋ ์๋ ๋ค์ 200์ต XNUMX๋ง์ ๋๋ค. ๋ชจ๋ฐ์ผ ๋ฒ์ ์ฌ์ดํธ์ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์์ XNUMX์ต ~ XNUMX์ต์ ์ถ๊ฐํ๋ฉด ์์ฒญ๋ ์์ ์์ฒญ์ ๋ฐ๊ฒ ๋ฉ๋๋ค.
ํ๋ก์ ํธ๊ฐ ์ฑ์ฅํจ์ ๋ฐ๋ผ Postgres๋ ๋ถํ ์ฒ๋ฆฌ๋ฅผ ์ค๋จํ๊ณ ์๊ฐ์ด ์์์ต๋๋ค. ๋ค์ํ ์ฟผ๋ฆฌ๊ฐ ๋ง์ด ๋ํ๋ ์ถฉ๋ถํ ์์ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค ์ ์์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ์ ์๊ตฌ ์ฌํญ์ ์ ๊ณตํ๊ณ PostgreSQL์ ๋ถ๋ด์ ๋์ด์ค ๋ค๋ฅธ ๋ฐ์ดํฐ ์ ์ฅ์๊ฐ ํ์ํ๋ค๋ ๊ฒ์ ์ดํดํ์ต๋๋ค. Elasticsearch์ MongoDB๊ฐ ๊ฐ๋ฅํ ์ต์ ์ผ๋ก ๊ณ ๋ ค๋์์ต๋๋ค. ํ์๋ ๋ค์๊ณผ ๊ฐ์ ์ ์์ ํจ๋ฐฐํ์ต๋๋ค.
- ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ ์์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์ธ๋ฑ์ฑ ์๋๊ฐ ๋๋ ค์ง๋๋ค. Elastic์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ ์์ ๋ฐ๋ผ ์๋๊ฐ ๋ฌ๋ผ์ง์ง ์์ต๋๋ค.
- ์ ์ฒด ํ ์คํธ ๊ฒ์ ์์
๊ทธ๋์ ์ฐ๋ฆฌ๋ ์ค์ค๋ก Elastic์ ์ ํํ๊ณ ์ ํ์ ์ค๋นํ์ต๋๋ค.
Elastic์ผ๋ก ์ ํ
1. ํ๋งค ์์ ๊ฒ์ ์๋น์ค์์ ์ ํ์ ์์ํ์ต๋๋ค. ์ฐ๋ฆฌ ๊ณ ๊ฐ์ ์ด ์ฝ 70๊ฐ์ ํ๋งค ์ง์ ์ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ ์ด๋ฅผ ์ํด์๋ ์ฌ์ดํธ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ๋ฌ ์ ํ์ ๊ฒ์์ด ํ์ํฉ๋๋ค.
- ๋์ ์ด๋ฆ์ผ๋ก ํ ์คํธ ๊ฒ์
- ์ด๋ค ์ง์ ์์ ์ฃผ์ด์ง ๋ฐ๊ฒฝ ๋ด์์ ์ง์ค์์น. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์๊ฐ ์์ ์ ์ง์์ ๊ฐ์ฅ ๊ฐ๊น์ด ํ๋งค ์ง์ ์ ํ์ธํ๋ ค๋ ๊ฒฝ์ฐ์ ๋๋ค.
- ์ง์ ๋ ์ฌ๊ฐํ์ผ๋ก ๊ฒ์ - ์ฌ์ฉ์๊ฐ ์ง๋์ ์ฌ๊ฐํ์ ๊ทธ๋ฆฌ๋ฉด ์ด ๋ฐ๊ฒฝ์ ๋ชจ๋ ์ง์ ์ด ์ฌ์ฉ์์๊ฒ ํ์๋ฉ๋๋ค.
- ์ถ๊ฐ ํํฐ๋ก ๊ฒ์ํฉ๋๋ค. ํ๋งค ์ง์ ์ ๊ตฌ์์ด ์๋ก ๋ค๋ฆ ๋๋ค.
์กฐ์ง์ ๋ํด ์ด์ผ๊ธฐํ๋ฉด Postgres์๋ ์ง๋์ ๋ด์ค ๋ชจ๋์ ๋ํ ๋ฐ์ดํฐ ์์ค๊ฐ ์๊ณ Elastic Snapshots์์๋ ์๋ณธ ๋ฐ์ดํฐ์์ ๊ฐ์ ธ์ต๋๋ค. ์ฌ์ค ์ฒ์์๋ Postgres๊ฐ ๋ชจ๋ ๊ธฐ์ค์ผ๋ก ๊ฒ์์ ๋์ฒํ ์ ์์์ต๋๋ค. ์ธ๋ฑ์ค๊ฐ ๋ง์ ๋ฟ๋ง ์๋๋ผ ์ค๋ณต๋ ์ ์๊ธฐ ๋๋ฌธ์ Postgres ์ค์ผ์ค๋ฌ๊ฐ ๊ธธ์ ์๊ณ ์ด๋ค ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํด์ผ ํ๋์ง ์ดํดํ์ง ๋ชปํ์ต๋๋ค.
2. ๋ค์ ์ค์ ๋ด์ค ์น์ ์ด์์ต๋๋ค. ๊ฐํ๋ฌผ์ ์ฌ์ฉ์๊ฐ ์ ๋ณด์ ํ๋ฆ์์ ๊ธธ์ ์์ง ์๋๋ก ๋งค์ผ ์ฌ์ดํธ์ ๋ํ๋๋ฉฐ ๋ฐํํ๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ด ๊ฒ์์ ๋ชฉ์ ์ ๋๋ค. ํ ์คํธ ์ผ์น๋ก ์ฌ์ดํธ๋ฅผ ๊ฒ์ํ๊ณ ๋์์ ์ถ๊ฐ ํํฐ๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ํํฐ๋ Elastic์ ํตํด ๋ง๋ค์ด์ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
3. ๊ทธ๋ฐ ๋ค์ ๊ฑฐ๋ ์ฒ๋ฆฌ๋ฅผ ์ฎ๊ฒผ์ต๋๋ค. ์ฌ์ฉ์๋ ์ฌ์ดํธ์์ ํน์ ์ ํ์ ๊ตฌ๋งคํ๊ณ ๊ฒฝํ ์ถ์ฒจ์ ์ฐธ์ฌํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ตฌ๋งค ํ์๋ ํนํ ์ฃผ๋ง๊ณผ ๊ณตํด์ผ์ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ๋น๊ต๋ฅผ ์ํด ํ์ผ ๊ตฌ๋งค ๊ฑด์๊ฐ 1,5 ~ 2 ๋ง ๊ฑด์ด๋ฉด ํด์ผ์๋ 53 ๋ง ๊ฑด์ ๋ฌํ ์ ์์ต๋๋ค.
๋์์ ๋ฐ์ดํฐ๋ ๊ฐ๋ฅํ ํ ์ต๋จ ์๊ฐ ๋ด์ ์ฒ๋ฆฌ๋์ด์ผ ํฉ๋๋ค. ์ฌ์ฉ์๋ ๋ฉฐ์น ๋์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ ์ข์ํ์ง ์์ต๋๋ค. Postgres๋ฅผ ํตํด ์ด๋ฌํ ๊ธฐํ์ ๋ฌ์ฑํ ์ ์๋ ๋ฐฉ๋ฒ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ข ์ข ์ ๊ธ์ ๋ฐ์๊ณ ๋ชจ๋ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋์ ์ฌ์ฉ์๋ ์ํ์ ๋ฐ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์์์ต๋๋ค. ์ด๊ฒ์ ๋น์ฆ๋์ค์ ๊ทธ๋ค์ง ์ ์พํ์ง ์๊ธฐ ๋๋ฌธ์ ์ฒ๋ฆฌ๋ฅผ Elasticsearch๋ก ์ฎ๊ฒผ์ต๋๋ค.
์ฃผ๊ธฐ์จ
์ด์ ์ ๋ฐ์ดํธ๋ ๋ค์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ด๋ฒคํธ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ํ๋งค ํฌ์ธํธ. ์ธ๋ถ ์์ค์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ์ฆ์ ์ ๋ฐ์ดํธ๋ฅผ ์์ํฉ๋๋ค.
- ์์. ๋ด์ค๊ฐ ์ฌ์ดํธ์์ ํธ์ง๋๋ ์ฆ์ ์๋์ผ๋ก Elastic์ผ๋ก ์ ์ก๋ฉ๋๋ค.
์ฌ๊ธฐ์ ๋ค์ Elastic์ ์ฅ์ ์ ์ธ๊ธํ ๊ฐ์น๊ฐ ์์ต๋๋ค. Postgres์์๋ ์์ฒญ์ ๋ณด๋ผ ๋ ์ ์งํ๊ฒ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ์ฒ๋ฆฌํ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. 10๊ฐ์ ๋ ์ฝ๋๋ฅผ Elastic์ ๋ณด๋ด๊ณ ๋ ์ฝ๋๊ฐ ๋ชจ๋ ์ค๋์ ๋ฐฐํฌ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ฆ์ ์์ ์ ์์ํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ์ผ๋ถ Shard ๋๋ Replica๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ๋ณผ ์ ์์ง๋ง ๊ณง ๋ชจ๋ ๊ฒ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํตํฉ ๋ฐฉ๋ฒ
Elastic๊ณผ ํตํฉํ๋ ๋ฐฉ๋ฒ์๋ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค.
- TCP๋ฅผ ํตํ ๊ธฐ๋ณธ ํด๋ผ์ด์ธํธ๋ฅผ ํตํด. ๊ธฐ๋ณธ ๋๋ผ์ด๋ฒ๋ ์ ์ฐจ ์ฌ๋ผ์ง๊ณ ์์ต๋๋ค. ๋ ์ด์ ์ง์๋์ง ์์ผ๋ฉฐ ๊ตฌ๋ฌธ์ด ๋งค์ฐ ๋ถํธํฉ๋๋ค. ๋ฐ๋ผ์ ์ค์ ๋ก ์ฌ์ฉํ์ง ์๊ณ ์์ ํ ๋ฒ๋ฆฌ๋ ค๊ณ ํฉ๋๋ค.
- JSON ์์ฒญ๊ณผ Lucene ๊ตฌ๋ฌธ์ ๋ชจ๋ ์ฌ์ฉํ ์ ์๋ HTTP ์ธํฐํ์ด์ค๋ฅผ ํตํด. ๋ง์ง๋ง์ Elastic์ ์ฌ์ฉํ๋ ํ ์คํธ ์์ง์ ๋๋ค. ์ด ๋ฒ์ ์์๋ HTTP๋ฅผ ํตํ JSON ์์ฒญ์ ํตํด ์ผ๊ด ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ค๊ณ ํ๋ ์ต์ ์ ๋๋ค.
HTTP ์ธํฐํ์ด์ค ๋๋ถ์ HTTP ํด๋ผ์ด์ธํธ์ ๋น๋๊ธฐ ๊ตฌํ์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ Batch์ ๋น๋๊ธฐ์ API๋ฅผ ํ์ฉํ ์ ์์ผ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ ๋์ ์ฑ๋ฅ์ ์ป์ ์ ์์ผ๋ฉฐ ์ด๋ ๋๊ท๋ชจ ํ๋ก๋ชจ์ ๊ธฐ๊ฐ ๋์ ๋ง์ ๋์์ด ๋์์ต๋๋ค(์์ธํ ๋ด์ฉ์ ์๋ ์ฐธ์กฐ).
๋น๊ต๋ฅผ ์ํ ๋ช ๊ฐ์ง ์ซ์:
- ๊ทธ๋ฃนํ ์์ด 20๊ฐ์ ์ค๋ ๋์์ Postgres ๋ฐ์ดํฐ ์ฌ์ฉ์ ์ ์ฅ: 460713์ด์ 42๊ฐ์ ๋ ์ฝ๋
- ํ๋ ฅ์ + 10๊ฐ์ ์ค๋ ๋์ ๋ํ ๋ฐ์ํ ํด๋ผ์ด์ธํธ + 1000๊ฐ์ ์์์ ๋ํ ๋ฐฐ์น: 596749์ด์ 11๊ฐ ๋ ์ฝ๋
- 10๊ฐ์ ์ค๋ ๋์ ๋ํ Elastic + ๋ฐ์ํ ํด๋ผ์ด์ธํธ + 1000๊ฐ์ ์์์ ๋ํ ๋ฐฐ์น: 23801684๋ถ ์์ 4๊ฐ ํญ๋ชฉ
์ด์ JSON์ Batch๊ฐ ์๋ Batch๋ก ๋น๋ํ๊ณ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ด๊ณ์์ด ๋ชจ๋ HTTP ํด๋ผ์ด์ธํธ๋ฅผ ํตํด ์ ์กํ๋ HTTP ์์ฒญ ๊ด๋ฆฌ์๋ฅผ ์์ฑํ์ต๋๋ค. ๋๊ธฐ์ ๋๋ ๋น๋๊ธฐ์์ผ๋ก ์์ฒญ์ ๋ณด๋ด๋๋ก ์ ํํ ์๋ ์์ต๋๋ค.
์ผ๋ถ ํตํฉ์์๋ ์ฌ์ ํ ๊ณต์ ์ ์ก ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ์ง๋ง ์ด๋ ๋ค์ ๋ฆฌํฉํ ๋ง์ ๋ฌธ์ ์ผ ๋ฟ์ ๋๋ค. ์ด ๊ฒฝ์ฐ Spring WebClient๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋ ์ฌ์ฉ์ ์ ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฒ๋ฆฌ์ ์ฌ์ฉ๋ฉ๋๋ค.
ํฐ ์น์ง
XNUMX๋ ์ ํ ๋ฒ ์ด ํ๋ก์ ํธ๋ ์ฌ์ฉ์๋ฅผ ์ํ ํฐ ํ๋ก๋ชจ์ ์ ๊ฐ์ตํฉ๋๋ค. ์ด๊ฒ์ ํ์ฌ ์์ฒ๋ง ๋ช ์ ์ฌ์ฉ์์ ๋์์ ์์ ํ๊ธฐ ๋๋ฌธ์ ๋์ผํ Highload์ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ํด์ผ์ ์ต๋ ๋ถํ๊ฐ ๋ฐ์ํ์ง๋ง ์ด๋ฒ ํ๋ก๋ชจ์ ์ ์์ ํ ๋ค๋ฅธ ์์ค์ ๋๋ค. ์ฌ์๋ ํ๋ก๋ชจ์ ๋น์ผ 27๊ฐ์ ์ํ์ ํ๋งคํ์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ 580๋ถ ์ด์ ์ฒ๋ฆฌ๋์ด ์ฌ์ฉ์์๊ฒ ๋ถํธ์ ๋ผ์ณค์ต๋๋ค. ์ฌ์ฉ์๋ ์ฐธ์ฌ์ ๋ํ ๋ณด์์ ๋ฐ์์ง๋ง ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํด์ผ ํ๋ค๋ ๊ฒ์ด ๋ถ๋ช ํด์ก์ต๋๋ค.
2019๋ ์ด์ ์ฐ๋ฆฌ๋ ElasticSearch๊ฐ ํ์ํ๋ค๊ณ ๊ฒฐ์ ํ์ต๋๋ค. XNUMX๋ ๋ด๋ด ์ฐ๋ฆฌ๋ ์์ ๋ ๋ฐ์ดํฐ๋ฅผ Elastic์์ ์ฒ๋ฆฌํ๊ณ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์น์ฌ์ดํธ์ API์์ ๋ฐ๊ธํ๋ ์์ ์ ์กฐ์งํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ๋ด๋ ์บ ํ์ธ ๊ธฐ๊ฐ ๋์ 15๋ถ ๋์ 131๊ฐ์ ํญ๋ชฉ.
์ํ์ ๊ตฌ๋งคํ๊ณ ๊ฒฝํ์ถ์ฒจ์ ์ฐธ์ฌํ๊ณ ์ถ์ ๋ถ๋ค์ด ๋ง์ ์ผ์์ ์ธ ์กฐ์น์ ๋๋ค. ์ง๊ธ์ Elastic์ ์ต์ ์ ๋ณด๋ฅผ ๋ณด๋ด๊ณ ์์ง๋ง ์์ผ๋ก ๋ช ๋ฌ ๋์ ๋ณด๊ด๋ ์ ๋ณด๋ฅผ Postgres์ ์๊ตฌ ์ ์ฅ์๋ก ์ ์กํ ๊ณํ์ ๋๋ค. ํ๊ณ๊ฐ ์๋ Elastic ์ธ๋ฑ์ค๋ฅผ ๋งํ์ง ์๊ธฐ ์ํด์์ ๋๋ค.
๊ฒฐ๋ก /๊ฒฐ๋ก
ํ์ฌ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋ชจ๋ ์๋น์ค๋ฅผ Elastic์ผ๋ก ์ด์ ํ์ผ๋ฉฐ ์ง๊ธ์ ์ด ์์ ์ ์ผ์ ์ค์งํ์ต๋๋ค. ์ด์ ์ฐ๋ฆฌ๋ ์ฌ์ฉ์ ๋ถํ๋ฅผ ์ธ๊ณ๋ฐ๋ Postgres์ ๊ธฐ๋ณธ ์๊ตฌ ์คํ ๋ฆฌ์ง ์์ Elastic์ ์ธ๋ฑ์ค๋ฅผ ๊ตฌ์ถํ๊ณ ์์ต๋๋ค.
ํฅํ ๋ฐ์ดํฐ ์์ฒญ์ด ๋๋ฌด ๋ค์ํด์ง๊ณ ์ด ์์ ์ ํ์ด ์๋ ๊ฒ์ผ๋ก ํ์ ๋๋ฉด ์๋น์ค๋ฅผ ์ด์ ํ ๊ณํ์ ๋๋ค. ์ด๊ฒ์ ๋ ์ด์ Postgres์ ์์ ์ด ์๋๋๋ค.
๊ธฐ๋ฅ์ ์ ์ฒด ํ ์คํธ ๊ฒ์์ด ํ์ํ๊ฑฐ๋ ๋ค์ํ ๊ฒ์ ๊ธฐ์ค์ด ์๋ ๊ฒฝ์ฐ ์ด๋ฅผ Elastic์ผ๋ก ๋ฒ์ญํด์ผ ํ๋ค๋ ๊ฒ์ ์ด๋ฏธ ์๊ณ ์์ต๋๋ค.
โโโ
์ฝ์ด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ๊ท์ฌ์์๋ ElasticSearch๋ฅผ ์ฌ์ฉํ๊ณ ์์ฒด ๊ตฌํ ์ฌ๋ก๊ฐ ์๋ ๊ฒฝ์ฐ ์๋ ค์ฃผ์ญ์์ค. ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ด๋ค์ง ์๋ ๊ฒ์ ํฅ๋ฏธ๋ก์ธ ๊ฒ์
๋๋ค ๐
์ถ์ฒ : habr.com