ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

ClickHouse๋Š” ํŠน์ˆ˜ ์‹œ์Šคํ…œ์ด๋ฏ€๋กœ ์‚ฌ์šฉ ์‹œ ์•„ํ‚คํ…์ฒ˜์˜ ํŠน์ง•์„ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ณด๊ณ ์„œ์—์„œ Alexey๋Š” ClickHouse๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋น„ํšจ์œจ์ ์ธ ์ž‘์—…์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ์‹ค์ˆ˜์˜ ์˜ˆ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์‚ฌ๋ก€์—์„œ๋Š” ํ•˜๋‚˜ ๋˜๋Š” ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์„ ์„ ํƒํ•˜๋ฉด ์„ฑ๋Šฅ์ด ๋ช‡ ๋ฐฐ๋‚˜ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„! ์ œ ์ด๋ฆ„์€ Alexey์ด๊ณ  ClickHouse๋ฅผ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋จผ์ €, ์„œ๋‘˜๋Ÿฌ ์—ฌ๋Ÿฌ๋ถ„์„ ๊ธฐ์˜๊ฒŒ ํ•ด๋“œ๋ฆฌ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ClickHouse๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ง์”€๋“œ๋ฆฌ์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์†”์งํžˆ ๋งํ•˜๋ฉด ์ง€์ณค์–ด์š”. ๋งค๋ฒˆ ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ๋งํ•ด ์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„๋งˆ ๋‹ค๋“ค ์ด๋ฏธ ์•Œ๊ณ  ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋Œ€์‹  ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์‹ค์ˆ˜, ์ฆ‰ ClickHouse๋ฅผ ์ž˜๋ชป ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์šฐ๋ฆฌ๋Š” ClickHouse๋ฅผ ๊ฐ„๋‹จํ•˜๊ณ  ํŽธ๋ฆฌํ•˜๋ฉฐ ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‘๋ ค์›Œํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์„ค์น˜ํ–ˆ๋Š”๋ฐ ๋ฌธ์ œ์—†๋„ค์š”.

ํ•˜์ง€๋งŒ ์ด ์‹œ์Šคํ…œ์ด ์ „๋ฌธํ™”๋˜์–ด ์žˆ๊ณ  ์ด ์‹œ์Šคํ…œ์„ ์ต์ˆ™ํ•œ ์˜์—ญ์—์„œ ๋ฒ—์–ด๋‚˜๊ฒŒ ํ•˜๋Š” ํŠน์ดํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์‰ฝ๊ฒŒ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ค ์ข…๋ฅ˜์˜ ๊ฐˆํ€ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๋Œ€๋ถ€๋ถ„์€ ๋ถ„๋ช…ํ•œ ๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๋ถ„๋ช…ํ•˜๊ณ  ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๋ชจ๋“  ๊ฒƒ์„ ์ดํ•ดํ•˜๊ณ  ์ž์‹ ์ด ๋„ˆ๋ฌด ๋˜‘๋˜‘ํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์— ๊ธฐ๋ปํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ์‚ฌ๋žŒ์€ ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฐฐ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ์ด์ž ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์˜ˆ๋Š” ์ž‘์€ ๋ฐฐ์น˜๊ฐ€ ํฌํ•จ๋œ ๋‹ค์ˆ˜์˜ ์‚ฝ์ž…๋ฌผ, ์ฆ‰ ๋‹ค์ˆ˜์˜ ์ž‘์€ ์‚ฝ์ž…๋ฌผ์ž…๋‹ˆ๋‹ค.

ClickHouse๊ฐ€ ์‚ฝ์ž…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ๋ คํ•˜๋ฉด ํ•œ ๋ฒˆ์˜ ์š”์ฒญ์œผ๋กœ ์ตœ์†Œ ํ…Œ๋ผ๋ฐ”์ดํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜์ ์ธ ์„ฑ๋Šฅ์ด ๋ฌด์—‡์ธ์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Yandex.Metrica ๋ฐ์ดํ„ฐ์˜ ํ…Œ์ด๋ธ”์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐํšŒ์ˆ˜. 105๊ฐœ ์—ด. ์••์ถ•๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ 700๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๋ฐฑ๋งŒ ๊ฐœ์˜ ํ–‰์„ ์ผ๊ด„์ ์œผ๋กœ ์‚ฝ์ž…ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

MergeTree๋ฅผ ํ…Œ์ด๋ธ”์— ์‚ฝ์ž…ํ•˜๋ฉด ์ดˆ๋‹น 400๋งŒ ํ–‰์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์—„์ฒญ๋‚œ. ๋ณต์ œ๋œ ํ…Œ์ด๋ธ”์—์„œ๋Š” ์ดˆ๋‹น ์•ฝ 000ํ–‰์œผ๋กœ ์กฐ๊ธˆ ๋” ์ž‘์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ฟผ๋Ÿผ ์‚ฝ์ž…์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์•ฝ๊ฐ„ ์ ์ง€๋งŒ ์—ฌ์ „ํžˆ ๊ดœ์ฐฎ์€ ์„ฑ๋Šฅ(์ดˆ๋‹น 250ํ•ญ)์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฟผ๋Ÿผ ์‚ฝ์ž…์€ ClickHouse*์—์„œ ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

* 2020๋…„ ๊ธฐ์ค€, ์ด๋ฏธ ๋ฌธ์„œํ™”๋จ.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋‚˜์œ ์ง“์„ ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”? MergeTree ํ…Œ์ด๋ธ”์— ํ•˜๋‚˜์˜ ํ–‰์„ ์‚ฝ์ž…ํ•˜๊ณ  ์ดˆ๋‹น 59๊ฐœ์˜ ํ–‰์„ ์–ป์Šต๋‹ˆ๋‹ค. 10๋ฐฐ ๋” ๋Š๋ฆฝ๋‹ˆ๋‹ค. ReplicatedMergeTree์—์„œ โ€“ ์ดˆ๋‹น 000ํ–‰. ๊ทธ๋ฆฌ๊ณ  ์ฟผ๋Ÿผ์ด ์ผœ์ ธ ์žˆ์œผ๋ฉด ์ดˆ๋‹น 6์ค„์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š” ์ด๊ฒƒ์€ ์ผ์ข…์˜ ์ ˆ๋Œ€์ ์ธ ์“ฐ๋ ˆ๊ธฐ์ž…๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ๊ทธ๋ ‡๊ฒŒ ์†๋„๋ฅผ ๋Šฆ์ถœ ์ˆ˜ ์žˆ๋‚˜์š”? ClickHouse๊ฐ€ ์†๋„๋ฅผ ๋Šฆ์ถ”๋ฉด ์•ˆ ๋œ๋‹ค๋Š” ๋‚ด์šฉ์„ ํ‹ฐ์…”์ธ ์— ์จ ๋†“๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ฐ€๋” ๊ทธ๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

์‚ฌ์‹ค ์ด๊ฒŒ ์šฐ๋ฆฌ์˜ ๋‹จ์ ์ด๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ์ž‘๋™ํ•˜๋„๋ก ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ ์Šคํฌ๋ฆฝํŠธ์—์„œ ์š”๊ตฌํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์—๊ฒ ์ด๋ฏธ ๋ถ€์น˜๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๊ธˆ ์ž…๊ตฌ์—์„œ ์ผ๊ด„ ๋ฐฐ์†ก์„ ๋ฐ›์•˜๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์„ ์‚ฝ์ž…ํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฌผ๋ก  ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์—ฌ๋Ÿฌ ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ž์ฃผ ์‚ฝ์ž…ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์—ฌ์ „ํžˆ ์ž์ฃผ ์‚ฝ์ž…ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์–ด๋–ป๊ฒŒ๋“  ์ด๊ฒƒ์„ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์ ์ธ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ ์ค‘์š”ํ•œ ์ ์€ ClickHouse์—์„œ ์‚ฝ์ž…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ๋ฉ”๋ชจ๋ฆฌ ํ…Œ์ด๋ธ”์—๋„ ๋‚จ์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ ๋กœ๊ทธ ๊ตฌ์กฐ์ธ MergeTree๋„ ์—†๊ณ  MergeTree๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ๋„ memTable๋„ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ์—ด๋กœ ๋ฐฐ์—ด๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฆ‰์‹œ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  100๊ฐœ์˜ ์—ด์ด ์žˆ๋Š” ๊ฒฝ์šฐ 200๊ฐœ๊ฐ€ ๋„˜๋Š” ํŒŒ์ผ์„ ๋ณ„๋„์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์ด ๋งค์šฐ ๋ฒˆ๊ฑฐ๋กญ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๊ทธ๋ฆฌ๊ณ  "์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?"๋ผ๋Š” ์งˆ๋ฌธ์ด ์ƒ๊น๋‹ˆ๋‹ค. ์ƒํ™ฉ์ด ์—ฌ์ „ํžˆ ClickHouse์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ• 1. ์ด๊ฒƒ์ด ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ผ์ข…์˜ ๋ถ„์‚ฐ ๋Œ€๊ธฐ์—ด์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์นดํ”„์นด. Kafka์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ณ  XNUMX์ดˆ์— ํ•œ ๋ฒˆ์”ฉ ์ผ๊ด„ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋…น์Œํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ ์€ Kafka๊ฐ€ ๋˜ ๋‹ค๋ฅธ ๋ถ€ํ”ผ๊ฐ€ ํฐ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํšŒ์‚ฌ์— ์ด๋ฏธ Kafka๊ฐ€ ์žˆ๋Š”์ง€๋„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ์ข‹์•„์š”, ํŽธ๋ฆฌํ•ด์š”. ํ•˜์ง€๋งŒ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋˜ ๋‹ค๋ฅธ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ํ”„๋กœ์ ํŠธ์— ๋Œ์–ด๋“ค์ด๊ธฐ ์ „์— ์„ธ ๋ฒˆ ์ƒ๊ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋Œ€์•ˆ์„ ๊ณ ๋ คํ•ด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ฐฉ๋ฒ• 2. ์ด๊ฒƒ์€ ๊ตฌ์‹ ๋Œ€์•ˆ์ด๋ฉด์„œ ๋™์‹œ์— ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ผ์ข…์˜ ์„œ๋ฒ„๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ๋กœ๊ทธ๋ฅผ ํŒŒ์ผ์— ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด XNUMX์ดˆ์— ํ•œ ๋ฒˆ์”ฉ ์ด ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ณ  ์ƒˆ ํŒŒ์ผ์„ ๋–ผ์–ด๋ƒ…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  cron์ด๋‚˜ ์ผ๋ถ€ ๋ฐ๋ชฌ์„ ํ†ตํ•ด ๋ณ„๋„์˜ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€ ClickHouse์— ์”๋‹ˆ๋‹ค. XNUMX์ดˆ์— ํ•œ ๋ฒˆ์”ฉ ๋กœ๊ทธ๋ฅผ ๊ธฐ๋กํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์˜ ๋‹จ์ ์€ ๋กœ๊ทธ๊ฐ€ ์ƒ์„ฑ๋œ ์„œ๋ฒ„๊ฐ€ ์–ด๋”˜๊ฐ€์—์„œ ์‚ฌ๋ผ์ง€๋ฉด ๋ฐ์ดํ„ฐ๋„ ์‚ฌ๋ผ์ง„๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ฐฉ๋ฒ• 3. ์ž„์‹œ ํŒŒ์ผ์ด ์ „ํ˜€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๋˜ ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ผ์ข…์˜ ๊ด‘๊ณ  ์Šคํ”ผ๋„ˆ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ๋ฐ๋ชฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  RAM, ๋ฒ„ํผ์— ์ง์ ‘ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ•์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ถฉ๋ถ„ํ•œ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์ด ๋ฒ„ํผ๋ฅผ ํ•œ์ชฝ์œผ๋กœ ์น˜์›Œ๋‘๊ณ  ์ƒˆ ๋ฒ„ํผ๋ฅผ ๋งŒ๋“  ๋‹ค์Œ ๋ณ„๋„์˜ ์Šค๋ ˆ๋“œ์—์„œ ์ด๋ฏธ ์ถ•์ ๋œ ๊ฒƒ์„ ClickHouse์— ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด, kill -9๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋„ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์ถฉ๋Œํ•˜๋ฉด ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์“ธ ์ˆ˜ ์—†์œผ๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ RAM์— ์ถ•์ ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. RAM์ด ๋ถ€์กฑํ•˜๊ฑฐ๋‚˜ ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ฐฉ๋ฒ• 4. ๋˜ ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ์ข…๋ฅ˜์˜ ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ์ฆ‰์‹œ ClickHouse์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์ง€๋งŒ ํ•œ ๋ฒˆ์˜ ์—ฐ๊ฒฐ๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, transfer-encoding: insert์™€ ํ•จ๊ป˜ ์ฒญํฌ๋œ http ์š”์ฒญ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฒญํฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ทธ๋ฆฌ ๋“œ๋ฌผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ผ์ธ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์ง€๋งŒ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋งŒ, ์ด ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋Š” ์ฆ‰์‹œ ClickHouse๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ClickHouse๋Š” ์ด๋ฅผ ์ž์ฒด์ ์œผ๋กœ ๋ฒ„ํผ๋งํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ์ œ๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ ClickHouse ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋ถˆ์™„์ „ํ•œ ์‚ฝ์ž…์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ClickHouse์—์„œ ์‚ฝ์ž…์€ ํ–‰ ํฌ๊ธฐ์˜ ์ง€์ •๋œ ํŠน์ • ์ž„๊ณ„๊ฐ’๊นŒ์ง€ ์›์ž์„ฑ์ž…๋‹ˆ๋‹ค. ์›์น™์ ์œผ๋กœ ์ด๊ฒƒ์€ ํฅ๋ฏธ๋กœ์šด ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ฐฉ๋ฒ• 5. ๋˜ ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฐ์ดํ„ฐ ์ผ๊ด„ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๊ฐœ๋ฐœํ•œ ์ผ์ข…์˜ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์ง์ ‘ ์‚ดํŽด๋ณด์ง€ ์•Š์•„์„œ ์–ด๋–ค ๊ฒƒ๋„ ๋ณด์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ClickHouse ์ž์ฒด์— ๋Œ€ํ•ด์„œ๋Š” ์–ด๋– ํ•œ ๋ณด์ฆ๋„ ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ๋„ ์˜คํ”ˆ ์†Œ์Šค์ด์ง€๋งŒ, ๋ฐ˜๋ฉด์— ์šฐ๋ฆฌ๊ฐ€ ์ œ๊ณตํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ผ๋ถ€ ํ’ˆ์งˆ ํ‘œ์ค€์— ์ต์ˆ™ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์— ๋Œ€ํ•ด์„œ๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. GitHub๋กœ ๊ฐ€์„œ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”. ์•„๋งˆ๋„ ๊ทธ๋“ค์€ ์ •์ƒ์ ์ธ ๊ฒƒ์„ ์ผ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

