๋ณ๊ฒฝ ๋ด์ญ ๊ฐ์
Bigtable์ ๋ณ๊ฒฝ ๋ด์ญ ๊ธฐ๋ฅ์ ํตํด ๋ณ๊ฒฝ ๋ฐ์ดํฐ ์บก์ฒ(CDC)๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ณ๊ฒฝ ๋ด์ญ์ ๋ณ๊ฒฝ์ฌํญ์ด ๋ฐ์ํ ๋ Bigtable ํ ์ด๋ธ์ ๋ํ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ฌํญ์ ์บก์ฒํ์ฌ ์ฒ๋ฆฌ ๋๋ ๋ถ์์ ์ํด ์คํธ๋ฆฌ๋ฐํฉ๋๋ค.
์ด ๋ฌธ์์์๋ Bigtable ๋ณ๊ฒฝ ์คํธ๋ฆผ์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ค๋ช ํฉ๋๋ค. ์ด ๋ฌธ์๋ฅผ ์ฝ๊ธฐ ์ ์ Bigtable ๊ฐ์๋ฅผ ์์งํด์ผ ํฉ๋๋ค.
๋ณ๊ฒฝ ์คํธ๋ฆผ์ ๋ค์์ ๋น๋กฏํ CDC ์ฌ์ฉ ์ฌ๋ก์ ์ ์ฉํฉ๋๋ค.
- ์ง์ ๋ ๋ณ๊ฒฝ์ฌํญ์ด ๋ฐ์ํ ๋ ๋ค์ด์คํธ๋ฆผ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง ํธ๋ฆฌ๊ฑฐ
- ๋ฐ์ดํฐ ๋ถ์ ํ์ดํ๋ผ์ธ๊ณผ์ ํตํฉ
- ๊ฐ์ฌ ๋ฐ ๋ณด๊ด ์๊ตฌ์ฌํญ ์ง์
๋ณ๊ฒฝ ๋ด์ญ์ด๋?
๋ณ๊ฒฝ ๋ด์ญ์ ์ผ๋ฐ์ ์ผ๋ก Cloud Bigtable ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ํํ ํ ์ด๋ธ ์์ค์ ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํฉ๋๋ค. ๊ฐ๋น์ง ์ปฌ๋ ์ ๋ณ๊ฒฝ์ฌํญ๋ ์บก์ฒ๋ฉ๋๋ค.
๋ณ๊ฒฝ ๋ด์ญ์ด ์ฌ์ฉ ์ค์ ๋ ํ ์ด๋ธ์ ์ ์ฉ๋ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋๋ก ์ ์ฅ๋ฉ๋๋ค. ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋์๋ ๋ค์์ ํตํด ์ ์ฉ๋๋ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ฌํญ์ด ํฌํจ๋ฉ๋๋ค.
- Cloud Bigtable API ๋ฉ์๋
MutateRow
,MutateRows
,CheckAndMutateRow
,ReadModifyWriteRow
๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ก๋๋ ์ฐ๊ธฐ, ์ญ์ , ์ ๋ฐ์ดํธ - ๊ฐ๋น์ง ์ปฌ๋ ์ ์ผ๋ก ์ธํ ์ญ์
- Admin API์
DropRowRange
๋ฉ์๋๋ฅผ ์ฌ์ฉํ ํ ์ญ์
Bigtable ํ ์ด๋ธ๋ก ์ ์กํ ์ ์๋ ๋ณ๊ฒฝ ์ ํ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ฝ๊ธฐ, ์ฐ๊ธฐ, ์ญ์ , ๊ฐ๋น์ง ์ปฌ๋ ์ ๊ฐ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ณ๊ฒฝ ๋ด์ญ์ column family ์ถ๊ฐ ๋๋ ์์ ๊ณผ ๊ฐ์ ์คํค๋ง ๋ณ๊ฒฝ์ฌํญ์ด๋ ํด๋ฌ์คํฐ ์ถ๊ฐ ๋๋ ์ญ์ ์ ๊ฐ์ ๋ณต์ ํ ํด๋ก์ง๋ฅผ ์ถ์ ํ์ง ์์ต๋๋ค.
๊ฐ ํ ํค ๋ฐ ๊ฐ ํด๋ฌ์คํฐ์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋๋ ์ปค๋ฐ ํ์์คํฌํ ์์์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ค๋ฅธ ํ ํค ๋๋ ํด๋ฌ์คํฐ์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋ ์์๋ ๋ณด์ฅ๋์ง ์์ต๋๋ค.
ํ ์ด๋ธ์์ ๋ณ๊ฒฝ ๋ด์ญ์ ์ฌ์ฉ ์ค์ ํ๊ณ ๋ณด๊ด ๊ธฐ๊ฐ์ 1~7์ผ๋ก ์ง์ ํฉ๋๋ค.
๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋์ ํฌํจ๋๋ ํญ๋ชฉ
๊ฐ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋์๋ ๋จ์ผ RPC ํธ์ถ์ ์ผ๋ถ๋ก ์์์ ์ผ๋ก ์ ์ฉ๋ ํ์ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ด ํฌํจ๋ฉ๋๋ค.
๊ฐ์ด ๋ฎ์ด์ฐ๊ธฐ๋๋ฉด ์๋ก ์์ฑ๋ ๊ฐ์ด ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋์ ๊ธฐ๋ก๋ฉ๋๋ค. ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋์ ์ด์ ๊ฐ์ ํฌํจ๋์ง ์์ต๋๋ค.
๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋๋ ๋ณ๊ฒฝ์ฌํญ์ ์์ ํ๋ ์ฒซ ๋ฒ์งธ ํด๋ฌ์คํฐ์ ๋ณ๊ฒฝ์ฌํญ์ด ์ ์ฉ๋๋ ์์ ์ ์ปค๋ฐ ํ์์คํฌํ๋ผ๋ ํ์์คํฌํ๋ฅผ ์์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ํด๋ฌ์คํฐ๊ฐ 2๊ฐ ์๋ ์ธ์คํด์ค๋ฅผ ์๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. ํด๋ฌ์คํฐ A์ ํ ์ด๋ธ 1์ ์ฐ๊ธฐ ์์ฒญ์ ๋ณด๋ด๋ฉด ํด๋ฌ์คํฐ A๊ฐ ์ฐ๊ธฐ๋ฅผ ์์ ํ ๋ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋ ์ปค๋ฐ ํ์์คํฌํ๊ฐ ํ ๋น๋๊ณ ์ด ์ฐ๊ธฐ์ ๋ํ ํด๋ฌ์คํฐ B์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋์ ๋์ผํ ์ปค๋ฐ ํ์์คํฌํ๊ฐ ์์ฑ๋ฉ๋๋ค.
๊ฐ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
- ํญ๋ชฉ - ๋ค์ ์ค ํ๋ ์ด์์ ํฌํจํ ํ์ ์ ์ฉ๋ ๋ณ๊ฒฝ์ฌํญ์
๋๋ค.
- ์ฐ๊ธฐ
- Column family
- column qualifier
- ํ์์คํฌํ
- ๊ฐ์น
- ์
์ญ์
- Column family
- column qualifier
- ํ์์คํฌํ ๋ฒ์
- column family ์ญ์
- Column family
- ํ ์ญ์ - ํ ์ญ์ ๋ ํ์ ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฐ column family์ column family ์ญ์ ๋ชฉ๋ก์ผ๋ก ๋ณํ๋ฉ๋๋ค.
- ์ฐ๊ธฐ
- ํ ํค - ๋ณ๊ฒฝ๋ ํ์ ์๋ณ์
- ๋ณ๊ฒฝ ์ ํ - ์ฌ์ฉ์ ์์ ๋๋ ๊ฐ๋น์ง ์ปฌ๋ ์
- ๋ณ๊ฒฝ์ฌํญ์ ์์ ํ ํด๋ฌ์คํฐ์ ID์ ๋๋ค.
- ์ปค๋ฐ ํ์์คํฌํ - ๋ณ๊ฒฝ์ฌํญ์ด ํ ์ด๋ธ์ ์ปค๋ฐ๋ ์๋ฒ ์ธก ์๊ฐ
- Tie breaker - ์คํธ๋ฆผ์ ์ฝ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด Bigtable์ ๊ธฐ๋ณธ ์ ๊ณต ์ถฉ๋ ํด๊ฒฐ ์ ์ฑ ์ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ
- ํ ํฐ - ์ค๋จ๋ ๊ฒฝ์ฐ ์ฌ์ฉ ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์คํธ๋ฆผ์ ์ฌ๊ฐํ๋ ๋ฐ ์ฌ์ฉ๋จ
- ๋ฎ์ ์์ ์ํฐ๋งํฌ - ๋ ์ฝ๋ ํํฐ์ ์ด ๋ชจ๋ ํด๋ฌ์คํฐ์์ ๋ณต์ ๋ฅผ ๋ฐ๋ผ์ก์ ํ ๊ฒฝ๊ณผ๋ ์์ ์๊ฐ. ์์ธํ ๋ด์ฉ์ ํํฐ์ ๋ฐ ์ํฐ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋์ ํ๋์ ๊ดํ ์์ธํ ๋ด์ฉ์ DataChange
์ API ์ฐธ์กฐ๋ฅผ ํ์ธํ์ธ์.
๋ณ๊ฒฝ ๋ด์ญ ์ ์ฅ์
ํ ์ด๋ธ๊ณผ ๋ณ๊ฒฝ ์คํธ๋ฆผ์ ๋ ธ๋ ๋ฐ ์คํ ๋ฆฌ์ง๋ฅผ ๋น๋กฏํ ๋์ผํ ํด๋ฌ์คํฐ ์์ค ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ณ๊ฒฝ ๋ด์ญ ๋ฐ์ดํฐ ์ ์ฅ์๋ ํ ์ด๋ธ ์ ์ฅ์์ ์ผ๋ถ์ ๋๋ค. ๋ณต์ ๋ฅผ ์ฌ์ฉํ๋ ์ธ์คํด์ค์์๋ ๋ณ๊ฒฝ ๋ด์ญ์ ๋ฐ์ดํฐ ์ฌ๋ณธ์ด ๋ณ๊ฒฝ ๋ด์ญ์ด ์ฌ์ฉ ์ค์ ๋ ํ ์ด๋ธ์ด ํฌํจ๋ ์ธ์คํด์ค์ ๋ชจ๋ ํด๋ฌ์คํฐ์ ์ ์ฅ๋ฉ๋๋ค.
๋ณ๊ฒฝ ๋ด์ญ ๋ฐ์ดํฐ์ ์ฌ์ฉ๋๋ ์คํ ๋ฆฌ์ง๋ ์ด ์คํ ๋ฆฌ์ง ์ฌ์ฉ๋ฅ (์ต๋ ๋น์จ)์ ํฌํจ๋์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ณ๊ฒฝ ๋ด์ญ ๋ฐ์ดํฐ๊ฐ ์๋นํ๋ ์ฆ๊ฐ๋ ์คํ ๋ฆฌ์ง๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ ธ๋๋ฅผ ์ถ๊ฐํ ํ์๊ฐ ์์ต๋๋ค(์ถ๊ฐ ์ปดํจํ ์ฑ๋ฅ์ ์ํด ๋ ธ๋๋ฅผ ์ถ๊ฐํด์ผ ํ ์๋ ์์). ํ์ง๋ง ๋ณ๊ฒฝ ๋ด์ญ ๋ฐ์ดํฐ๊ฐ ์๋นํ๋ ์คํ ๋ฆฌ์ง์ ๋ํ ์๊ธ์ด ๋ถ๊ณผ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋น์ฉ ๊ณ ๋ ค์ฌํญ์ ์ฐธ๊ณ ํ์ธ์.
๋ณ๊ฒฝ ๋ด์ญ ์ฝ๊ธฐ
๋ณ๊ฒฝ ๋ด์ญ์ ์ฝ์ผ๋ ค๋ฉด(์คํธ๋ฆฌ๋ฐ) ๋จ์ผ ํด๋ฌ์คํฐ ๋ผ์ฐํ ์ฉ์ผ๋ก ๊ตฌ์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋กํ์ ์ฌ์ฉํด์ผ ํ๋ฉฐ Dataflow๋ฅผ ์ฌ์ฉํ์ฌ ์คํธ๋ฆฌ๋ฐํ๋ ๊ฒฝ์ฐ ๋จ์ผ ํ ํธ๋์ญ์ ์ ์ฌ์ฉ ์ค์ ํด์ผ ํฉ๋๋ค.
๋ผ์ฐํ ์ ์ฑ ์ ๊ดํ ์์ธํ ๋ด์ฉ์ ๋ผ์ฐํ ์ต์ ์ ์ฐธ๊ณ ํ์ธ์.
๋จ์ผ ํ ํธ๋์ญ์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋จ์ผ ํ ํธ๋์ญ์ ์ ์ฐธ์กฐํ์ธ์.
๋ณ๊ฒฝ ๋ด์ญ ๋ฉ์๋๋ Cloud Bigtable API(Data API)์์ ์ ๊ณตํฉ๋๋ค. ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ ์ปค๋ฅํฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ API๋ฅผ ํธ์ถํ๋ ๋์ ๋ค์ ์ต์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- Dataflow ํ ํ๋ฆฟ
- Bigtable Beam ์ปค๋ฅํฐ
- Java ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ชจ๋ ์ต์ ์ ์ฌ์ฉํ๋ฉด ๋ถํ ๋ฐ ๋ณํฉ์ผ๋ก ์ธํ ํํฐ์ ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํ๊ณ ์ฒ๋ฆฌํ ํ์๊ฐ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ReadChangeStream
๋ฅผ ์ฐธ์กฐํ์ธ์.
Dataflow ํ ํ๋ฆฟ
Google์์ ์ ๊ณตํ๋ ๋ค์ Dataflow ํ ํ๋ฆฟ ์ค ํ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Bigtable Beam ์ปค๋ฅํฐ
Bigtable Beam ์ปค๋ฅํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ดํ๋ผ์ธ์ ๋น๋ํ ์ ์์ต๋๋ค.
์์ฒด ํ์ดํ๋ผ์ธ์ ๋น๋ํ์ง ์์ผ๋ ค๋ฉด Bigtable ํํ ๋ฆฌ์ผ ๋๋ ๋น ๋ฅธ ์์์ ์ฝ๋ ์ํ์ ์ฝ๋์ ์์์ ์ผ๋ก ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
Java ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
ํํฐ์
Bigtable์ ๋์ ์ฐ๊ธฐ ๋๋ ๋ณ๊ฒฝ ๋น์จ๊ณผ ์ผ์นํ๋ ๋์ ์ฝ๊ธฐ ์ฒ๋ฆฌ๋์ ์ ์งํ๊ธฐ ์ํด ๋ณ๊ฒฝ ๋ด์ญ์ ๋์์ ์ฝ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ์ฌ๋ฌ ํํฐ์ ์ผ๋ก ๋ณ๊ฒฝ ๋ด์ญ์ ๋๋๋๋ค. ๊ฐ ๋ณ๊ฒฝ ๋ด์ญ ํํฐ์ ์ ํ๋ธ๋ฆฟ๊ณผ ์ฐ๊ฒฐ๋ฉ๋๋ค. ํ๋ธ๋ฆฟ์ ํ ์ด๋ธ ์์ฒญ ์ํฌ๋ก๋์ ๊ท ํ์ ๋ง์ถ๊ธฐ ์ํด ํ์์ ๋ฐ๋ผ ๋ค์ ๋ถ์ฐ๋๋ ํ ์ด๋ธ์ ํ์ ์น์ ์ ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ถํ ๋ถ์ฐ์ ์ฐธ๊ณ ํ์ธ์.
Java ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ ํํฐ์ ์ ๋ณ๊ฒฝ์ฌํญ์ ์ฟผ๋ฆฌํ๊ณ ๋ถํ ๋ฐ ๋ณํฉ์ผ๋ก ์ธํ ํํฐ์ ๋ณ๊ฒฝ์ฌํญ์ ๊ด๋ฆฌํ๋ ๋ฐ ํ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ํฐ๋งํฌ
์ํฐ๋งํฌ๋ ํํฐ์ ์ด ๋ชจ๋ ํด๋ฌ์คํฐ์์ ๋ณต์ ๋ฅผ ๋ฐ๋ผ์ก์ ์ต๊ทผ ์๊ฐ์ ์ถ์ ํ๋ ํ์์คํฌํ์ ๋๋ค. ํํฐ์ ์ ์ํฐ๋งํฌ๋ ๋ณต์ ๊ฐ ๋ฐ์ํจ์ ๋ฐ๋ผ ์ง์์ ์ผ๋ก ์ ๋ฐ์ดํธ๋๋ฉฐ ์๊ฐ์ด ์ง๋๋ฉด์ ์งํ๋ฉ๋๋ค
๊ฐ ChangeStreamMutation
(๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋)์๋ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋์ ์ฐ๊ฒฐ๋ ํํฐ์
์ ์ํฐ๋งํฌ์ธ estimatedLowWatermark
ํ๋๊ฐ ํฌํจ๋ฉ๋๋ค. ์ด estimatedLowWatermark
๋ ์ถ์ ์น์ด๋ฉฐ ์คํธ๋ฆผ์ ์์ง ๋์ฐฉํ์ง ์์ ๋ฐ์ดํฐ๊ฐ ์๋ค๊ณ ๋ณด์ฅํ์ง ์์ต๋๋ค.
๋ณต์ ๋ ํ ์ด๋ธ์ ์ํฐ๋งํฌ
๋ณต์ ๊ฐ ํํฐ์
์ ์์ ํ ๋ฐ๋ผ์ก์ง ์์ผ๋ฉด ํํฐ์
์ estimatedLowWatermark
(๋ฎ์ ์ํฐ๋งํฌ)๊ฐ ์งํ๋์ง ์์ต๋๋ค. ๋ชจ๋ ํํฐ์
์์ค์ ๋ฎ์ ์์ ์ํฐ๋งํฌ ์ค ๊ฐ์ฅ ๋ฎ์ ์ํฐ๋งํฌ์ธ ์คํธ๋ฆผ ์ ์ฒด์ ๋ฎ์ ์ํฐ๋งํฌ๋ ํํฐ์
์ ์ํฐ๋งํฌ๊ฐ ๋ ์ด์ ์งํ๋์ง ์์ผ๋ฉด ์งํ์ ์ค์งํฉ๋๋ค. ์งํ์ ์ค์งํ ์ํฐ๋งํฌ๋ ์ค๋จ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ํ์ดํ๋ผ์ธ์์ ๋ณ๊ฒฝ ๋ด์ญ์ ์คํธ๋ฆฌ๋ฐํ๋ฉด ํ์ดํ๋ผ์ธ์ด ์ค๋จ๋ฉ๋๋ค.
๋ค์์ ๋น๋กฏํ์ฌ ์ฌ๋ฌ ๊ฐ์ง ์์ธ์ผ๋ก ์ธํด ํ๋ ์ด์์ ํํฐ์ ์์ค ์ํฐ๋งํฌ๊ฐ ์ผ์ ์๊ฐ ๋์ ์ค๋จ๋ ์ ์์ต๋๋ค.
- ํ๋ ์ด์์ ํํฐ์ ์์ ๋ณต์ ๊ฐ ์ง์ฐ๋๋๋ก ํ๋ ํธ๋ํฝ์ผ๋ก ํด๋ฌ์คํฐ๋ฅผ ์ค๋ฒ๋ก๋
- ๋คํธ์ํฌ ์ง์ฐ
- ํด๋ฌ์คํฐ ์ฌ์ฉ ๋ถ๊ฐ
Bigtable Beam ์ปค๋ฅํฐ๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ถ๋ ฅ ํ์์คํฌํ๋ฅผ 0์ผ๋ก ์ค์ ํ์ฌ ์ด๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ด๋ฒคํธ ์๊ฐ ์์ด ๋ฐ์ดํฐ ๊ทธ๋ฃนํ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ชจ๋ํฐ๋ง
๋ณ๊ฒฝ ๋ด์ญ์ ์ฌ์ฉ ์ค์ ํ๋ฉด ๋ณ๊ฒฝ ๋ด์ญ์ด ์ฌ์ฉ ์ค์ ๋ ํ ์ด๋ธ์ด ํฌํจ๋ ์ธ์คํด์ค์ CPU ๋ฐ ์คํ ๋ฆฌ์ง ์ฌ์ฉ๋์ ์ด๋ค ์ํฅ์ ๋ฏธ์น๋์ง ์ดํดํ ์ ์๋๋ก ๋ ๊ฐ์ง ๋ณ๊ฒฝ ๋ด์ญ๋ณ ์ธก์ ํญ๋ชฉ์ ์ ๊ณตํฉ๋๋ค. Bigtable ์์คํ ํต๊ณ ํ์ด์ง์์ ๋๋ Cloud Monitoring ๋๊ตฌ ๋ชจ์์ ์ฌ์ฉํ์ฌ ์ด ์ธก์ ํญ๋ชฉ์ ๋ณผ ์ ์์ต๋๋ค.
- ๋ณ๊ฒฝ ๋ด์ญ ๋ ์ฝ๋์ ์ฌ์ฉ๋ ๋ฐ์ดํธ(
change_stream_log_used_bytes
) - ๋ณ๊ฒฝ ๋ด์ญ๋ณ CPU ์ฌ์ฉ๋ฅ (
cpu_load_by_app_profile_by_method_by_table
์ฌ์ฉ)
์ด๋ฌํ ์ธก์ ํญ๋ชฉ์ ๊ดํ ์์ธํ ๋ด์ฉ์ ๋ชจ๋ํฐ๋ง์ ์ฐธ๊ณ ํ์ธ์.
๋น์ฉ ๊ณ ๋ ค์ฌํญ
ํ ์ด๋ธ์ ๋ณ๊ฒฝ ๋ด์ญ์ ์ฌ์ฉ ์ค์ ํ๋ฉด ๋ ธ๋ ๋ฐ ์คํ ๋ฆฌ์ง ๋น์ฉ์ด ์ฆ๊ฐํฉ๋๋ค. ํนํ ์คํ ๋ฆฌ์ง ๋น์ฉ์ด ๋ ๋ง์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ ธ๋
์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋๋ฅผ ์ฌ์ฉ ์ค์ ๋ฐ ์ฒ๋ฆฌํ๋ ์ถ๊ฐ ํธ๋ํฝ์ ์ฒ๋ฆฌํ๋ ค๋ฉด ํด๋ฌ์คํฐ์ ๋ ธ๋๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค(๋๋ ์๋ ํ์ฅ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ต๋ ๋ ธ๋ ์๋ฅผ ๋๋ ค์ผ ํจ).
๋ณ๊ฒฝ ๋ด์ญ์ ์ฌ์ฉ ์ค์ ํ๋ฉด ์ฒ๋ฆฌ๋ฅผ ์์ํ๊ธฐ ์ ์ด๋๋ผ๋ CPU ์ฌ์ฉ๋์ด ์ฝ 10% ์ฆ๊ฐํ ์ ์์ต๋๋ค. Dataflow ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ์ฌ ์ฝ๋ ๋ฑ ๋ณ๊ฒฝ ๋ด์ญ์ ์ฒ๋ฆฌํ๋ฉด ๋ณ๊ฒฝ ํ๋ ์์ค๊ณผ ์คํธ๋ฆผ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๋ฐฉ์์ ๋ฐ๋ผ CPU ์ฌ์ฉ๋ฅ ์ด ์ฝ 20~30%๊น์ง ๋์ด๋ ์ ์์ต๋๋ค.
์คํ ๋ฆฌ์ง
ํ ์ด๋ธ์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋๋ฅผ ์ ์ฅํ๋ ๋ฐ ํ์ค Bigtable ์คํ ๋ฆฌ์ง ์๊ธ์ด ์ฒญ๊ตฌ๋ฉ๋๋ค. ๋ณ๊ฒฝ ๋ด์ญ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ถ์ ํ๊ธฐ ์ํด ๋ง๋ ํ ์ด๋ธ์ ์ ์ฅํ๋ ๊ฒฝ์ฐ์๋ ์๊ธ์ด ์ฒญ๊ตฌ๋ฉ๋๋ค. ์ง์ ํ ๋ณด๊ด ๊ธฐ๊ฐ์ ์คํ ๋ฆฌ์ง ๋น์ฉ์ ์ง์ ์ ์ธ ์ํฅ์ ์ค๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ํด๋น ๋ ์ง์ ๋ฐ์ํ ๋ณํ๋ง ๋ฐ์ํ๋ ํ๋ฃจ ๋ถ๋์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋๋ ํด๋น ๋ ์ง์ ๊ธฐ๋ก๋ ๋ฐ์ดํฐ๊ฐ ๋์คํฌ์์ ์๋นํ๋ ์คํ ๋ฆฌ์ง์ ์ฝ 1.5๋ฐฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋คํธ์ํฌ ๋ฐ์ดํฐ ์ ์ก
๋ฆฌ์ ๊ฐ ๋ณ๊ฒฝ ์คํธ๋ฆผ์ ์ฝ์์ผ๋ฉด ์ด ํธ๋ํฝ ๋น์ฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ๋คํธ์ํฌ ๋ฐ์ดํฐ ์ ์ก ๊ฐ๊ฒฉ ์ ์ฒด ๋ชฉ๋ก์ Bigtable ๊ฐ๊ฒฉ ์ฑ ์ ์์ ๋คํธ์ํฌ ์น์ ์ ์ฐธ๊ณ ํ์ธ์.
์ฒ๋ฆฌ ๋น์ฉ
๋ฐ์ดํฐ ๋ณ๊ฒฝ ๋ ์ฝ๋๋ฅผ ์ฝ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ Bigtable ์ด์ธ์ ์๋น์ค์ ๋ํ ์ถ๊ฐ ๋น์ฉ์ด ์ ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด Dataflow๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฒ๋ฆฌ๋๋ ๋ฐ์ดํธ์ ์์ ์ ์ฒ๋ฆฌํ๋ ์์ปค ๋จธ์ ์ ๋ํ ๋น์ฉ์ ์ง๋ถํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Dataflow ๊ฐ๊ฒฉ ์ฑ ์ ์ ์ฐธ๊ณ ํ์ธ์.
ํ ๋ฒ์ ์ญ์
๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ณ๊ฒฝ ๋ด์ญ์ด ์ฌ์ฉ ์ค์ ๋ ํ ์ด๋ธ์์ ํ ๋ฒ์๋ฅผ ์ญ์ ํ์ง ๋ง์ธ์. ํ ๋ฒ์๋ฅผ ์ญ์ ํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ Bigtable์ด ์์ ์ ์๋ฃํ๋ ๋ฐ ์ค๋ ๊ฑธ๋ฆด ์ ์์ผ๋ฉฐ ์์ ์ค CPU ์ฌ์ฉ๋์ด ์ฆ๊ฐํ๋ ์ ์ํ์ธ์.
๋ค์ ๋จ๊ณ
- ๋น ๋ฅธ ์์์ ์๋ฃํ์ฌ ๋ณ๊ฒฝ ๋ด์ญ์ ์ฌ์ฉ ์ค์ ํ๊ณ ๋ณ๊ฒฝ์ฌํญ์ ํ์ธํ๋ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ
- ๋ณ๊ฒฝ ๋ด์ญ ๊ตฌ์ฑ
- Bigtable Beam ์ปค๋ฅํฐ๋ฅผ ์ฌ์ฉํด Dataflow๋ก ๋ณ๊ฒฝ ๋ด์ญ ์ฝ๊ธฐ
- Java์ฉ Cloud Bigtable ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ ๋ด์ญ ์ฝ๊ธฐ
- ๋ณ๊ฒฝ ๋ด์ญ ์ฒ๋ฆฌ์ ๋ํ ํํ ๋ฆฌ์ผ ์ดํด๋ณด๊ธฐ