[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