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

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

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

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

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

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

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

์ถœ์ฒ˜ : opennet.ru

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