* 2020๋…„ ๊ธฐ์ค€, ๊ณ ๋ ค ์‚ฌํ•ญ์— ์ถ”๊ฐ€๋˜์–ด์•ผ ํ•จ ์ƒˆ๋ผ ๊ณ ์–‘์ด์ง‘.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ฐฉ๋ฒ• 6. ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ๋ฒ„ํผ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์˜ ์žฅ์ ์€ ์‚ฌ์šฉ์„ ์‹œ์ž‘ํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์‰ฝ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฒ„ํผ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ณ  ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ ์€ ๋ฌธ์ œ๊ฐ€ ์™„์ „ํžˆ ํ•ด๊ฒฐ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. MergeTree์™€ ๊ฐ™์€ ์†๋„์—์„œ ์ดˆ๋‹น ํ•˜๋‚˜์˜ ๋ฐฐ์น˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฒ„ํผ ํ…Œ์ด๋ธ”์˜ ์†๋„์—์„œ๋Š” ์ดˆ๋‹น ์ตœ๋Œ€ ์ˆ˜์ฒœ ๊ฐœ๊นŒ์ง€ ๊ทธ๋ฃนํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๋‹น 10๊ฐœ ์ด์ƒ์ด๋ฉด ์—ฌ์ „ํžˆ ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ผ๊ด„์ ์œผ๋กœ ์‚ฝ์ž…ํ•˜๋ฉด ์ดˆ๋‹น ์‹ญ๋งŒ ์ค„์ด ๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ์ด๋ฏธ ์ƒ๋‹นํžˆ ๋งŽ์€ ๋ฐ์ดํ„ฐ์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋ฒ„ํผ ํ…Œ์ด๋ธ”์—๋Š” ๋กœ๊ทธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„์— ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๊ทธ๋ฆฌ๊ณ  ๋ณด๋„ˆ์Šค๋กœ ์ตœ๊ทผ ClickHouse์—์„œ Kafka์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ” ์—”์ง„์ธ Kafka๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๋‹จ์ง€ ์ฐฝ์กฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์— ๊ตฌ์ฒดํ™”๋œ ํ‘œํ˜„์„ ๊ฑธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ž์ฒด์ ์œผ๋กœ Kafka์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ํ•„์š”ํ•œ ํ…Œ์ด๋ธ”์— ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด ๊ธฐํšŒ๊ฐ€ ํŠนํžˆ ๊ธฐ๋ถ„ ์ข‹์€ ๊ฒƒ์€ ๊ทธ๊ฒƒ์„ ์šฐ๋ฆฌ๊ฐ€ ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋Š” ์ ์ด๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ œ๊ฐ€ "์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ"์ด๋ผ๊ณ  ๋งํ•  ๋•Œ๋Š” ์•„๋ฌด๋Ÿฐ ๊ฒฝ๋ฉธ ์—†์ด ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ์ฝ๊ณ  ๊ฒ€ํ† ํ•œ ๊ฒฐ๊ณผ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

* 2020๋…„ ํ˜„์žฌ ์œ ์‚ฌํ•œ ์ง€์›์ด ๋‚˜ํƒ€๋‚จ RabbitMQ.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ๋ถˆํŽธํ•˜๊ฑฐ๋‚˜ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ผ์ด ๋˜ ์žˆ์„๊นŒ์š”? ๊ฐ’ ์‚ฝ์ž… ์š”์ฒญ์„ ํ•˜๊ณ  ๊ฐ’์— ๊ณ„์‚ฐ๋œ ํ‘œํ˜„์‹์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ. ์˜ˆ๋ฅผ ๋“ค์–ด now()๋„ ๊ณ„์‚ฐ๋œ ํ‘œํ˜„์‹์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ฒฝ์šฐ ClickHouse๋Š” ๊ฐ ์ค„์—์„œ ์ด๋Ÿฌํ•œ ํ‘œํ˜„์‹์˜ ํ•ด์„๊ธฐ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋ฉฐ ์„ฑ๋Šฅ์€ ๋ช‡ ๋ฐฐ๋‚˜ ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ํ”ผํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

* ํ˜„์žฌ ๋ฌธ์ œ๋Š” ์™„์ „ํžˆ ํ•ด๊ฒฐ๋˜์—ˆ์œผ๋ฉฐ, VALUES์—์„œ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•  ๋•Œ ๋” ์ด์ƒ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์˜ˆ๋Š” ์—ฌ๋Ÿฌ ํŒŒํ‹ฐ์…˜์— ์†ํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ฐฐ์น˜์— ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ๋•Œ ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ClickHouse ํŒŒํ‹ฐ์…˜์€ ์›” ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฑ๋งŒ ํ–‰์˜ ๋ฐฐ์น˜๋ฅผ ์‚ฝ์ž…ํ•˜๊ณ  ๋ช‡ ๋…„ ๋™์•ˆ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฑฐ๊ธฐ์— ์ˆ˜์‹ญ ๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์ด ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Š” ๋‚ด๋ถ€์—์„œ ํ•ญ์ƒ ๋จผ์ € ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋‚˜๋ˆ„์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ธฐ๊ฐ€ ์ˆ˜์‹ญ ๋ฐฐ ๋” ์ž‘์€ ๋ฐฐ์น˜๊ฐ€ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

* ์ตœ๊ทผ ์‹คํ—˜ ๋ชจ๋“œ์—์„œ ClickHouse๋Š” ๋ฏธ๋ฆฌ ์“ฐ๊ธฐ ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ RAM์˜ ์ฒญํฌ ๋ฐ ์ฒญํฌ์˜ ์ปดํŒฉํŠธ ํ˜•์‹์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ๊ฑฐ์˜ ์™„์ „ํžˆ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

์ด์ œ ๋‘ ๋ฒˆ์งธ ์œ ํ˜•์˜ ๋ฌธ์ œ์ธ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์œ ํ˜•์€ ์—„๊ฒฉํ•˜๊ฑฐ๋‚˜ ๋ฌธ์ž์—ด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. String์€ ๋ฐฉ๊ธˆ ๊ฐ€์ ธ์˜ค๊ณ  ๋ชจ๋“  ํ•„๋“œ๊ฐ€ ๋ฌธ์ž์—ด ์œ ํ˜•์ด๋ผ๊ณ  ์„ ์–ธํ•œ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ด๊ฑด ์งœ์ฆ๋‚˜. ์ด๋ ‡๊ฒŒ ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

ํ•„๋“œ์™€ ๋ฌธ์ž์—ด์ด ์žˆ๋‹ค๊ณ  ๋งํ•˜๊ณ  ClickHouse๊ฐ€ ์Šค์Šค๋กœ ์•Œ์•„๋‚ด๋„๋ก ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์— ์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…์‹œ๋‹ค. ์ €๋Š” ๊ท€์ฐฎ๊ฒŒ ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ์ „ํžˆ ๋…ธ๋ ฅํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

์˜ˆ๋ฅผ ๋“ค์–ด IP ์ฃผ์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ์ด๋ฅผ ๋ฌธ์ž์—ด๋กœ ์ €์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 192.168.1.1์ž…๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ๊ฒฝ์šฐ์—๋Š” UInt32* ์œ ํ˜•์˜ ์ˆซ์ž๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. IPv32 ์ฃผ์†Œ์—๋Š” 4๋น„ํŠธ์ด๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

์ฒซ์งธ, ์ด์ƒํ•˜๊ฒŒ๋„ ๋ฐ์ดํ„ฐ๋Š” ๊ฑฐ์˜ ๋™์ผํ•˜๊ฒŒ ์••์ถ•๋ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ฐจ์ด๊ฐ€ ์žˆ๊ฒ ์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํฌ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋””์Šคํฌ I/O์—๋Š” ํŠน๋ณ„ํ•œ ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ”„๋กœ์„ธ์„œ ์‹œ๊ฐ„๊ณผ ์ฟผ๋ฆฌ ์‹คํ–‰ ์‹œ๊ฐ„์—๋Š” ์‹ฌ๊ฐํ•œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ ์œ ํ•œ IP ์ฃผ์†Œ๋ฅผ ์ˆซ์ž๋กœ ์ €์žฅํ•˜๋ฉด ๊ทธ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ดˆ๋‹น 137์–ต 37๋งŒ ์ค„์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋‚ด์šฉ์ด ๋ฌธ์ž์—ด ํ˜•ํƒœ๋ผ๋ฉด ์ดˆ๋‹น 4๋งŒ ์ค„์ด ๋ฉ๋‹ˆ๋‹ค. ์™œ ์ด๋Ÿฐ ์šฐ์—ฐ์ด ์ผ์–ด๋‚ฌ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ์ง์ ‘ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์•ฝ XNUMX๋ฐฐ ๋” ๋Š๋ฆฝ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋””์Šคํฌ ๊ณต๊ฐ„์˜ ์ฐจ์ด๋ฅผ ๊ณ„์‚ฐํ•˜๋ฉด ์ฐจ์ด๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ฐจ์ด๋Š” ์•ฝ XNUMX/XNUMX ์ •๋„์ธ๋ฐ, ๊ณ ์œ ํ•œ IP ์ฃผ์†Œ๊ฐ€ ๊ฝค ๋งŽ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์†Œ์ˆ˜์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„ ์ค„์ด ์žˆ๋‹ค๋ฉด ์‚ฌ์ „์— ๋”ฐ๋ผ ๊ฑฐ์˜ ๊ฐ™์€ ๋ณผ๋ฅจ์œผ๋กœ ์‰ฝ๊ฒŒ ์••์ถ•๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  XNUMX๋ฐฐ์˜ ์‹œ์ฐจ๋Š” ๋„๋กœ์— ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ณ„ ์‹ ๊ฒฝ ์•ˆ ์“ฐ์‹ค ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ ๊ทธ๋Ÿฐ ์ฐจ์ด๋ฅผ ๋ณด๋ฉด ์•ˆํƒ€๊น์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋‹ค์–‘ํ•œ ์‚ฌ๋ก€๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. ์„œ๋กœ ๋‹ค๋ฅธ ๊ณ ์œ  ๊ฐ’์ด ๊ฑฐ์˜ ์—†๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์•Œ๊ณ  ์žˆ๊ณ  ๋ชจ๋“  DBMS์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์ด ClickHouse์—๋งŒ ํ•ด๋‹น๋˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ˆซ์ž ์‹๋ณ„์ž๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ธฐ๋กํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธก๋ฉด์—์„œ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋‹ค์‹œ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ง€์—ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ๋ฌธ์ž์—ด๋กœ ์ €์žฅํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฑฐ๊ธฐ์—๋Š” ๋ชจ์Šคํฌ๋ฐ”์™€ ๋ชจ์Šคํฌ๋ฐ” ์ง€์—ญ์ด ๊ธฐ๋ก๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  '๋ชจ์Šคํฌ๋ฐ”'๋ผ๊ณ  ์ ํžŒ ๊ฑธ ๋ณด๋ฉด ๋ณ„๊ฑฐ ์•„๋‹Œ๋ฐ, ๋ชจ์Šคํฌ๋ฐ”๋ผ๋ฉด ์–ด์ฉ์ง€ ์™„์ „ ์Šฌํ”„๋‹ค. ์ด๊ฒƒ์€ ๋ช‡ ๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค.

