์ง๋ ๋ช ๋
๋์ ์๊ณ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ด์ํ ๊ฒ(๊ฐ๋ฐฉํ ๋ชจ๋ํฐ๋ง ์์คํ
(๋ฐ ํน์ ์๋ฃจ์
๊ณผ ์ฐ๊ฒฐ) ๋๋ ๋น
๋ฐ์ดํฐ ํ๋ก์ ํธ์ ์ฌ์ฉ๋๋ ๊ณ ๋๋ก ์ ๋ฌธํ๋ ๊ฒ)์์ "์๋น์ ์ ํ"์ผ๋ก ๋ณํ์ต๋๋ค. ๋ฌ์์ ์ฐ๋ฐฉ ์ํ ์์๋ ์ด์ ๋ํด Yandex์ ClickHouse์ ํน๋ณํ ๊ฐ์ฌ๋ฅผ ํํด์ผ ํฉ๋๋ค. ์ง๊ธ๊น์ง๋ ๋๋์ ์๊ณ์ด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด์ผ ํ๋ค๋ฉด ์์ฒญ๋ Hadoop ์คํ์ ๊ตฌ์ถํ๊ณ ์ ์ง ๊ด๋ฆฌํด์ผ ํ๋ค๋ ์ ์ ์ธ์ ํ๊ฑฐ๋ ๊ฐ ์์คํ
์ ๋ํด ๊ฐ๋ณ์ ์ธ ํ๋กํ ์ฝ๊ณผ ํต์ ํด์ผ ํ์ต๋๋ค.
2019๋ ์๋ TSDB๋ฅผ ์ฌ์ฉํ ๊ฐ์น๊ฐ ์๋ ๊ธฐ์ฌ๊ฐ "๊ทธ๋ฅ ClickHouse๋ฅผ ์ฌ์ฉํ์ธ์"๋ผ๋ ๋จ ํ ๋ฌธ์ฅ์ผ๋ก๋ง ๊ตฌ์ฑ๋ ๊ฒ์ผ๋ก ๋ณด์ผ ์ ์์ต๋๋ค. ํ์ง๋ง... ๋ฏธ๋ฌํ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
์ค์ ๋ก ClickHouse๋ ์ ๊ทน์ ์ผ๋ก ๊ฐ๋ฐ ์ค์ด๊ณ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ด ์ฑ์ฅํ๊ณ ์์ผ๋ฉฐ ์ง์๋ ๋งค์ฐ ํ๋ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ ํจ๊ณผ์ ์ด๊ณ ์ ๋ขฐํ ์ ์๋ ๋ค๋ฅธ ์๋ฃจ์ ์ ๋ฌด์ํ๊ฒ ๋ง๋ ClickHouse์ ๋์ค์ ์ฑ๊ณต์ ์ฐ๋ฆฌ๊ฐ ์ธ์ง์ด ๋์์ต๋๊น?
์๋
์ด์ ์ฐ๋ฆฌ๋ ์์ฒด ๋ชจ๋ํฐ๋ง ์์คํ
์ ์ฌ์์
ํ๊ธฐ ์์ํ์ผ๋ฉฐ ๊ทธ ๋์ ๋ฐ์ดํฐ ์ ์ฅ์ ์ ํฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ ๋ ์ฌ๊ธฐ์ ์ด ์ ํ์ ์ญ์ฌ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์ถ์ต๋๋ค.
๋ฌธ์ ์ฑ๋ช
์ฐ์ ํ์ํ ์๋ฌธ์ ๋๋ค. ์์ฒด ๋ชจ๋ํฐ๋ง ์์คํ ์ด ํ์ํ ์ด์ ๋ ๋ฌด์์ด๋ฉฐ ์ด๋ป๊ฒ ์ค๊ณ๋์์ต๋๊น?
์ฐ๋ฆฌ๋ 2008๋ ์ ์ง์ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์์ํ๊ณ , 2010๋ ์๋ ๋น์ ์กด์ฌํ๋ ์๋ฃจ์ ์ผ๋ก๋ ํด๋ผ์ด์ธํธ ์ธํ๋ผ์์ ๋ฐ์ํ๋ ํ๋ก์ธ์ค์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํ๋ ๊ฒ์ด ์ด๋ ค์์ก๋ค๋ ๊ฒ์ด ๋ถ๋ช ํด์ก์ต๋๋ค(์ฐ๋ฆฌ๋ God ์ฉ์ํด ์ฃผ์ธ์, Cacti, Zabbix์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค). ๊ทธ๋ฆฌ๊ณ ์ ํฅ ํ์ฐ).
์ฐ๋ฆฌ์ ์ฃผ์ ์๊ตฌ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํ๋์ ์์คํ ๋ด์์ (๋น์์๋ ์์ญ ๊ฐ, ์์ผ๋ก๋ ์๋ฐฑ ๊ฐ) ํด๋ผ์ด์ธํธ๋ฅผ ์ง์ํ๊ณ ๋์์ ์ค์ ์ง์ค์ ๊ฒฝ๊ณ ๊ด๋ฆฌ ์์คํ ๋ ์กด์ฌํฉ๋๋ค.
- ๊ฒฝ๋ณด ์์คํ ๊ด๋ฆฌ์ ์ ์ฐ์ฑ(์ง๋ฌด ๋ด๋น์ ๊ฐ ๊ฒฝ๋ณด ์์ค์ปฌ๋ ์ด์ , ์ผ์ ๊ด๋ฆฌ, ์ง์ ๊ธฐ๋ฐ)
- ๊ทธ๋ํ๋ฅผ ์์ธํ ์ค๋ช ํ๋ ๊ธฐ๋ฅ(๋น์ Zabbix๋ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆผ ํํ๋ก ๋ ๋๋งํ์ต๋๋ค)
- ๋์ฉ๋ ๋ฐ์ดํฐ(XNUMX๋ ์ด์)์ ์ฅ๊ธฐ ์ ์ฅ๊ณผ ๋น ๋ฅธ ๊ฒ์ ๋ฅ๋ ฅ.
์ด ๊ธฐ์ฌ์์ ์ฐ๋ฆฌ๋ ๋ง์ง๋ง ์์ ์ ๊ด์ฌ์ด ์์ต๋๋ค.
์คํ ๋ฆฌ์ง์ ๋ํ ์๊ตฌ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์์คํ ์ ๋น ๋ฅด๊ฒ ์๋ํด์ผ ํฉ๋๋ค.
- ์์คํ ์ SQL ์ธํฐํ์ด์ค๊ฐ ์๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค.
- ์์คํ ์ ์์ ์ ์ด์ด์ผ ํ๋ฉฐ ํ์ฑ ์ฌ์ฉ์ ๊ธฐ๋ฐ๊ณผ ์ง์์ด ์์ด์ผ ํฉ๋๋ค(๋ ์ด์ ๊ฐ๋ฐ๋์ง ์์ MemcacheDB ๋๋ ๋ฒ๊ทธ ์ถ์ ๊ธฐ๊ฐ ์ค๊ตญ์ด๋ก ์ ์ง๋๋ MooseFS ๋ถ์ฐ ์คํ ๋ฆฌ์ง์ ๊ฐ์ ์์คํ ์ ์ง์ํด์ผ ํ ํ์์ฑ์ ์ง๋ฉดํ์ ๋: ์ฐ๋ฆฌ ํ๋ก์ ํธ๊ฐ ์ํ์ง ์์๊ธฐ ๋๋ฌธ์ ์ด ์ด์ผ๊ธฐ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค);
- CAP ์ ๋ฆฌ ์ค์: ์ผ๊ด์ฑ(ํ์) - ๋ฐ์ดํฐ๋ ์ต์ ์ด์ด์ผ ํ๋ฉฐ, ๊ฒฝ๊ณ ๊ด๋ฆฌ ์์คํ ์ด ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ์ง ์๊ณ ๋ชจ๋ ํ๋ก์ ํธ์ ๋ํ ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ์ง ์์๋ค๋ ๊ฒฝ๊ณ ๋ฅผ ๋ด๋ฑ๋ ๊ฒ์ ์ํ์ง ์์ต๋๋ค. Partition Tolerance (ํ์) - ์ฐ๋ฆฌ๋ Split Brain ์์คํ ์ ์ํ์ง ์์ต๋๋ค. ๊ฐ์ฉ์ฑ(ํ์ฑ ๋ณต์ ๋ณธ์ด ์๋ ๊ฒฝ์ฐ ์ค์ํ์ง ์์) - ์ฌ๊ณ ๋ฐ์ ์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฑ์ ์์คํ ์ผ๋ก ์ง์ ์ ํํ ์ ์์ต๋๋ค.
์ด์ํ๊ฒ๋ ๋น์ MySQL์ ์ฐ๋ฆฌ์๊ฒ ์ด์์ ์ธ ์๋ฃจ์ ์ด์์ต๋๋ค. ์ฐ๋ฆฌ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ๋งค์ฐ ๊ฐ๋จํ์ต๋๋ค. ์๋ฒ ID, ์นด์ดํฐ ID, ํ์์คํฌํ ๋ฐ ๊ฐ; ๋์ฉ๋ ๋ฒํผ ํ์ ํตํด ํซ ๋ฐ์ดํฐ์ ๋น ๋ฅธ ์ํ๋ง์ด ๋ณด์ฅ๋์์ผ๋ฉฐ, SSD๋ฅผ ํตํด ๊ธฐ๋ก ๋ฐ์ดํฐ ์ํ๋ง์ด ๋ณด์ฅ๋์์ต๋๋ค.
๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๋ฐ์ดํฐ๊ฐ ์์ ํ ๋ ๋๋ง๋๊ธฐ ์ 200ms๊น์ง์ ์ธ๋ถ ์ ๋ณด๋ฅผ ํฌํจํ๋ ์๋ก์ด XNUMX์ฃผ ๋ฐ์ดํฐ ์ํ์ ์ป์๊ณ ๊ฝค ์ค๋ซ๋์ ์ด ์์คํ
์์ ์ด์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ฌ์ด ์๊ฐ์ ํ๋ฅด๊ณ ๋ฐ์ดํฐ์ ์์ ๋์ด๋ฌ๋ค. 2016๋ ๊น์ง ๋ฐ์ดํฐ ๋ณผ๋ฅจ์ ์์ญ ํ ๋ผ๋ฐ์ดํธ์ ์ด๋ฅด๋ ์ผ๋ฉฐ ์ด๋ ์๋ SSD ์คํ ๋ฆฌ์ง ์ธก๋ฉด์์ ์๋นํ ๋น์ฉ์ด์์ต๋๋ค.
์ด๋์ฏค์๋ ์ดํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋๋ฆฌ ๋ณด๊ธ๋์ด ์ฐ๋ฆฌ๊ฐ ์ ๊ทน์ ์ผ๋ก ์๊ฐํ๊ธฐ ์์ํ์ต๋๋ค. ์ดํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ๋ฐ์ดํฐ๊ฐ ์์๋ค์ํผ ์ด์ ์ ์ฅ๋์ด ์์ผ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ฉด ํฐ ๊ฒ์ ์ฝ๊ฒ ๋ณผ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์์ถ์ ์ฌ์ฉํ์ฌ ์์ถํ ์ ์๋ ์ค๋ณต ์์ ๋๋ค.
ํ์ง๋ง ํ์ฌ์ ํต์ฌ ์์คํ
์ ๊ณ์ํด์ ์์ ์ ์ผ๋ก ์๋ํ๊ณ , ๋ค๋ฅธ ๊ฒ์ผ๋ก ์ ํํ๋ ์คํ์ ํ๊ณ ์ถ์ง ์์์ต๋๋ค.
2017๋ ์ฐํธ์ธ์์ ์ด๋ฆฐ Percona Live ์ปจํผ๋ฐ์ค์์ Clickhouse ๊ฐ๋ฐ์๋ ์๋ง๋ ์ฒ์์ผ๋ก ์์ ์ ๋ฐํํ์ ๊ฒ์ ๋๋ค. ์ธ๋ป ๋ณด๊ธฐ์ ์์คํ ์ ์์ฐ ์ค๋น๊ฐ ๋์ด ์์๊ณ (Yandex.Metrica๋ ๊ฐํนํ ์์ฐ ์์คํ ์ ๋๋ค) ์ง์์ ๋น ๋ฅด๊ณ ๊ฐ๋จํ์ผ๋ฉฐ, ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ์๋์ด ๊ฐ๋จํ๋ค๋ ๊ฒ์ ๋๋ค. 2018๋ ๋ถํฐ ์ฐ๋ฆฌ๋ ์ ํ ๊ณผ์ ์ ์์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ ๋น์์๋ ๋ง์ "์ฑ์ธ์ฉ" ๋ฐ ์ค๋ ํ ์คํธ๋ฅผ ๊ฑฐ์น TSDB ์์คํ ์ด ์์๊ณ ์ฐ๋ฆฌ๋ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ Clickhouse์ ๋ํ ๋์ฒด ์๋ฃจ์ ์ด ์๋์ง ํ์ธํ๊ธฐ ์ํด ์๋นํ ์๊ฐ์ ํฌ์ํ๊ณ ๋์์ ๋น๊ตํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
์ด๋ฏธ ์ง์ ๋ ์คํ ๋ฆฌ์ง ์๊ตฌ ์ฌํญ ์ธ์๋ ์๋ก์ด ์๊ตฌ ์ฌํญ์ด ๋ํ๋ฌ์ต๋๋ค.
- ์๋ก์ด ์์คํ ์ ๋์ผํ ์์ ํ๋์จ์ด์์ ์ต์ํ MySQL๊ณผ ๋์ผํ ์ฑ๋ฅ์ ์ ๊ณตํด์ผ ํฉ๋๋ค.
- ์ ์์คํ ์ ์คํ ๋ฆฌ์ง๋ ํจ์ฌ ์ ์ ๊ณต๊ฐ์ ์ฐจ์งํฉ๋๋ค.
- DBMS๋ ์ฌ์ ํ ๊ด๋ฆฌํ๊ธฐ ์ฌ์์ผ ํฉ๋๋ค.
- DBMS๋ฅผ ๋ณ๊ฒฝํ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณ๊ฒฝ์ ์ต์ํํ๊ณ ์ถ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋ค ์์คํ ์ ๊ณ ๋ คํ๊ธฐ ์์ํ์ต๋๊น?
์ํ์น ํ์ด๋ธ/์ํ์น ์ํ๋ผ
์ค๋๋๊ณ ์ ํฌ ํ
์คํธ๋ฅผ ๊ฑฐ์น Hadoop ์คํ์
๋๋ค. ๋ณธ์ง์ ์ผ๋ก ์ด๋ HDFS์ ๊ธฐ๋ณธ ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฒ ์์ ๊ตฌ์ถ๋ SQL ์ธํฐํ์ด์ค์
๋๋ค.
์ฐฌ์ฑ.
- ์์ ์ ์ธ ์ด์์ผ๋ก ๋ฐ์ดํฐ ํ์ฅ์ด ๋งค์ฐ ์ฝ์ต๋๋ค.
- ๋ฐ์ดํฐ ์ ์ฅ(์ ์ ๊ณต๊ฐ)์ ์ํ ์ปฌ๋ผ ์๋ฃจ์ ์ด ์์ต๋๋ค.
- ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ ์ ์์ ๋ ๋ณ๋ ฌ ์์ ์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์คํํฉ๋๋ค.
๋จ์ .
- Hadoop์ธ๋ฐ ์ฌ์ฉํ๊ธฐ ์ด๋ ต์ต๋๋ค. ํด๋ผ์ฐ๋์์ ๊ธฐ์ฑ ์๋ฃจ์ ์ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์ง ์์ ๊ฒฝ์ฐ(๊ทธ๋ฆฌ๊ณ ๋น์ฉ ์ธก๋ฉด์์๋ ์ค๋น๊ฐ ๋์ง ์์ ๊ฒฝ์ฐ) ๊ด๋ฆฌ์๊ฐ ์ ์ฒด ์คํ์ ์กฐ๋ฆฝํ๊ณ ์ง์ํด์ผ ํ๋ฉฐ ์ค์ ๋ก๋ ์ํ์ง ์์ต๋๋ค. ์ด๊ฒ.
- ๋ฐ์ดํฐ๊ฐ ์ง๊ณ๋ฉ๋๋ค.
์ ๋ง ๋น ๋ฅด๋ค .
๊ทธ๋ฌ๋ :
์๋๋ ์ปดํจํ
์๋ฒ ์๋ฅผ ํ์ฅํ์ฌ ๋ฌ์ฑ๋ฉ๋๋ค. ๊ฐ๋จํ ๋งํด์, ์ฐ๋ฆฌ๊ฐ ๋ถ์์ ์ข
์ฌํ๋ ๋๊ธฐ์
์ด๊ณ ๋น์ฆ๋์ค๊ฐ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ ๋ณด๋ฅผ ์ง๊ณํ๋ ๊ฒ์ด ์ค์ํ๋ค๋ฉด(๋ง์ ์์ ์ปดํจํ
๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๋ ๋น์ฉ์ด ๋ค๋๋ผ๋) ์ด๊ฒ์ด ์ฐ๋ฆฌ์ ์ ํ์ผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ์์
์๋๋ฅผ ๋์ด๊ธฐ ์ํด ํ๋์จ์ด๋ฅผ ๋๋ฆด ์ค๋น๊ฐ ๋์ด ์์ง ์์์ต๋๋ค.
๋๋ฃจ์ด๋/ํผ๋ ธ
ํนํ TSDB์ ๋ํด ํจ์ฌ ๋ ๋ง์ ๋ด์ฉ์ด ์์ง๋ง ๋ค์ Hadoop ์คํ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
์ด
๊ฐ๋จํ ๋งํด์: ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ Druid/Pinot๊ฐ Clickhouse๋ณด๋ค ๋ ์ข์ ๋ณด์ ๋๋ค.
- ๋ฐ์ดํฐ์ ์ด์ง์ ์ธ ํน์ฑ์ด ์์ต๋๋ค(์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ์๋ฒ ์ธก์ ํญ๋ชฉ์ ์๊ณ์ด๋ง ๊ธฐ๋กํ๋ฉฐ ์ค์ ๋ก ์ด๋ ํ๋์ ํ ์ด๋ธ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ฅ๋น ์๊ณ์ด, ๊ฒฝ์ ์๊ณ์ด ๋ฑ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ ์์ ์ ์์ต๋๋ค. - ๊ฐ๊ฐ ์ง๊ณ ๋ฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ ์์ฒด ๊ตฌ์กฐ).
- ๊ฒ๋ค๊ฐ ์ด๋ฐ ๋ฐ์ดํฐ๋ ๋ง์์.
- ์๊ณ์ด์ด ํฌํจ๋ ํ ์ด๋ธ๊ณผ ๋ฐ์ดํฐ๊ฐ ๋ํ๋๊ณ ์ฌ๋ผ์ง๋๋ค(์ฆ, ์ผ๋ถ ๋ฐ์ดํฐ ์ธํธ๊ฐ ๋์ฐฉํ์ฌ ๋ถ์๋๊ณ ์ญ์ ๋์์ต๋๋ค).
- ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํ ์ ์๋ ๋ช ํํ ๊ธฐ์ค์ ์์ต๋๋ค.
๋ฐ๋์ ๊ฒฝ์ฐ์๋ ClickHouse์ ์ฑ๋ฅ์ด ๋ ์ข์ผ๋ฉฐ ์ด๊ฒ์ด ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ์ ๋๋ค.
ํด๋ฆญ ํ์ฐ์ค
- SQL๊ณผ ์ ์ฌํ
- ๊ด๋ฆฌ๊ฐ ์ฉ์ดํฉ๋๋ค.
- ์ฌ๋๋ค์ ๊ทธ๊ฒ์ด ํจ๊ณผ๊ฐ ์๋ค๊ณ ๋งํฉ๋๋ค.
ํ ์คํธ ํ๋ณด๋ก ์ ์ ๋ฉ๋๋ค.
์ธํ๋ญ์คDB
ClickHouse์ ๋ํ ์ธ๊ตญ ๋์. ๋จ์ : ๊ณ ๊ฐ์ฉ์ฑ์ ์์ฉ ๋ฒ์ ์๋ง ์์ง๋ง ๋น๊ต๊ฐ ํ์ํฉ๋๋ค.
ํ ์คํธ ํ๋ณด๋ก ์ ์ ๋ฉ๋๋ค.
์นด์ฐ๋ ๋ผ
ํํธ์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ์ ๋ชจ๋ํฐ๋ง ์์คํ
์์ ์ธก์ ํญ๋ชฉ ์๊ณ์ด์ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค.
Cassandra๋ ์ ํต์ ์ธ ์๋ฏธ์ ์ปฌ๋ผํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋๋๋ค. ํ ๋ณด๊ธฐ์ ๋ ๋น์ทํด ๋ณด์ด์ง๋ง ๊ฐ ์ค์๋ ์๋ก ๋ค๋ฅธ ์ด ์๊ฐ ์์ ์ ์์ผ๋ฏ๋ก ์ด ๋ณด๊ธฐ๋ฅผ ์ฝ๊ฒ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์๋ฏธ์์ 2์ต ๊ฐ์ ์ด ์ ํ์ ์ฌ์ฉํ๋ฉด ์ผ๋ถ ๋ฐ์ดํฐ๋ฅผ ์ด(๋ฐ ๋์ผํ ์๊ณ์ด)์ ์ ์ฅํ ์ ์๋ค๋ ๊ฒ์ด ๋ถ๋ช ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, MySQL์๋ 4096๊ฐ์ ์ด ์ ํ์ด ์์ผ๋ฉฐ ๋์ผํ ์์ ์ ์๋ํ๋ฉด ์ฝ๋ 1117 ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ์ต๋๋ค.
Cassandra ์์ง์ ๋ง์คํฐ๊ฐ ์๋ ๋ถ์ฐ ์์คํ ์์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ค์ ์ ๋๊ณ ์์ผ๋ฉฐ, ์์์ ์ธ๊ธํ Cassandra CAP ์ ๋ฆฌ๋ AP, ์ฆ ๋ฐ์ดํฐ ๊ฐ์ฉ์ฑ ๋ฐ ํํฐ์ ๋์ ๋ํ ์ ํญ์ ๊ดํ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ์ด ๋๊ตฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ธฐ๋ง ํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฑฐ์ ์ฝ์ง ์์๋ ๋๋ ๊ฒฝ์ฐ์ ์ ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์์๋ Cassandra๋ฅผ "์ฝ๋" ์ ์ฅ์๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ผ๋ฆฌ์ ์ ๋๋ค. ์ฆ, ๊ฑฐ์ ํ์ํ์ง ์์ง๋ง ํ์ํ ๊ฒฝ์ฐ ๊ฒ์ํ ์ ์๋ ๋๋์ ๊ธฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ ์ฅ๊ธฐ์ ์ด๊ณ ์์ ์ ์ธ ์ฅ์์ ๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์์ฑ๋๋ฅผ ์ํด ํ ์คํธ๋ ํด๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ ์์ ๋งํ๋ฏ์ด ์ ํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฃจ์ ์ ๋ํ ์ฝ๋๋ฅผ ์ ๊ทน์ ์ผ๋ก ๋ค์ ์์ฑํ ์์ฌ๊ฐ ์์ผ๋ฏ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ Cassandra์ ์ธ๋ถ ์ฌํญ์ ๋ง๊ฒ ์กฐ์ ํ์ง ์๊ณ ๋ค์ ์ ํ์ ์ผ๋ก ํ ์คํธํ ๊ฒ์ ๋๋ค.
ํ๋ก ๋ฉํ ์ฐ์ค
๊ธ์, ์ฐ๋ฆฌ๋ ํธ๊ธฐ์ฌ์์ Prometheus ์คํ ๋ฆฌ์ง์ ์ฑ๋ฅ์ ํ ์คํธํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๋จ์ง ์ฐ๋ฆฌ๊ฐ ํ์ฌ ์๋ฃจ์ ๋ณด๋ค ๋น ๋ฅธ์ง ๋๋ฆฐ์ง, ์ผ๋ง๋ ๋น ๋ฅธ์ง ์ดํดํ๊ธฐ ์ํด์์์ต๋๋ค.
ํ ์คํธ ๋ฐฉ๋ฒ ๋ฐ ๊ฒฐ๊ณผ
๊ทธ๋์ ์ฐ๋ฆฌ๋ ClickHouse(5๋ ธ๋), ClickHouse(6๋ ธ๋์ฉ ๋ถ์ฐ ํ ์ด๋ธ), InfluxDB, Mysql 1, Cassandra(3๋ ธ๋) ๋ฐ Prometheus์ 8๊ฐ์ง ๊ตฌ์ฑ์์ 3๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ ์คํธํ์ต๋๋ค. ํ ์คํธ ๊ณํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ผ์ฃผ์ผ ๋์์ ๊ธฐ๋ก ๋ฐ์ดํฐ ์ ๋ก๋(์ผ์ผ 840์ต 208์ฒ๋ง ๊ฐ์ ๊ฐ, XNUMX๊ฐ์ ์ธก์ ํญ๋ชฉ)
- ๊ธฐ๋ก ๋ก๋๋ฅผ ์์ฑํฉ๋๋ค(6๊ฐ์ ๋ก๋ ๋ชจ๋๊ฐ ๊ณ ๋ ค๋์์ต๋๋ค. ์๋ ์ฐธ์กฐ).
- ๊ธฐ๋ก๊ณผ ๋ณํํ์ฌ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ํํ์ฌ ์ฐจํธ ์์ ์ ํ๋ ์ฌ์ฉ์์ ์์ฒญ์ ์๋ฎฌ๋ ์ดํธํฉ๋๋ค. ์ํฉ์ ๋๋ฌด ๋ณต์กํ๊ฒ ํ์ง ์๊ธฐ ์ํด ์ผ์ฃผ์ผ ๋์ 10๊ฐ์ ์งํ(์ ํํ CPU ๊ทธ๋ํ์ ์๋ ์งํ ์)์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์ ํํ์ต๋๋ค.
15์ด๋ง๋ค ํ ๋ฒ์ฉ ๊ฐ ์ธก์ ํญ๋ชฉ์ ๊ฐ์ ๋ณด๋ด๋ ๋ชจ๋ํฐ๋ง ์์ด์ ํธ์ ๋์์ ์๋ฎฌ๋ ์ด์ ํ์ฌ ๋ก๋ํฉ๋๋ค. ๋์์ ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ๋ณํ์ ๊ด์ฌ์ด ์์ต๋๋ค.
- ๋ฐ์ดํฐ๊ฐ ๊ธฐ๋ก๋๋ ์ด ์ธก์ ํญ๋ชฉ ์
- ํ๋์ ๋ฉํธ๋ฆญ์ ๊ฐ์ ๋ณด๋ด๋ ๊ฐ๊ฒฉ;
- ๋ฐฐ์น ํฌ๊ธฐ.
๋ฐฐ์น ํฌ๊ธฐ์ ๋ํด. ๋จ์ผ ์ฝ์ ์ผ๋ก ๊ฑฐ์ ๋ชจ๋ ์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ก๋ํ๋ ๊ฒ์ ๊ถ์ฅ๋์ง ์์ผ๋ฏ๋ก ๋ค์ด์ค๋ ์ธก์ ํญ๋ชฉ์ ์์งํ์ฌ ๊ทธ๋ฃน์ผ๋ก ๊ทธ๋ฃนํํ๊ณ ์ผ๊ด ์ฝ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋กํ๋ ๋ฆด๋ ์ด๊ฐ ํ์ํฉ๋๋ค.
๋ํ ์์ ๋ ๋ฐ์ดํฐ๋ฅผ ํด์ํ๋ ๋ฐฉ๋ฒ์ ๋ ์ ์ดํดํ๊ธฐ ์ํด ๋จ์ํ ์ฌ๋ฌ ๊ฐ์ ๋ฉํธ๋ฆญ์ ๋ณด๋ด๋ ๊ฒ์ด ์๋๋ผ ๋ฉํธ๋ฆญ์ด ์๋ฒ๋ก ๊ตฌ์ฑ๋์ด ์๋ฒ๋น 125๊ฐ์ ๋ฉํธ๋ฆญ์ด ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ฌ๊ธฐ์ ์๋ฒ๋ ๋จ์ํ ๊ฐ์ ์ํฐํฐ์ ๋๋ค. ์๋ฅผ ๋ค์ด 10000๊ฐ์ ๋ฉํธ๋ฆญ์ด ์ฝ 80๊ฐ์ ์๋ฒ์ ํด๋นํ๋ค๋ ์ ์ ์ดํดํ๋ฉด ๋ฉ๋๋ค.
์ด ๋ชจ๋ ๊ฒ์ ๊ณ ๋ คํ 6๊ฐ์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ธฐ ๋ก๋ ๋ชจ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฌ๊ธฐ์๋ ๋ ๊ฐ์ง ์ ์ด ์์ต๋๋ค. ์ฒซ์งธ, Cassandra์ ๊ฒฝ์ฐ ์ด๋ฌํ ๋ฐฐ์น ํฌ๊ธฐ๊ฐ ๋๋ฌด ํฐ ๊ฒ์ผ๋ก ํ๋ช
๋์ด 50 ๋๋ 100์ ๊ฐ์ ์ฌ์ฉํ์ต๋๋ค. ๋์งธ, Prometheus๋ ์๊ฒฉํ๊ฒ ํ ๋ชจ๋์์ ์๋ํ๋ฏ๋ก, ์ฆ ์์ฒด์ ์ผ๋ก ๋ฉํธ๋ฆญ ์์ค์์ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ (์ด๋ฆ์๋ ๋ถ๊ตฌํ๊ณ pushgateway์กฐ์ฐจ๋ ์ํฉ์ ๊ทผ๋ณธ์ ์ผ๋ก ๋ฐ๊พธ์ง ์์) ํด๋น ๋ก๋๋ ์ ์ ๊ตฌ์ฑ ์กฐํฉ์ ์ฌ์ฉํ์ฌ ๊ตฌํ๋์์ต๋๋ค.
ํ ์คํธ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฃผ๋ชฉํ ๊ฐ์น๊ฐ์๋ ๊ฒ: Prometheus์ ํ์์ ์ผ๋ก ๋น ๋ฅธ ์ํ, Cassandra์ ๋งค์ฐ ๋๋ฆฐ ์ํ, InfluxDB์ ์ฉ๋ฉํ ์ ์์ ์ ๋๋ก ๋๋ฆฐ ์ํ; ๋
น์ ์๋ ์ธก๋ฉด์์ ClickHouse๋ ๋ชจ๋๋ฅผ ์ด๊ฒผ๊ณ Prometheus๋ ์์ฒด์ ์ผ๋ก ์ฝ์
๋ฌผ์ ๋ง๋ค๊ณ ์ฐ๋ฆฌ๋ ์๋ฌด๊ฒ๋ ์ธก์ ํ์ง ์๊ธฐ ๋๋ฌธ์ ๊ฒฝ์์ ์ฐธ์ฌํ์ง ์์ต๋๋ค.
๊ทธ ๊ฒฐ๊ณผ,: ClickHouse์ InfluxDB๊ฐ ์ต๊ณ ์์ ์
์ฆํ์ง๋ง Influx์ ํด๋ฌ์คํฐ๋ Enterprise ๋ฒ์ ์ ๊ธฐ๋ฐ์ผ๋ก๋ง ๊ตฌ์ถํ ์ ์์ผ๋ฏ๋ก ๋น์ฉ์ด ๋ง์ด ๋๋ ๋ฐ๋ฉด ClickHouse๋ ๋น์ฉ์ด ๋ค์ง ์์ผ๋ฉฐ ๋ฌ์์์์ ์ ์๋ฉ๋๋ค. ๋ฏธ๊ตญ์์๋ ์๋ง๋ inInfluxDB๋ฅผ ์ ํธํ๊ณ ์ฐ๋ฆฌ๋๋ผ์์๋ ClickHouse๋ฅผ ์ ํธํ๋ ๊ฒ์ด ๋
ผ๋ฆฌ์ ์
๋๋ค.
์ถ์ฒ : habr.com