๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ๋ ๋์คํฌ ๊ณต๊ฐ ๋ถ์กฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์์ถ์ ๋๋ค. ๋๋ถ์ ๋์ผํ ์ฅ๋น์์ ์ ์ฅ ์ฉ๋์ ๋๋ฆด ์ ์์ต๋๋ค. ์ด ๊ธฐ์ฌ์์๋ Apache Ignite์์ ๋ฐ์ดํฐ ์์ถ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด ๋ฌธ์์์๋ ์ ํ ๋ด์ ๊ตฌํ๋ ๋์คํฌ ์์ถ ๋ฐฉ๋ฒ๋ง ์ค๋ช ํฉ๋๋ค. ๊ตฌํ ์ฌ๋ถ์ ๊ด๊ณ์์ด ๋ค๋ฅธ ๋ฐ์ดํฐ ์์ถ ๋ฐฉ๋ฒ(๋คํธ์ํฌ๋ฅผ ํตํด, ๋ฉ๋ชจ๋ฆฌ์์)์ ๋ฒ์๋ฅผ ๋ฒ์ด๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ง์์ฑ ๋ชจ๋๊ฐ ํ์ฑํ๋๋ฉด ์บ์์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ผ๋ก ์ธํด Ignite๊ฐ ๋์คํฌ์ ์ฐ๊ธฐ๋ฅผ ์์ํฉ๋๋ค.
- ์บ์ ๋ด์ฉ
- ๋ฏธ๋ฆฌ ์ฐ๊ธฐ ๋ก๊ทธ(์ดํ ๊ฐ๋จํ WAL)
WAL ์์ถ์ด๋ผ๋ WAL ์์ถ ๋ฉ์ปค๋์ฆ์ด ๊ฝค ์ค๋ซ๋์ ์กด์ฌํด ์์ต๋๋ค. ์ต๊ทผ ์ถ์๋ Apache Ignite 2.8์๋ ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์์ถํ ์ ์๋ ๋ ๊ฐ์ง ๋ฉ์ปค๋์ฆ์ด ์ถ๊ฐ๋ก ๋์
๋์์ต๋๋ค. ์บ์ ์ฝํ
์ธ ๋ฅผ ์์ถํ๊ธฐ ์ํ ๋์คํฌ ํ์ด์ง ์์ถ๊ณผ ์ผ๋ถ WAL ํญ๋ชฉ์ ์์ถํ๊ธฐ ์ํ WAL ํ์ด์ง ์ค๋
์ท ์์ถ์
๋๋ค. ์ด ์ธ ๊ฐ์ง ๋ฉ์ปค๋์ฆ ๋ชจ๋์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋๋ฅผ ์ฐธ์กฐํ์ธ์.
๋์คํฌ ํ์ด์ง ์์ถ
์ด๊ฑฐ ์ด๋ป๊ฒ ์๋ ์์ผ์
๋จผ์ Ignite๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ํ์ด์ง ๋ฉ๋ชจ๋ฆฌ๋ ์ ์ฅ์ ์ฌ์ฉ๋ฉ๋๋ค. ํ์ด์ง ํฌ๊ธฐ๋ ๋ ธ๋ ์์ ์ ์ค์ ๋๋ฉฐ ์ดํ ๋จ๊ณ์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ํ ํ์ด์ง ํฌ๊ธฐ๋ XNUMX์ ๊ฑฐ๋ญ์ ๊ณฑ๊ณผ ํ์ผ ์์คํ ๋ธ๋ก ํฌ๊ธฐ์ ๋ฐฐ์์ฌ์ผ ํฉ๋๋ค. ํ์ด์ง๋ ํ์์ ๋ฐ๋ผ ๋์คํฌ์์ RAM์ผ๋ก ๋ก๋๋ฉ๋๋ค. ๋์คํฌ์ ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ํ ๋น๋ RAM์ ์์ ์ด๊ณผํ ์ ์์ต๋๋ค. RAM์ ๋์คํฌ์์ ํ์ด์ง๋ฅผ ๋ก๋ํ ๊ณต๊ฐ์ด ์ถฉ๋ถํ์ง ์์ผ๋ฉด ์ค๋๋๊ณ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ํ์ด์ง๊ฐ RAM์์ ์ ๊ฑฐ๋ฉ๋๋ค.
๋ฐ์ดํฐ๋ ๋ค์๊ณผ ๊ฐ์ ํํ๋ก ๋์คํฌ์ ์ ์ฅ๋ฉ๋๋ค: ๊ฐ ์บ์ ๊ทธ๋ฃน์ ๊ฐ ํํฐ์
์ ๋ํด ๋ณ๋์ ํ์ผ์ด ์์ฑ๋๊ณ , ์ด ํ์ผ์์ ํ์ด์ง๋ ์ค๋ฆ์ฐจ์ ์ธ๋ฑ์ค ์์๋ก ์ฐจ๋ก๋ก ๋ํ๋ฉ๋๋ค. ์ ์ฒด ํ์ด์ง ์๋ณ์์๋ ํ์ผ์ ์บ์ ๊ทธ๋ฃน ์๋ณ์, ํํฐ์
๋ฒํธ ๋ฐ ํ์ด์ง ์ธ๋ฑ์ค๊ฐ ํฌํจ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ฒด ํ์ด์ง ์๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ํ์ด์ง์ ๋ํ ํ์ผ๊ณผ ํ์ผ์ ์คํ์
์ ๊ณ ์ ํ๊ฒ ๊ฒฐ์ ํ ์ ์์ต๋๋ค. Apache Ignite Wiki ๊ธฐ์ฌ์์ ํ์ด์ง ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฝ์ ์ ์์ต๋๋ค.
์ด๋ฆ์์ ์ง์ํ ์ ์๋ฏ์ด ๋์คํฌ ํ์ด์ง ์์ถ ๋ฉ์ปค๋์ฆ์ ํ์ด์ง ์์ค์์ ์๋ํฉ๋๋ค. ์ด ๋ฉ์ปค๋์ฆ์ด ํ์ฑํ๋๋ฉด RAM์ ๋ฐ์ดํฐ๋ ์์ถ ์์ด ์๋ ๊ทธ๋๋ก ์ฒ๋ฆฌ๋์ง๋ง ํ์ด์ง๊ฐ RAM์์ ๋์คํฌ๋ก ์ ์ฅ๋๋ฉด ์์ถ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ๊ฐ ํ์ด์ง๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์์ถํ๋ ๊ฒ์ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ด ์๋๋ฉฐ ๊ฒฐ๊ณผ ๋ฐ์ดํฐ ํ์ผ์ ํฌ๊ธฐ๋ฅผ ์ด๋ป๊ฒ๋ ์ค์ฌ์ผ ํฉ๋๋ค. ํ์ด์ง ํฌ๊ธฐ๊ฐ ๋ ์ด์ ๊ณ ์ ๋์ง ์์ผ๋ฉด ๋ ์ด์ ํ์ผ์ ํ์ด์ง๋ฅผ ์ฐจ๋ก๋ก ์ธ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ์ฌ๋ฌ ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ํ์ด์ง ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ผ์์ ํด๋น ํ์ด์ง๊ฐ ์์นํ ์คํ์ ์ ๊ณ์ฐํ ์ ์์ต๋๋ค.
- ํ์ผ ๋์ ์์ง ์๊ณ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋ ํ์ด์ง๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋์ง ๋ช ํํ์ง ์์ต๋๋ค. ํ์ด์ง ํฌ๊ธฐ๊ฐ ์ค์ด๋ค๋ฉด ํ๋ณด๋ ๊ณต๊ฐ๋ ์ฌ๋ผ์ง๋๋ค. ํ์ด์ง ํฌ๊ธฐ๊ฐ ์ปค์ง๋ฉด ํ์ผ์์ ์ ์์น๋ฅผ ์ฐพ์์ผ ํฉ๋๋ค.
- ํ์ด์ง๊ฐ ํ์ผ ์์คํ ๋ธ๋ก ํฌ๊ธฐ์ ๋ฐฐ์๊ฐ ์๋ ๋ฐ์ดํธ ์๋งํผ ์ด๋ํ๋ ๊ฒฝ์ฐ ํ์ด์ง๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๋ ค๋ฉด ํ์ผ ์์คํ ๋ธ๋ก์ ํ๋ ๋ ํฐ์นํด์ผ ํ๋ฏ๋ก ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค.
์์ฒด ์์ค์์ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง ์๊ธฐ ์ํด Apache Ignite์ ๋์คํฌ ํ์ด์ง ์์ถ์ ์คํ์ค ํ์ผ์ด๋ผ๋ ํ์ผ ์์คํ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํฉ๋๋ค. ํฌ์ ํ์ผ์ XNUMX์ผ๋ก ์ฑ์์ง ์ผ๋ถ ์์ญ์ "๊ตฌ๋ฉ"์ผ๋ก ํ์ํ ์ ์๋ ํ์ผ์ ๋๋ค. ์ด ๊ฒฝ์ฐ ์ด๋ฌํ ํ์ ์ ์ฅํ๊ธฐ ์ํด ํ์ผ ์์คํ ๋ธ๋ก์ด ํ ๋น๋์ง ์์ผ๋ฏ๋ก ๋์คํฌ ๊ณต๊ฐ์ด ์ ์ฝ๋ฉ๋๋ค.
ํ์ผ ์์คํ ๋ธ๋ก์ ํด์ ํ๋ ค๋ฉด ๊ตฌ๋ฉ์ ํฌ๊ธฐ๊ฐ ํ์ผ ์์คํ ๋ธ๋ก๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์์ผ ํ๋ฉฐ, ์ด๋ ํ์ด์ง ํฌ๊ธฐ ๋ฐ Apache Ignite์ ์ถ๊ฐ ์ ํ์ ์ ์ฉํ๋ ๊ฒ์ด ๋ ผ๋ฆฌ์ ์ ๋๋ค. ํ์ด์ง ํฌ๊ธฐ๋ ๋ฐ๋์ ํ์ผ ์์คํ ๋ธ๋ก์ ํฌ๊ธฐ๋ณด๋ค ์ปค์ผ ํฉ๋๋ค. ํ์ด์ง ํฌ๊ธฐ๊ฐ ๋ธ๋ก ํฌ๊ธฐ์ ๊ฐ์ ๊ฒฝ์ฐ ๋จ์ผ ๋ธ๋ก์ ํด์ ํ๋ ค๋ฉด ์์ถ๋ ํ์ด์ง๊ฐ 0๋ฐ์ดํธ๋ฅผ ์ฐจ์งํด์ผ ํ๋ฏ๋ก ๋จ์ผ ๋ธ๋ก์ ํด์ ํ ์ ์์ต๋๋ค. ํ์ด์ง ํฌ๊ธฐ๊ฐ 2 ๋๋ 4 ๋ธ๋ก ํฌ๊ธฐ์ ๊ฐ์ ๊ฒฝ์ฐ ํ์ด์ง๊ฐ ๊ฐ๊ฐ ์ต์ 50% ๋๋ 75%๋ก ์์ถ๋๋ฉด ์ด๋ฏธ ์ต์ ํ๋์ ๋ธ๋ก์ ํ๋ณดํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์ ๋ฉ์ปค๋์ฆ ์๋ ๋ฐฉ์์ ๋ํ ์ต์ข
์ค๋ช
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ํ์ด์ง๋ฅผ ๋์คํฌ์ ์ธ ๋ ํ์ด์ง๋ฅผ ์์ถํ๋ ค๊ณ ์๋ํฉ๋๋ค. ์์ถ๋ ํ์ด์ง์ ํฌ๊ธฐ๋ก ์ธํด ํ๋ ์ด์์ ํ์ผ ์์คํ
๋ธ๋ก์ ํด์ ํ ์ ์๋ ๊ฒฝ์ฐ ํ์ด์ง๋ ์์ถ๋ ํ์์ผ๋ก ๊ธฐ๋ก๋๊ณ ํด์ ๋ ๋ธ๋ก ๋์ "๊ตฌ๋ฉ"์ด ์์ฑ๋ฉ๋๋ค(์์คํ
ํธ์ถ์ด ์คํ๋จ) fallocate()
ํ์น ํ ํ๋๊ทธ ํฌํจ). ์์ถ๋ ํ์ด์ง์ ํฌ๊ธฐ๋ก ์ธํด ๋ธ๋ก์ ํด์ ํ ์ ์๋ ๊ฒฝ์ฐ ํ์ด์ง๋ ์์ถ๋์ง ์์ ์ํ๋ก ์ ์ฅ๋ฉ๋๋ค. ๋ชจ๋ ํ์ด์ง ์คํ์
์ ํ์ด์ง ์์ธ์ ํ์ด์ง ํฌ๊ธฐ๋ฅผ ๊ณฑํ์ฌ ์์ถํ์ง ์์ ๊ฒ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค. ํ์ด์ง๋ฅผ ์ง์ ์ฌ๋ฐฐ์นํ ํ์๊ฐ ์์ต๋๋ค. ์์ถํ์ง ์์ ๊ฒฝ์ฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก ํ์ด์ง ์คํ์
์ ํ์ผ ์์คํ
๋ธ๋ก์ ๊ฒฝ๊ณ์ ์ํฉ๋๋ค.
ํ์ฌ ๊ตฌํ์์ Ignite๋ Linux OS์ ์คํ์ค ํ์ผ์ ๋ํด์๋ง ์๋ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋์คํฌ ํ์ด์ง ์์ถ์ ์ด ์ด์ ์ฒด์ ์์ Ignite๋ฅผ ์ฌ์ฉํ ๋๋ง ํ์ฑํํ ์ ์์ต๋๋ค.
๋์คํฌ ํ์ด์ง ์์ถ์ ์ฌ์ฉํ ์ ์๋ ์์ถ ์๊ณ ๋ฆฌ์ฆ: ZSTD, LZ4, Snappy. ๋ํ, ๋๋จธ์ง ๋ฐ์ดํฐ๋ฅผ ์์ถํ์ง ์๊ณ ํ์ด์ง ๋ด ์ฌ์ฉ๋์ง ์์ ๊ณต๊ฐ๋ง ๋ฒ๋ฆฌ๋ ๋์ ๋ชจ๋(SKIP_GARBAGE)๊ฐ ์์ด ์์ ๋์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ๋นํด CPU ๋ถํ๊ฐ ์ค์ด๋ ๋ค.
์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ
๋ถํํ๊ฒ๋ ์ฐ๋ฆฌ๋ ์ด ๋ฉ์ปค๋์ฆ์ ์์ฐ์ ์ฌ์ฉํ ๊ณํ์ด ์๊ธฐ ๋๋ฌธ์ ์ค์ ์คํ ๋์์ ์ค์ ์ฑ๋ฅ ์ธก์ ์ ์ํํ์ง ์์์ง๋ง ์ด๋ก ์ ์ผ๋ก ์ฐ๋ฆฌ๊ฐ ์์ ๊ณณ๊ณผ ์ด๊ธธ ๊ณณ์ ์ถ์ธกํ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ ค๋ฉด ์ก์ธ์คํ ๋ ํ์ด์ง๋ฅผ ์ฝ๊ณ ์ฐ๋ ๋ฐฉ๋ฒ์ ๊ธฐ์ตํด์ผ ํฉ๋๋ค.
- ์ฝ๊ธฐ ์์ ์ ์ํํ ๋ ๋จผ์ RAM์์ ๊ฒ์๋๊ณ , ๊ฒ์์ ์คํจํ๋ฉด ์ฝ๊ธฐ๋ฅผ ์ํํ๋ ๋์ผํ ์ค๋ ๋์ ์ํด ํ์ด์ง๊ฐ ๋์คํฌ์์ RAM์ผ๋ก ๋ก๋๋ฉ๋๋ค.
- ์ฐ๊ธฐ ์์ ์ด ์ํ๋๋ฉด RAM์ ํ์ด์ง๋ ๋ํฐ๋ก ํ์๋์ง๋ง ์ฐ๊ธฐ๋ฅผ ์ํํ๋ ์ค๋ ๋์ ์ํด ํ์ด์ง๊ฐ ๋์คํฌ์ ์ฆ์ ์ ์ฅ๋์ง๋ โโ์์ต๋๋ค. ๋ชจ๋ ๋ํฐ ํ์ด์ง๋ ๋์ค์ ์ฒดํฌํฌ์ธํธ ํ๋ก์ธ์ค์์ ๋ณ๋์ ์ค๋ ๋๋ก ๋์คํฌ์ ์ ์ฅ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ฝ๊ธฐ ์์ ์ ๋ฏธ์น๋ ์ํฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์์(๋์คํฌ IO), ์ฝ๊ธฐ ํ์ผ ์์คํ ๋ธ๋ก ์๊ฐ ๊ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ํฌ์ ํ์ผ ์์ ์ ์ํด ์ด์ ์ฒด์ ์ ํ์ํ ์ถ๊ฐ ๋ก๋๋ก ์ธํด ๋ค๊ฑฐํฐ๋ธ(CPU)์ ๋๋ค. ๋ ๋ณต์กํ ํฌ์ ํ์ผ ๊ตฌ์กฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ์ถ๊ฐ IO ์์ ์ด ์ฌ๊ธฐ์ ์์์ ์ผ๋ก ๋ํ๋ ์๋ ์์ต๋๋ค(๋ถํํ๋ ์ ๋ ํฌ์ ํ์ผ์ด ์๋ํ๋ ๋ฐฉ์์ ๋ํ ๋ชจ๋ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ๋ชจ๋ฆ ๋๋ค).
- ํ์ด์ง ์์ถ์ ํ์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ค๊ฑฐํฐ๋ธ(CPU)์ ๋๋ค.
- ์ฐ๊ธฐ ์์ ์๋ ์ํฅ์ด ์์ต๋๋ค.
- ์ฒดํฌํฌ์ธํธ ํ๋ก์ธ์ค์ ๋ฏธ์น๋ ์ํฅ(์ฌ๊ธฐ์ ๋ชจ๋ ๊ฒ์ ์ฝ๊ธฐ ์์ ๊ณผ ์ ์ฌํฉ๋๋ค):
- ์์(๋์คํฌ IO), ๊ธฐ๋ก๋ ํ์ผ ์์คํ ๋ธ๋ก ์๊ฐ ๊ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ํฌ์ ํ์ผ ์์ ์ผ๋ก ์ธํด ๋ถ์ (CPU, ๋์คํฌ IO ๊ฐ๋ฅ).
- ๋ค๊ฑฐํฐ๋ธ(CPU), ํ์ด์ง ์์ถ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ ์ธ์ ์ด๋ ์ชฝ์ด ์ ์ธ์ ๊ธฐ์ธ๊ฒ ํฉ๋๊น? ์ด ๋ชจ๋ ๊ฒ์ ํ๊ฒฝ์ ๋ฐ๋ผ ํฌ๊ฒ ๋ค๋ฅด์ง๋ง ๋์คํฌ ํ์ด์ง ์์ถ์ด ๋๋ถ๋ถ์ ์์คํ ์์ ์ฑ๋ฅ ์ ํ๋ก ์ด์ด์ง ๊ฐ๋ฅ์ฑ์ด ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ํ ์คํ์ค ํ์ผ๊ณผ ์ ์ฌํ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ ๋ค๋ฅธ DBMS์ ๋ํ ํ ์คํธ์์๋ ์์ถ์ด ํ์ฑํ๋๋ฉด ์ฑ๋ฅ์ด ์ ํ๋๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
ํ์ฑํ ๋ฐ ๊ตฌ์ฑ ๋ฐฉ๋ฒ
์์์ ์ธ๊ธํ๋ฏ์ด ๋์คํฌ ํ์ด์ง ์์ถ์ ์ง์ํ๋ Apache Ignite์ ์ต์ ๋ฒ์ ์ 2.8์ด๋ฉฐ, Linux ์ด์์ฒด์ ๋ง ์ง์ํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ํ์ฑํํ๊ณ ๊ตฌ์ฑํฉ๋๋ค.
- ํด๋์ค ๊ฒฝ๋ก์ ignite-compression ๋ชจ๋์ด ์์ด์ผ ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ libs/ional ๋๋ ํ ๋ฆฌ์ Apache Ignite ๋ฐฐํฌํ์ ์์ผ๋ฉฐ ํด๋์ค ๊ฒฝ๋ก์๋ ํฌํจ๋์ง ์์ต๋๋ค. ๋๋ ํฐ๋ฆฌ๋ฅผ libs๋ก ํ ์์ค ์๋ก ์ด๋ํ ๋ค์ ignite.sh๋ฅผ ํตํด ์คํํ๋ฉด ์๋์ผ๋ก ํ์ฑํ๋ฉ๋๋ค.
- ์ง์์ฑ์ ํ์ฑํํด์ผ ํฉ๋๋ค(๋ค์์ ํตํด ํ์ฑํ๋จ).
DataRegionConfiguration.setPersistenceEnabled(true))
. - ํ์ด์ง ํฌ๊ธฐ๋ ํ์ผ ์์คํ
๋ธ๋ก ํฌ๊ธฐ๋ณด๋ค ์ปค์ผ ํฉ๋๋ค(๋ค์์ ์ฌ์ฉํ์ฌ ์ค์ ํ ์ ์์).
DataStorageConfiguration.setPageSize()
). - ๋ฐ์ดํฐ๋ฅผ ์์ถํด์ผ ํ๋ ๊ฐ ์บ์์ ๋ํด ์์ถ ๋ฐฉ๋ฒ๊ณผ (์ ํ์ ์ผ๋ก) ์์ถ ์์ค(๋ฐฉ๋ฒ)์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
CacheConfiguration.setDiskPageCompression() , CacheConfiguration.setDiskPageCompressionLevel()
).
WAL ์์ถ
์ด๊ฑฐ ์ด๋ป๊ฒ ์๋ ์์ผ์
WAL์ ๋ฌด์์ด๋ฉฐ ์ ํ์ํ๊ฐ์? ๋งค์ฐ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํ๋ฉด ์ด๋ ๊ถ๊ทน์ ์ผ๋ก ํ์ด์ง ์ ์ฅ ๊ณต๊ฐ์ ๋ณ๊ฒฝํ๋ ๋ชจ๋ ์ด๋ฒคํธ๋ฅผ ํฌํจํ๋ ๋ก๊ทธ์ ๋๋ค. ์ฃผ๋ก ๋์ด์ก์ ๋ ํ๋ณตํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค. ๋ชจ๋ ์์ ์ ์ฌ์ฉ์์๊ฒ ์ ์ด๊ถ์ ์ฃผ๊ธฐ ์ ์ ๋จผ์ WAL์ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋กํด์ผ ํฉ๋๋ค. ๊ทธ๋์ผ ์คํจํ ๊ฒฝ์ฐ ๋ก๊ทธ์์ ์ฌ์ํ ์ ์๊ณ ์ฌ์ฉ์๊ฐ ์ฑ๊ณต์ ์ธ ์๋ต์ ๋ฐ์ ๋ชจ๋ ์์ ์ ๋ณต์ํ ์ ์์ต๋๋ค. ๋์คํฌ์ ํ์ด์ง ์ ์ฅ์์ ๋ฐ์๋ ์๊ฐ์ด ์์์ต๋๋ค(์ด๋ฏธ ํ์ด์ง ์ ์ฅ์์ ๋ํ ์ค์ ์ฐ๊ธฐ๋ ๋ณ๋์ ์ค๋ ๋์ ์ํด ์ฝ๊ฐ์ ์ง์ฐ์ด ์๋ "์ฒดํฌํฌ์ธํ "์ด๋ผ๋ ํ๋ก์ธ์ค์์ ์ํ๋๋ค๊ณ ์ค๋ช ํ์ต๋๋ค).
WAL์ ํญ๋ชฉ์ ๋
ผ๋ฆฌ์ ํญ๋ชฉ๊ณผ ๋ฌผ๋ฆฌ์ ํญ๋ชฉ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ๋ถ์ธ์ ํค์ ๊ฐ ์์ฒด์
๋๋ค. ๋ฌผ๋ฆฌ์ - ํ์ด์ง ์ ์ฅ์์ ํ์ด์ง ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ํฉ๋๋ค. ๋
ผ๋ฆฌ์ ๋ ์ฝ๋๋ ์ผ๋ถ ๋ค๋ฅธ ๊ฒฝ์ฐ์ ์ ์ฉํ ์ ์์ง๋ง ๋ฌผ๋ฆฌ์ ๋ ์ฝ๋๋ ์ถฉ๋ ์ ๋ณต๊ตฌ์๋ง ํ์ํ๋ฉฐ ๋ ์ฝ๋๋ ๋ง์ง๋ง ์ฑ๊ณต์ ์ธ ์ฒดํฌํฌ์ธํธ ์ดํ์๋ง ํ์ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์ด๊ฒ์ด ์ ์ด๋ฐ ์์ผ๋ก ์๋ํ๋์ง ์์ธํ ์ค๋ช
ํ์ง ์๊ฒ ์ต๋๋ค. ๊ด์ฌ ์๋ ๋ถ๋ค์ Apache Ignite Wiki์์ ์ด๋ฏธ ์ธ๊ธํ ๊ธฐ์ฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ ผ๋ฆฌ์ ๋ ์ฝ๋๋น ์ฌ๋ฌ ๊ฐ์ ๋ฌผ๋ฆฌ์ ๋ ์ฝ๋๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ฆ, ์๋ฅผ ๋ค์ด ์บ์์ ๋ํ ํ ๋ฒ์ ๋ฃ๊ธฐ ์์ ์ ํ์ด์ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฌ ํ์ด์ง(๋ฐ์ดํฐ ์์ฒด๊ฐ ์๋ ํ์ด์ง, ์ธ๋ฑ์ค๊ฐ ์๋ ํ์ด์ง, ์ฌ์ฉ ๊ฐ๋ฅ ๋ชฉ๋ก์ด ์๋ ํ์ด์ง)์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ผ๋ถ ์ข ํฉ ํ ์คํธ์์ ๋ฌผ๋ฆฌ์ ๊ธฐ๋ก์ด WAL ํ์ผ์ ์ต๋ 90%๋ฅผ ์ฐจ์งํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ๊ทธ๋ฌ๋ ๋งค์ฐ ์งง์ ์๊ฐ ๋์๋ง ํ์ํฉ๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก ์ฒดํฌํฌ์ธํธ ๊ฐ ๊ฐ๊ฒฉ์ 3๋ถ์ ๋๋ค). ๊ด๋ จ์ฑ์ ์์ ํ ์ด ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ด ๋ ผ๋ฆฌ์ ์ ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก WAL ์์ถ ๋ฉ์ปค๋์ฆ์ด ์ํํ๋ ์์ ์ ๋๋ค. ๋ฌผ๋ฆฌ์ ๋ ์ฝ๋๋ฅผ ์ ๊ฑฐํ๊ณ zip์ ์ฌ์ฉํ์ฌ ๋๋จธ์ง ๋ ผ๋ฆฌ์ ๋ ์ฝ๋๋ฅผ ์์ถํ๋ ๋์์ ํ์ผ ํฌ๊ธฐ๊ฐ ๋งค์ฐ ํฌ๊ฒ(๋๋ก๋ ์์ญ ๋ฐฐ๊น์ง) ์ค์ด๋ญ๋๋ค.
๋ฌผ๋ฆฌ์ ์ผ๋ก WAL์ ๊ณ ์ ๋ ํฌ๊ธฐ(๊ธฐ๋ณธ์ ์ผ๋ก 10MB)์ ์ฌ๋ฌ ์ธ๊ทธ๋จผํธ(๊ธฐ๋ณธ์ ์ผ๋ก 64๊ฐ)๋ก ๊ตฌ์ฑ๋๋ฉฐ ์ํ ๋ฐฉ์์ผ๋ก ๋ฎ์ด์ฐ์ฌ์ง๋๋ค. ํ์ฌ ์ธ๊ทธ๋จผํธ๊ฐ ์ฑ์์ง์๋ง์ ๋ค์ ์ธ๊ทธ๋จผํธ๊ฐ ํ์ฌ ์ธ๊ทธ๋จผํธ๋ก ํ ๋น๋๊ณ ์ฑ์์ง ์ธ๊ทธ๋จผํธ๋ ๋ณ๋์ ์ค๋ ๋์ ์ํด ์์นด์ด๋ธ์ ๋ณต์ฌ๋ฉ๋๋ค. WAL ์์ถ์ ์ด๋ฏธ ์์นด์ด๋ธ ์ธ๊ทธ๋จผํธ์์ ์๋ํฉ๋๋ค. ๋ํ ๋ณ๋์ ์ค๋ ๋๋ก์ ์ฒดํฌํฌ์ธํธ ์คํ์ ๋ชจ๋ํฐ๋งํ๊ณ ๋ฌผ๋ฆฌ์ ๋ ์ฝ๋๊ฐ ๋ ์ด์ ํ์ํ์ง ์์ ์์นด์ด๋ธ ์ธ๊ทธ๋จผํธ์์ ์์ถ์ ์์ํฉ๋๋ค.
์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ
WAL ์์ถ์ ๋ณ๋์ ์ค๋ ๋๋ก ์คํ๋๋ฏ๋ก ์ํ๋๋ ์์ ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค. ํ์ง๋ง ์ฌ์ ํ CPU(์์ถ)์ ๋์คํฌ(์์นด์ด๋ธ์์ ๊ฐ WAL ์ธ๊ทธ๋จผํธ๋ฅผ ์ฝ๊ณ ์์ถ๋ ์ธ๊ทธ๋จผํธ์ ์ฐ๊ธฐ)์ ์ถ๊ฐ ๋ฐฑ๊ทธ๋ผ์ด๋ ๋ก๋๊ฐ ๋ฐ์ํ๋ฏ๋ก ์์คํ ์ด ์ต๋ ์ฉ๋์ผ๋ก ์คํ๋๋ ๊ฒฝ์ฐ ์ฑ๋ฅ ์ ํ๋ ๋ฐ์ํฉ๋๋ค.
ํ์ฑํ ๋ฐ ๊ตฌ์ฑ ๋ฐฉ๋ฒ
์์ฑ์ ์ฌ์ฉํ์ฌ WAL ์์ถ์ ํ์ฑํํ ์ ์์ต๋๋ค. WalCompactionEnabled
ะฒ DataStorageConfiguration (DataStorageConfiguration.setWalCompactionEnabled(true)
). ๋ํ, ๊ธฐ๋ณธ๊ฐ(BEST_SPEED)์ ๋ง์กฑํ์ง ๋ชปํ ๊ฒฝ์ฐ DataStorageConfiguration.setWalCompactionLevel() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ถ ์์ค์ ์ค์ ํ ์ ์์ต๋๋ค.
WAL ํ์ด์ง ์ค๋ ์ท ์์ถ
์ด๊ฑฐ ์ด๋ป๊ฒ ์๋ ์์ผ์
์ฐ๋ฆฌ๋ ์ด๋ฏธ WAL ๋ ์ฝ๋๊ฐ ๋ ผ๋ฆฌ์ ๋ ์ฝ๋์ ๋ฌผ๋ฆฌ์ ๋ ์ฝ๋๋ก ๊ตฌ๋ถ๋๋ค๋ ๊ฒ์ ์์๋์ต๋๋ค. ๊ฐ ํ์ด์ง๊ฐ ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ฌผ๋ฆฌ์ WAL ๋ ์ฝ๋๊ฐ ํ์ด์ง ๋ฉ๋ชจ๋ฆฌ์ ์์ฑ๋ฉ๋๋ค. ๋ฌผ๋ฆฌ์ ๋ ์ฝ๋๋ ํ์ด์ง ์ค๋ ์ท ๋ ์ฝ๋์ ๋ธํ ๋ ์ฝ๋๋ผ๋ 2๊ฐ์ง ํ์ ์ ํ์ผ๋ก ๋๋ฉ๋๋ค. ํ์ด์ง์ ๋ด์ฉ์ ๋ณ๊ฒฝํ๊ณ ํด๋ฆฐ ์ํ์์ ๋ํฐ ์ํ๋ก ์ ํํ ๋๋ง๋ค ์ด ํ์ด์ง์ ์ ์ฒด ๋ณต์ฌ๋ณธ์ด WAL(ํ์ด์ง ์ค๋ ์ท ๋ ์ฝ๋)์ ์ ์ฅ๋ฉ๋๋ค. WAL์์ 90๋ฐ์ดํธ๋ง ๋ณ๊ฒฝํ๋๋ผ๋ ๋ ์ฝ๋๋ ํ์ด์ง ํฌ๊ธฐ๋ณด๋ค ์ฝ๊ฐ ๋ ์ปค์ง๋๋ค. ์ด๋ฏธ ๋ํฐ ํ์ด์ง์์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ณ๊ฒฝํ๋ฉด WAL์ ๋ธํ ๋ ์ฝ๋๊ฐ ํ์ฑ๋ฉ๋๋ค. ์ด๋ ํ์ด์ง์ ์ด์ ์ํ์ ๋น๊ตํ ๋ณ๊ฒฝ ์ฌํญ๋ง ๋ฐ์ํ๊ณ ์ ์ฒด ํ์ด์ง๋ ๋ฐ์ํ์ง ์์ต๋๋ค. ํ์ด์ง ์ํ๋ฅผ ๋ํฐ์์ ํด๋ฆฐ์ผ๋ก ์ฌ์ค์ ํ๋ ์์ ์ ์ฒดํฌํฌ์ธํธ ํ๋ก์ธ์ค ์ค์ ์ํ๋๋ฏ๋ก ์ฒดํฌํฌ์ธํธ ์์ ์งํ์๋ ๊ฑฐ์ ๋ชจ๋ ๋ฌผ๋ฆฌ์ ๋ ์ฝ๋๊ฐ ํ์ด์ง์ ์ค๋ ์ท์ผ๋ก๋ง ๊ตฌ์ฑ๋ฉ๋๋ค(์ฒดํฌํฌ์ธํธ ์์ ์งํ์ ๋ชจ๋ ํ์ด์ง๋ ํด๋ฆฐ์ด๋ฏ๋ก). , ๋ค์ ์ฒดํฌํฌ์ธํธ์ ์ ๊ทผํ๋ฉด ๋ธํ ๋ ์ฝ๋ ๋ถ๋ถ์ด ์ปค์ง๊ธฐ ์์ํ๊ณ ๋ค์ ์ฒดํฌํฌ์ธํธ ์์ ๋ถ๋ถ์์ ๋ค์ ์ฌ์ค์ ๋ฉ๋๋ค. ์ผ๋ถ ์ข ํฉ ํ ์คํธ์์ ์ธก์ ํ ๊ฒฐ๊ณผ ์ ์ฒด ๋ฌผ๋ฆฌ์ ๊ธฐ๋ก์์ ํ์ด์ง ์ค๋ ์ท์ด ์ฐจ์งํ๋ ๋น์ค์ด XNUMX%์ ๋ฌํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
WAL ํ์ด์ง ์ค๋ ์ท ์์ถ์ ๊ฐ๋ ์ ๊ธฐ์ฑ ํ์ด์ง ์์ถ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง ์ค๋ ์ท์ ์์ถํ๋ ๊ฒ์ ๋๋ค(๋์คํฌ ํ์ด์ง ์์ถ ์ฐธ์กฐ). ๋์์ WAL์์๋ ๋ ์ฝ๋๊ฐ ์ถ๊ฐ ์ ์ฉ ๋ชจ๋๋ก ์์ฐจ์ ์ผ๋ก ์ ์ฅ๋๋ฉฐ ๋ ์ฝ๋๋ฅผ ํ์ผ ์์คํ ๋ธ๋ก์ ๊ฒฝ๊ณ์ ๋ฐ์ธ๋ฉํ ํ์๊ฐ ์์ผ๋ฏ๋ก ์ฌ๊ธฐ์๋ ๋์คํฌ ํ์ด์ง ์์ถ ๋ฉ์ปค๋์ฆ๊ณผ ๋ฌ๋ฆฌ ์คํ์ค ํ์ผ์ด ํ์ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด ๋ฉ์ปค๋์ฆ์ Linux OS์์๋ง ์๋ํ๋ ๊ฒ์ด ์๋๋๋ค. ๋ํ ํ์ด์ง๋ฅผ ์ผ๋ง๋ ์์ถํ ์ ์์๋์ง๋ ๋ ์ด์ ์ค์ํ์ง ์์ต๋๋ค. 1๋ฐ์ดํธ๋ฅผ ํด์ ํ๋๋ผ๋ ์ด๋ ์ด๋ฏธ ๊ธ์ ์ ์ธ ๊ฒฐ๊ณผ์ด๋ฉฐ, 1๊ฐ ์ด์์ ํ์ผ ์์คํ ๋ธ๋ก์ ํด์ ํ ๊ฒฝ์ฐ์๋ง ์์ถ๋ ํ์ด์ง๋ฅผ ์ ์ฅํ๋ ๋์คํฌ ํ์ด์ง ์์ถ๊ณผ ๋ฌ๋ฆฌ WAL์ ์์ถ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค.
ํ์ด์ง๋ ์์ถ๋ฅ ์ด ๋์ ๋ฐ์ดํฐ์ด๊ณ ์ ์ฒด WAL ๋ณผ๋ฅจ์์ ์ฐจ์งํ๋ ๋น์จ์ด ๋งค์ฐ ๋์ผ๋ฏ๋ก WAL ํ์ผ ํ์์ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค. ๋ ผ๋ฆฌ์ ๋ ์ฝ๋๋ฅผ ํฌํจํ ์์ถ์๋ ํ์ ๋ณ๊ฒฝ๊ณผ ํธํ์ฑ ์์ค์ด ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ ผ๋ฆฌ์ ๋ ์ฝ๋์ ๊ด์ฌ์ด ์์ ์ ์์ง๋ง ํ์ผ ํฌ๊ธฐ๊ฐ ํฌ๊ฒ ์ค์ด๋ค์ง๋ ์๋ ์ธ๋ถ ์๋น์์ ๊ฒฝ์ฐ์ ๋๋ค.
๋์คํฌ ํ์ด์ง ์์ถ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก WAL ํ์ด์ง ์ค๋ ์ท ์์ถ์ ZSTD, LZ4, Snappy ์์ถ ์๊ณ ๋ฆฌ์ฆ๊ณผ SKIP_GARBAGE ๋ชจ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ
WAL ํ์ด์ง ์ค๋ ์ท ์์ถ์ ์ง์ ํ์ฑํํ๋ฉด ํ์ด์ง ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋ ์ค๋ ๋, ์ฆ ์บ์์์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๋ ์ค๋ ๋์๋ง ์ํฅ์ ๋ฏธ์น๋ค๋ ์ฌ์ค์ ์๋ ๊ฒ์ ์ด๋ ต์ง ์์ต๋๋ค. WAL์์ ๋ฌผ๋ฆฌ์ ๋ ์ฝ๋๋ฅผ ์ฝ๋ ๊ฒ์ ๋ ธ๋๊ฐ ์ถ๋ฝ ํ ์ฌ๋ผ๊ฐ๋ ์๊ฐ(๊ทธ๋ฆฌ๊ณ ์ฒดํฌํฌ์ธํธ ์ค์ ๋จ์ด์ง๋ ๊ฒฝ์ฐ์๋ง) ํ ๋ฒ๋ง ๋ฐ์ํฉ๋๋ค.
์ด๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๋ ์ค๋ ๋์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋์คํฌ์ ์ฐ๊ธฐ ์ ์ ๋งค๋ฒ ํ์ด์ง๋ฅผ ์์ถํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ถ์ ์ ์ธ ํจ๊ณผ(CPU)๋ฅผ ์ป๊ณ , ์์ฑ๋ ๋ฐ์ดํฐ์ ๋๋ค. ๋ฐ๋ผ์ ์ฌ๊ธฐ์์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ๋จํฉ๋๋ค. ์์คํ ์ฑ๋ฅ์ด CPU์ ์ํด ์ ํ๋๋ฉด ์ฝ๊ฐ ์ ํ๋๊ณ , ๋์คํฌ I/O์ ์ํด ์ ํ๋๋ฉด ์ฆ๊ฐํฉ๋๋ค.
๊ฐ์ ์ ์ผ๋ก WAL ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๊ฒ์ WAL ์ธ๊ทธ๋จผํธ๋ฅผ ์์นด์ด๋ธ ๋ฐ WAL ์์ถ ์คํธ๋ฆผ์ผ๋ก ๋คํํ๋ ์คํธ๋ฆผ์๋ (๊ธ์ ์ ์ผ๋ก) ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
ํฉ์ฑ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ฐ๋ฆฌ ํ๊ฒฝ์ ์ค์ ์ฑ๋ฅ ํ ์คํธ์์๋ ์ฝ๊ฐ์ ์ฆ๊ฐ๊ฐ ๋ํ๋ฌ์ต๋๋ค(์ฒ๋ฆฌ๋ 10%-15% ์ฆ๊ฐ, ๋๊ธฐ ์๊ฐ 10%-15% ๊ฐ์).
ํ์ฑํ ๋ฐ ๊ตฌ์ฑ ๋ฐฉ๋ฒ
์ต์ Apache Ignite ๋ฒ์ : 2.8. ๋ค์๊ณผ ๊ฐ์ด ํ์ฑํํ๊ณ ๊ตฌ์ฑํฉ๋๋ค.
- ํด๋์ค ๊ฒฝ๋ก์ ignite-compression ๋ชจ๋์ด ์์ด์ผ ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ libs/ional ๋๋ ํ ๋ฆฌ์ Apache Ignite ๋ฐฐํฌํ์ ์์ผ๋ฉฐ ํด๋์ค ๊ฒฝ๋ก์๋ ํฌํจ๋์ง ์์ต๋๋ค. ๋๋ ํฐ๋ฆฌ๋ฅผ libs๋ก ํ ์์ค ์๋ก ์ด๋ํ ๋ค์ ignite.sh๋ฅผ ํตํด ์คํํ๋ฉด ์๋์ผ๋ก ํ์ฑํ๋ฉ๋๋ค.
- ์ง์์ฑ์ ํ์ฑํํด์ผ ํฉ๋๋ค(๋ค์์ ํตํด ํ์ฑํ๋จ).
DataRegionConfiguration.setPersistenceEnabled(true)
). - ์์ถ ๋ชจ๋๋ ๋ค์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ ํด์ผ ํฉ๋๋ค.
DataStorageConfiguration.setWalPageCompression()
, ์์ถ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋ฉ๋๋ค(DISABLED ๋ชจ๋). - ์ ํ์ ์ผ๋ก ๋ค์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ถ ์์ค์ ์ค์ ํ ์ ์์ต๋๋ค.
DataStorageConfiguration.setWalPageCompression()
, ๊ฐ ๋ชจ๋์ ์ ํจํ ๊ฐ์ ๋ํ ๋ฐฉ๋ฒ์ javadoc์ ์ฐธ์กฐํ์ธ์.
๊ฒฐ๋ก
Apache Ignite์์ ๊ณ ๋ ค๋ ๋ฐ์ดํฐ ์์ถ ๋ฉ์ปค๋์ฆ์ ์๋ก ๋
๋ฆฝ์ ์ผ๋ก ์ฌ์ฉ๋ ์ ์์ง๋ง ์ด๋ค์ ์กฐํฉ๋ ํ์ฉ๋ฉ๋๋ค. ์๋ ๋ฐฉ์์ ์ดํดํ๋ฉด ํด๋น ํ๊ฒฝ์์ ์์
์ ์ผ๋ง๋ ์ ํฉํ์ง, ์ฌ์ฉํ ๋ ๋ฌด์์ ํฌ์ํด์ผ ํ๋์ง ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ๋์คํฌ ํ์ด์ง ์์ถ์ ์ฃผ ์ ์ฅ์๋ฅผ ์์ถํ๋๋ก ์ค๊ณ๋์์ผ๋ฉฐ ์ค๊ฐ ์์ถ ๋น์จ์ ์ ๊ณตํ ์ ์์ต๋๋ค. WAL ํ์ด์ง ์ค๋
์ท ์์ถ์ WAL ํ์ผ์ ๋ํ ํ๊ท ์์ถ ์์ค์ ์ ๊ณตํ๋ฉฐ ์ฑ๋ฅ๋ ํฅ์์ํฌ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. WAL ์์ถ์ ์ฑ๋ฅ์ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น์ง ์์ง๋ง ๋ฌผ๋ฆฌ์ ๋ ์ฝ๋๋ฅผ ์ ๊ฑฐํ์ฌ WAL ํ์ผ์ ํฌ๊ธฐ๋ฅผ ์ต๋ํ ์ค์
๋๋ค.
์ถ์ฒ : habr.com