์คํค๋ง ์ค๊ณ ๊ถ์ฅ์ฌํญ
์ด ํ์ด์ง์๋ Bigtable ์คํค๋ง ์ค๊ณ์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ด ํ์ด์ง๋ฅผ ์ฝ๊ธฐ ์ ์ Bigtable ๊ฐ์๋ฅผ ์์งํด์ผ ํฉ๋๋ค. ์ด ํ์ด์ง์์๋ ๋ค์ ์ฃผ์ ๋ฅผ ๋ค๋ฃน๋๋ค.
- ์ผ๋ฐ ๊ฐ๋ : ์คํค๋ง๋ฅผ ์ค๊ณํ ๋ ์ ์ํด์ผ ํ ๊ธฐ๋ณธ ๊ฐ๋ ์ ๋๋ค.
- ๊ถ์ฅ์ฌํญ: ํ ์ด๋ธ ๊ตฌ์ฑ์์๋ณ๋ก ๋ถ๋ฅ๋ ๋๋ถ๋ถ์ ์ฌ์ฉ ์ฌ๋ก์ ์ ์ฉ๋๋ ์ค๊ณ ๊ฐ์ด๋๋ผ์ธ์ ๋๋ค.
- ํน์ ์ฌ์ฉ ์ฌ๋ก: ์ผ๋ถ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๋ฐ์ดํฐ ํจํด์ ๋ํ ๊ถ์ฅ์ฌํญ์ ๋๋ค.
์ผ๋ฐ์ ์ธ ๊ฐ๋
Bigtable ์คํค๋ง ์ค๊ณ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ์ค๊ณ์ ๋ค๋ฆ ๋๋ค. Bigtable ์คํค๋ง๋ ์คํค๋ง ์ ์ ๊ฐ์ฒด ๋๋ ํ์ผ์ด ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ ผ๋ฆฌ์ ๋ฐ๋ผ ์ ์๋ฉ๋๋ค. ํ ์ด๋ธ์ ๋ง๋ค๊ฑฐ๋ ์ ๋ฐ์ดํธํ ๋ ํ ์ด๋ธ์ column family๋ฅผ ์ถ๊ฐํ ์ ์์ง๋ง ์ด ๋ฐ row key ํจํด์ ํ ์ด๋ธ์ ๊ธฐ๋กํ๋ ๋ฐ์ดํฐ์ ์ํด ์ ์๋ฉ๋๋ค.
Bigtable์์ ์คํค๋ง๋ ๋ค์ ํ ์ด๋ธ ๊ตฌ์ฑ์์ ๊ตฌ์กฐ๋ฅผ ํฌํจํ ํ ์ด๋ธ์ ์ฒญ์ฌ์ง์ด๋ ๋ชจ๋ธ์ ๋๋ค.
- Row key
- ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ฑ ์ด ํฌํจ๋ column family
- ์ด
Bigtable์์ ์คํค๋ง ์ค๊ณ๋ ์ฃผ๋ก ํ ์ด๋ธ์ ์ ์กํ๋ ค๋ ์ฟผ๋ฆฌ ๋๋ ์ฝ๊ธฐ ์์ฒญ์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค. ํ ๋ฒ์ ์ฝ๊ธฐ๊ฐ Bigtable ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ์ด๋ฏ๋ก ์ด ํ์ด์ง์ ๊ถ์ฅ์ฌํญ์ ํ ๋ฒ์ ์ฝ๊ธฐ๋ฅผ ์ต์ ํํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ row key ํ๋ฆฌํฝ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์ ์กํฉ๋๋ค.
๋ ๋ฒ์งธ ๊ณ ๋ ค์ฌํญ์ ํซ์คํ์ ๋ฐฉ์งํ๋ ๊ฒ์ ๋๋ค. ํซ์คํ์ ๋ฐฉ์งํ๋ ค๋ฉด ์ฐ๊ธฐ ํจํด์ ๊ณ ๋ คํด์ผ ํ๋ฉฐ ์งง์ ์๊ฐ ๋ด์ ์์ ํค ๊ณต๊ฐ์ ์ก์ธ์คํ์ง ์๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
Bigtable ์คํค๋ง ์ค๊ณ์๋ ๋ค์๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ธ ๊ฐ๋ ์ด ์ ์ฉ๋ฉ๋๋ค.
- Bigtable์ ๊ด๊ณํ ์ ์ฅ์๊ฐ ์๋ ํค/๊ฐ ์ ์ฅ์์ ๋๋ค. ์กฐ์ธ์ ์ง์ํ์ง ์์ผ๋ฉฐ ํธ๋์ญ์ ์ ๋จ์ผ ํ ๋ด์์๋ง ์ง์๋ฉ๋๋ค.
- ๊ฐ ํ ์ด๋ธ์๋ row key์ ํด๋นํ๋ ํ๋์ ์์ธ๋ง ์์ต๋๋ค. ๋ณด์กฐ ์์ธ์ ์์ต๋๋ค. ๊ฐ row key๋ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
- ํ์ row key์ ๋ฐ๋ผ ์ฌ์ ์์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค(๊ฐ์ฅ ๋ฎ์ ๋ฐ์ดํธ ๋ฌธ์์ด์์ ๊ฐ์ฅ ๋์ ๋ฐ์ดํธ ๋ฌธ์์ด์ ์์๋ก). row key๋ ์ํ๋ฒณ ์์์ ๋ฐ์ด๋๋ฆฌ์ ํด๋นํ๋ ๋น ์๋์ ๋ฐ์ดํธ ์์(๋คํธ์ํฌ ๋ฐ์ดํธ ์์๋ผ๊ณ ๋ ํจ)๋ก ์ ๋ ฌ๋ฉ๋๋ค.
- column family๋ ํน์ ์์๋ก ์ ์ฅ๋์ง ์์ต๋๋ค.
- ์ด์ column family๋ก ๊ทธ๋ฃนํ๋๋ฉฐ column family ๋ด์์ ์ฌ์ ์์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด
ProcessName
,User
,%CPU
,ID
,Memory
,DiskRead
,Priority
์ column qualifier๊ฐ ์๋SysMonitor
๋ผ๋ column family์์ Bigtable์ ๋ค์ ์์๋ก ์ด์ ์ ์ฅํฉ๋๋ค.
SysMonitor | ||||||
---|---|---|---|---|---|---|
%CPU | DiskRead | ID | ๋ฉ๋ชจ๋ฆฌ | ์ฐ์ ์์ | ProcessName | ์ฌ์ฉ์ |
- ํ๊ณผ ์ด์ ๊ต์ฐจ ๋ถ๋ถ์ ํ์์คํฌํ๊ฐ ์ ์ฉ๋ ์ ์ฌ๋ฌ ๊ฐ๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ๊ฐ ์ ์๋ ํ๊ณผ ์ด์ ๋ํ ํ์์คํฌํ๊ฐ ์ ์ฉ๋ ๊ณ ์ ํ ๋ฒ์ ์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ฉ๋๋ค.
- ์ง๊ณ column family์๋ ์ง๊ณ ์ ์ด ํฌํจ๋ฉ๋๋ค. ์ง๊ณ ์ ๋ง ํฌํจ๋ column family๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ง๊ณ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ฏธ ์ ์ ์๋ ๋ฐ์ดํฐ์ ๋ณํฉํ ์ ์์ต๋๋ค.
- ๋ชจ๋ ์์ ์ ํ ์์ค์์ ์์์ ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์์ ์ ์ ์ฒด ํ์ ์ํฅ์ ๋ฏธ์น๊ฑฐ๋ ์ด๋ ํ ํ์๋ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.
- ํ ์ด๋ธ์ ํ ๊ณต๊ฐ ์ ๋ฐ์ ์ฝ๊ธฐ์ ์ฐ๊ธฐ ๋ชจ๋๋ฅผ ๊ณ ๋ฅด๊ฒ ๋ถ์ฐํด์ผ ํฉ๋๋ค.
- Bigtable ํ ์ด๋ธ์ ํฌ์ ํ ์ด๋ธ์ ๋๋ค. ์ด์ ์ด์ ์ฌ์ฉํ์ง ์๋ ํ์ ๊ณต๊ฐ์ ์ฐจ์งํ์ง ์์ต๋๋ค.
๊ถ์ฅ์ฌํญ
์คํค๋ง๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ค๊ณํ๋ฉด ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ์ด ํฅ์๋์ง๋ง ์๋ชป ์ค๊ณํ๋ฉด ์์คํ ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค. ๋ชจ๋ ์ฌ์ฉ ์ฌ๋ก๋ ๊ฐ๊ธฐ ๋ค๋ฅด๋ฉฐ ์์ฒด ์ค๊ณ๊ฐ ํ์ํ์ง๋ง ๋๋ถ๋ถ์ ์ฌ์ฉ ์ฌ๋ก์ ๋ค์๊ณผ ๊ฐ์ ๊ถ์ฅ์ฌํญ์ด ์ ์ฉ๋ฉ๋๋ค. ์์ธ๋ ๋ช ์๋์ด ์์ต๋๋ค.
๋ค์ ์น์ ์์๋ ํ ์ด๋ธ ์์ค๋ถํฐ row key ์์ค๊น์ง ์คํค๋ง ์ค๊ณ์ ๊ถ์ฅ์ฌํญ์ ์ค๋ช ํฉ๋๋ค.
๋ชจ๋ ํ ์ด๋ธ ์์, ํนํ row key๋ ๊ณํ๋ ์ฝ๊ธฐ ์์ฒญ์ ์ผ๋์ ๋๊ณ ์ค๊ณ๋์ด์ผ ํฉ๋๋ค. ํ ๋น๋ ๋ฐ ํ๋์์ ๋ชจ๋ ํ ์ด๋ธ ์์์ ๊ถ์ฅ ๋ฐ ์๊ฒฉํ ํฌ๊ธฐ ํ๋๋ฅผ ํ์ธํ์ธ์.
์ธ์คํด์ค์ ๋ชจ๋ ํ ์ด๋ธ์ ๋์ผํ ํ๋ธ๋ฆฟ์ ์ ์ฅ๋๋ฏ๋ก ํ ํ ์ด๋ธ์ ํซ์คํ์ ์ด๋ํ๋ ์คํค๋ง ์ค๊ณ๋ ๋์ผํ ์ธ์คํด์ค์ ์๋ ๋ค๋ฅธ ํ ์ด๋ธ์ ์ง์ฐ ์๊ฐ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ํซ์คํ์ ๋จ๊ธฐ๊ฐ์ ํ ์ด๋ธ์ ํ ๋ถ๋ถ์ ์์ฃผ ์ก์ธ์คํ๋ฏ๋ก ๋ฐ์ํฉ๋๋ค.
ํ ์ด๋ธ
๋ณ๋์ ํ ์ด๋ธ์ด ์๋ ๊ฐ์ ํ ์ด๋ธ์ ์ ์ฌํ ์คํค๋ง๊ฐ ์๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ ์ฅํฉ๋๋ค.
๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์๋ ์ ๋ชฉ๊ณผ ์ด ์์ ๋ฐ๋ผ ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ Bigtable์์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํ๋์ ํ ์ด๋ธ์ ์ ์ฅํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ฐ ๋ฐ์ดํฐ ์ธํธ์ ์ฌ์ฉํ ๊ณ ์ ํ row key ํ๋ฆฌํฝ์ค๋ฅผ ํ ๋นํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด Bigtable์์ ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ์ฐ์ ํ ๋ฒ์์ ์ ์ฅํ๋ฏ๋ก row key ํ๋ฆฌํฝ์ค๋ก ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค.
Bigtable์์ ํ ์ด๋ธ์ ์ธ์คํด์ค๋น 1,000๊ฐ๋ก ์ ํ๋์ง๋ง ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ๋ง์ ์์ ํ ์ด๋ธ์ ๋ง๋ค์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ์์ฒญ์ ์ฌ๋ฌ ํ ์ด๋ธ์ ์ ์กํ๋ฉด ๋ฐฑ์๋ ์ฐ๊ฒฐ ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํ์ฌ ๊ผฌ๋ฆฌ ์ง์ฐ ์๊ฐ์ด ๋์ด๋ ์ ์์ต๋๋ค.
- ํ ์ด๋ธ์ ๋ ๋ง๋ค๋ฉด ๋ถํ ๋ถ์ฐ์ด ๊ฐ์ ๋์ง ์์ผ๋ฉฐ ๊ด๋ฆฌ ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํ ์ ์์ต๋๋ค.
๋ค๋ฅธ ์คํค๋ง๊ฐ ํ์ํ ์ฌ์ฉ ์ฌ๋ก๋ง๋ค ๋ณ๋์ ํ ์ด๋ธ์ ์ํ ์ ์์ง๋ง ์ ์ฌํ ๋ฐ์ดํฐ์๋ ๋ณ๋์ ํ ์ด๋ธ์ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ํด๊ฐ ๋๊ฑฐ๋ ์ ๊ท ๊ณ ๊ฐ์ด ์๋ค๊ณ ํด์ ์ ํ ์ด๋ธ์ ๋ง๋ค๋ฉด ์ ๋ฉ๋๋ค.
column family
๊ด๋ จ ์ด์ ๋์ผํ column family์ ์ฝ์ ํฉ๋๋ค. ํ ํ๋์ ์๋ก ๊ด๋ จ๋ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ๊ฐ์ ์ด ๊ฐ์ด column family์ ํฌํจ๋ ์ด์ ๊ทธ๋ฃนํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ณต์กํ ํํฐ๋ฅผ ์ค๊ณํ ํ์๊ฐ ์๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ต๋ํ ๊ฐ๊น๊ฒ ๊ทธ๋ฃนํํ๋ฉด ์์ฃผ ์ฌ์ฉํ๋ ์ฝ๊ธฐ ์์ฒญ์์ ํ์ํ ์ ๋ณด๋ง ๊ฐ์ ธ์ต๋๋ค.
column family๋ฅผ ํ ์ด๋ธ๋น ์ต๋ 100๊ฐ๊น์ง ๋ง๋ญ๋๋ค. column family๋ฅผ 100๊ฐ ์ด๊ณผํ์ฌ ๋ง๋ค๋ฉด ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค.
column family์ ๋๋ค์์ ์ ํํฉ๋๋ค. ์ด๋ฆ์ ๊ฐ ์์ฒญ์ ์ ์ก๋๋ ๋ฐ์ดํฐ์ ํฌํจ๋ฉ๋๋ค.
๋ฐ์ดํฐ ๋ณด๊ด ์๊ตฌ์ฌํญ์ด ๋ค๋ฅธ ์ด์ ๋ค๋ฅธ column family์ ๋ฃ์ต๋๋ค. ์ด๋ ์คํ ๋ฆฌ์ง ๋น์ฉ์ ์ ํํ๋ ค๋ ๊ฒฝ์ฐ์ ์ค์ํฉ๋๋ค. ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ฑ ์ ์ด ์์ค์ด ์๋ column family ์์ค์์ ์ค์ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ํน์ ๋ฐ์ดํฐ ์ค ์ต์ ๋ฒ์ ๋ง ์ ์งํด์ผ ํ๋ ๊ฒฝ์ฐ ํด๋น ํญ๋ชฉ ๋ฒ์ 1,000๊ฐ๋ฅผ ์ ์ฅํ๋๋ก ์ค์ ๋ column family์ ์ ์ฅํ์ง ๋ง์ธ์. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๋ถํ์ํ ๋ฐ์ดํฐ 999 ์ ์ ์ ์ฅํ๋ ๋น์ฉ์ ์ง๋ถํ๊ฒ ๋ฉ๋๋ค.
์ด
ํ ์ด๋ธ์ ํ์ํ ๋งํผ ์ด์ ๋ง๋ญ๋๋ค. Bigtable ํ ์ด๋ธ์ ํฌ์ํ๋ฉฐ ํ์์ ์ฌ์ฉ๋์ง ์๋ ์ด์ ๋ํ ๊ณต๊ฐ ํจ๋ํฐ๋ ์์ต๋๋ค. ํ๋น ์ต๋ ํ๋์ธ 256MB๋ฅผ ์ด๊ณผํ์ง ์๋ ํ ํ ์ด๋ธ์ ์ด ์๋ฐฑ๋ง ๊ฐ๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
๋จ์ผ ํ์ ์ด์ ๋๋ฌด ๋ง์ด ์ฌ์ฉํ์ง ๋ง์ธ์. ํ ์ด๋ธ์ ์ด ์๋ฐฑ๋ง ๊ฐ๊ฐ ํฌํจ๋ ์ ์์ง๋ง ํ์ ๊ทธ๋ ์ง ์์์ผ ํฉ๋๋ค. ์ด ๊ถ์ฅ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์์ธ์ ์ํฅ์ ์ค๋๋ค.
- Bigtable์ด ํ์์ ๊ฐ ์ ์ ์ฒ๋ฆฌํ๋ ค๋ฉด ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
- ๊ฐ ์ ์ ํ ์ด๋ธ์ ์ ์ฅ๋๊ณ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์ก๋๋ ๋ฐ์ดํฐ ์์ ๋ ๋ง์ ์ค๋ฒํค๋๋ฅผ ์ค๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ 1KB(1,024๋ฐ์ดํธ)๋ฅผ ์ ์ฅํ๋ ๊ฒฝ์ฐ ๊ฐ๊ฐ 1๋ฐ์ดํธ๋ฅผ ํฌํจํ๋ ์ 1,024๊ฐ ์ ์ฒด์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐ์ํค๋ ๊ฒ๋ณด๋ค ๋ฐ์ดํฐ๋ฅผ ๋จ์ผ ์ ์ ์ ์ฅํ๋ ๊ฒ์ด ํจ์ฌ ๋ ๊ณต๊ฐ ํจ์จ์ ์ ๋๋ค.
๋ฐ์ดํฐ ์ธํธ์์ Bigtable์ด ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ ํ๋ณด๋ค ๋ ๋ง์ ์ด์ด ๋ ผ๋ฆฌ์ ์ผ๋ก ํ์ํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋จ์ผ ์ด์ protobuf๋ก ์ ์ฅํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ํ๋ ๊ฒฝ์ฐ column qualifier๋ฅผ ๋ฐ์ดํฐ๋ก ์ทจ๊ธํ ์ ์์ต๋๋ค. ๋ชจ๋ ์ด์ column qualifier๋ฅผ ์ ์ฅํด์ผ ํ๋ฏ๋ก ์ด ์ด๋ฆ์ ๊ฐ์ผ๋ก ์ง์ ํ๋ฉด ๊ณต๊ฐ์ ์ ์ฝํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฐ์ ์ ๋ํ ๋ฐ์ดํฐ๋ฅผ Friends
column family์ ์ ์ฅํ๋ ํ
์ด๋ธ์ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๊ฐ ํ์ ์ฌ๋๊ณผ ๋ชจ๋ ์ฐ์ ์ ๋ํ๋
๋๋ค. ๊ฐ column qualifier๋ ์น๊ตฌ ID๊ฐ ๋ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ํด๋น ํ์ ๊ฐ ์ด์ ๋ํ ๊ฐ์ ์น๊ตฌ๊ฐ ์๋ ์์
์ํด์ผ ์ ์์ต๋๋ค. ์ด ์์์์ ํ์ ๋ค์๊ณผ ๊ฐ์ด ํ์๋ ์ ์์ต๋๋ค.
row key | ํ๋ ๋ | Gabriel | ํ๋ก์ | ์์ค | Jakob |
---|---|---|---|---|---|
ํธ์ธ | ๋ ์ ํด๋ฝ | ์ง์ฅ | ํ ๋์ค | ||
์ํผ์ | ์ง์ฅ | ํ๊ต | ์ฒด์ค ํด๋ฝ |
์ด ์คํค๋ง๋ฅผ column qualifier๋ฅผ ๋ฐ์ดํฐ๋ก ์ทจ๊ธํ์ง ์๋ ๋์ผํ ๋ฐ์ดํฐ์ ์คํค๋ง์ ๋์กฐํฉ๋๋ค. ๋์ ๋ชจ๋ ํ์ ๋์ผํ ์ด์ด ํฌํจ๋ฉ๋๋ค.
row key | ์น๊ตฌ | ์ |
---|---|---|
ํธ์ธ#1 | ํ๋ ๋ | ๋ ์ ํด๋ฝ |
ํธ์ธ#2 | Gabriel | ์ง์ฅ |
ํธ์ธ#3 | ํ๋ก์ | ํ ๋์ค |
์ํผ์#1 | ํ๋ก์ | ์ง์ฅ |
์ํผ์#2 | ์์ค | ํ๊ต |
์ํผ์#3 | Jakob | ์ฒด์ค ํด๋ฝ |
๋ ๋ฒ์งธ ์คํค๋ง ์ค๊ณ๋ก ์ธํด ํ ์ด๋ธ์ด ํจ์ฌ ๋น ๋ฅด๊ฒ ์ฆ๊ฐํฉ๋๋ค.
column qualifier๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฒฝ์ฐ column qualifier๋ฅผ ์งง๊ณ ์๋ฏธ ์๋ ์ด๋ฆ์ผ๋ก ์ง์ ํฉ๋๋ค. ์ด ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ๊ฐ ์์ฒญ์ ๋ํด ์ ์ก๋๋ ๋ฐ์ดํฐ ์์ ์ค์ผ ์ ์์ต๋๋ค. ์ต๋ ํฌ๊ธฐ๋ 16KB์ ๋๋ค.
ํ
๋จ์ผ ํ์ ์๋ ๋ชจ๋ ๊ฐ์ ํฌ๊ธฐ๋ฅผ 100MB ๋ฏธ๋ง์ผ๋ก ์ ์งํฉ๋๋ค. ๋จ์ผ ํ์ ๋ฐ์ดํฐ๋ฅผ 256MB ์ดํ๋ก ์ ์งํฉ๋๋ค. ์ด ํ๋๋ฅผ ์ด๊ณผํ๋ ํ์ ์ฝ๊ธฐ ์ฑ๋ฅ์ ์ ํ์ํฌ ์ ์์ต๋๋ค.
ํญ๋ชฉ์ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋จ์ผ ํ์ ์ ์งํฉ๋๋ค. ๋๋ถ๋ถ์ ์ฌ์ฉ ์ฌ๋ก์์ ๋ถ์ผ์น๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ์์์ ์ผ๋ก ๋๋ ์ ๋ถ ํ๊บผ๋ฒ์ ์ฝ์ด์ผ ํ๋ ๋ฐ์ดํฐ๋ฅผ ํ 1๊ฐ ์ด์์ ์ ์ฅํ์ง ๋ง์ธ์. ์๋ฅผ ๋ค์ด ํ ์ด๋ธ์์ ํ ๋ ๊ฐ๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ ํ ํ์ ์ฑ๊ณต์ ์ผ๋ก ์ ๋ฐ์ดํธ๋๊ณ ๋ค๋ฅธ ํ์ ์ ๋ฐ์ดํธ๋์ง ๋ชปํ ์ ์์ต๋๋ค. ๊ด๋ จ ๋ฐ์ดํฐ๊ฐ ์ ํํ๋ ค๋ฉด ์คํค๋ง์ ํ ๋ ๊ฐ ์ด์์ด ๋์์ ์ ๋ฐ์ดํธ๋์ง ์์์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฐ๊ธฐ ์์ฒญ์ ์ผ๋ถ๊ฐ ์คํจํ๊ฑฐ๋ ๋ค์ ์ ์ก๋์ด์ผ ํ๋ ๊ฒฝ์ฐ ํด๋น ๋ฐ์ดํฐ๊ฐ ์ผ์์ ์ผ๋ก ๋ถ์์ ํด์ง๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
์์ธ: ๋จ์ผ ํ์ ํญ๋ชฉ์ ์ ์งํ์ ๋ ํฌ๊ธฐ๊ฐ ์๋ฐฑ MB๊ฐ ๋๋ฉด ์ฌ๋ฌ ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ถํ ํด์ผ ํฉ๋๋ค.
๊ด๋ จ ํญ๋ชฉ์ ์ธ์ ํ์ ์ ์ฅํ๋ฉด ๋์ฑ ํจ์จ์ ์ผ๋ก ์ฝ์ ์ ์์ต๋๋ค.
์
๋จ์ผ ์ ์ ๋ฐ์ดํฐ๋ฅผ 10MB ๋๊ฒ ์ ์ฅํ์ง ๋ง์ธ์. ์ ์ ๊ณ ์ ํ์์คํฌํ๊ฐ ์๋ ํน์ ํ๊ณผ ์ด์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ด๋ฉฐ ์ฌ๋ฌ ์ ์ด ํ๊ณผ ์ด์ ๊ต์ฐจ ๋ถ๋ถ์ ์ ์ฅ๋ ์ ์์ต๋๋ค. ์ด์ ๋ณด๊ด๋ ์ ์์๋ ํด๋น ์ด์ด ํฌํจ๋ column family์ ์ค์ ํ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ฑ ์ด ์ ์ฉ๋ฉ๋๋ค.
์ง๊ณ ์ ์ ์ฌ์ฉํ์ฌ ํฉ์ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ ๋ฐ ์ ๋ฐ์ดํธํ์ธ์. ์๋งค์ ์ ์ง์๋น ์๋ณ ํ๋งค ํฉ๊ณ์ ๊ฐ์ ํญ๋ชฉ์ ์ง๊ณ๋ ์ด๋ฒคํธ ๊ฐ๋ง ํ์ํ ๊ฒฝ์ฐ ์ง๊ณ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฐ๊ธฐ ์๊ฐ์ ๊ฐ ์ง๊ณ๋ฅผ ์ฐธ์กฐํ์ธ์.
Row key
๋ฐ์ดํฐ ๊ฒ์์ ์ฌ์ฉํ ์ฟผ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก row key๋ฅผ ์ค๊ณํฉ๋๋ค. ์ ์ค๊ณ๋ row key๋ Bigtable์์ ์ต๊ณ ์ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค. ๊ฐ์ฅ ํจ์จ์ ์ธ Bigtable ์ฟผ๋ฆฌ๋ ๋ค์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํฉ๋๋ค.
- row key
- row key ํ๋ฆฌํฝ์ค
- ์์ ๋ฐ ์ข ๋ฃ row key๋ก ์ ์๋ ํ ๋ฒ์
๋ค๋ฅธ ์ ํ์ ์ฟผ๋ฆฌ๋ ํจ์ฌ ๋นํจ์จ์ ์ธ ์ ์ฒด ํ ์ด๋ธ ์ค์บ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. ์ง๊ธ ์ฌ๋ฐ๋ฅธ row key๋ฅผ ์ ํํ๋ฉด ๋์ค์ ํ๋ ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ก์ธ์ค๋ฅผ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
row key๋ฅผ ์งง๊ฒ ์ ์งํฉ๋๋ค. row key๋ 4KB ์ดํ์ฌ์ผ ํฉ๋๋ค. row key๋ฅผ ๊ธธ๊ฒ ๋ง๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์คํ ๋ฆฌ์ง๊ฐ ๋ ๋ง์ด ์๋ชจ๋๋ฏ๋ก Bigtable ์๋ฒ๋ก๋ถํฐ ์๋ต์ ๋ฐ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๊ธธ์ด์ง๋๋ค.
๊ตฌ๋ถ๋ ๊ฐ ์ฌ๋ฌ ๊ฐ๋ฅผ ๊ฐ row key์ ์ ์ฅํฉ๋๋ค. Bigtable์ ํจ์จ์ ์ผ๋ก ์ฟผ๋ฆฌํ ์ ์๋ ์ต๊ณ ์ ๋ฐฉ๋ฒ์ row key๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ฏ๋ก row key์ ์ฌ๋ฌ ์๋ณ์๋ฅผ ํฌํจํ๋ ๊ฒ์ด ์ ์ฉํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. row key์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ด ํฌํจ๋์ด ์์ ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ ๊ฒ์ธ์ง๋ฅผ ๋ช ํํ๊ฒ ์ดํดํ๋ ๊ฒ์ด ํนํ ์ค์ํฉ๋๋ค.
row key ์ธ๊ทธ๋จผํธ๋ ์ผ๋ฐ์ ์ผ๋ก ์ฝ๋ก , ์ฌ๋์ ๋๋ ํด์ ๊ธฐํธ์ ๊ฐ์ ๊ตฌ๋ถ ๊ธฐํธ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ์ฒซ ๋ฒ์งธ ์ธ๊ทธ๋จผํธ๋ ์ฐ์ ์ธ๊ทธ๋จผํธ ์งํฉ์ row key ํ๋ฆฌํฝ์ค์ด๋ฉฐ ๋ง์ง๋ง ์ธ๊ทธ๋จผํธ๋ ์ฐ์ ์ธ๊ทธ๋จผํธ ์งํฉ์ row key ์ํฝ์ค์ ๋๋ค.
row key ํ๋ฆฌํฝ์ค๋ฅผ ์ ๊ณํํ๋ฉด Bigtable์์ ๊ธฐ๋ณธ ์ ๊ณตํ๋ ์ ๋ ฌ ์์๋ฅผ ํ์ฉํ์ฌ ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ์ฐ์๋ ํ์ ์ ์ฅํ ์ ์์ต๋๋ค. ์ฐ์๋ ํ์ ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉด ๋นํจ์จ์ ์ธ ํ ์ด๋ธ ์ค์บ์ ์คํํ์ง ์๊ณ ํ ๋ฒ์๋ก ๊ด๋ จ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
๋ฐ์ดํฐ์ ์ซ์๋ก ์ ์ฅ ๋๋ ์ ๋ ฌํ๋ ค๋ ์ ์๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ์์๋ฆฌ๊ฐ 0์ธ ์ ์๋ฅผ ํจ๋ฉํฉ๋๋ค. Bigtable์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ ์์ผ๋ก ์ ์ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ ์์ผ๋ก 20 > 03์ด ์๋ 3 > 20์ผ๋ก ์ ์ฅํฉ๋๋ค. ์์๋ฆฌ๊ฐ 0์ธ 3์ ํจ๋ฉํ๋ฉด ์ซ์๊ฐ ์์น์ ์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ฒ์ ๊ธฐ๋ฐ ์ฟผ๋ฆฌ๊ฐ ์ฌ์ฉ๋๋ ํ์์คํฌํ์ ์ค์ํฉ๋๋ค.
์ ์ ์๋ ํ ๋ฒ์๋ฅผ ๊ฒ์ํ ์ ์๋๋ก row key๋ฅผ ๋ง๋๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฟผ๋ฆฌ์ ํ ์ด๋ธ ์ค์บ์ด ํ์ํ๋ฉฐ ์ด๋ ํน์ ํ์ ๊ฒ์ํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๋๋ฆฝ๋๋ค.
์๋ฅผ ๋ค์ด ์ ํ๋ฆฌ์ผ์ด์ ์์ ํด๋๊ธฐ๊ธฐ ๋ฐ์ดํฐ๋ฅผ ์ถ์ ํ๋ ๊ฒฝ์ฐ ๊ธฐ๊ธฐ ์ ํ, ๊ธฐ๊ธฐ ID, ๋ฐ์ดํฐ๊ฐ ๊ธฐ๋ก๋ ๋ ์ง๋ก ๊ตฌ์ฑ๋ row key๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ๋ฐ์ดํฐ์ row key๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
phone#4c410523#20200501
phone#4c410523#20200502
tablet#a0b81f74#20200501
tablet#a0b81f74#20200502
์ด row key ์ค๊ณ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์์ ๋ํ ๋จ์ผ ์์ฒญ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค.
- ๊ธฐ๊ธฐ ์ ํ
- ๊ธฐ๊ธฐ ์ ํ ๋ฐ ๊ธฐ๊ธฐ ID ์กฐํฉ
ํน์ ๋ ์ง์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ค๋ ๊ฒฝ์ฐ์๋ ์ด row key ์ค๊ณ๊ฐ ์ ํฉํ์ง ์์ต๋๋ค. ๋ ์ง๋ ์ธ ๋ฒ์งธ ์ธ๊ทธ๋จผํธ๋ row key ์ํฝ์ค์ ์ ์ฅ๋๋ฏ๋ก row key ๋๋ row key์ ์ค๊ฐ ์ธ๊ทธ๋จผํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ๋ฒ์๋ฅผ ์์ฒญํ ์ ์์ต๋๋ค. ๋์ ์ผ ๊ฐ์ ๊ฒ์ํ๋ ์ ์ฒด ํ ์ด๋ธ์ ์ค์บํ๋ ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๊ธฐ ์์ฒญ์ ์ ์กํด์ผ ํฉ๋๋ค.
๊ฐ๋ฅํ๋ฉด row key์์ ์ธ๊ฐ์ด ์ฝ์ ์ ์๋ ๋ฌธ์์ด ๊ฐ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด Key Visualizer ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ Bigtable ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๊ณตํต ๊ฐ์ผ๋ก ์์ํ๊ณ ์์ธ ๊ฐ์ผ๋ก ๋๋๋ row key๋ฅผ ์ค๊ณํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด row key์ ๋๋ฅ, ๊ตญ๊ฐ, ๋์๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ row key๋ฅผ ๋ง๋ค์ด ์นด๋๋๋ฆฌํฐ๊ฐ ๋ฎ์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์๋์ผ๋ก ์ ๋ ฌํ ์ ์์ต๋๋ค.
asia#india#bangalore
asia#india#mumbai
asia#japan#osaka
asia#japan#sapporo
southamerica#bolivia#cochabamba
southamerica#bolivia#lapaz
southamerica#chile#santiago
southamerica#chile#temuco
ํผํด์ผ ํ row key
์ผ๋ถ ์ ํ์ row key๋ ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค๊ฑฐ๋ ์ฑ๋ฅ ์ผ๋ถ๋ฅผ ์ ํ์ํฌ ์ ์์ต๋๋ค. ์ด ์น์ ์์๋ Bigtable์์ ์ฌ์ฉํ์ง ๋ง์์ผ ํ ๋ช ๊ฐ์ง ์ ํ์ row key์ ๋ํด ์ค๋ช ํฉ๋๋ค.
ํ์์คํฌํ๋ก ์์๋๋ row key. ์ด๋ ๊ฒ ํ๋ฉด ์์ฐจ์ ์ฐ๊ธฐ๊ฐ ๋จ์ผ ๋ ธ๋๋ก ํธ์๋์ด ํซ์คํ์ด ์์ฑ๋ฉ๋๋ค. row key์ ํ์์คํฌํ๋ฅผ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ ํซ์คํ์ ๋ฐฉ์งํ๋ ค๋ฉด ์ฌ์ฉ์ ID์ ๊ฐ์ด ์นด๋๋๋ฆฌํฐ๊ฐ ๋์ ๊ฐ์ ์์ ์ถ๊ฐํฉ๋๋ค.
๊ด๋ จ ๋ฐ์ดํฐ๊ฐ ๊ทธ๋ฃนํ๋์ง ์๊ฒ ํ๋ row key. ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฐ์ ํ ๋ฒ์์ ์ ์ฅํ๋ row key๋ฅผ ์ฌ์ฉํ์ง ๋ง์ธ์. ํจ๊ป ์ฝ์ ๋ ํจ์จ์ ์ด์ง ์์ต๋๋ค.
์์ฐจ์ ์ซ์ ID. ์์คํ ์์ ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ฉ์์๊ฒ ์ซ์ ID๋ฅผ ํ ๋นํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด๋ ์ฌ์ฉ์์ ์ซ์ ID๋ฅผ ํ ์ด๋ธ์ row key๋ก ์ฌ์ฉํ์ผ๋ฉด ํ๋ ์๊ฐ์ด ๋ค ์๊ฐ ์์ต๋๋ค. ํ์ง๋ง ์ ๊ท ์ฌ์ฉ์์ผ์๋ก ํ๋์ด ๋ง์ ๊ฐ๋ฅ์ฑ์ด ๋๊ธฐ ๋๋ฌธ์ ์ด ์ ๊ทผ ๋ฐฉ์์ ๋๋ถ๋ถ์ ํธ๋ํฝ์ ์์์ ๋ ธ๋์ ํธ์ํ ํ๋ฅ ์ด ๋์ต๋๋ค.
๋ ์์ ํ ๋ฐฉ๋ฒ์ ์ฌ์ฉ์ ์ซ์ ID์ ์ญ๋ฐฉํฅ ๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ฉด ํธ๋ํฝ์ด Bigtable ํ ์ด๋ธ์ ๋ชจ๋ ๋ ธ๋์ ๋์ฑ ๊ณ ๋ฅด๊ฒ ๋ถ์ฐ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
์์ฃผ ์
๋ฐ์ดํธ๋๋ ์๋ณ์. ์์ฃผ ์
๋ฐ์ดํธํด์ผ ํ๋ ๊ฐ์ ์๋ณํ๋ ๋ฐ ๋จ์ผ row key๋ฅผ ์ฌ์ฉํ์ง ๋ง์ธ์. ์๋ฅผ ๋ค์ด ์ฌ๋ฌ ๊ธฐ๊ธฐ์ ๋ํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ๋ฐ์ดํฐ๋ฅผ 1์ด์ ํ ๋ฒ ์ ์ฅํ๋ ๊ฒฝ์ฐ ๊ธฐ๊ธฐ ID์ ์ ์ฅ ์ค์ธ ์ธก์ ํญ๋ชฉ(์: 4c410523#memusage
)์ผ๋ก ๊ตฌ์ฑ๋ ๊ฐ ๊ธฐ๊ธฐ์ ๋จ์ผ row key๋ฅผ ์ฌ์ฉํ์ง ๋ง๊ณ ํ์ ๋ฐ๋ณต์ ์ผ๋ก ์
๋ฐ์ดํธํฉ๋๋ค. ์ด๋ฌํ ์ ํ์ ์์
์ ์์ฃผ ์ฌ์ฉ๋๋ ํ์ ์ ์ฅํ๋ ํ๋ธ๋ฆฟ์ ๊ณผ๋ถํ๋ฅผ ์ผ์ผํต๋๋ค. ๋ํ ๊ฐ๋น์ง ์ปฌ๋ ์
์ค์ ์
์ด ์ญ์ ๋ ๋๊น์ง ์ด์ ์ด์ ๊ฐ์ด ๊ณต๊ฐ์ ์ฐจ์งํ๋ฏ๋ก ํ์ด ํฌ๊ธฐ ์ ํ์ ์ด๊ณผํ ์ ์์ต๋๋ค.
๋์ ๊ฐ ์ ์ฝ๊ธฐ๋ฅผ ์ ํ์ ์ ์ฅํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ row key์ ๊ธฐ๊ธฐ ID, ์ธก์ ํญ๋ชฉ ์ ํ, ํ์์คํฌํ๊ฐ ํฌํจ๋ ์ ์์ผ๋ฏ๋ก row key๋ 4c410523#memusage#1423523569918
๊ณผ ์ ์ฌํฉ๋๋ค. Bigtable์์๋ ์ ํ์ ๋ง๋๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ๊ณผ ์ ์
์ ๋ง๋๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ๋์ผํ๋ฏ๋ก ์ด ์ ๋ต์ด ์ ์ฉํฉ๋๋ค. ๋ํ ์ด ์ ๋ต์ ์ฌ์ฉํ๋ฉด ์ ์ ํ ์์ ๋ฐ ์ข
๋ฃ ํค๋ฅผ ๊ณ์ฐํจ์ผ๋ก์จ ํน์ ๊ธฐ๊ฐ์์ ๋ฐ์ดํฐ๋ฅผ ๋นจ๋ฆฌ ์ฝ์ ์ ์์ต๋๋ค.
1๋ถ๋ง๋ค ์๋ฐฑ ๋ฒ ์ ๋ฐ์ดํธ๋๋ ์นด์ดํฐ์ ๊ฐ์ด ์์ฃผ ๋ณ๊ฒฝ๋๋ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต์๋ง ์ ์งํ๊ณ ์ ํ์ ์ฃผ๊ธฐ์ ์ผ๋ก Bigtable์ ์ฐ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
ํด์ ์ฒ๋ฆฌ๋ ๊ฐ. row key๋ฅผ ํด์ ์ฒ๋ฆฌํ๋ฉด Bigtable์์ ์์ฐ ์ ๋ ฌ ์์๋ฅผ ํ์ฉํ ์ ์๊ฒ ๋๋ฏ๋ก ์ฟผ๋ฆฌ์ ์ ํฉํ ๋ฐฉ์์ผ๋ก ํ์ ์ ์ฅํ ์ ์๊ฒ ๋ฉ๋๋ค. ๊ฐ์ ์ด์ ๋ก ๊ฐ์ ํด์ ์ฒ๋ฆฌํ๋ฉด Key Visualizer ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ Bigtable์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ๊ฐ ์ด๋ ค์์ง๋๋ค. ํด์ฑ๋ ๊ฐ ๋์ ์ธ๊ฐ์ด ์ฝ์ ์ ์๋ ๊ฐ์ ์ฌ์ฉํ์ธ์.
์ธ๊ฐ์ด ์ฝ์ ์ ์๋ ๋ฌธ์์ด์ด ์๋ ์์ ๋ฐ์ดํธ๋ก ํํ๋๋ ๊ฐ. ์์ ๋ฐ์ดํธ๋ ์ด ๊ฐ์ ์ ํฉํ์ง๋ง ๊ฐ๋ ์ฑ ๋ฐ ๋ฌธ์ ํด๊ฒฐ์ ์ํด row key์ ๋ฌธ์์ด ๊ฐ์ ์ฌ์ฉํฉ๋๋ค.
ํน์ ์ฌ์ฉ ์ฌ๋ก
Bigtable์ ์ ์ฅํ๊ธฐ ์ํด ์คํค๋ง๋ฅผ ์ค๊ณํ ๋ ํน๋ณํ ๊ณ ๋ คํด์ผ ํ๋ ๊ณ ์ ํ ๋ฐ์ดํฐ ์ธํธ๊ฐ ์์ ์ ์์ต๋๋ค. ์ด ์น์ ์์๋ ์ ์ฒด๊ฐ ์๋ ์๋ก ๋ค๋ฅธ ์ ํ์ ์ผ๋ถ Bigtable ๋ฐ์ดํฐ์ ์ด๋ฅผ ๊ฐ์ฅ ์ ํฉํ ๋ฐฉ์์ผ๋ก ์ ์ฅํ๋ ๋ช ๊ฐ์ง ๊ถ์ฅ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
์๊ฐ ๊ธฐ๋ฐ ๋ฐ์ดํฐ
๊ธฐ๋ก๋ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฃผ ๊ฒ์ํ๋ ๊ฒฝ์ฐ row key์ ํ์์คํฌํ๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ์ ํ๋ฆฌ์ผ์ด์
์์ ์ฌ๋ฌ ๋จธ์ ์ ๋ํด 1์ด์ ํ ๋ฒ์ฉ CPU ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๊ณผ ๊ฐ์ ์ฑ๋ฅ ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ์ ํ์์คํฌํ์ ๋จธ์ ์ ์๋ณ์๋ฅผ ๊ฒฐํฉํ์ฌ(์: machine_4223421#1425330757685
) ์ด ๋ฐ์ดํฐ์ row key๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. row key๋ ์ฌ์ ์ ์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค.
row key์ ํ์์คํฌํ๋ฅผ ํฌํจํ๋ ๊ฒฝ์ฐ ํ์์คํฌํ ์์ฒด ๋๋ row key์ ์์ ๋ถ๋ถ์ ํ์์คํฌํ๋ฅผ ์ฌ์ฉํ์ง ๋ง์ธ์. ์ด๋ ๊ฒ ํ๋ฉด ์์ฐจ์ ์ฐ๊ธฐ๊ฐ ๋จ์ผ ๋ ธ๋๋ก ํธ์๋์ด ํซ์คํ์ด ์์ฑ๋ฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ฟผ๋ฆฌ์์ ๊ฐ์ฅ ์ต๊ทผ ๋ ์ฝ๋๋ฅผ ๋จผ์ ๊ฒ์ํ๋ ๊ฒฝ์ฐ ๊ณ ๋ คํ ์ ์๋ ํจํด์ row key์ ์ญ๋ฐฉํฅ ํ์์คํฌํ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ด ํจํด์ ์ฌ์ฉํ๋ฉด ํ์ด ์ต์ ํ๋ถํฐ ๊ฐ์ฅ ์ค๋๋ ํ ์์ผ๋ก ์ ๋ ฌ๋๋ฏ๋ก ์ข ๋ ์ต๊ทผ ๋ฐ์ดํฐ๊ฐ ํ์ ์์ชฝ์ ํ์๋ฉ๋๋ค. ๋ค๋ฅธ ํ์์คํฌํ์ ๋ง์ฐฌ๊ฐ์ง๋ก ํซ์คํ์ด ๋ฐ์ํ์ง ์๋๋ก ์ญ์ ํ์์คํฌํ๋ก row key๋ฅผ ์์ํ์ง ๋ง์ธ์.
๊ธด ์ ์์ ๋ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ต๋๊ฐ(์: ์๋ฐ java.lang.Long.MAX_VALUE
)์์ ํ์์คํฌํ๋ฅผ ๋นผ๋ฉด ์ญ๋ฐฉํฅ ํ์์คํฌํ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
ํนํ ์๊ณ์ด ๋ฐ์ดํฐ ์์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๊ณ์ด ๋ฐ์ดํฐ์ ์คํค๋ง ์ค๊ณ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฉํฐํ ๋์
row key ํ๋ฆฌํฝ์ค๋ '๋ฉํฐํ ๋์ ์ง์' ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ํ ํ์ฅ ๊ฐ๋ฅํ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค. ์ด ์๋๋ฆฌ์ค์์๋ ๋ค์ค ํด๋ผ์ด์ธํธ๋ฅผ ๋์ ํด ๊ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๋น์ทํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค. ๋ชจ๋ ํ ๋ํธ์ ํ ์ด๋ธ ํ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฉํฐ ํ ๋ํธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ก์ธ์คํ๋ ๋ฐ ๊ฐ์ฅ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค.
์๋ฅผ ๋ค์ด ์ฌ๋ฌ ํ์ฌ๋ฅผ ๋์ ํด ๊ตฌ๋งค ๋ด์ญ์ ์ ์ฅํ๊ณ ์ถ์ ํ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. ๊ฐ ํ์ฌ์ ๊ณ ์ ํ ID๋ฅผ row key ํ๋ฆฌํฝ์ค๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ ๋ํธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ ๋์ผํ ํ ์ด๋ธ์ ์ฐ์๋ ํ์ ์ ์ฅ๋๋ฉฐ row key ํ๋ฆฌํฝ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฟผ๋ฆฌํ๊ฑฐ๋ ํํฐ๋งํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ํ ํ์ฌ๊ฐ ๋ ์ด์ ๊ณ ๊ฐ์ด ์๋์ด์ ์ด ํ์ฌ๋ฅผ ์ํด ์ ์ฅํ๋ ๊ตฌ๋งค ๋ด์ญ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํด์ผ ํ๋ ๊ฒฝ์ฐ ์ด ๊ณ ๊ฐ์ row key ํ๋ฆฌํฝ์ค๋ฅผ ์ฌ์ฉํ๋ ํ ๋ฒ์๋ฅผ ์ญ์ ํ๋ฉด ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด altostrat
๋ฐ examplepetstore
๊ณ ๊ฐ์ ํด๋์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ row key๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ altostrat
์ด ๋ ์ด์ ๊ณ ๊ฐ์ด ์๋๋ฉด row key ํ๋ฆฌํฝ์ค๊ฐ altostrat
์ด ์๋ ๋ชจ๋ ํ์ ์ญ์ ํฉ๋๋ค.
altostrat#phone#4c410523#20190501
altostrat#phone#4c410523#20190502
altostrat#tablet#a0b41f74#20190501
examplepetstore#phone#4c410523#20190502
examplepetstore#tablet#a6b81f79#20190501
examplepetstore#tablet#a0b81f79#20190502
๋ฐ๋ฉด ๊ฐ ํ์ฌ๋ฅผ ๋์ ํ์ฌ ๊ฐ ํ์ฌ์ ์์ฒด ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค๋ฉด ์ฑ๋ฅ ๋ฐ ํ์ฅ์ฑ ๋ฌธ์ ๋ฅผ ๊ฒช์ ์ ์์ต๋๋ค. ๋ํ ์ธ์คํด์ค๋น ํ ์ด๋ธ 1,000๊ฐ์ธ Bigtable์ ์ ํ์ ์๋์น ์๊ฒ ๋๋ฌํ ์ ์์ต๋๋ค. ์ธ์คํด์ค๊ฐ ์ด ํ๋์ ๋๋ฌํ๋ฉด Bigtable์ ์ธ์คํด์ค์ ๋ ๋ง์ ํ ์ด๋ธ์ ๋ง๋ค์ง ๋ชปํ๋๋ก ํฉ๋๋ค.
๊ฐ์ธ ์ ๋ณด ๋ณดํธ
์ฌ์ฉ ์ฌ๋ก์์ ์๊ตฌํ์ง ์๋ ํ row key ๋๋ column family ID์์ ๊ฐ์ธ ์๋ณ ์ ๋ณด(PII)๋ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ง ๋ง์ธ์. row key์ column family์ ๊ฐ์ ๊ณ ๊ฐ ๋ฐ์ดํฐ ๋ฐ ์๋น์ค ๋ฐ์ดํฐ์ด๋ฉฐ ์ํธํ ๋๋ ๋ก๊น ๊ณผ ๊ฐ์ด ์ด๋ฅผ ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋น๊ณต๊ฐ ๋ฐ์ดํฐ์ ์ก์ธ์คํด์๋ ์๋๋ ์ฌ์ฉ์์๊ฒ ์ด๋ฅผ ์ค์๋ก ๋ ธ์ถํ ์ ์์ต๋๋ค.
์๋น์ค ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ Google Cloud ๊ฐ์ธ์ ๋ณด์ฒ๋ฆฌ๋ฐฉ์นจ์ ์ฐธ์กฐํ์ธ์.
๋๋ฉ์ธ ์ด๋ฆ
๋๋ฉ์ธ ์ด๋ฆ์ Bigtable ๋ฐ์ดํฐ๋ก ์ ์ฅํ ์ ์์ต๋๋ค.
๋ค์ํ ๋๋ฉ์ธ ์ด๋ฆ
๋๋ฉ์ธ ์ด๋ฆ์ผ๋ก ํ์ํ ์ ์๋ ํญ๋ชฉ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ฒฝ์ฐ ์ญ๋ฐฉํฅ ๋๋ฉ์ธ ์ด๋ฆ(์: com.company.product
)์ row key๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ญ๋ฐฉํฅ ๋๋ฉ์ธ ์ด๋ฆ ์ฌ์ฉ์ ๊ฐ ํ์ ๋ฐ์ดํฐ๊ฐ ์ธ์ ํ ํ๊ณผ ๊ฒน์น๋ ๊ฒฝํฅ์ด ์๋ ๊ฒฝ์ฐ์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ์ด ๊ฒฝ์ฐ Bigtable์ด ๋ฐ์ดํฐ๋ฅผ ๋์ฑ ํจ์จ์ ์ผ๋ก ์์ถํ ์ ์์ต๋๋ค.
๋ฐ๋๋ก ์ญ์ ๋์ง ์์ ํ์ค ๋๋ฉ์ธ ์ด๋ฆ์ ๊ด๋ จ ๋ฐ์ดํฐ๊ฐ ํ ๊ณณ์ ๊ทธ๋ฃนํ๋์ง ์๋ ๋ฐฉ์์ผ๋ก ํ์ ์ ๋ ฌํ ์ ์์ผ๋ฏ๋ก ์์ถ ํจ์จ์ฑ๊ณผ ์ฝ๊ธฐ ํจ์จ์ฑ์ด ์ ํ๋ ์ ์์ต๋๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ์ญ๋ฐฉํฅ ๋๋ฉ์ธ ์ด๋ฆ์ ํฉ์ด์ ธ ์์ ๋ ๊ฐ์ฅ ํจ๊ณผ์ ์ ๋๋ค.
์ด ์ ์ ์ค๋ช ํ๊ธฐ ์ํด Bigtable์์ ์ฌ์ ์์ผ๋ก ์๋ ์ ๋ ฌํ ๋ค์ ๋๋ฉ์ธ ์ด๋ฆ์ ์ดํด๋ณด์ธ์.
drive.google.com
en.wikipedia.org
maps.google.com
์ด๋ google.com
์ ๋ชจ๋ ํ์ ์ฟผ๋ฆฌํ๋ ค๋ ์ฌ์ฉ ์ฌ๋ก์๋ ์ ํฉํ์ง ์์ต๋๋ค. ๋ฐ๋๋ก ๋๋ฉ์ธ ์ด๋ฆ์ด ์ญ์ ๋ ๊ฐ์ ํ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
com.google.drive
com.google.maps
org.wikipedia.en
๋ ๋ฒ์งธ ์์์์ ๊ด๋ จ ํ์ ์๋์ผ๋ก ํ ๋ฒ์๋ก ๊ฐ๋จํ๊ฒ ๊ฒ์ํ ์ ์๋๋ก ์๋ ์ ๋ ฌ๋ฉ๋๋ค.
๋๋ฉ์ธ ์ด๋ฆ์ด ๊ฑฐ์ ์์
ํ ๊ฐ ๋๋ ์ ์ ์์ ๋๋ฉ์ธ ์ด๋ฆ์๋ง ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ฒฝ์ฐ row key์ ๋ค๋ฅธ ๊ฐ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด์ ๋ฌ๋ฆฌ ์ฐ๊ธฐ๋ฅผ ํด๋ฌ์คํฐ์ ๋จ์ผ ๋ ธ๋์ ํธ์ํ๋ฉด ํซ์คํ์ด ๋ฐ์ํ๊ฑฐ๋ ํ์ด ๋๋ฌด ์ปค์ง ์ ์์ต๋๋ค.
์ฟผ๋ฆฌ ๋ณ๊ฒฝ ๋๋ ๋ถํ์คํ ์ฟผ๋ฆฌ
๋ฐ์ดํฐ์์ ํญ์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์คํํ์ง ์๊ฑฐ๋ ์ด๋ค ์ฟผ๋ฆฌ๊ฐ ์คํ๋ ์ง ํ์คํ์ง ์์ ๊ฒฝ์ฐ ํ ๊ฐ์ง ์ต์ ์ ์ด ์ฌ๋ฌ ๊ฐ ๋์ ์ด ํ๋์ ํ ํ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ฒ์ ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ํ๋กํ ์ฝ ๋ฒํผ ๋ฐ์ด๋๋ฆฌ ํ์์ด๋ JSON ํ์ผ๊ณผ ๊ฐ์ด ๋์ค์ ๊ฐ๋ณ ๊ฐ์ ์ถ์ถํ๊ธฐ๊ฐ ์ด๋ ค์ด ํ์์ ์ฌ์ฉํฉ๋๋ค.
row key๋ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์๋๋ก ์ ์คํ๊ฒ ์ค๊ณ๋์์ง๋ง ๊ฐ ํ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋จ์ผ protobuf์ ํ์ ๋ํ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ์ด์ด ํ ๊ฐ๋ง ์์ต๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์ด์ ๋ถ์ฐํ๋ ๋์ ์ด ํ๋์ protobuf ๋ฉ์์ง๋ก ์ ์ฅ์๋ ์ฅ๋จ์ ์ด ์์ต๋๋ค. ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฐ์ดํฐ๊ฐ ๊ณต๊ฐ์ ์ ๊ฒ ์ฐจ์งํ๋ฏ๋ก ๋ฐ์ดํฐ ์ ์ฅ ๋น์ฉ์ด ์ค์ด๋ญ๋๋ค.
- column family ๋ฐ column qualifier๋ฅผ ์ปค๋ฐํ์ง ์์ผ๋ฏ๋ก ์ ์ฐ์ฑ์ ์ผ์ ์์ค์ผ๋ก ์ ์งํ ์ ์์ต๋๋ค.
- ์ฝ๊ธฐ ์ ํ๋ฆฌ์ผ์ด์ ์์๋ ํ ์ด๋ธ ์คํค๋ง๊ฐ ๋ฌด์์ธ์ง๋ฅผ 'ํ์ธ'ํ ํ์๊ฐ ์์ต๋๋ค.
์ผ๋ถ ๋จ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- protobuf ๋ฉ์์ง๋ฅผ Bigtable์์ ์ฝ์ ํ์ ์ญ์ง๋ ฌํํด์ผ ํฉ๋๋ค.
- ํํฐ๋ฅผ ์ฌ์ฉํ์ฌ protobuf ๋ฉ์์ง์ ๋ฐ์ดํฐ๋ฅผ ์ฟผ๋ฆฌํ๋ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- Bigtable์์ protobuf ๋ฉ์์ง๋ฅผ ์ฝ์ ํ ์ด ๋ฉ์์ง ๋ด ํ๋์์ ์ ํด ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ๋ฐ BigQuery๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค์ ๋จ๊ณ
- ์๊ณ์ด ๋ฐ์ดํฐ์ ์คํค๋ง ์ค๊ณ
- ์คํค๋ง ๊ณํ๊ณผ ๊ด๋ จ๋ ๋จ๊ณ ๊ฒํ
- Bigtable์ ๋ณด๋ผ ์ ์๋ ์ฐ๊ธฐ ์์ฒญ ์ ํ ์์๋ณด๊ธฐ
- ์ง๊ณ ์ ์ ์ฌ์ฉํ์ฌ ์นด์ดํฐ ๊ตฌํํ๊ธฐ
- ๊ด๋ จ ํ ๋น๋ ๋ฐ ํ๋ ์ดํด๋ณด๊ธฐ