SQLite ๊ฐœ๋ฐœ์ž๋Š” ๋ณ‘๋ ฌ ์“ฐ๊ธฐ๋ฅผ ์ง€์›ํ•˜๋Š” HC-ํŠธ๋ฆฌ ๋ฐฑ์—”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

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

๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด SQLite์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” b-ํŠธ๋ฆฌ ๊ตฌ์กฐ๋Š” ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ๋กœ๋“œ์šฉ์œผ๋กœ ์„ค๊ณ„๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ SQLite๊ฐ€ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์—๋งŒ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ์‹คํ—˜์œผ๋กœ์„œ ๊ฐœ๋ฐœ์ž๋“ค์€ ์“ฐ๊ธฐ ์ž‘์—… ๋ณ‘๋ ฌํ™”์— ๋” ์ ํ•ฉํ•œ ์Šคํ† ๋ฆฌ์ง€์šฉ HC-ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์ฒด ์†”๋ฃจ์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ์ž‘์—…์„ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก HCtree ๋ ˆ์ฝ”๋“œ๋Š” ํŽ˜์ด์ง€ ์ˆ˜์ค€ ์ž ๊ธˆ์„ ์‚ฌ์šฉํ•˜๊ณ  MVCC(๋‹ค์ค‘ ๋ฒ„์ „ ๋™์‹œ์„ฑ ์ œ์–ด)์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ํŽ˜์ด์ง€ ์ง‘ํ•ฉ ๋Œ€์‹  ํ‚ค ๋ฐ ํ‚ค ๋ฒ”์œ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠธ๋žœ์žญ์…˜ ๊ฒ€์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํŠธ๋žœ์žญ์…˜ ๋ถ„ํ•  ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šค๋ƒ…์ƒท๊ณผ ๊ด€๋ จํ•˜์—ฌ ์ˆ˜ํ–‰๋˜๋ฉฐ, ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ํŠธ๋žœ์žญ์…˜์ด ์™„๋ฃŒ๋œ ํ›„์—๋งŒ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ๋Š” ์„ธ ๊ฐ€์ง€ ๊ณต๊ฐœ ํŠธ๋žœ์žญ์…˜ ์ž‘์—…์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • โ€œBEGINโ€โ€”ํŠธ๋žœ์žญ์…˜์€ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ์˜ ์•ก์„ธ์Šค ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ๋‚ด์—์„œ ์“ฐ๊ธฐ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜๋Š” ๊ฒฝ์šฐ ์‹คํ–‰ ์ค‘์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋‹ค๋ฅธ ์“ฐ๊ธฐ ์ž‘์—…์ด ์—†๋Š” ๊ฒฝ์šฐ์—๋งŒ ํŠธ๋žœ์žญ์…˜์„ ์ปค๋ฐ‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • "๋™์‹œ ์‹œ์ž‘" - ํŠธ๋žœ์žญ์…˜์€ ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ์˜ ์•ก์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ๋‚ด์—์„œ ์“ฐ๊ธฐ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜๋Š” ๊ฒฝ์šฐ ์Šค๋ƒ…์ƒท์ด ์ƒ์„ฑ๋œ ์ดํ›„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋œ ๊ฒฝ์šฐ ํ•ด๋‹น ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • "BEGIN EXCLUSIVE" - ํŠธ๋žœ์žญ์…˜์„ ์—ฐ ํ›„ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ ์ž‘์—…์„ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.

HCtree๋Š” ๋งˆ์Šคํ„ฐ-์Šฌ๋ ˆ์ด๋ธŒ ๋ณต์ œ๋ฅผ ์ง€์›ํ•˜๋ฏ€๋กœ ํŠธ๋žœ์žญ์…˜์„ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ๋ณด์กฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. HCtree๋Š” ๋˜ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํฌ๊ธฐ์— ๋Œ€ํ•œ ์ œํ•œ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. HCtree๋Š” 32๋น„ํŠธ ๋ฐ์ดํ„ฐ ํŽ˜์ด์ง€ ์‹๋ณ„์ž ๋Œ€์‹  48๋น„ํŠธ ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ๋Œ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํฌ๊ธฐ๋ฅผ 16ํ…Œ๋น„๋ฐ”์ดํŠธ์—์„œ 1์—‘๋น„๋ฐ”์ดํŠธ(๋ฐฑ๋งŒ ํ…Œ๋น„๋ฐ”์ดํŠธ)๋กœ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค. HCtree ๋ฐฑ์—”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” SQLite์˜ ์„ฑ๋Šฅ์€ ๊ธฐ์กด ๋‹จ์ผ ์Šค๋ ˆ๋“œ ๋ฐฑ์—”๋“œ๋ณด๋‹ค ๋‚ฎ์ง€ ์•Š์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. HCtree๋ฅผ ์ง€์›ํ•˜๋Š” SQLite ํด๋ผ์ด์–ธํŠธ๋Š” HC ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋ ˆ๊ฑฐ์‹œ SQLite ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ชจ๋‘ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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