[Clickhouse] Table Engine

Clickhouse๋Š” ์šฉ๋„์— ๋”ฐ๋ผ์„œ ์ƒ๋‹นํžˆ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์—”์ง„์„ ์ œ๊ณตํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ ๋ญ๊ฐ€ ๋งŽ๋‹ค. ๊ธฐ๋ณธ ์ƒ์„ฑ ์˜ต์…˜์€ Log์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๋กœ๊ทธ ์ €์žฅํ•˜๊ณ  ์กฐํšŒํ•˜๋Š” ์šฉ๋„๋กœ ๋งŒ๋“ค์–ด์ง„ ์—”์ง„์ด๋‹ค.

๊ทธ๋ž˜์„œ์ธ์ง€ ๊ธฐ๋Šฅ์— ์ œํ•œ์ด ๋งŽ๋‹ค. Kafka๋‚˜ Log ์—”์ง„์€ ์ปฌ๋Ÿผ์˜ ์ถ”๊ฐ€๋‚˜ ์ˆ˜์ •๊ฐ™์€๊ฒŒ ์ง€์›๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ํ•œ๋‹ค.

๊ทธ๋ž˜์„œ ํ•„์š”์— ๋”ฐ๋ผ์„œ ์ž˜ ๊ณจ๋ผ์จ์•ผ ํ•œ๋‹ค.




์—”์ง„ ์ง€์ •

์—”์ง„์€ ํ…Œ์ด๋ธ” ๋‹จ์œ„์— ์ง€์ •๋˜๋Š” ์˜ต์…˜์ด๋‹ค.
์•„๋ž˜์™€ ๊ฐ™์ด ํ…Œ์ด๋ธ” ์ƒ์„ฑ DDL์— ์˜ต์…˜์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

CREATE TABLE ํ…Œ์ด๋ธ”๋ช…
(
    ...
)
ENGINE = ์—”์ง„๋ช…;

๊ทธ ์™ธ์—๋Š” ์ผ๋ฐ˜์ ์ธ RDB๋“ค๊ณผ ์œ ์‚ฌํ•˜๋‹ค.




MergeTree ์—”์ง„

clickhouse๊ฐ€ ์ž๋ž‘ํ•˜๋Š” ๊ธฐ๋ณธ๊ธ‰ ์—”์ง„๋“ค์ด๋‹ค. MergeTree๋Š” ์ผ๋ฐ˜์ ์ธ NoSQL๋“ค์—์„œ ์ €์žฅ ์ „๋žต์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” LSM ํŠธ๋ฆฌ ๋งค์ปค๋‹ˆ์ฆ˜์ด๋ผ๊ณ  ์•Œ๋ฉด ๋œ๋‹ค.
https://blog.naver.com/sssang97/223232181952

์ผ๋ฐ˜์ ์ธ ๋น…๋ฐ์ดํ„ฐ ์ €์žฅ/๊ฒ€์ƒ‰ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด MergeTree๋ฅผ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค.

๋ช‡๊ฐ€์ง€ ๋ณ€์ข…์ด ์žˆ์ง€๋งŒ ํŠน๋ณ„ํ•œ ์š”๊ตฌ์‚ฌํ•ญ์ด ์—†๋‹ค๋ฉด ์ผ๋ฐ˜ MergeTree๋ฅผ ์‚ฌ์šฉํ•ด๋„ ์ถฉ๋ถ„ํ•˜๋‹ค.




๋กœ๊ทธ ์—”์ง„

๋กœ๊ทธ์šฉ ์—”์ง„๋“ค์€ ์ตœ์†Œํ•œ์˜ ๊ธฐ๋Šฅ๋งŒ ํฌํ•จํ•˜๋Š” ๊ฒฝ๋Ÿ‰ ์—”์ง„์ด๋‹ค.

์ตœ์ดˆ ์ƒ์„ฑ ์ดํ›„์— DDL์„ ๋ณ€๊ฒฝํ•˜๋Š”๊ฒŒ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒƒ์„ ํฌํ•จํ•ด์„œ DB๋กœ์„œ์˜ ๊ธฐ๋Šฅ๋“ค์€ ์ข€ ์ œํ•œ๋˜์ง€๋งŒ, ์ˆ˜๋ฐฑ๋งŒ๊ฑด์˜ ์“ฐ๊ธฐ๋ฅผ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.




ํ†ตํ•ฉ์šฉ ์—”์ง„

๋‹ค๋ฅธ ์‹œ์Šคํ…œ๋“ค๊ณผ์˜ ์—ฐ๋™์„ ์œ„ํ•œ ์—”์ง„์ด๋‹ค.

์ด๊ฒƒ๋„ ๊ฝค ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ, ์˜ˆ๋ฅผ ๋“ค๋ฉด


์ด๋ ‡๊ฒŒ ํ…Œ์ด๋ธ”์— ์™ธ๋ถ€ DB๋‚˜ ํ ์ ‘์†์ •๋ณด๋ฅผ ๋„ฃ์–ด๋†“์œผ๋ฉด ์ž๋™์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ syncํ•ด์˜ค๋Š” ๋А๋‚Œ์ด๋‹ค.




๊ธฐํƒ€ ์—”์ง„

๊ทธ ์™ธ์—๋„ ์ข€ ์žก๋‹คํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜ํ•œ ํ˜•ํƒœ์˜ ์—”์ง„ ํƒ€์ž…์„ ์ œ๊ณตํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด

  1. Memory ์—”์ง„์€ ์ง„์งœ ๋ฉ”๋ชจ๋ฆฌ์— ์•„๋ฌด๋Ÿฐ ๊ฐ€๊ณต ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฌ๋ ค์„œ ์“ธ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๋‹น์—ฐํžˆ ํœ˜๋ฐœ์„ฑ์ด๋‹ค.
  2. File ์—”์ง„์€ ์ง„์งœ ํŒŒ์ผ์„ ๋”ฐ๋กœ ๋งŒ๋“ค๊ณ  ๊ทธ๊ฑธ clickhouse ์™ธ๋ถ€์—์„œ filesystem์„ ํ†ตํ•ด์„œ ์ฝ๊ฑฐ๋‚˜ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

์ด๋Ÿฐ ๊ฒƒ๋“ค์ด๋‹ค. ๋ญ๊ฐ€ ๋งŽ๋‹ค.

๊ฐ๊ฐ์˜ ์—”์ง„๋“ค์— ๋Œ€ํ•œ ์„ธ๋ถ€์‚ฌํ•ญ์€ ๋ณ„๋„๋กœ ํ•„์š”ํ• ๋•Œ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค.



์ฐธ์กฐ
https://clickhouse.com/docs/en/engines/table-engines