๋Œ€์‹  ๋‹จ์ˆœํžˆ Ulnt32์™€ 250์ด๋ผ๋Š” ์ˆซ์ž๋ฅผ ์ ์Šต๋‹ˆ๋‹ค. Yandex์—๋Š” 250์ด ์žˆ์ง€๋งŒ ๊ท€ํ•˜์˜ ์ˆซ์ž๋Š” ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์ผ์„ ๋Œ€๋น„ํ•ด ClickHouse์—๋Š” ์ง€๋ฆฌ ๊ธฐ๋ฐ˜ ์ž‘์—… ๊ธฐ๋Šฅ์ด ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค๊ณ  ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ณ„์ธต์  ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ํฌํ•จํ•˜์—ฌ ์ง€์—ญ์ด ํฌํ•จ๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ์Šคํฌ๋ฐ”, ๋ชจ์Šคํฌ๋ฐ” ์ง€์—ญ ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์š”์ฒญ ์ˆ˜์ค€์—์„œ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋‘ ๋ฒˆ์งธ ์˜ต์…˜์€ ๊ฑฐ์˜ ๋™์ผํ•˜์ง€๋งŒ ClickHouse ๋‚ด๋ถ€์—์„œ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Enum ๋ฐ์ดํ„ฐ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. Enum ๋‚ด๋ถ€์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฐ’์„ ์ž‘์„ฑํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์žฅ์น˜ ์œ ํ˜•์„ ์ž…๋ ฅํ•˜๊ณ  ๋ฐ์Šคํฌํ†ฑ, ๋ชจ๋ฐ”์ผ, ํƒœ๋ธ”๋ฆฟ, TV ๋“ฑ์œผ๋กœ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ด 4๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ ์€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ฐ”๊ฟ”์ค˜์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ. ์˜ต์…˜์ด ํ•˜๋‚˜๋งŒ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์„ ๋ณ€๊ฒฝํ•ด ๋ด…์‹œ๋‹ค. ์‹ค์ œ๋กœ ClickHouse์˜ ๋ณ€๊ฒฝ ํ…Œ์ด๋ธ”์€ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค. ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ Enum์˜ ๊ฒฝ์šฐ ํŠนํžˆ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  alter๋Š” ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ž ๊ธˆ*์„ ํš๋“ํ•˜๊ณ  ๋ชจ๋“  ์„ ํƒ์ด ์‹คํ–‰๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์ด ๋ณ€๊ฒฝ๋œ ํ›„์—์•ผ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์—ฌ์ „ํžˆ ๋ช‡ ๊ฐ€์ง€ ๋ถˆํŽธํ•จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

* ์ตœ์‹  ๋ฒ„์ „์˜ ClickHouse์—์„œ๋Š” ALTER๊ฐ€ ์™„์ „ํžˆ ๋น„์ฐจ๋‹จ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

ClickHouse์˜ ๋˜ ๋‹ค๋ฅธ ๋…ํŠนํ•œ ์˜ต์…˜์€ ์™ธ๋ถ€ ์‚ฌ์ „์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ClickHouse์— ์ˆซ์ž๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ์–ด๋–ค ์‹œ์Šคํ…œ์—๋‚˜ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด MySQL, Mongo, Postgres๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. http๋ฅผ ํ†ตํ•ด ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ์ž์ฒด ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ClickHouse ์ˆ˜์ค€์—์„œ๋Š” ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆซ์ž์—์„œ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” ์™ธ๋ถ€ ํ…Œ์ด๋ธ”์—์„œ ์กฐ์ธ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ „๋ฌธ์ ์ด๋ฉด์„œ๋„ ๋งค์šฐ ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ ์‹ค์‹œ์˜ˆ์—์„œ, ์ด ๋ฐ์ดํ„ฐ๋Š” ์™„์ „ํžˆ ์บ์‹œ๋˜๊ณ  RAM์— ์™„์ „ํžˆ ์กด์žฌํ•˜๋ฉฐ ์ผ์ • ๋นˆ๋„๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์˜ต์…˜์œผ๋กœ, ์ด ๋ฐ์ดํ„ฐ๊ฐ€ RAM์— ๋งž์ง€ ์•Š์œผ๋ฉด ๋ถ€๋ถ„์ ์œผ๋กœ ์บ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Yandex.Direct๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ด‘๊ณ  ํšŒ์‚ฌ์™€ ๋ฐฐ๋„ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ์ˆ˜์ฒœ๋งŒ ๊ฐœ์˜ ๊ด‘๊ณ  ํšŒ์‚ฌ๊ฐ€ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋“ค์€ ๋Œ€๋žต RAM์— ๋งž์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ˆ˜์‹ญ์–ต ๊ฐœ์˜ ๋ฐฐ๋„ˆ๊ฐ€ ์žˆ๋Š”๋ฐ ๋งž์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” MySQL์˜ ์บ์‹œ๋œ ์‚ฌ์ „์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์œ ์ผํ•œ ๋ฌธ์ œ๋Š” ์ ์ค‘๋ฅ ์ด 100%์— ๊ฐ€๊นŒ์šฐ๋ฉด ์บ์‹œ๋œ ์‚ฌ์ „์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํฌ๊ธฐ๊ฐ€ ๋” ์ž‘๋‹ค๋ฉด ๊ฐ ๋ฐ์ดํ„ฐ ๋ฐฐ์น˜์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‹ค์ œ๋กœ ๋ˆ„๋ฝ๋œ ํ‚ค๋ฅผ ๊ฐ€์ ธ์™€์„œ MySQL์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ClickHouse์— ๋Œ€ํ•ด์„œ๋Š” ์—ฌ์ „ํžˆ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ, ์†๋„๊ฐ€ ๋Š๋ ค์ง€์ง€ ์•Š์œผ๋ฉฐ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด์„œ๋Š” ์ด์•ผ๊ธฐํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ณด๋„ˆ์Šค๋กœ ์‚ฌ์ „์€ ClickHouse์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์†Œ๊ธ‰ํ•˜์—ฌ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋งค์šฐ ์‰ฌ์šด ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ด‘๊ณ  ํšŒ์‚ฌ์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹จ์ˆœํžˆ ๊ด‘๊ณ  ํšŒ์‚ฌ๋ฅผ ๋ณ€๊ฒฝํ–ˆ๊ณ  ๋ชจ๋“  ์ด์ „ ๋ฐ์ดํ„ฐ, ๋ชจ๋“  ๋ณด๊ณ ์„œ์—์„œ ์ด ๋ฐ์ดํ„ฐ๋„ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์— ํ–‰์„ ์ง์ ‘ ์“ฐ๋ฉด ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ฌธ์ž์—ด์˜ ์‹๋ณ„์ž๋ฅผ ์–ด๋””์„œ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๋Š” ๊ฒฝ์šฐ์˜ ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ํ•ด์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์˜ต์…˜์€ 64๋น„ํŠธ ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์œ ์ผํ•œ ๋ฌธ์ œ๋Š” ํ•ด์‹œ๊ฐ€ 64๋น„ํŠธ์ธ ๊ฒฝ์šฐ ๊ฑฐ์˜ ํ™•์‹คํ•˜๊ฒŒ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ฑฐ๊ธฐ์— XNUMX์–ต ๊ฐœ์˜ ๋ผ์ธ์ด ์žˆ๋‹ค๋ฉด ๊ทธ ํ™•๋ฅ ์€ ์ด๋ฏธ ๋ˆˆ์— ๋„๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ์‹์œผ๋กœ ๊ด‘๊ณ  ํšŒ์‚ฌ์˜ ์ด๋ฆ„์„ ํ•ด์‹ฑํ•˜๋Š” ๊ฒƒ์€ ๊ทธ๋ฆฌ ์ข‹์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํšŒ์‚ฌ์˜ ๊ด‘๊ณ  ์บ ํŽ˜์ธ์ด ๋’ค์„ž์—ฌ ์žˆ์œผ๋ฉด ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ์ผ์ด ์ƒ๊ธธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ฐ„๋‹จํ•œ ํŠธ๋ฆญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ์‹ฌ๊ฐํ•œ ๋ฐ์ดํ„ฐ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์ง€๋งŒ, ์‹ฌ๊ฐํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ ์‹๋ณ„์ž๋ฅผ ์‚ฌ์ „ ํ‚ค์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์ง€๋งŒ ํ•˜๋‚˜์˜ ํด๋ผ์ด์–ธํŠธ ๋‚ด์—์„œ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” Yandex.Metrica์˜ ๋งํฌ ๋งต์— ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์— URL์ด ์žˆ๊ณ  ํ•ด์‹œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๋ฌผ๋ก  ์ถฉ๋Œ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํŽ˜์ด์ง€๊ฐ€ ํ‘œ์‹œ๋  ๋•Œ ํ•œ ์‚ฌ์šฉ์ž์˜ ํ•œ ํŽ˜์ด์ง€์— ์ผ๋ถ€ URL์ด ์„œ๋กœ ๋ถ™์–ด ์žˆ์–ด ์ด๋ฅผ ๋ฐœ๊ฒฌํ•  ๊ฐ€๋Šฅ์„ฑ์€ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด๋„ˆ์Šค๋กœ ๋งŽ์€ ์ž‘์—…์—์„œ๋Š” ํ•ด์‹œ๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋ฉฐ ๋ฌธ์ž์—ด ์ž์ฒด๋ฅผ ์–ด๋””์—๋„ ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋˜ ๋‹ค๋ฅธ ์˜ˆ๋Š” ์›น ์‚ฌ์ดํŠธ ๋„๋ฉ”์ธ๊ณผ ๊ฐ™์ด ๋ฌธ์ž์—ด์ด ์งง์€ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Œ€๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด ๋ธŒ๋ผ์šฐ์ € ์–ธ์–ด ru โ€“ 2๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ฐ”์ดํŠธ๊ฐ€ ๋„ˆ๋ฌด ์•„์‰ฝ์ง€๋งŒ 2๋ฐ”์ดํŠธ๋„ ์•„์‰ฝ์ง€ ์•Š์œผ๋‹ˆ ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์„ธ์š”. ๊ฑฑ์ •ํ•˜์ง€ ๋ง๊ณ  ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•ด์ฃผ์„ธ์š”.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋˜ ๋‹ค๋ฅธ ๊ฒฝ์šฐ๋Š” ๋ฐ˜๋Œ€๋กœ ๋ผ์ธ์ด ๋งŽ๊ณ  ๊ทธ ์•ˆ์— ๊ณ ์œ ํ•œ ๋ผ์ธ์ด ๋งŽ๊ณ  ์„ธํŠธ๋„ ์ž ์žฌ์ ์œผ๋กœ ๋ฌด์ œํ•œ์ธ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์˜ˆ๋กœ๋Š” ๊ฒ€์ƒ‰ ๋ฌธ๊ตฌ๋‚˜ URL์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜คํƒ€๋ฅผ ํฌํ•จํ•œ ๊ฒ€์ƒ‰์–ด. ํ•˜๋ฃจ์— ๊ณ ์œ ํ•œ ๊ฒ€์ƒ‰ ๋ฌธ๊ตฌ๊ฐ€ ๋ช‡ ๊ฐœ๋‚˜ ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ๋ชจ๋“  ์‚ฌ๊ฑด์˜ ๊ฑฐ์˜ ์ ˆ๋ฐ˜์ด๋ผ๋Š” ๊ฒƒ์ด ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ •๊ทœํ™”ํ•˜๊ณ  ์‹๋ณ„์ž๋ฅผ ์„ธ์–ด ๋ณ„๋„์˜ ํ…Œ์ด๋ธ”์— ๋„ฃ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด ์ค„์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜์„ธ์š”.

