데이터 배치 만들기 및 관리

이 페이지에서는 Spanner에서 데이터 배치를 만들고 관리하는 방법을 설명합니다.

지역 파티셔닝 작동 방식에 대한 자세한 내용은 지역 파티셔닝 개요를 참조하세요.

데이터 배치 만들기

Spanner 파티션데이터베이스를 만든 후 배치를 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 인스턴스 페이지로 이동합니다.

    인스턴스

  2. 사용자가 만든 파티션이 있는 인스턴스를 선택합니다.

  3. 데이터를 파티셔닝할 데이터베이스를 선택합니다.

  4. 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.

  5. Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.

  6. CREATE PLACEMENT DDL 문을 입력합니다.

    예를 들어 다음을 실행하여 europe-partition 파티션에 europeplacement 배치 테이블을 만들 수 있습니다.

      CREATE PLACEMENT `europeplacement` OPTIONS(instance_partition="europe-partition");
    

    선택사항: 객체 탐색기 창을 사용하여 배치 객체를 보고 검색하며 상호작용할 수도 있습니다. 자세한 내용은 데이터 탐색을 참조하세요.

  7. 실행을 클릭합니다.

gcloud

gcloud CLI 명령어로 배치를 만들려면 gcloud spanner databases ddl update를 사용합니다.

예를 들어 europe-partition 파티션에 배치를 만듭니다.

gcloud spanner databases ddl update example-db \
  --instance=test-instance \
  --ddl="CREATE PLACEMENT europeplacement OPTIONS (instance_partition='europe-partition')"

데이터 배치 삭제

배치를 삭제할 수 없습니다. 배치와 관련 데이터를 삭제하려면 데이터베이스를 삭제해야 합니다. 자세한 내용은 데이터베이스 삭제를 참조하세요.

배치 키가 있는 테이블 만들기

콘솔

  1. 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
  2. Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.
  3. CREATE TABLE DDL 문을 입력합니다.

    예를 들어 배치 키를 사용하여 가수 데이터를 파티셔닝하는 Singers 테이블을 만들 수 있습니다.

    CREATE TABLE Singers (
      SingerId INT64 NOT NULL,
      Name STRING(MAX) NOT NULL,
      ...
      Location STRING(MAX) NOT NULL PLACEMENT KEY
    ) PRIMARY KEY (SingerId);
    

gcloud

테이블을 만들려면 gcloud spanner databases ddl update를 사용합니다.

예를 들어 배치 키를 사용하여 가수 데이터를 파티셔닝하는 Singers 테이블을 만들 수 있습니다.

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)"

배치 키가 있는 테이블 수정

테이블에서 배치 키를 삭제할 수 없습니다. 또한 테이블이 생성된 후에는 배치 키를 테이블에 추가할 수 없습니다. 하지만 ALTER TABLE DDL 문을 사용하여 테이블의 다른 필드를 변경할 수 있습니다(예: 배치가 아닌 키 열 추가 및 삭제).

배치 키가 있는 테이블 삭제

배치 키가 있는 테이블을 삭제하려면 먼저 다음을 실행해야 합니다.

  1. 배치 테이블의 모든 행을 삭제합니다.
  2. 데이터베이스의 version_retention_period가 통과할 때까지 기다립니다. 자세한 내용은 PITR(point-in-time recovery)을 참조하세요. 그런 후 다음 단계를 수행합니다.

콘솔

  1. 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
  2. Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.
  3. DROP TABLE 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"

배치 테이블에 행 삽입

콘솔

  1. 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
  2. Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.
  3. INSERT INTO DDL 문을 입력합니다.

    예를 들어 가수 마크 리차드스를 Singers 테이블에 추가하고 europeplacement에서 파티셔닝합니다.

      INSERT INTO Singers(SingerId, Name, 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'

배치 테이블의 행 업데이트

콘솔

  1. 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
  2. Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.
  3. DML 또는 변형을 사용하여 배치 테이블의 데이터를 업데이트합니다.

    예를 들어 Singers 테이블의 singerid=1 이름을 Catalina Smith로 업데이트합니다.

    UPDATE Singers s
    SET s.name='Catalina Smith'
    WHERE s.id=1;
    

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'

배치 테이블에서 행 이동

콘솔

  1. 아직 새 파티션과 배치를 만들지 않았으면 만듭니다.
  2. 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
  3. Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.
  4. DML 또는 변형을 사용하여 데이터를 새 파티션으로 이동합니다.

    예를 들어 Singers 테이블의 singerid=1asiaplacement로 이동합니다.

    UPDATE Singers s
    SET s.location='asiaplacement'
    WHERE s.id=1;
    

gcloud

데이터를 이동할 파티션과 배치를 만든 후 gcloud spanner rows update를 사용합니다.

예를 들어 Singers 테이블의 singerid=1asiaplacement로 이동합니다.

gcloud spanner rows update --table=Singers --database=example-db \
  --instance=test-instance --data=SingerId=1,Location='asiaplacement'

배치 테이블에서 행 삭제

콘솔

  1. 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
  2. Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.
  3. DML 또는 변형을 사용하여 데이터를 삭제합니다.

    예를 들어 Singers 테이블에서 singerid=1을 삭제합니다.

    DELETE FROM Singers s
    WHERE s.id=1;
    

gcloud

데이터를 삭제하려면 gcloud spanner rows delete를 사용합니다.

예를 들어 Singers 테이블에서 singerid=1을 삭제합니다.

gcloud spanner rows delete --table=Singers --database=example-db \
  --instance=test-instance --keys=1

배치 테이블의 데이터 쿼리

콘솔

  1. 탐색 메뉴에서 Spanner 스튜디오를 클릭합니다.
  2. Spanner 스튜디오 페이지에서 새 탭을 클릭하거나 비어 있는 편집기 탭을 사용합니다.
  3. 쿼리를 실행합니다.

    예를 들어 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'

다음 단계