이 페이지에서는 Spanner에서 데이터 배치를 만들고 관리하는 방법을 설명합니다.
지역 파티셔닝 작동 방식에 대한 자세한 내용은 지역 파티셔닝 개요를 참조하세요.
데이터 배치 만들기
Spanner 파티션과 데이터베이스를 만든 후 배치를 만듭니다.
콘솔
Google Cloud 콘솔에서 인스턴스 페이지로 이동합니다.
사용자가 만든 파티션이 있는 인스턴스를 선택합니다.
데이터를 파티셔닝할 데이터베이스를 선택합니다.
탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
Spanner 스튜디오 페이지에서
새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.CREATE PLACEMENT
(GoogleSQL, PostgreSQL) DDL 문을 입력합니다.예를 들어 다음을 실행하여
europe-partition
파티션에europeplacement
배치 테이블을 만들 수 있습니다.GoogleSQL
CREATE PLACEMENT `europeplacement` OPTIONS (instance_partition="europe-partition");
PostgreSQL
CREATE PLACEMENT europeplacement WITH (instance_partition='europe-partition');
선택사항: 객체 탐색기 창을 사용하여 배치 객체를 보고 검색하며 상호작용할 수도 있습니다. 자세한 내용은 데이터 탐색을 참조하세요.
실행을 클릭합니다.
gcloud
gcloud CLI 명령어로 배치를 만들려면 gcloud spanner databases ddl update
를 사용합니다.
예를 들어 europe-partition
파티션에 배치를 만듭니다.
GoogleSQL
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="CREATE PLACEMENT europeplacement OPTIONS (instance_partition='europe-partition')"
PostgreSQL
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="CREATE PLACEMENT europeplacement WITH (instance_partition='europe-partition')"
데이터 배치 삭제
배치를 삭제할 수 없습니다. 배치와 관련 데이터를 삭제하려면 데이터베이스를 삭제해야 합니다. 자세한 내용은 데이터베이스 삭제를 참조하세요.
배치 키가 있는 테이블 만들기
Console
- 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
- Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.
CREATE TABLE
(GoogleSQL, PostgreSQL) DDL 문을 입력합니다.예를 들어 배치 키를 사용하여 가수 데이터를 파티셔닝하는
Singers
테이블을 만들 수 있습니다.GoogleSQL
CREATE TABLE Singers ( SingerId INT64 NOT NULL, SingerName STRING(MAX) NOT NULL, ... Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId);
PostgreSQL
CREATE TABLE Singers ( SingerId bigint PRIMARY KEY, SingerName varchar(1024), ... Location varchar(1024) NOT NULL PLACEMENT KEY );
gcloud
테이블을 만들려면 gcloud spanner databases ddl update
를 사용합니다.
예를 들어 배치 키를 사용하여 가수 데이터를 파티셔닝하는 Singers
테이블을 만들 수 있습니다.
GoogleSQL
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="CREATE TABLE Singers ( SingerId INT64 NOT NULL, SingerName STRING(MAX) NOT NULL, Location STRING(MAX) NOT NULL PLACEMENT KEY ) PRIMARY KEY (SingerId);"
PostgreSQL
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="CREATE TABLE Singers ( SingerId bigint PRIMARY KEY, SingerName varchar(1024), Location varchar(1024) NOT NULL PLACEMENT KEY );"
배치 키가 있는 테이블 수정
테이블에서 배치 키를 삭제할 수 없습니다. 또한 테이블이 생성된 후에는 배치 키를 테이블에 추가할 수 없습니다. 하지만 ALTER TABLE
(GoogleSQL, PostgreSQL) DDL 문을 사용하여 테이블의 다른 필드를 변경할 수 있습니다(예: 배치가 아닌 키 열 추가 및 삭제).
배치 키가 있는 테이블 삭제
배치 키가 있는 테이블을 삭제하려면 먼저 다음을 실행해야 합니다.
- 배치 테이블의 모든 행을 삭제합니다.
- 데이터베이스의
version_retention_period
가 통과할 때까지 기다립니다. 자세한 내용은 PITR(point-in-time recovery)을 참조하세요. 그런 후 다음 단계를 수행합니다.
콘솔
- 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
- Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.
DROP TABLE
(GoogleSQL, PostgreSQL) DDL 문을 입력합니다.예를 들어
Singers
테이블을 삭제합니다.DROP TABLE Singers;
gcloud
테이블을 삭제하려면 gcloud spanner databases ddl update
를 사용합니다.
예를 들어 Singers
테이블을 삭제합니다.
gcloud spanner databases ddl update example-db \
--instance=test-instance \
--ddl="DROP TABLE Singers"
배치 테이블에 행 삽입
콘솔
- 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
- Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.
INSERT INTO
(GoogleSQL, PostgreSQL) DDL 문을 입력합니다.예를 들어 가수 마크 리차드스를
Singers
테이블에 추가하고europeplacement
에서 파티셔닝합니다.INSERT INTO Singers(SingerId, SingerName, Location) VALUES (1, 'Marc Richards', 'europeplacement')
gcloud
테이블에 데이터를 쓰려면 gcloud spanner rows insert
를 사용합니다.
예를 들어 가수 마크 리차드스를 Singers
테이블에 추가하고 europeplacement
에서 파티셔닝합니다.
gcloud spanner rows insert --table=Singers --database=example-db \
--instance=test-instance --data=SingerId=1,SingerName='Marc Richards',Location='europeplacement'
배치 테이블의 행 업데이트
Console
gcloud
배치 테이블의 데이터를 업데이트하려면 gcloud spanner rows update
를 사용합니다.
예를 들어 Singers
테이블의 singerid=1
이름을 Catalina Smith
로 업데이트합니다.
gcloud spanner rows update --table=Singers --database=example-db \
--instance=test-instance --data=SingerId=1,SingerName='Catalina Smith'
배치 테이블에서 행 이동
Console
gcloud
데이터를 이동할 파티션과 배치를 만든 후 gcloud spanner rows update
를 사용합니다.
예를 들어 Singers
테이블의 singerid=1
을 asiaplacement
로 이동합니다.
gcloud spanner rows update --table=Singers --database=example-db \
--instance=test-instance --data=SingerId=1,Location='asiaplacement'
배치 테이블에서 행 삭제
Console
gcloud
데이터를 삭제하려면 gcloud spanner rows delete
를 사용합니다.
예를 들어 Singers
테이블에서 singerid=1
을 삭제합니다.
gcloud spanner rows delete --table=Singers --database=example-db \
--instance=test-instance --keys=1
배치 테이블의 데이터 쿼리
콘솔
- 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
- Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.
쿼리를 실행합니다.
예를 들어
Singers
테이블을 쿼리합니다.SELECT * FROM Singers s WHERE s.SingerId=1;
gcloud
데이터를 쿼리하려면 gcloud spanner databases execute-sql
을 사용합니다.
예를 들어 Singers
테이블을 쿼리합니다.
gcloud spanner databases execute-sql example-db \
--sql='SELECT * FROM Singers s WHERE s.SingerId=1'
다음 단계
지역 파티셔닝 자세히 알아보기
파티션을 만들고 관리하는 방법 알아보기