๋ณ„๋„๋กœ ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ ์กฐ์ธ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์•„๋ฌด๊ฒƒ๋„ ๋งŒ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์กฐ์ธ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋ฉ”๋ชจ๋ฆฌ์— ์ ํ•ฉํ•˜๋‹ค๋ฉด ๊ธฐ๊ปํ•ด์•ผ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ๋ฌด์ž‘์œ„ ์•ก์„ธ์Šค์ž…๋‹ˆ๋‹ค. ๋งž์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ์ œ์ž๋ฆฌ์— ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฉด ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํ•„์š”ํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ฝ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ž…๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

URL์ด๋‚˜ ๊ธฐํƒ€ ๋ณต์žกํ•œ ๊ธด ๋ฌธ์ž์—ด์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ผ์ข…์˜ ์ถ”์ถœ์„ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•˜์—ฌ ๋ณ„๋„์˜ ์—ด์— ์“ธ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•ด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด URL์˜ ๊ฒฝ์šฐ ๋„๋ฉ”์ธ์„ ๋ณ„๋„๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ์ด ๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด ์—ด์„ ์‚ฌ์šฉํ•˜๋ฉด URL์ด ๊ฑฐ๊ธฐ์— ์žˆ์œผ๋ฏ€๋กœ ๊ฑด๋“œ๋ฆด ํ•„์š”๋„ ์—†์Šต๋‹ˆ๋‹ค.

์ฐจ์ด์ ์ด ๋ฌด์—‡์ธ์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ClickHouse์—๋Š” ๋„๋ฉ”์ธ์„ ๊ณ„์‚ฐํ•˜๋Š” ํŠนํ™”๋œ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ๋น ๋ฅด๋ฏ€๋กœ ์ตœ์ ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์†”์งํžˆ ๋งํ•ด์„œ RFC๋ฅผ ์ค€์ˆ˜ํ•˜์ง€๋„ ์•Š์ง€๋งŒ ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์šฐ๋ฆฌ์—๊ฒŒ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ๊ฒฝ์šฐ์—๋Š” ๋‹จ์ˆœํžˆ URL์„ ์–ป๊ณ  ๋„๋ฉ”์ธ์„ ๊ณ„์‚ฐํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” 166๋ฐ€๋ฆฌ์ดˆ๋กœ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์„ฑ ๋„๋ฉ”์ธ์„ ์‚ฌ์šฉํ•˜๋ฉด 67๋ฐ€๋ฆฌ์ดˆ์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ฑฐ์˜ XNUMX๋ฐฐ ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค. ๊ณ„์‚ฐ์„ ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด ์•„๋‹ˆ๋ผ ์ฝ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๋ฐ”๋กœ ๋Š๋ฆฐ ์š”์ฒญ ํ•˜๋‚˜๊ฐ€ ์ดˆ๋‹น ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ๋ผ๋Š” ๋” ๋น ๋ฅธ ์†๋„๋ฅผ ๊ฐ–๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ๋ฅผ ์ฝ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ „ํ˜€ ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์š”์ฒญ์ด ๋” ๋นจ๋ฆฌ ์‹คํ–‰๋˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋””์Šคํฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์„ ๋ณด๋ฉด URL์€ 126MB์ด๊ณ , ๋„๋ฉ”์ธ์€ 5MB์— ๋ถˆ๊ณผํ•œ ๊ฒƒ์œผ๋กœ ๋“œ๋Ÿฌ๋‚ฉ๋‹ˆ๋‹ค. 25 ๋ฐฐ ๋” ์ ์€ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์š”์ฒญ์€ 4๋ฐฐ ๋” ๋น ๋ฅด๊ฒŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๊ฑด ๋ฐ์ดํ„ฐ๊ฐ€ ๋œจ๊ฒ๊ธฐ ๋•Œ๋ฌธ์ด์—์š”. ๊ทธ๋ฆฌ๊ณ  ์ถ”์šด ๋‚ ์”จ๋ผ๋ฉด ๋””์Šคํฌ I/O๋กœ ์ธํ•ด ์•„๋งˆ๋„ 25๋ฐฐ ๋” ๋นจ๋ผ์กŒ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋„๋ฉ”์ธ์ด URL์— ๋น„ํ•ด ์–ผ๋งˆ๋‚˜ ์ž‘์€์ง€ ์ถ”์ •ํ•ด ๋ณด๋ฉด ์•ฝ 4๋ฐฐ ์ •๋„ ์ž‘์€ ๊ฒƒ์œผ๋กœ ๋‚˜์˜ค์ง€๋งŒ ์–ด๋–ค ์ด์œ ์—์„œ์ธ์ง€ ๋””์Šคํฌ์—์„œ ๋ฐ์ดํ„ฐ๋Š” 25๋ฐฐ๋‚˜ ์ ๊ฒŒ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์™œ? ์••์ถ•์œผ๋กœ ์ธํ•ด. ๊ทธ๋ฆฌ๊ณ  URL์ด ์••์ถ•๋˜๊ณ , ๋„๋ฉ”์ธ๋„ ์••์ถ•๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ข…์ข… URL์— ์“ฐ๋ ˆ๊ธฐ๊ฐ€ ๋งŽ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๊ทธ๋ฆฌ๊ณ  ๋ฌผ๋ก , ์›ํ•˜๋Š” ๊ฐ’์— ๋งž๊ฒŒ ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋˜์—ˆ๊ฑฐ๋‚˜ ์ ํ•ฉํ•œ ์˜ฌ๋ฐ”๋ฅธ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. IPv4๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ UInt32*๋ฅผ ์ €์žฅํ•˜์‹ญ์‹œ์˜ค. IPv6์ธ ๊ฒฝ์šฐ IPv16 ์ฃผ์†Œ๊ฐ€ 6๋น„ํŠธ์ด๋ฏ€๋กœ ์ด์ง„ ํ˜•์‹์œผ๋กœ ์ง์ ‘ ์ €์žฅ๋˜๋ฏ€๋กœ FixString(128)์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ IPv4 ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๊ณ  IPv6 ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ์˜ˆ, ๋‘˜ ๋‹ค ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ์—ด์€ IPv4์šฉ์ด๊ณ  ๋‹ค๋ฅธ ์—ด์€ IPv6์šฉ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  IPv4์— IPv6๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์˜ต์…˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•๋„ ์ž‘๋™ํ•˜์ง€๋งŒ ์š”์ฒญ์— IPv4 ์ฃผ์†Œ๊ฐ€ ์ž์ฃผ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ณ„๋„์˜ ์—ด์— ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

* ClickHouse์—๋Š” ์ด์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆซ์ž๋งŒํผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๋ฌธ์ž์—ด์ฒ˜๋Ÿผ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ‘œ์‹œํ•˜๋Š” ๋ณ„๋„์˜ IPv4, IPv6 ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ์ „์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ผ๋ถ€ ์›์‹œ ๋กœ๊ทธ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์•„๋ฌด ๊ฒƒ๋„ ํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ฆ‰์‹œ ClickHouse์— ๋„ฃ์œผ๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€๋Šฅํ•œ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์†๊ฐ€๋ฝ์งˆํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ๊ฐ€๊นŒ์šด ์ผ๋ถ€ ๋ถ€์„œ์—์„œ๋Š” ๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฌธ์ž์—ด๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. 12.3. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณด๊ณ ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ด ๋ฌธ์ž์—ด์„ ๋ฐฐ์—ด๋กœ ๋‚˜๋ˆˆ ๋‹ค์Œ ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ๋ชจ๋“  ๊ฒƒ์ด ๋Š๋ ค์ง‘๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๋“ค์ด ์™œ ์ด๋Ÿฐ ์ง“์„ ํ•˜๋Š”์ง€ ๋ฌผ์—ˆ๋‹ค. ๊ทธ๋“ค์€ ์„ฑ๊ธ‰ํ•œ ์ตœ์ ํ™”๋ฅผ ์ข‹์•„ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ์„ฑ๊ธ‰ํ•œ ๋น„๊ด€์„ ์ข‹์•„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด ๊ฒฝ์šฐ์—๋Š” 4์—ด๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด ๋” ์ •ํ™•ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ๋Š” ClickHouse์ด๋‹ˆ๊นŒ ๋‘๋ ค์›Œํ•˜์ง€ ๋งˆ์„ธ์š”. ClickHouse๋Š” ์—ด ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž‘์€ ๊ธฐ๋‘ฅ์ด ๊น”๋”ํ• ์ˆ˜๋ก ์ข‹์Šต๋‹ˆ๋‹ค. 5๊ฐœ์˜ BrowserVersion์ด ์žˆ์œผ๋ฉฐ 5๊ฐœ์˜ ์—ด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด๊ฑด ๊ดœ์ฐฎ์•„.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

์ด์ œ ๋งค์šฐ ๊ธด ๋ฌธ์ž์—ด, ๋งค์šฐ ๊ธด ๋ฐฐ์—ด์ด ๋งŽ์€ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ClickHouse์— ์ „ํ˜€ ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ClickHouse์—๋งŒ ์‹๋ณ„์ž๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ธด ์ค„์„ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์— ๋„ฃ์œผ์„ธ์š”.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹น์‚ฌ์˜ ๋ถ„์„ ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด๋ฒคํŠธ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋งŽ์œผ๋ฉด ์ฒ˜์Œ์œผ๋กœ ์ ‘ํ•˜๋Š” 512๊ฐœ๋งŒ ์ €์žฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 512๊ฐœ๋Š” ์•„์‰ฝ์ง€ ์•Š์œผ๋‹ˆ๊นŒ์š”.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ ClickHouse์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ž„์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ ํŠน์ˆ˜ ๋กœ๊ทธ ์œ ํ˜•์˜ ์ž„์‹œ ํ…Œ์ด๋ธ”์— ๊ธฐ๋กํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฑฐ๊ธฐ์— ์–ด๋–ค ๊ฐ’์ด ๋ถ„ํฌ๋˜์–ด ์žˆ๋Š”์ง€, ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌด์—‡์ด ์žˆ๋Š”์ง€ ๋ถ„์„ํ•˜๊ณ  ์˜ฌ๋ฐ”๋ฅธ ์œ ํ˜•์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

*ClickHouse์—๋Š” ์ด์ œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ฎ์€ ์นด๋””๋„๋ฆฌํ‹ฐ ์ด๋ฅผ ํ†ตํ•ด ์ ์€ ๋…ธ๋ ฅ์œผ๋กœ ํšจ์œจ์ ์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

