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