[Clickhouse] Engine: Log
clickhouse๊ฐ ์ ๊ณตํ๋ ์์ํ ์์ง ์ค ํ๋๋ค.
์ด๊ฑด ๋์คํฌ์ ์ค์๊ท๋ชจ์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐ๊ณ ์ฝ๊ธฐ ์ํ ์ฉ๋๋ก ์ ๊ณต๋๋ ์์ง์ด๋ค.
์ด๋ฆ์ด ๋ก๊ทธ์ด๊ธด ํ๋ฐ ์ผ๋ฐ์ ์ธ ๋ก๊ทธ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ์ฉ๋๋ ์๋๋ค.
StripeLog, Log, TinyLog 3๊ฐ์ง ์์ง์ด ์ ๊ณต๋๋ฉฐ, ์ ํ ์์ฒด๋ ๋๋์์ดํ๋ค.
๊ณตํต ์ ํ
๋ค๋ฐฉ๋ฉด์ผ๋ก ํ์ฉํ๊ธฐ์๋ ์ ํ์ฌํญ์ด ๋ง์ ํธ์ด๋ค.
์ผ๋จ, ๋ฐ์ดํฐ ํ์ UPDATE/DELETE์ด ๋ถ๊ฐ๋ฅํ๋ค.
๋ฌด์ง์ฑ์ผ๋ก ๋ฐ์ด๋ฃ์ ๋ค์์ DROP TABLE์ ํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ํํ์ผ ๊ฒ ๊ฐ๋ค.
์ธ๋ฑ์ค๋ผ๋ ๊ฐ๋ ์ด ์กด์ฌํ์ง ์๋๋ค. ์กฐํ ์ต์ ํ๋ฅผ ์ํ ์๋จ์ด ๊ฑฐ์ ์๋ค.
์ฐ๊ธฐ ์คํจ ์์ ํ ์ด๋ธ์ด ๋ง๊ฐ์ง ์ ์๋ค. ๊ทธ๋ฌ๋ฉด ๊ทธ๋ฅ ๋ค ๊ผฌ์ธ๋ค.
์ฝ๊ธฐ ์์ ์ ๋์์ ์คํ์ด ๊ฐ๋ฅํ๋, ์ฐ๊ธฐ๋ ๋ค๋ฅธ ์ฝ๊ธฐ์ ์ฐ๊ธฐ๋ฅผ ๋ชจ๋ ์ฐจ๋จํ๋ค.
์์ง๋ณ ์ฐจ์ด
TinyLog
์ง์ง ๋ฑ ๋ก๊ทธ๋ง ์๋ ์์ง์ด๋ค. ์กฐํ ์ต์ ํ๋ฅผ ์ํ ์๋ฌด๋ฐ ์๋จ๋ ์๊ณ , ๋ฌด์กฐ๊ฑด ํ์ค์บ์ ๋๋ฆฐ๋ค.
๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ํ์ผ์ ์ ์ฅํ๋ค. 100๋ง๊ฐ ๋ฏธ๋ง์ ์์ ๋ฐ์ดํฐ์๋ง ์ ํฉํ๋ค.
Log
Offset ์คํต์ ์ํ mark ํ์ผ์ด ์กด์ฌํ๋ค. ๊ทธ๋์ OFFSET ๊ธฐ๋ฐ์ ์คํต ์ฟผ๋ฆฌ ์์ฒด๋ ๋งค์ฐ ํจ์จ์ ์ผ๋ก ๋์ํ๋ค.
๋ธ๋ก ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์์ถํ๊ณ ๋ถํ ํด์ ์ ์ฅํ๋ค. mark๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์กฐํํ ๋ธ๋ญ์ ์ ํํ๋ค.
์ฝ๊ธฐ ์์ ์ค๋ ๋๋ฅผ ํตํ ๋ณ๋ ฌ ์ต์ ํ๊ฐ ๊ฐ๋ฅํ๋ค.
StripeLog
TinyLog๊ณผ Log์ ์ค๊ฐ์ง์ ์ ์๋ ์์ง์ด๋ค. ๋จ์ผ ํ์ผ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
์ฝ๊ธฐ ์ฑ๋ฅ์ ๋จ์ด์ง๋ ๋์ FD๋ฅผ ํฌํจํ ๋ฆฌ์์ค ์ฌ์ฉ๋์ด ์ ๋ค๋๊ฒ ์ฅ์ ์ด๋ค.
๊ทธ๋์ 100๋ง๊ฐ ๋ฏธ๋ง์ ํ
์ด๋ธ์ ์ฌ๋ฌ๊ฐ ๋ง๋ค์ด์ ๊ด๋ฆฌํ ๊ฒฝ์ฐ์ ์ ํฉํ ๋ก๊ทธ ํ์
์ด๋ค.
์ฝ๊ธฐ ์์ ์ค๋ ๋๋ฅผ ํตํ ๋ณ๋ ฌ ์ต์ ํ๊ฐ ๊ฐ๋ฅํ๋ค.
๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
์ฌ์ฉ๋ฒ ์์ฒด๋ ๊ฐ๋จํ ํธ์ด๋ค.
์์ฑํ ๋๋ ๊ทธ๋ฅ ์์ง ๊ฐ๋ง ๋ฃ์ด์ฃผ๋ฉด ๋๊ณ

INSERT๋ ๊ทธ๋ฅ ํ๋ฉด ๋๋ค.

ํ์ง๋ง ์์์ ์ธ๊ธํ๋ฏ์ด, ์์ ์ด๋ ์ญ์ ๋ ์๋๋ค.

์ฐธ์กฐ
https://clickhouse.com/docs/engines/table-engines/log-family
https://clickhouse.com/docs/engines/table-engines/log-family/tinylog
https://clickhouse.com/docs/engines/table-engines/log-family/log