์ด์ œ ๋˜ ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ์‚ฌ๋ก€๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ์ƒํ™ฉ์ด ์ด์ƒํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋“ค์–ด์™€์„œ ์ด๊ฑฐ ๋ณด๋Š”๋ฐ ๊ทธ๋ฆฌ๊ณ  ์ด ์ž‘์—…์€ MySQL ๋ฒ„์ „ 3.23 ์„ค์ •์— ๋Œ€ํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ๊ฒฝํ—˜์„ ๊ฐ€์ง„ ๊ฒฝํ—˜์ด ํ’๋ถ€ํ•˜๊ณ  ๋˜‘๋˜‘ํ•œ ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜ํ–‰ํ•œ ๊ฒƒ์œผ๋กœ ์ฆ‰์‹œ ๋ณด์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ์šฐ๋ฆฌ๋Š” ์ฒœ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ ํ…Œ์ด๋ธ”์€ ๋ˆ„๊ฐ€ ๋ฌด์—‡์„ ์ฒœ์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

์›์น™์ ์œผ๋กœ ๋‚˜๋Š” ์ด ๊ฒฝํ—˜์„ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ณ ํ†ต์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ํฌํ•จํ•˜์—ฌ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๊ฒฝํ—˜์„ ์กด์ค‘ํ•ฉ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ด์œ ๋Š” ๋‹ค์†Œ ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๊ณผ ์ž‘์—…ํ•˜๋ฉด์„œ ์ถ•์ ๋˜์—ˆ์„ ์ˆ˜ ์žˆ๋Š” ์˜ค๋ž˜๋œ ๊ณ ์ •๊ด€๋…์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด MyISAM ํ…Œ์ด๋ธ”์—๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋œ ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ ๋ถ„ํ•  ๋ฐฉ์‹์€ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์–ป์œผ๋ ค๋Š” ํ•„์‚ฌ์ ์ธ ์‹œ๋„์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ด์œ ๋Š” ํฐ ํ…Œ์ด๋ธ”์—์„œ๋Š” ๋ณ€๊ฒฝ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์˜ MySQL์—์„œ๋Š” ์ด ๋ฌธ์ œ๊ฐ€ ๋” ์ด์ƒ ์‹ฌ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋˜๋Š” ๋งˆ์ดํฌ๋กœ ์ƒค๋”ฉ์„ ์˜ˆ๋กœ ๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ ์ด์— ๋Œ€ํ•ด์„œ๋Š” ๋‚˜์ค‘์— ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

ClickHouse์—์„œ๋Š” ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋จผ์ € ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ๋ง๋˜์–ด ์žˆ๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๋ณธ ํ‚ค์— ๋”ฐ๋ผ ์ •๋ ฌ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋•Œ๋•Œ๋กœ ์‚ฌ๋žŒ๋“ค์€ "ClickHouse์˜ ๋ฒ”์œ„ ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์€ ํ…Œ์ด๋ธ” ํฌ๊ธฐ์— ๋”ฐ๋ผ ์–ด๋–ป๊ฒŒ ๋‹ฌ๋ผ์ง€๋‚˜์š”?"๋ผ๊ณ  ๋ฌป์Šต๋‹ˆ๋‹ค. ์ „ํ˜€ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, XNUMX์–ต ๊ฐœ์˜ ํ–‰์ด ์žˆ๋Š” ํ…Œ์ด๋ธ”์ด ์žˆ๊ณ  ๋ฐฑ๋งŒ ํ–‰์˜ ๋ฒ”์œ„๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์— XNUMX์กฐ ๊ฐœ์˜ ํ–‰์ด ์žˆ๊ณ  ๋ฐฑ๋งŒ ๊ฐœ์˜ ํ–‰์„ ์ฝ๋Š” ๊ฒฝ์šฐ ๊ฑฐ์˜ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

๋‘˜์งธ, ์ˆ˜๋™ ํŒŒํ‹ฐ์…˜๊ณผ ๊ฐ™์€ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์ž‘์—…์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋“ค์–ด๊ฐ€์„œ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋ฌด์—‡์ด ์žˆ๋Š”์ง€ ์‚ดํŽด๋ณด๋ฉด ํ…Œ์ด๋ธ”์ด ๊ฝค ํฌ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚ด๋ถ€์—๋Š” ํŒŒํ‹ฐ์…˜ ๊ฐ™์€ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ClickHouse๊ฐ€ ๊ท€ํ•˜๋ฅผ ์œ„ํ•ด ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ ๊ท€ํ•˜๋Š” ์–ด๋ ค์›€์„ ๊ฒช์„ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

์—ด ์ถ”๊ฐ€/์‚ญ์ œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ ClickHouse์˜ ๋ณ€๊ฒฝ์€ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ž‘์€ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์— ํ–‰์ด 10๊ฐœ๋“  ํ–‰์ด 10๊ฐœ๋“  ์ „ํ˜€ ์ƒ๊ด€์ด ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ClickHouse๋Š” ์ง€์—ฐ ์‹œ๊ฐ„์ด ์•„๋‹Œ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ตœ์ ํ™”ํ•˜๋Š” ์‹œ์Šคํ…œ์ด๋ฏ€๋กœ 000๋ผ์ธ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

ํฐ ํ…Œ์ด๋ธ” ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋งž์Šต๋‹ˆ๋‹ค. ์˜ค๋ž˜๋œ ๊ณ ์ •๊ด€๋…์„ ์—†์• ๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ณด๋„ˆ์Šค๋กœ ์ตœ์‹  ๋ฒ„์ „์—์„œ๋Š” ์ด์ œ ๊ฐœ๋ณ„ ํŒŒํ‹ฐ์…˜์— ๋Œ€ํ•ด ๋ชจ๋“  ์ข…๋ฅ˜์˜ ์œ ์ง€ ๊ด€๋ฆฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ž„์˜์˜ ํŒŒํ‹ฐ์…˜ ํ‚ค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์ž‘์€ ํ…Œ์ด๋ธ”์ด ๋งŽ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ์ผ๋ถ€ ์ค‘๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ฒญํฌ๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  ์ตœ์ข… ํ…Œ์ด๋ธ”์— ์“ฐ๊ธฐ ์ „์— ํ•ด๋‹น ์ฒญํฌ์— ๋Œ€ํ•œ ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” ํ›Œ๋ฅญํ•œ ํ…Œ์ด๋ธ” ์—”์ง„์ธ StripeLog๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. TinyLog์™€ ๋น„์Šทํ•˜์ง€๋งŒ ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

* ์ด์ œ ClickHouse์—๋„ ํ…Œ์ด๋ธ” ํ•จ์ˆ˜ ์ž…๋ ฅ.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋˜ ๋‹ค๋ฅธ ์•ˆํ‹ฐํŒจํ„ด์€ ๋งˆ์ดํฌ๋กœ์ƒค๋”ฉ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ๋ฅผ ์ƒค๋”ฉํ•ด์•ผ ํ•˜๊ณ  5๊ฐœ์˜ ์„œ๋ฒ„๊ฐ€ ์žˆ๊ณ  ๋‚ด์ผ์€ 6๊ฐœ์˜ ์„œ๋ฒ„๊ฐ€ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๋ฐ์ดํ„ฐ์˜ ๊ท ํ˜•์„ ์žฌ์กฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  5๊ฐœ์˜ ์ƒค๋“œ๋กœ ๋ถ„ํ• ๋˜์ง€ ์•Š๊ณ  1๊ฐœ์˜ ์ƒค๋“œ๋กœ ๋ถ„ํ• ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฐ ๋งˆ์ดํฌ๋กœ์ƒค๋“œ๋ฅผ ๋ณ„๋„์˜ ์„œ๋ฒ„์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•œ ์„œ๋ฒ„์— 000๊ฐœ์˜ ClickHouse๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ํฌํŠธ ๋˜๋Š” ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ธ์Šคํ„ด์Šค๋ฅผ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

