์ Column-Oriented DBMS์ด ๋ฑ์ฅํ๊ฒ ๋์์๊น?
- ๊ธฐ์กด์ Relational DBMS๋ Rowํ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
Row-Oriented DBMS๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์ฅํ ๊น?
- ์ฃผ๋ก Row-Value ๋ฐ์ดํฐ๋ฅผ ์ฐ์์ ์ผ๋ก ์ ์ฅํ๋ค.
์ค์ ๋ก ํ ์ด๋ธ์ ๋ฐ์ดํฐํ์ผ ๋ชจ์ต์?
- ์ผ๋ ฌ๋ก ์ ์ฅ๋ ๋ชจ์ต์ ํ์ธํ ์ ์๋ค.
- Row-Value์ ์คํ์
์ Value์ ์๋ฃ๊ตฌ์กฐ์ ์์กด์ ์ด๋ค.
32bit์ Integer
,64bit์ Integer
,String
๋ฑ ์๋ฃ๊ตฌ์กฐ์ ํฌ๊ธฐ์ ์ด ํฉ์ฐ ํฌ๊ธฐ์ ๋ฐ๋ผ ์คํ์ ์ ๊ฒฐ์ ํ๋ค.
์ ํํ์ ๋ฐ์ดํฐ ํ์ผ์ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ฝ๊ธฐ ์ํด์ ?
- ๋ฐ์ดํฐ ํ์ผ์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๊ณ ์ด๋ฅผ ํตํด ์ฝ๊ฒ Position์ ๊ตฌํ ์ ์๋ค.
- ๊ตฌํด์ง Position์ ํตํด ์ฝ๊ฒ ์ ๊ทผ์ด ๊ฐ๋ฅํ ๊น?
ํ์ค์ธ๊ณ์์๋ ๊ทธ๋ฆฌ ์ฝ์ง ์๋ค.
varchars
๋ผ๋ ํ์ ์ ์๊ฐํด๋ณด๋ฉด ๋งค์ฐ ๋ค์ํ value์ ํฌ๊ธฐ๋ฅผ ํ์ธํ ์ ์๋ค.- ์ด๋ ๊ณง Position์ ๊ณ์ฐํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค๋ฉฐ ๋น ๋ฅด๊ฒ Record๋ฅผ ์ฝ์ ์ ์๊ฒ ๋ง๋ ๋ค.
์ ๋ฐฉ๋ฒ์ ์กฐ๊ธ ๊ฐ์ ํด๋ณด๋ฉด?
value
๋ฅผ ์ ์ฅํ ์ ์๋ ์ฌ๋ถ์ ์ ์ฅ์๋ฅผ ์ถ๊ฐํ๊ณ ์ ์ฅ ์ฃผ์๋ฅผ values์ ๋ด๋ ํ์์ด๋ค.- ์ ๋ฐฉ๋ฒ์ผ๋ก Position์ ์ฝ๊ฒ ๊ตฌํ ์ ์์ง๋ง ์ฌ๋ถ์ ์ ์ฅ์๊ฐ ํ์ํ ๋จ์ ์ด ์๋ค.
Row-Oriented๋ฅผ ์ ๋ฆฌํ๋ฉด
- ์ฅ์
- ํ๋์ Row ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ/์ญ์ ํ ๋ ํ๋์ ํ์ด์ง๋ง ์ฌ์ฉํ๊ธฐ์ ์ข๋ค.
- ํ๋์ Row์ ๋๋ถ๋ถ์ ์ปฌ๋ผ์ ์ฝ์ด์ผ ํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ ํ๋์ Read/Write๋ก ๊ฐ๋ฅํ๋ค.
- ๋จ์
- ๋ชจ๋ Row๋ฅผ ์ฝ๋ ๊ฒฝ์ฐ ๋ถํ์ํ Column๊ฐ์ ๋ค ์ฝ์ด์ผ ํ๋ค.
- Page์ ์ฌ์ฉํ์ง ์๋ ๊ณต๊ฐ๊น์ง ์ฝ์ด์ผ ํ๋ค.
Example
c1
์ด๋ผ๋ ์ปฌ๋ผ์ ๊ฐ์ ์กฐํํ๊ณ ์ถ์ ๊ฒฝ์ฐ- ์ฐ๋ฆฌ๋ 2๋ฒ์งธ ํ์ด์ง๊น์ง ์ฝ์ด์ผ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ป์ ์ ์๋ค.
์๋์ ๊ทธ๋ฆผ์ฒ๋ผ ์ฐ๋ฆฌ๋ 1 Read๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ถ๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Column Oriented DBMS๊ฐ ๋ฑ์ฅํ๋ค.
Column Oriented DBMS๋?
Row
ํ์ผ๋ก ์ ์ฅํ๋ ๋์Column
์ผ๋ก ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค.- ๋ชจ๋
Column
๋ค์ ๊ฐ๋ณ์ ์ผ๋ก ๋ค๋ค์ง๋ฉฐColumn
๋ณ๋ก ์ฐ์์ ์ผ๋ก ์ ์ฅ๋๋ค. Column
๋ณ๋ก ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๊ธฐ๋๋ฌธ์ ์์ถ์๋ ๋์ ํจ์จ์ ์ป์ ์ ์๋ค.
Row Oriented vs Column Oriented
- ์ฐ๋ฆฌ๊ฐ ํ๊ท ๊ฐ๊ฒฉ์ ์๊ณ ์ถ๋ค๋ฉด?
Row Oriented
๋ ๋ชจ๋ Row๋ฅผ ์กฐํํด์ผ๋ง ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.- ํ์ง๋ง
Column Oriented
๋ Price ์ปฌ๋ผ๋ง ์กฐํํด๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.
ํญ์ Column Oriented๊ฐ ์ข์๊น?
- ๋ค์์ ์ปฌ๋ผ์ ์กฐํํ๋ ์ํฉ์ด๋ผ๋ฉด ์ธ๋ชจ๊ฐ ์์ด๋ณด์ธ๋ค.
- ์คํ๋ ค ๊ฒฐ๊ณผ๋ฅผ ํฉ์น๋ ์์ ๋น์ฉ์ด ๋ ์ปค์ ธ์ ๋๋ฆด ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ๊ฑฐ ๊ฐ๋ค.