์ด ํ์ด์ง์์๋ Spanner ์ธ์คํด์ค ํํฐ์ ์ ๋ง๋ค๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
์ธ์คํด์ค ํํฐ์ ๋ง๋ค๊ธฐ
์ฝ์
Google Cloud ์ฝ์์์ Spanner ํ์ด์ง๋ฅผ ์ฝ๋๋ค.
์ธ์คํด์ค ํํฐ์ ์ ์ถ๊ฐํ ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
ํ์ ๋ฉ๋ด์์ ์ธ์คํด์ค ํํฐ์ ์ ์ ํํฉ๋๋ค.
์ธ์คํด์ค ํํฐ์ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ธ์คํด์ค ํํฐ์ ์ ์๊ตฌ ์๋ณํ ํํฐ์ ID๋ฅผ ์ ๋ ฅํฉ๋๋ค. ์ธ์คํด์ค ํํฐ์ ID๋Google Cloud ํ๋ก์ ํธ ๋ด์์ ๊ณ ์ ํด์ผ ํฉ๋๋ค. ์ธ์คํด์ค ํํฐ์ ID๋ ๋์ค์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๊ตฌ์ฑ ์ ํ ์น์ ์์ ๋ฆฌ์ ๋๋ ๋ฉํฐ ๋ฆฌ์ ์ ์ ํํฉ๋๋ค. ๋๋ ๋ฆฌ์ ๊ฐ ์ฌ์์ ๋น๊ตํ๋ ค๋ฉด ๋ฆฌ์ ๊ตฌ์ฑ ๋น๊ต๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋๋กญ๋ค์ด ๋ฉ๋ด์์ ๊ตฌ์ฑ์ ์ ํํฉ๋๋ค.
์ปดํจํ ์ฉ๋ ํ ๋น ์น์ ์ ๋จ์์์ ๋ค์ ์ค ํ๋๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ์์ ์ธ์คํด์ค ํํฐ์ ์ ๊ฒฝ์ฐ ์ฒ๋ฆฌ ๋จ์
- ํฐ ์ธ์คํด์ค์ ๊ฒฝ์ฐ ๋ ธ๋. ๋ ธ๋ ํ๋๋ ์ฒ๋ฆฌ ๋จ์ 1,000๊ฐ์ ๋๋ค.
์ ํํ ๋จ์์ ๊ฐ์ ์ ๋ ฅํฉ๋๋ค.
์ธ์คํด์ค ํํฐ์ ์ ์ต์ ๋ ธ๋ 1๊ฐ ๋๋ ์ฒ๋ฆฌ ๋จ์ 1,000๊ฐ ์ด์์ด ์์ด์ผ ํฉ๋๋ค.
๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ์ธ์คํด์ค ํํฐ์ ์ ๋ง๋ญ๋๋ค.
gcloud
์ธ์คํด์ค ํํฐ์
์ ๋ง๋ค๋ ค๋ฉด gcloud beta spanner instance-partitions create
๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud beta spanner instance-partitions create INSTANCE_PARTITION_ID \ --config=INSTANCE_PARTITION_CONFIG \ --description="INSTANCE_PARTITION_DESCRIPTION" \ --instance=INSTANCE_ID \ [--nodes=NODE_COUNT | --processing-units=PROCESSING_UNIT_COUNT]
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- INSTANCE_PARTITION_ID: Google Cloud ํ๋ก์ ํธ ๋ด์์ ๊ณ ์ ํ ์๊ตฌ ์ธ์คํด์ค ํํฐ์ ์๋ณ์์ ๋๋ค. ์ธ์คํด์ค ํํฐ์ ID๋ ๋์ค์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
- INSTANCE_PARTITION_CONFIG: ์ธ์คํด์ค ํํฐ์ ๊ตฌ์ฑ์ ์๊ตฌ ์๋ณ์๋ก, ์ธ์คํด์ค ํํฐ์ ์ ์ง๋ฆฌ์ ์์น๋ฅผ ์ ์ํ๊ณ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ์์น์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
- INSTANCE_PARTITION_DESCRIPTION: Google Cloud ์ฝ์์ ํ์๋๋ ์ธ์คํด์ค ํํฐ์ ์ด๋ฆ์ ๋๋ค. ์ธ์คํด์ค ํํฐ์ ์ด๋ฆ์ Google Cloud ํ๋ก์ ํธ ๋ด์์ ๊ณ ์ ํด์ผ ํฉ๋๋ค.
- INSTANCE_ID: ์ด ์ธ์คํด์ค ํํฐ์ ์ด ์๋ Spanner ์ธ์คํด์ค์ ์๊ตฌ ์๋ณ์์ ๋๋ค.
- NODE_COUNT: ์ธ์คํด์ค ํํฐ์ ์ ์ปดํจํ ์ฉ๋์ผ๋ก, ๋ ธ๋ ์๋ก ํํ๋ฉ๋๋ค. ๋ ธ๋ 1๊ฐ๋ ์ฒ๋ฆฌ ๋จ์ 1,000๊ฐ์ ๊ฐ์ต๋๋ค.
- PROCESSING_UNIT_COUNT: ์ธ์คํด์ค์ ์ปดํจํ ์ฉ๋์ผ๋ก์ ์ฒ๋ฆฌ ๋จ์ ์๋ก ํํ๋ฉ๋๋ค. ์ธ์คํด์ค ํํฐ์ ์ ์ฒ๋ฆฌ ๋จ์๊ฐ ์ต์ 1,000๊ฐ ์ด์ ์์ด์ผ ํฉ๋๋ค. ์๋์ 1,000์ ๋ฐฐ์(1,000, 2,000, 3,000 ๋ฑ)๋ก ์ ๋ ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด eur3
์ ๋
ธ๋ 5๊ฐ๊ฐ ์๋ ์ธ์คํด์ค ํํฐ์
europe-partition
์ ๋ง๋ค๋ ค๋ฉด ๋ค์์ ์คํํฉ๋๋ค.
gcloud beta spanner instance-partitions create europe-partition --config=eur3 \
--description="europe-partition" --instance=test-instance --nodes=5
ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
C++
Spanner์ฉ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Spanner ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
C#
Spanner์ฉ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Spanner ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
Go
Spanner์ฉ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Spanner ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
Java
Spanner์ฉ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Spanner ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
Node.js
Spanner์ฉ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Spanner ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
PHP
Spanner์ฉ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Spanner ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
Python
Spanner์ฉ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Spanner ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์ธ์คํด์ค ํํฐ์ ์ค๋ช
gcloud
์ธ์คํด์ค ํํฐ์
์ ์ค๋ช
ํ๋ ค๋ฉด gcloud beta spanner instance-partitions describe
๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud beta spanner instance-partitions describe PARTITION_ID \ --instance=INSTANCE_ID
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- INSTANCE_PARTITION_ID: ์ธ์คํด์ค ํํฐ์ ์ ์๊ตฌ ์๋ณ์์ ๋๋ค.
- INSTANCE_ID: ์ธ์คํด์ค์ ์๊ตฌ ์๋ณ์์ ๋๋ค.
์๋ฅผ ๋ค์ด ์ธ์คํด์ค ํํฐ์
europe-partition
์ ์ค๋ช
ํ๋ ค๋ฉด ๋ค์์ ์คํํฉ๋๋ค.
gcloud beta spanner instance-partitions describe europe-partition
--instance=test-instance
์ธ์คํด์ค ํํฐ์ ๋์ด
์ฝ์
Google Cloud ์ฝ์์์ Spanner ํ์ด์ง๋ฅผ ์ฝ๋๋ค.
๋ชฉ๋ก์์ ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
ํ์ ๋ฉ๋ด์์ ์ธ์คํด์ค ํํฐ์ ์ ์ ํํฉ๋๋ค.
ํด๋น ์ธ์คํด์ค์ ์ฐ๊ฒฐ๋ ์ธ์คํด์ค ํํฐ์ ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค.
gcloud
์ธ์คํด์ค ํํฐ์
์ ๋์ดํ๋ ค๋ฉด gcloud beta spanner instance-partitions list
๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud beta spanner instance-partitions list --instance=INSTANCE_ID
๊ทธ๋ฌ๋ฉด gcloud CLI์์ Spanner ์ธ์คํด์ค ํํฐ์ ๋ชฉ๋ก๊ณผ ํจ๊ป ๊ฐ ์ธ์คํด์ค ํํฐ์ ์ ID, ํ์ ์ด๋ฆ, ๊ตฌ์ฑ, ์ปดํจํ ์ฉ๋์ ์ถ๋ ฅํฉ๋๋ค.
์ธ์คํด์ค ํํฐ์ ์์
๋ค์ ์น์ ์์๋ ์ธ์คํด์ค ํํฐ์ ์ ์ปดํจํ ์ฉ๋์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ์ธ์คํด์ค ํํฐ์ ID, ์ด๋ฆ ๋๋ ๊ตฌ์ฑ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์ปดํจํ ์ฉ๋ ๋ณ๊ฒฝ
CPU ์ฌ์ฉ๋ฅ ๋ฐ ์คํ ๋ฆฌ์ง ์ฌ์ฉ๋ฅ ์ ๊ถ์ฅ ์ต๋๊ฐ ์๋๋ก ์ ์งํ ์ ์๋๋ก ์ปดํจํ ์ฉ๋์ ์ถฉ๋ถํ๊ฒ ํ๋ก๋น์ ๋ํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Spanner์ ํ ๋น๋ ๋ฐ ํ๋๋ฅผ ์ฐธ์กฐํ์ธ์.
์ธ์คํด์ค ํํฐ์ ์ ์ปดํจํ ์ฉ๋์ ๋๋ฆฌ๋ ค๋ฉดGoogle Cloud ํ๋ก์ ํธ์ ์ปดํจํ ์ฉ๋์ ์ถ๊ฐํ ์ ์์ ๋งํผ ์ถฉ๋ถํ ํ ๋น๋์ด ์์ด์ผ ํฉ๋๋ค. ์ฆ๊ฐ ์์ฒญ์ ์๋ฃํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์์ฒญ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ช ๋ถ ๋ด์ ์์ฒญ์ด ์๋ฃ๋ฉ๋๋ค. ๋๋ฌธ ๊ฒฝ์ฐ์ง๋ง ์์ง ํ์ฅ์ ์๋ฃํ๋ ๋ฐ ์ต๋ 1์๊ฐ๊น์ง ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ Spanner ํ์ด์ง๋ฅผ ์ฝ๋๋ค.
๋ชฉ๋ก์์ ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
ํ์ ๋ฉ๋ด์์ ์ธ์คํด์ค ํํฐ์ ์ ์ ํํฉ๋๋ค.
์ธ์คํด์ค ํํฐ์ ๋ชฉ๋ก์ ์์ ์ด์์ ์์ ๋๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ๊ณ ์์ ์ ์ ํํฉ๋๋ค.
์ธก์ ๋จ์(์ฒ๋ฆฌ ๋จ์ ๋๋ ๋ ธ๋)๋ฅผ ์ ํํ ํ ์๋์ ์ ๋ ฅํ์ฌ ์ปดํจํ ์ฉ๋์ ๋ณ๊ฒฝํฉ๋๋ค. ์ฒ๋ฆฌ ๋จ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์๋์ 1,000์ ๋ฐฐ์(1,000, 2,000, 3,000 ๋ฑ)๋ก ์ ๋ ฅํฉ๋๋ค. ๋ ธ๋ 1๊ฐ๋ ์ฒ๋ฆฌ ๋จ์ 1,000๊ฐ์ ๊ฐ์ต๋๋ค.
์ธ์คํด์ค ํํฐ์ ์ ๋ ธ๋๊ฐ ์ต์ ํ๋(์ฒ๋ฆฌ ๋จ์ 1,000๊ฐ) ์ด์ ์์ด์ผ ํฉ๋๋ค.
์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
ํ ๋น๋์ด ๋ถ์กฑํ์ฌ ์ปดํจํ ์ฉ๋์ ์ถ๊ฐํ ์ ์๋ค๋ ๋ํ์์๊ฐ ํ์๋๋ฉด ์๋ด์ ๋ฐ๋ผ ํ ๋น๋ ์ํฅ์ ์์ฒญํฉ๋๋ค.
gcloud
์ธ์คํด์ค ํํฐ์
์ ์ปดํจํ
์ฉ๋์ ๋ณ๊ฒฝํ๋ ค๋ฉด gcloud beta spanner instance-partitions update
๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ ๋ ์ปดํจํ
์ฉ๋์ ์ซ์, ๋
ธ๋ ๋๋ ์ฒ๋ฆฌ ๋จ์๋ก ์ง์ ํฉ๋๋ค.
gcloud beta spanner instance-partitions update INSTANCE_PARTITION_ID \ --instance=INSTANCE_ID \ [--nodes=NODE_COUNT | --processing-units=PROCESSING_UNIT_COUNT] [--async]
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- INSTANCE_PARTITION_ID: ์ธ์คํด์ค ํํฐ์ ์ ์๊ตฌ ์๋ณ์์ ๋๋ค.
- INSTANCE_ID: ์ธ์คํด์ค์ ์๊ตฌ ์๋ณ์์ ๋๋ค.
- NODE_COUNT: ์ธ์คํด์ค ํํฐ์ ์ ์๋ก์ด ์ปดํจํ ์ฉ๋์ผ๋ก, ๋ ธ๋ ์๋ก ํํ๋ฉ๋๋ค. ๋ ธ๋ 1๊ฐ๋ ์ฒ๋ฆฌ ๋จ์ 1,000๊ฐ์ ๊ฐ์ต๋๋ค.
- PROCESSING_UNIT_COUNT: ์ธ์คํด์ค ํํฐ์ ์ ์๋ก์ด ์ปดํจํ ์ฉ๋์ผ๋ก, ์ฒ๋ฆฌ ๋จ์ ์๋ก ํํ๋ฉ๋๋ค. ์ธ์คํด์ค ํํฐ์ ์ ์ฒ๋ฆฌ ๋จ์๊ฐ ์ต์ 1,000๊ฐ ์ด์ ์์ด์ผ ํฉ๋๋ค. ์๋์ 1,000์ ๋ฐฐ์(1,000, 2,000, 3,000 ๋ฑ)๋ก ์ ๋ ฅํฉ๋๋ค.
์ ํ์ ํ๋๊ทธ:
--async
: ์งํ ์ค์ธ ์์ ์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์์ฒญ์ด ์ฆ์ ๋ฐํ๋๋๋ก ํ๋ ค๋ฉด ์ด ํ๋๊ทธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud spanner operations describe
๋ฅผ ์คํํ์ฌ ์์ฒญ ์ํ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
์ธ์คํด์ค ํํฐ์ ์ญ์
๋ฐฐ์น ๋๋ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ๋ ์ํ์์๋ ์ธ์คํด์ค ํํฐ์ ์ ์ญ์ ํ ์ ์์ต๋๋ค. ์ธ์คํด์ค ํํฐ์ ์ ์ญ์ ํ๋ ค๋ฉด ๋จผ์ ์ธ์คํด์ค ํํฐ์ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ด๋ํ๊ฑฐ๋ ์ธ์คํด์ค ํํฐ์ ์ ์ฌ์ฉํ๋ ๋ฐฐ์น ํ ์ด๋ธ์ ์ญ์ ํด์ผ ํฉ๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ Spanner ํ์ด์ง๋ฅผ ์ฝ๋๋ค.
๋ชฉ๋ก์์ ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
ํ์ ๋ฉ๋ด์์ ์ธ์คํด์ค ํํฐ์ ์ ์ ํํฉ๋๋ค.
์ธ์คํด์ค ํํฐ์ ๋ชฉ๋ก์ ์์ ์ด์์ ์์ ๋๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ๊ณ ์ญ์ ๋ฅผ ์ ํํฉ๋๋ค.
์๋ด์ ๋ฐ๋ผ ์ธ์คํด์ค ํํฐ์ ์ ์ญ์ ํ ๊ฒ์ธ์ง ํ์ธํฉ๋๋ค.
์ญ์ ๋ฅผ ํด๋ฆญํฉ๋๋ค.
gcloud
gcloud beta spanner instance-partitions delete
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud beta spanner instance-partitions delete INSTANCE_PARTITION_ID --instance=INSTANCE_ID
๋ค์ ๋จ๊ณ
- ๋ฐฐ์น ํ ์ด๋ธ ๋ฐ ํค๋ฅผ ๋ง๋ค๊ณ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