cbt CLI를 사용하여 인스턴스를 만들고 데이터 쓰기

Bigtable에 대해 알아보려면 빠른 시작을 통해 프로덕션 환경에서 대규모로 사용할 기본 사항을 익힐 수 있습니다.

이 빠른 시작에서는 다음 작업을 수행합니다.

  • Bigtable 인스턴스에 연결
  • 기본 관리 작업 수행
  • 테이블에 데이터 쓰기
  • 테이블에서 데이터 읽기

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud CLI를 설치합니다.
  3. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  4. Google Cloud 프로젝트를 만들거나 선택합니다.

    • Google Cloud 프로젝트를 만듭니다.

      gcloud projects create PROJECT_ID

      PROJECT_ID를 만들려는 Google Cloud 프로젝트의 이름으로 바꿉니다.

    • 만든 Google Cloud 프로젝트를 선택합니다.

      gcloud config set project PROJECT_ID

      PROJECT_ID를 Google Cloud 프로젝트 이름으로 바꿉니다.

  5. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  6. Cloud Bigtable and Cloud Bigtable Admin API를 사용 설정합니다.

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  7. Google 계정에 역할을 부여합니다. 다음 각 IAM 역할에 대해 다음 명령어를 한 번씩 실행합니다. roles/bigtable.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • PROJECT_ID를 프로젝트 ID로 바꿉니다.
    • EMAIL_ADDRESS를 이메일 주소로 바꿉니다.
    • ROLE을 각 개별 역할로 바꿉니다.
  8. Google Cloud CLI를 설치합니다.
  9. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  10. Google Cloud 프로젝트를 만들거나 선택합니다.

    • Google Cloud 프로젝트를 만듭니다.

      gcloud projects create PROJECT_ID

      PROJECT_ID를 만들려는 Google Cloud 프로젝트의 이름으로 바꿉니다.

    • 만든 Google Cloud 프로젝트를 선택합니다.

      gcloud config set project PROJECT_ID

      PROJECT_ID를 Google Cloud 프로젝트 이름으로 바꿉니다.

  11. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  12. Cloud Bigtable and Cloud Bigtable Admin API를 사용 설정합니다.

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  13. Google 계정에 역할을 부여합니다. 다음 각 IAM 역할에 대해 다음 명령어를 한 번씩 실행합니다. roles/bigtable.admin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • PROJECT_ID를 프로젝트 ID로 바꿉니다.
    • EMAIL_ADDRESS를 이메일 주소로 바꿉니다.
    • ROLE을 각 개별 역할로 바꿉니다.
  14. 다음 명령어를 실행하여 cbt CLI를 설치합니다.
    gcloud components install cbt

Bigtable 인스턴스를 만듭니다.

  1. Google Cloud Console에서 인스턴스 만들기 페이지를 엽니다.

    인스턴스 만들기

  2. 인스턴스 이름Quickstart instance를 입력합니다.

  3. 인스턴스 IDquickstart-instance를 입력합니다.

  4. 계속을 클릭합니다.

  5. 스토리지 유형으로 SSD를 선택합니다.

  6. 계속을 클릭합니다.

  7. 클러스터 IDquickstart-instance-c1을 입력합니다.

  8. 리전으로 가까운 리전을 선택합니다.

  9. 영역에서 모두를 선택합니다.

  10. 노드 확장 모드에서 수동 할당을 선택합니다.

  11. 수량에 대해 1을 선택합니다.

  12. 만들기를 클릭하여 인스턴스를 만듭니다.

내 인스턴스에 연결

  1. .cbtrc 파일을 만들고 PROJECT_ID를 Bigtable 인스턴스를 만든 프로젝트의 ID로 바꿔 프로젝트와 인스턴스를 사용하도록 cbt CLI를 구성합니다.

    echo project = PROJECT_ID >> ~/.cbtrc && echo instance = quickstart-instance >> ~/.cbtrc
    
  2. .cbtrc 파일을 올바르게 설정했는지 확인합니다.

    cat ~/.cbtrc

    터미널에는 .cbtrc 파일의 콘텐츠가 표시됩니다. 이는 다음과 유사합니다.

    project = PROJECT_ID
    instance = quickstart-instance

    이제 인스턴스에서 cbt CLI를 사용할 수 있습니다.

데이터 읽기 및 쓰기

Bigtable은 을 포함하는 테이블에 데이터를 저장합니다. 각 행은 row key로 식별됩니다.

행의 데이터는 열의 그룹인 column family로 구성됩니다. column qualifier는 column family 내의 단일 열을 식별합니다.

행과 열의 교차점에는 시간별로 기록된 셀이 여러 개 있을 수 있습니다.

  1. 이름이 my-table인 테이블을 만듭니다.

    cbt createtable my-table
  2. 테이블을 나열합니다.

    cbt ls

    이 명령어는 다음과 비슷한 출력을 표시합니다.

        my-table

  3. 이름이 cf1인 column family 1개를 추가합니다.

    cbt createfamily my-table cf1
  4. column family를 나열합니다.

    cbt ls my-table

    이 명령어는 다음과 비슷한 출력을 표시합니다.

        Family Name     GC Policy
        -----------     ---------
        cf1             <never>

  5. column family cf1 및 column qualifier c1을 사용하여 test-value1test-value2 값을 r1 행에 기록합니다.

    cbt set my-table r1 cf1:c1=test-value1
      cbt set my-table r1 cf1:c1=test-value2
    
  6. cbt read 명령어를 사용하여 테이블에 추가한 데이터를 읽습니다.

    cbt read my-table

    다음과 유사한 출력이 셸에 표시됩니다.

        ----------------------------------------
        r1
          cf1:c1                                   @ 2023/03/22-06:56:11.323000
            "test-value1"
          cf1:c1                                   @ 2023/03/22-06:56:04.361000
            "test-value2"

    타임스탬프가 적용된 두 개의 값이 r1 행의 동일한 열에 저장됩니다.

삭제

이 빠른 시작에서 사용한 리소스의 비용이 Google Cloud 계정에 청구되지 않도록 하려면 인스턴스를 삭제합니다. .cbtrc 파일을 삭제하면 다른 프로젝트에서 작업할 수 있습니다.

  1. my-table 테이블을 삭제합니다.

    cbt deletetable my-table
  2. 인스턴스를 삭제합니다.

    cbt deleteinstance quickstart-instance
  3. .cbtrc 파일을 삭제합니다.

    rm ~/.cbtrc

  4. 선택사항: gcloud CLI에서 사용자 인증 정보를 취소합니다.

    gcloud auth revoke

다음 단계