ํ•˜์ง€๋งŒ ClickHouse์—์„œ๋Š” ์ด๊ฒƒ์ด ๋ณ„๋กœ ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ClickHouse ์ธ์Šคํ„ด์Šค๋ผ๋„ ํ•˜๋‚˜์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ผ์ข…์˜ ์„œ๋ฒ„๊ฐ€ ์žˆ๊ณ  ์˜ˆ๋ฅผ ๋“ค์–ด 56๊ฐœ์˜ ํ”„๋กœ์„ธ์„œ ์ฝ”์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 56์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๋Š” ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ ์ค‘์ด๋ฉฐ 200๊ฐœ์˜ ์ฝ”์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•œ ์„œ๋ฒ„์— 10๊ฐœ์˜ ClickHouse๋ฅผ ๋ฐฐ์น˜ํ•˜๋ฉด 000๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์‹œ์ž‘๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“  ๊ฒƒ์ด ๋งค์šฐ ๋‚˜์  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ด์œ ๋Š” ์ด๋Ÿฌํ•œ ์ธ์Šคํ„ด์Šค ์ „๋ฐ˜์— ๊ฑธ์ณ ์ž‘์—… ๋ถ„ํฌ๊ฐ€ ๊ณ ๋ฅด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ผ๋ถ€๋Š” ๋” ์ผ์ฐ ์™„๋ฃŒ๋˜๊ณ  ์ผ๋ถ€๋Š” ๋‚˜์ค‘์— ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์ด ํ•œ ์ธ์Šคํ„ด์Šค์—์„œ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ClickHouse๋Š” ์Šค๋ ˆ๋“œ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž์ฒด์ ์œผ๋กœ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์ด์œ ๋Š” TCP๋ฅผ ํ†ตํ•ด ํ”„๋กœ์„ธ์„œ ๊ฐ„ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ์ง๋ ฌํ™” ๋ฐ ์—ญ์ง๋ ฌํ™”๋˜์–ด์•ผ ํ•˜๋ฉฐ ์ด๋Š” ์—„์ฒญ๋‚œ ์ˆ˜์˜ ๋งˆ์ดํฌ๋กœ์ƒค๋“œ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋‹จ์ˆœํžˆ ํšจ๊ณผ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋˜ ๋‹ค๋ฅธ ์•ˆํ‹ฐํŒจํ„ด์ด์ง€๋งŒ ์•ˆํ‹ฐํŒจํ„ด์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์ „ ์ง‘๊ณ„๋œ ์–‘์ด ๋งŽ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์ „ ์ง‘๊ณ„๊ฐ€ ์ข‹์Šต๋‹ˆ๋‹ค. 1์–ต ๊ฐœ์˜ ํ–‰์ด ์žˆ์—ˆ๊ณ  ์ด๋ฅผ ์ง‘๊ณ„ํ•˜์—ฌ 000๊ฐœ์˜ ํ–‰์ด ๋˜์—ˆ์œผ๋ฉฐ ์ด์ œ ์ฟผ๋ฆฌ๊ฐ€ ์ฆ‰์‹œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ ๊ฒƒ์ด ์ข‹์•„. ๋‹น์‹ ์€ ์ด๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ClickHouse์—๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฝ์ž…๋  ๋•Œ ์ฆ๋ถ„ ์ง‘๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” AggregatingMergeTree๋ผ๋Š” ํŠน์ˆ˜ ํ…Œ์ด๋ธ” ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์šฐ๋ฆฌ๊ฐ€ ์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ํ•˜๊ณ , ์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ํ•˜๊ฒ ๋‹ค๋ผ๊ณ  ์ƒ๊ฐํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ธ๊ทผ ์ผ๋ถ€ ๋ถ€์„œ์—์„œ๋Š” ์–ด๋Š ๋ถ€์„œ์ธ์ง€ ๋งํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. SummingMergeTree ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ํ‚ค๋กœ ์š”์•ฝํ•˜๊ณ  ์•ฝ 20๊ฐœ์˜ ์—ด์ด ๊ธฐ๋ณธ ํ‚ค๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์ผ์„ ๋Œ€๋น„ํ•ด ๋น„๋ฐ€ ์œ ์ง€๋ฅผ ์œ„ํ•ด ์ผ๋ถ€ ์—ด์˜ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ–ˆ์ง€๋งŒ ๊ทธ๊ฒŒ ์ „๋ถ€์ž…๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ฒซ์งธ, ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ์ด ๋„ˆ๋ฌด ๋งŽ์ด ์ค„์–ด๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, XNUMX๋ฐฐ๋กœ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์ง‘๊ณ„๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋Š” ๋ฌด์ œํ•œ ๋ถ„์„ ๊ธฐ๋Šฅ์„ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ฐ€๊ฒฉ์€ ์„ธ ๋ฒˆ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ์ง‘๊ณ„๋˜๋ฉด ๋ถ„์„ ๋Œ€์‹  ๋ถˆ์Œํ•œ ํ†ต๊ณ„๋งŒ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฌด์—‡์ด ๊ทธ๋ ‡๊ฒŒ ํŠน๋ณ„ํ•œ๊ฐ€์š”? ์‚ฌ์‹ค์€ ์ด์›ƒ ๋ถ€์„œ์˜ ์‚ฌ๋žŒ๋“ค์ด ๊ฐ€๋” ๊ฐ€์„œ ๊ธฐ๋ณธ ํ‚ค์— ๋‹ค๋ฅธ ์—ด์„ ์ถ”๊ฐ€ํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ํ–ˆ๋Š”๋ฐ ์ด์ œ๋Š” ์ข€ ๋” ๋งŽ์€ ๊ฒƒ์„ ์›ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ClickHouse์—๋Š” ๋Œ€์ฒด ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” C++๋กœ ์ผ๋ถ€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ €๋Š” C++๋กœ ์ž‘์„ฑ๋œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ข‹์•„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ClickHouse๊ฐ€ ๋งŒ๋“ค์–ด์ง„ ์ด์œ ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์ง‘๊ณ„๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ”๋กœ ์ด๊ฒƒ์ด ํƒ„์ƒํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์ž…๋‹ˆ๋‹ค. ์ง‘๊ณ„๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์— ClickHouse๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง‘๊ณ„ํ•˜๋ฉด ๋•Œ๋กœ๋Š” ์šฉ์„œ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋˜ ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ์‚ฌ๋ก€๋Š” ๋ฌดํ•œ ๋ฃจํ”„์˜ ์ฟผ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๊ฐ€๋” ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„์— ๊ฐ€์„œ ๊ฑฐ๊ธฐ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ๋ชฉ๋ก ํ‘œ์‹œ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ญ”๊ฐ€ ๋”์ฐํ•œ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•  ๋•Œ๋งˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์˜ ์š”์ฒญ์œผ๋กœ ๋ชจ๋“  ๊ฒƒ์ด ์™„๋ฃŒ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ์ฆ‰์‹œ ๋ถ„๋ช…ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์— URL๊ณผ ๋ชฉ๋ก์„ ์ ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ฌดํ•œ ๋ฃจํ”„์—์„œ ์ด๋Ÿฌํ•œ ์ฟผ๋ฆฌ๊ฐ€ ๋งŽ์€ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋™์ผํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ๋ฒˆ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์˜ˆ๋ฅผ ๋“ค์–ด ์ธ๋ฑ์Šค๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ ru์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ์žˆ๊ณ  ๊ฑฐ๊ธฐ์— url = ๋ฌด์—‡์ธ๊ฐ€๋ฅผ ์”๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ…Œ์ด๋ธ”์—์„œ ๋‹จ ํ•˜๋‚˜์˜ URL๋งŒ ์ฝ์œผ๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ClickHouse๋Š” ๋ชจ๋“  ์ž‘์—…์„ ์ผ๊ด„์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ํŠน์ • ๋ฒ”์œ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์•ผ ํ•  ๊ฒฝ์šฐ ClickHouse์˜ ์ธ๋ฑ์Šค๊ฐ€ ํฌ๋ฐ•ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ธˆ ๋” ์ฝ์Šต๋‹ˆ๋‹ค. ์ด ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ…Œ์ด๋ธ”์—์„œ ํ•˜๋‚˜์˜ ๊ฐœ๋ณ„ ํ–‰์„ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฉฐ ํŠน์ • ๋ฒ”์œ„๋งŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๋Š” ๋ธ”๋ก ๋‹จ์œ„๋กœ ์••์ถ•๋ฉ๋‹ˆ๋‹ค. ํ•œ ์ค„์„ ์ฝ์œผ๋ ค๋ฉด ์ „์ฒด ๋ธ”๋ก์„ ๊ฐ€์ ธ์™€์„œ ํ’€์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋งŽ์€ ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ์ค‘๋ณต๋˜๋Š” ๋ถ€๋ถ„์ด ๋งŽ์•„์ง€๊ณ  ๋ฐ˜๋ณตํ•ด์„œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…๋„ ๋งŽ์•„์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ณด๋„ˆ์Šค๋กœ ClickHouse์—์„œ๋Š” ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ, ์‹ฌ์ง€์–ด ์ˆ˜๋ฐฑ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ๊นŒ์ง€ IN ์„น์…˜์œผ๋กœ ์ „์†กํ•˜๋Š” ๊ฒƒ์„ ๋‘๋ ค์›Œํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด MySQL์—์„œ IN ์„น์…˜์— ์—ฌ๋Ÿฌ ๊ฐ’์„ ์ „์†กํ•˜๋ฉด 100MB์˜ ์ผ๋ถ€ ์ˆซ์ž๋ฅผ ์ „์†กํ•˜๋ฉด MySQL์€ 10GB์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์†Œ๋น„ํ•˜๊ณ  ์•„๋ฌด ์ผ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์—ฐ์Šต์„ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค. ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ๋Š” ClickHouse์—์„œ ์ฟผ๋ฆฌ๊ฐ€ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ•ญ์ƒ ์ „์ฒด ์Šค์บ”๋ณด๋‹ค ๋Š๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ฑฐ์˜ ์ „์ฒด ํ…Œ์ด๋ธ”์„ ์ฝ์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰๋˜์–ด ์ „์ฒด ํ…Œ์ด๋ธ”์„ ์ฝ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ทธ๋Š” ์Šค์Šค๋กœ ์•Œ์•„๋‚ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ช‡ ๊ฐ€์ง€ ์–ด๋ ค์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•˜์œ„ ์ฟผ๋ฆฌ๊ฐ€ ์žˆ๋Š” IN์€ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ์šฐ๋ฆฌ์˜ ๋ฌธ์ œ์ด๊ณ  ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ๊ณ ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๊ทผ๋ณธ์ ์ธ ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ณ ์ณ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค*.

๊ทธ๋ฆฌ๊ณ  ๋˜ ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ์ ์€ ๋งค์šฐ ๊ธด ์š”์ฒญ์ด ์žˆ๊ณ  ๋ถ„์‚ฐ ์š”์ฒญ ์ฒ˜๋ฆฌ๊ฐ€ ์ง„ํ–‰ ์ค‘์ธ ๊ฒฝ์šฐ ์ด ๋งค์šฐ ๊ธด ์š”์ฒญ์ด ์••์ถ•๋˜์ง€ ์•Š๊ณ  ๊ฐ ์„œ๋ฒ„๋กœ ์ „์†ก๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 100MB ๋ฐ 500๊ฐœ์˜ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด 50GB๊ฐ€ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์ „์†ก๋˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

* ์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค. ์•ฝ์†๋Œ€๋กœ ๋ชจ๋“  ๊ฒƒ์ด ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๊ทธ๋ฆฌ๊ณ  ๋งค์šฐ ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ๋Š” ์š”์ฒญ์ด API์—์„œ ์˜ค๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ž์‹ ๋งŒ์˜ ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ๊ท€ํ•˜์˜ ์„œ๋น„์Šค๊ฐ€ ํ•„์š”ํ•˜๋ฉด API๋ฅผ ์—ด๊ณ  ๋ง ๊ทธ๋Œ€๋กœ ์ดํ‹€ ํ›„์— ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ์Œ์„ ์•Œ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ๊ณผ๋ถ€ํ•˜ ์ƒํƒœ์ด๊ณ  ๊ฒฐ์ฝ” ์ผ์–ด๋‚˜์ง€ ๋ง์•„์•ผ ํ•  ๋”์ฐํ•œ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ•ด๊ฒฐ์ฑ…์€ ํ•˜๋‚˜๋ฟ์ž…๋‹ˆ๋‹ค. API๋ฅผ ์—ด์—ˆ๋‹ค๋ฉด ์ž˜๋ผ๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ผ์ข…์˜ ํ• ๋‹น๋Ÿ‰์„ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ผ๋ฐ˜์ ์ธ ์˜ต์…˜์€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ฆ‰์‹œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ClickHouse์—๋Š” ํ• ๋‹น๋Ÿ‰ ๊ณ„์‚ฐ์ด๋ผ๋Š” ํŠน๋ณ„ํ•œ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ• ๋‹น๋Ÿ‰ ํ‚ค๋ฅผ ์ „์†กํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‚ด๋ถ€ ์‚ฌ์šฉ์ž ID์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ• ๋‹น๋Ÿ‰์€ ๊ฐ๊ฐ์— ๋Œ€ํ•ด ๋…๋ฆฝ์ ์œผ๋กœ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

์ด์ œ ๋˜ ๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ์ ์ž…๋‹ˆ๋‹ค. ์ˆ˜๋™ ๋ณต์ œ์ž…๋‹ˆ๋‹ค.

์ €๋Š” ClickHouse์— ๋ณต์ œ ์ง€์› ๊ธฐ๋Šฅ์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์‚ฌ๋žŒ๋“ค์ด ClickHouse๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋ณต์ œํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋งŽ์ด ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์›๋ฆฌ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ClickHouse์—์„œ๋„ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ์‹ค์Šต์„ ํ†ตํ•ด ์ฝ”๋“œ์˜ ์ผ๋ถ€ ๊ธฐ๋Šฅ์œผ๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ์ „ํžˆ ๋ถ„๊ธฐ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ๋‹น์‹  ์•ˆ์— ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋•Œ๋•Œ๋กœ ์ˆ˜๋™์œผ๋กœ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•œ ๋‹ฌ์— ํ•œ ๋ฒˆ ๊ด€๋ฆฌ์ž๋Š” rsync๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ClickHouse์— ๋‚ด์žฅ๋œ ๋ณต์ œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ZooKeeper๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ช‡ ๊ฐ€์ง€ ๊ธˆ๊ธฐ ์‚ฌํ•ญ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ZooKeeper์— ๋Œ€ํ•ด ๋‚˜์œ ๋ง์€ ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์›์น™์ ์œผ๋กœ ์‹œ์Šคํ…œ์€ ์ž‘๋™ํ•˜์ง€๋งŒ ์‚ฌ๋žŒ๋“ค์ด ์ž๋ฐ” ๊ณตํฌ์ฆ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ClickHouse๋Š” C++๋กœ ์ž‘์„ฑ๋œ ๋งค์šฐ ์ข‹์€ ์‹œ์Šคํ…œ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ZooKeeper๋Š” Java์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด๊ณ  ์‹ถ์ง€๋„ ์•Š์€๋ฐ ์ˆ˜๋™ ๋ณต์ œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

ClickHouse๋Š” ์‹ค์šฉ์ ์ธ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ๊ทธ๋…€๋Š” ๊ท€ํ•˜์˜ ํ•„์š”๋ฅผ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๋™ ๋ณต์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ˆ˜๋™ ๋ณต์ œ๋ณธ์„ ๋ณด๊ณ  ์ด๋“ค ์‚ฌ์ด์— ์žฅ์•  ์กฐ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ถ„์‚ฐ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ผ์ธ์ด ์ฒด๊ณ„์ ์œผ๋กœ ๊ฐˆ๋ผ์ง€๋”๋ผ๋„ ์‹คํŒจ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ๋Š” ํŠน๋ณ„ํ•œ ์˜ต์…˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๊ธฐ๋ณธ ํ…Œ์ด๋ธ” ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ClickHouse๋Š” ๋‹ค์–‘ํ•œ ํ…Œ์ด๋ธ” ์—”์ง„์„ ๊ฐ–์ถ˜ ์ƒ์„ฑ์ž์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ์‹ฌ๊ฐํ•œ ๊ฒฝ์šฐ์—๋Š” ๋ฌธ์„œ์— ๋ช…์‹œ๋œ ๋Œ€๋กœ MergeTree ์ œํ’ˆ๊ตฐ์˜ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ ๊ฐœ๋ณ„ ์‚ฌ๋ก€ ๋˜๋Š” ํ…Œ์ŠคํŠธ์˜ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

MergeTree ํ…Œ์ด๋ธ”์—์„œ๋Š” ๋‚ ์งœ์™€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ ์งœ์™€ ์‹œ๊ฐ„์ด ์—†์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์€ 2000์ด๋ผ๊ณ  ์”๋‹ˆ๋‹ค. ์ด๋Š” ์ž‘๋™ํ•˜๋ฉฐ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ƒˆ ๋ฒ„์ „์˜ ์„œ๋ฒ„์—์„œ๋Š” ํŒŒํ‹ฐ์…˜ ํ‚ค ์—†์ด ์‚ฌ์šฉ์ž ์ •์˜ ํŒŒํ‹ฐ์…”๋‹์„ ๊ฐ–๋„๋ก ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋™์ผํ•  ๊ฒƒ์ด๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ฐ˜๋ฉด์— ๊ธฐ๋ณธ ํ…Œ์ด๋ธ” ์—”์ง„์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ ์ฑ„์šฐ๊ณ  ๋ณด๊ณ , ๋น„ํ‹€๊ณ , ์‚ญ์ œํ•˜์„ธ์š”. ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜๋Š” ์ค‘๊ฐ„ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์†Œ๋Ÿ‰์„ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ StripeLog ๋˜๋Š” TinyLog์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ์˜ ์–‘์ด ์ ๊ณ  RAM์˜ ๋‚ด์šฉ์„ ๊ฐ„๋‹จํžˆ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

ClickHouse๋Š” ์žฌ์ •๊ทœํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ„๋กœ ์ข‹์•„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ์ „ํ˜•์ ์ธ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์—„์ฒญ๋‚œ ์ˆ˜์˜ URL์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ ํ…Œ์ด๋ธ”์— ๋„ฃ์œผ์„ธ์š”. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ทธ๋“ค์€ ๊ทธ๋“ค๊ณผ ํ•จ๊ป˜ JOIN์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์ง€๋งŒ ClickHouse๋Š” Hash JOIN๋งŒ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฐ๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๋งŽ์€ ๋ฐ์ดํ„ฐ์— ๋น„ํ•ด RAM์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์œผ๋ฉด JOIN์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค*.

๋ฐ์ดํ„ฐ์˜ ์นด๋””๋„๋ฆฌํ‹ฐ๊ฐ€ ๋†’๋”๋ผ๋„ ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์„ธ์š”. ๋น„์ •๊ทœํ™”๋œ ํ˜•์‹์œผ๋กœ ์ €์žฅํ•˜๋ฉด URL์ด ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์— ๋ฐ”๋กœ ์œ„์น˜ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

* ์ด์ œ ClickHouse์—๋Š” ๋ณ‘ํ•ฉ ์กฐ์ธ๋„ ์žˆ์œผ๋ฉฐ ์ค‘๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ RAM์— ๋งž์ง€ ์•Š๋Š” ์กฐ๊ฑด์—์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Š” ํšจ๊ณผ๊ฐ€ ์—†์œผ๋ฉฐ ๊ถŒ์žฅ ์‚ฌํ•ญ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์œ ํšจํ•ฉ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

๋ช‡ ๊ฐ€์ง€ ์˜ˆ๊ฐ€ ๋” ์žˆ์ง€๋งŒ ๊ทธ๊ฒƒ์ด ๋ฐ˜ํŒจํ„ด์ธ์ง€ ์•„๋‹Œ์ง€๋Š” ์ด๋ฏธ ์˜์‹ฌ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

ClickHouse์—๋Š” ์•Œ๋ ค์ง„ ๊ฒฐํ•จ์ด ํ•˜๋‚˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค*. ์–ด๋–ค ๋ฉด์—์„œ๋Š” ์ด๊ฒƒ์ด ์‹ฌ์ง€์–ด ์ข‹์€ ์ผ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํšŒ๊ณ„์™€ ๊ฐ™์€ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์—…๋ฐ์ดํŠธ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ˆ„๊ตฌ๋„ ์ด๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

* ๋ฐฐ์น˜ ๋ชจ๋“œ์—์„œ ์—…๋ฐ์ดํŠธ ๋ฐ ์‚ญ์ œ์— ๋Œ€ํ•œ ์ง€์›์€ ์˜ค๋ž˜ ์ „์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ์ฒ˜๋Ÿผ ์—…๋ฐ์ดํŠธ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ํŠน๋ณ„ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, RecreMergeTree์™€ ๊ฐ™์€ ํ…Œ์ด๋ธ”์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ณ‘ํ•ฉ ์ค‘์— ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ์ตœ์ ํ™” ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ž‘์—…์„ ๋„ˆ๋ฌด ์ž์ฃผ ์ˆ˜ํ–‰ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ํŒŒํ‹ฐ์…˜์„ ์™„์ „ํžˆ ๋ฎ์–ด์“ฐ๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ClickHouse์˜ ๋ถ„์‚ฐ JOIN๋„ ์ฟผ๋ฆฌ ํ”Œ๋ž˜๋„ˆ์—์„œ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‚˜์˜์ง€๋งŒ ๊ฐ€๋”์€ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด select*๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒˆ๊ฑฐ๋กœ์šด ๊ณ„์‚ฐ์—๋Š” ClickHouse๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ์ด ๊ถŒ์žฅ ์‚ฌํ•ญ์—์„œ ๋ฒ—์–ด๋‚˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Š” ์ „์ ์œผ๋กœ ์‚ฌ์‹ค์ด ์•„๋‹™๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ๊ทผ์—๋Š” ClickHouse - Catboost์— ๊ธฐ๊ณ„ ํ•™์Šต ๋ชจ๋ธ์„ ์ ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  โ€œ์ •๋ง ๋”์ฐํ•œ ์ผ์ด๊ตฌ๋‚˜. ์ด๊ฒƒ์€ ๋ฐ”์ดํŠธ๋‹น ๋ช‡ ์‚ฌ์ดํด์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค! ๋‚˜๋Š” ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์‹œ๊ณ„๋ฅผ ๋‚ญ๋น„ํ•˜๋Š” ๊ฒƒ์„ ์ •๋ง ์‹ซ์–ดํ•ฉ๋‹ˆ๋‹ค.

ClickHouse๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•ด๋ณด์„ธ์š”. ์•Œ๋ ‰์„ธ์ด ๋ฐ€๋กœ๋น„๋„ํ”„(Yandex)

ํ•˜์ง€๋งŒ ๋‘๋ ค์›Œํ•˜์ง€ ๋งˆ์„ธ์š”. ClickHouse๋ฅผ ์„ค์น˜ํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด์จŒ๋“  ์šฐ๋ฆฌ์—๊ฒŒ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ๋ฐ”๋กœ ๋‹น์‹ ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ตœ์†Œํ•œ ์ฑ„ํŒ…์— ์ฐธ์—ฌํ•˜์‹œ๋ฉด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์งˆ๋ฌธ

์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ClickHouse ์ถฉ๋Œ์— ๋Œ€ํ•ด ์–ด๋””์—์„œ ๋ถˆ๋งŒ์„ ์ œ๊ธฐํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

์ง€๊ธˆ ๋‹น์žฅ ์ €์—๊ฒŒ ๊ฐœ์ธ์ ์œผ๋กœ ๋ถˆ๋งŒ์„ ์ œ๊ธฐํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ๊ทผ ClickHouse๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ฆ‰์‹œ cli ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์€ ์šด์ด ์ข‹๋‹ค.

์กฐ๊ธˆ ํ›„์— ์ž‘์€ ์„ ํƒ์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ์ถฉ๋Œํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์€ ์žฌ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

GitHub ๋ฒ„๊ทธ๋ฅผ ์—ด์—ˆ์ง€๋งŒ ๋ฌด์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ณผ ๊ฒƒ์ด๋‹ค.

Alexey๋Š” ๋‹น์‹ ์ด ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค ์ฃผ๊ฒ ๋‹ค๊ณ  ์•ฝ์†ํ•˜๋ฉด์„œ ๋‚˜๋ฅผ ์†์—ฌ ๋ณด๊ณ ์„œ์— ์ฐธ์„ํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

์•„์ฃผ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์„ ์–ด์ œ ๊นจ๋‹ฌ์•˜๋‹ค. ๋” ๊ตฌ์ฒด์ ์ธ ๋‚ด์šฉ.

๊ฑฐ๊ธฐ์—๋Š” ๋”์ฐํ•œ ํŠธ๋ฆญ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก๋ณ„ ์••์ถ•๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ LZ4์ด๋ฉฐ ZSTD*๋ฅผ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 64KB์—์„œ 1MB๊นŒ์ง€ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.

* ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ•จ๊ป˜ ์ฒด์ธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜ ์••์ถ• ์ฝ”๋ฑ๋„ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

๋ธ”๋ก์€ ๋‹จ์ง€ ์›์‹œ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๊นŒ?

์™„์ „ํžˆ ์›์‹œ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ๋ฐฐ์—ด์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆซ์ž ์—ด์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ–‰์˜ ์ˆซ์ž๋Š” ๋ฐฐ์—ด์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค.

์•Œ ๊ฒ ์–ด.

IP๋ฅผ ํ†ตํ•œ uniqExact์˜ ์˜ˆ์ธ Alexey, ์ฆ‰ uniqExact๊ฐ€ ์ˆซ์ž๋ณด๋‹ค ์ค„๋กœ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค๋Š” ์‚ฌ์‹ค ๋“ฑ์ž…๋‹ˆ๋‹ค. ๊ต์ •ํ•  ๋•Œ ๊ท€๋กœ ํŽ˜์ธํŒ…์„ ํ•ด์„œ ์บ์ŠคํŒ…์„ ํ•˜๋ฉด ์–ด๋–จ๊นŒ์š”? ์ฆ‰, ์šฐ๋ฆฌ ๋””์Šคํฌ์—์„œ๋Š” ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค๊ณ  ๋ง์”€ํ•˜์‹  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋””์Šคํฌ์—์„œ ๋ผ์ธ์„ ์ฝ๊ณ  ์บ์ŠคํŒ…ํ•˜๋ฉด ์ง‘๊ณ„๊ฐ€ ๋” ๋นจ๋ผ์งˆ๊นŒ์š”, ์•„๋‹ˆ๋ฉด ์•ˆ ๋ ๊นŒ์š”? ์•„๋‹ˆ๋ฉด ์—ฌ๊ธฐ์„œ๋„ ์•ฝ๊ฐ„์˜ ์ด๋“์„ ์–ป์„ ์ˆ˜ ์žˆ์„๊นŒ์š”? ์ด๊ฒƒ์„ ํ…Œ์ŠคํŠธํ•œ ๊ฒƒ ๊ฐ™์ง€๋งŒ ์–ด๋–ค ์ด์œ ๋กœ ๋ฒค์น˜๋งˆํฌ์— ํ‘œ์‹œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์บ์ŠคํŒ…์„ ํ•˜์ง€ ์•Š์€ ๊ฒƒ๋ณด๋‹ค ๋Š๋ฆด ๊ฒƒ ๊ฐ™์•„์š”. ์ด ๊ฒฝ์šฐ ๋ฌธ์ž์—ด์—์„œ IP ์ฃผ์†Œ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ClickHouse์—์„œ๋Š” IP ์ฃผ์†Œ ๊ตฌ๋ฌธ ๋ถ„์„๋„ ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋งค์šฐ ์—ด์‹ฌํžˆ ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ๊ฑฐ๊ธฐ์—๋Š” ๋งŒ๋ถ„์˜ ์ผ ํ˜•์‹์œผ๋กœ ์ˆซ์ž๊ฐ€ ์ ํ˜€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ๋ถˆํŽธํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— uniqExact ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด์ผ ๋ฟ ์•„๋‹ˆ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋‹ค๋ฅธ ํŠน์ˆ˜ํ™”๊ฐ€ ์„ ํƒ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ž์—ด์—์„œ ๋” ๋Š๋ฆฌ๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์€ ๋‹จ์ˆœํžˆ ๋‹ค๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

์ข€ ๋” ์›์‹œ์ ์ธ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์ทจํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ์˜ˆ๋ฅผ ๋“ค์–ด ์šฐ๋ฆฌ๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ์‚ฌ์šฉ์ž ์•„์ด๋””๋ฅผ ํ•œ ์ค„๋กœ ์ ์–ด์„œ ๋’ค์„ž์–ด ๋†“์œผ๋ฉด ๋” ์žฌ๋ฏธ์žˆ์„์ง€ ์•ˆ ์ข‹์„์ง€?

๋‚˜๋Š” ์˜์‹ฌํ•œ๋‹ค. ์ˆซ์ž๋ฅผ ํŒŒ์‹ฑํ•˜๋Š” ๊ฒƒ์€ ๊ฒฐ๊ตญ ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋”์šฑ ์Šฌํ”ˆ ์ผ์ด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๋ณด๊ธฐ์—” ์ด ๋™๋ฃŒ๊ฐ€ ์ˆซ์ž๋ฅผ ๋งŒ ๋‹จ์œ„ ํ˜•์‹์œผ๋กœ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์–ด๋ ค์šด์ง€์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์ œ์ถœํ•œ ๊ฒƒ ๊ฐ™์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Alexey, ๋ณด๊ณ ์„œ๋ฅผ ๋ณด๋‚ด์ฃผ์…”์„œ ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋ฆฌ๊ณ  ClickHouse๋ฅผ ์ด์šฉํ•ด ์ฃผ์…”์„œ ๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ณ„ํš์— ๊ด€ํ•ด ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ „์„ ๋ถˆ์™„์ „ํ•˜๊ฒŒ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๊ณ„ํš์ด ์žˆ๋‚˜์š”?

์ฆ‰, ๋ถ€๋ถ„ ์žฌ๋ถ€ํŒ…์ธ๊ฐ€์š”?

์˜ˆ ์˜ˆ. ๊ฑฐ๊ธฐ์— MySQL ํ•„๋“œ๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์‚ฌ์ „์ด ๋งค์šฐ ํฐ ๊ฒฝ์šฐ ์ด ๋ฐ์ดํ„ฐ๋งŒ ๋กœ๋“œ๋˜๋„๋ก ๋‚˜์ค‘์— ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

๋งค์šฐ ํฅ๋ฏธ๋กœ์šด ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์‚ฌ๋žŒ์ด ์ฑ„ํŒ…์—์„œ ์ œ์•ˆํ•œ ๊ฒƒ ๊ฐ™์•„์š”. ์–ด์ฉŒ๋ฉด ๋‹น์‹ ์ด์—ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ข‹์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋‘ ๊ฐ€์ง€ ์š”์ฒญ์ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฒœ์ฒœํžˆ ์‹œ์ž‘ํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ธฐ๋Šฅ์€ ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋‹ค๋Š” ์ ์„ ์ฆ‰์‹œ ๊ฒฝ๊ณ ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ด๋ก ์ ์œผ๋กœ๋Š” ํ…Œ์ด๋ธ”์— ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์“ด ๋‹ค์Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์•„๋งˆ๋„ ์šฐ๋ฆฌ๊ฐ€ ์ด๊ฒƒ์„ ๋งค๋‹ˆ์•„๋“ค์—๊ฒŒ ์ œ๊ณตํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ์—ด์„ฑํŒฌ์ธ๊ฐ€์š”?

์˜ˆ, ํ•˜์ง€๋งŒ ์•ˆํƒ€๊น๊ฒŒ๋„ C++์—์„œ๋Š” ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋™๋ฃŒ๋“ค์ด C++๋กœ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚ด๊ฐ€ ๋ˆ„๊ตฐ๊ฐ€๋ฅผ ์ฐพ์•„๋ณผ๊ฒŒ.

์—„์ฒญ๋‚œ*.

* ์ด ๊ธฐ๋Šฅ์€ ๋ณด๊ณ ์„œ๊ฐ€ ์ž‘์„ฑ๋œ ์ง€ XNUMX๊ฐœ์›” ํ›„์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. - ์งˆ๋ฌธ ์ž‘์„ฑ์ž๊ฐ€ ์ด ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜์—ฌ ์ž์‹ ์˜ ํ’€ ์š”์ฒญ.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์•ˆ๋…•ํ•˜์„ธ์š”! ์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ClickHouse๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ๋งค์šฐ ์ž˜ ์†Œ๋น„ํ•œ๋‹ค๊ณ  ์–ธ๊ธ‰ํ•˜์…จ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Luxoft ์˜†์— ์žˆ๋Š” ๋ฐœํ‘œ์ž๋Š” Russian Post์— ๋Œ€ํ•œ ๊ทธ์˜ ์†”๋ฃจ์…˜์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ClickHouse๋ฅผ ์ •๋ง ์ข‹์•„ํ–ˆ์ง€๋งŒ CPU๋ฅผ ๋ชจ๋‘ ์žก์•„๋จน๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์š” ๊ฒฝ์Ÿ์‚ฌ ๋Œ€์‹  ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋“ค์€ ๊ทธ๊ฒƒ์„ ๊ทธ๋“ค์˜ ์•„ํ‚คํ…์ฒ˜, ๋„์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ZooKeeper์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ClickHouse๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ์†Œ๋น„ํ•˜์ง€ ์•Š๋„๋ก ์–ด๋–ป๊ฒŒ๋“  ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ, ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๋” ์ ์€ ์ฝ”์–ด๋ฅผ ์†Œ๋น„ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค. set max_threads = 1. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ํ•˜๋‚˜์˜ ์ฝ”์–ด์—์„œ ์š”์ฒญ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ์šฉ์ž๋งˆ๋‹ค ๋‹ค๋ฅธ ์„ค์ •์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ๋ฌธ์ œ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Luxoft์˜ ๋™๋ฃŒ๋“ค์—๊ฒŒ ๋ฌธ์„œ์—์„œ ์ด ์„ค์ •์„ ์ฐพ์ง€ ๋ชปํ•œ ๊ฒƒ์€ ์ข‹์ง€ ์•Š๋‹ค๊ณ  ๋งํ•˜์„ธ์š”.

์•Œ๋ ‰์„ธ์ด, ์•ˆ๋…•ํ•˜์„ธ์š”! ์ด ์งˆ๋ฌธ์— ๋Œ€ํ•ด ๋ฌป๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ClickHouse๋ฅผ ๋กœ๊ทธ ์ €์žฅ์†Œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค๋Š” ์†Œ์‹์„ ๋“ค์€ ๊ฒƒ์€ ์ด๋ฒˆ์ด ์ฒ˜์Œ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ์—์„œ ์ด๋ ‡๊ฒŒ ํ•˜์ง€ ๋ง๋ผ๊ณ  ํ•˜์…จ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ธด ๋ฌธ์ž์—ด์„ ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹ญ๋‹ˆ๊นŒ?

์ฒซ์งธ, ๋กœ๊ทธ๋Š” ์›์น™์ ์œผ๋กœ ๊ธด ๋ฌธ์ž์—ด์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์˜ˆ์™ธ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Java๋กœ ์ž‘์„ฑ๋œ ์ผ๋ถ€ ์„œ๋น„์Šค์—์„œ๋Š” ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ฌดํ•œ ๋ฃจํ”„๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ด์ง‘๋‹ˆ๋‹ค. ํ•ด๊ฒฐ์ฑ…์€ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ค„์ด ๋„ˆ๋ฌด ๊ธธ๋ฉด ์ž˜๋ผ์ฃผ์„ธ์š”. ๊ธธ๋‹ค์€ ๋ฌด์Šจ ๋œป์ธ๊ฐ€์š”? ์ˆ˜์‹ญ ํ‚ฌ๋กœ๋ฐ”์ดํŠธ๋Š” ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค*.

* ์ตœ์‹  ๋ฒ„์ „์˜ ClickHouse์—์„œ๋Š” "์ ์‘ํ˜• ์ธ๋ฑ์Šค ์„ธ๋ถ„์„ฑ"์ด ํ™œ์„ฑํ™”๋˜์–ด ๊ธด ํ–‰์„ ์ €์žฅํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋Œ€๋ถ€๋ถ„ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

ํ‚ฌ๋กœ๋ฐ”์ดํŠธ๊ฐ€ ์ •์ƒ์ธ๊ฐ€์š”?

์ •์ƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”! ์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ด๋ฏธ ์ฑ„ํŒ…์œผ๋กœ ๋ฌธ์˜ํ–ˆ๋Š”๋ฐ ๋‹ต๋ณ€์„ ๋ฐ›์•˜๋Š”์ง€ ๊ธฐ์–ต์ด ๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. CTE ๋ฐฉ์‹์œผ๋กœ WITH ์„น์…˜์„ ํ™•์žฅํ•  ๊ณ„ํš์ด ์žˆ๋‚˜์š”?

์•„์ง ์•„๋‹˜. ์šฐ๋ฆฌ์˜ WITH ์„น์…˜์€ ๋‹ค์†Œ ๊ฒฝ์†”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ์ž‘์€ ๊ธฐ๋Šฅ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋งค์šฐ ํฅ๋ฏธ๋กœ์šด! ๊ธ€๋กœ๋ฒŒ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ผ์ข…์˜ ์Šคํ… ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ ์‚ญ์ œ๋ฅผ ์ˆ˜์ •ํ•  ๊ณ„ํš์ด ์žˆ๋‚˜์š”?

๋ฐ˜๋“œ์‹œ. ์ด๊ฒƒ์ด ์šฐ๋ฆฌ ๋Œ€๊ธฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์ด์ œ ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ์ผ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ ๊ทน์ ์œผ๋กœ ์ƒ๊ฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ‚ค๋ณด๋“œ*๋ฅผ ๋ˆ„๋ฅด๊ธฐ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

* ํ‚ค๋ณด๋“œ์˜ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น ๊นŒ์š”, ์•ˆ ๋ ๊นŒ์š”? ์ง€๊ธˆ์ฒ˜๋Ÿผ ์‚ฝ์ž… ์†๋„๊ฐ€ ๋นจ๋ผ์งˆ๊นŒ์š”?

์‚ญ์ œ ์ž์ฒด์™€ ์—…๋ฐ์ดํŠธ ์ž์ฒด๊ฐ€ ๋งค์šฐ ๋ฌด๊ฑฐ์šธ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ด๋Š” ์„ ํƒ ์„ฑ๋Šฅ์ด๋‚˜ ์‚ฝ์ž… ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋˜ ํ•˜๋‚˜์˜ ์ž‘์€ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ ˆ์  ํ…Œ์ด์…˜์—์„œ ๊ธฐ๋ณธ ํ‚ค์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜์…จ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์›”๋ณ„ ํŒŒํ‹ฐ์…”๋‹์„ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋งž๋‚˜์š”? ๊ทธ๋ฆฌ๊ณ  ํ•œ ๋‹ฌ์— ๋งž๋Š” ๋‚ ์งœ ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•˜๋ฉด ์ด ํŒŒํ‹ฐ์…˜๋งŒ ์ฝํžˆ์ฃ ?

๋„ค.

์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํ‚ค๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ "๋‚ ์งœ" ํ•„๋“œ์— ๋”ฐ๋ผ ๊ตฌ์ฒด์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ๋” ์งˆ์„œ์ •์—ฐํ•˜๊ฒŒ ๋งž๋„๋ก ์žฌ๋ฐฐ์—ดํ•˜๋Š” ์ผ์ด ์ค„์–ด๋“œ๋Š” ๊ฒƒ์ด ๋งž์Šต๋‹ˆ๊นŒ? ๋ฒ”์œ„ ์ฟผ๋ฆฌ๊ฐ€ ์—†๊ณ  ๊ธฐ๋ณธ ํ‚ค๋ฅผ ์„ ํƒํ•  ์ˆ˜๋„ ์—†๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ํ‚ค์— ๋‚ ์งœ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋„ค.

์ด ํ•„๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋” ์ž˜ ์••์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ํ•„๋“œ๋ฅผ ๊ธฐ๋ณธ ํ‚ค์— ๋„ฃ๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž ID์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž๋Š” ๋™์ผํ•œ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž ID์™€ ์‹œ๊ฐ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๋” ์ž˜ ์••์ถ•๋ฉ๋‹ˆ๋‹ค. ๋‚ ์งœ์˜ ๊ฒฝ์šฐ, ๋‚ ์งœ์— ๋Œ€ํ•œ ๋ฒ”์œ„ ์ฟผ๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ์—†๊ณ  ์ „ํ˜€ ์—†๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ํ‚ค์— ๋‚ ์งœ๋ฅผ ๋„ฃ์„ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์•Œ์•˜์–ด ์ •๋ง ๊ณ ๋งˆ์›Œ!

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€