Cloud Bigtable에 대해 알아보려면 빠른 시작을 통해 프로덕션 환경에서 대규모로 사용할 기본 사항을 익힐 수 있습니다.
이 빠른 시작에서는 cbt
명령줄 도구를 사용합니다. HBase 셸을 사용하려면 대신 빠른 시작: HBase 셸 사용을 따르세요.
이 빠른 시작에서는 다음 작업을 수행합니다.
- Cloud Bigtable 인스턴스 연결
- 기본 관리 작업 수행
- 테이블에 데이터 쓰기
- 테이블에서 데이터 읽기
이 빠른 시작은 Cloud Shell 또는 로컬 터미널 창을 사용하여 수행할 수 있습니다.
GCP 프로젝트를 선택하거나 만듭니다. 이 빠른 시작에서 만든 리소스를 유지하지 않으려면 새 프로젝트를 만듭니다. 빠른 시작을 완료한 후 프로젝트를 삭제합니다.
Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.
Cloud Bigtable 및 Cloud Bigtable Admin API를 사용 설정합니다.
API를 사용 설정한 후 사용자 인증 정보로 이동을 클릭합니다.
사용자 인증 정보 페이지에서 필수 질문에 답변합니다.
- '사용 중인 API는 무엇인가요?'에 대한 답변으로 Cloud Bigtable API를 선택합니다.
- App Engine 또는 Compute Engine에 대한 질문에 답변합니다. 이 빠른 시작의 경우 사용하지 않습니다.
- 어떤 사용자 인증 정보가 필요한가요?를 클릭합니다.
- 서비스 계정을 만들라는 메시지가 표시되면 다음 정보를 입력합니다.
- 서비스 계정의 이름을 선택합니다.
- 역할로 Cloud Bigtable > Bigtable 관리자를 선택합니다.
- 키 유형으로 JSON을 선택합니다.
- 계속을 클릭합니다.
- 새로 만든 서비스 계정 JSON 파일을 로컬
HOME
디렉터리나 원하는 위치에 저장합니다. Cloud Shell에서 빠른 시작을 완료할 계획이라면 이 단계를 건너뛸 수 있습니다.
- 새 서비스 계정을 만들라는 메시지가 표시되지 않으면 완료를 클릭합니다.
로컬에서 또는 Cloud Shell을 사용하여 터미널 창을 엽니다.
로컬 터미널 창을 사용하는 경우
GOOGLE_APPLICATION_CREDENTIALS
환경 변수를 설정합니다. [PATH]를 서비스 계정 키가 포함된 JSON 파일의 파일 경로로 바꿉니다.export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"
예:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"
로컬 터미널 창을 사용하는 경우 이전에 Cloud SDK 및
cbt
도구를 설치하지 않았다면 지금 설치합니다. Cloud Shell을 사용하는 경우 이러한 도구가 사전 설치되어 있으므로 이 단계를 건너뛸 수 있습니다.cbt
명령줄 도구를 설치합니다.gcloud components update
gcloud components install cbt
Cloud Bigtable 인스턴스 만들기
Google Cloud Console에서 인스턴스 만들기 페이지를 엽니다.
인스턴스 이름에
Quickstart instance
를 입력합니다.인스턴스 ID에
quickstart-instance
를 입력합니다.스토리지 유형으로 SSD를 선택합니다.
클러스터 ID에
quickstart-instance-c1
을 입력합니다.리전으로 가까운 리전을 선택합니다.
영역으로 선택한 리전의 영역을 선택합니다.
만들기를 클릭하여 인스턴스를 만듭니다.
내 인스턴스에 연결
.cbtrc
파일을 만들고 project-id를 Cloud Bigtable 인스턴스를 만들 때 사용한 프로젝트 ID로 바꿔서 프로젝트 및 인스턴스를 사용하도록cbt
를 구성합니다.echo project = project-id > ~/.cbtrc
echo instance = quickstart-instance >> ~/.cbtrc
.cbtrc
파일을 올바르게 설정했는지 확인합니다.cat ~/.cbtrc
터미널에는
.cbtrc
파일의 콘텐츠가 표시됩니다. 이는 다음과 유사합니다.project = project-id instance = quickstart-instance
이제 인스턴스에서
cbt
도구를 사용할 수 있습니다.
데이터 읽기 및 쓰기
Cloud Bigtable은 행을 포함하는 테이블에 데이터를 저장합니다. 각 행은 row key로 식별됩니다.
행의 데이터는 열의 그룹인 column family로 구성됩니다. column qualifier는 column family 내의 단일 열을 식별합니다.
행과 열의 교차점에는 시간별로 기록된 값이 여러 개 존재할 수 있습니다. 이러한 각 버전을 셀이라고 합니다.
이름이
my-table
인 테이블을 만듭니다.cbt createtable my-table
테이블을 나열합니다.
cbt ls
이 명령어는 다음과 비슷한 출력을 표시합니다.
my-table
이름이
cf1
인 column family 1개를 추가합니다.cbt createfamily my-table cf1
column family를 나열합니다.
cbt ls my-table
이 명령어는 다음과 비슷한 출력을 표시합니다.
Family Name GC Policy ----------- --------- cf1 <never>
column family
cf1
및 column qualifierc1
을 사용하여test-value
값을r1
행에 입력합니다.cbt set my-table r1 cf1:c1=test-value
cbt read
명령어를 사용하여 테이블에 추가한 데이터를 읽습니다.cbt read my-table
다음과 유사한 출력이 셸에 표시됩니다.
---------------------------------------- r1 cf1:c1 @ 2019/11/26-15:05:38.840000 "test-value"
타임스탬프는 지정하지 않았으므로 자동으로 추가됩니다.
삭제
이 빠른 시작에서 사용한 리소스의 비용이 Google Cloud 계정에 청구되지 않도록 하려면 인스턴스를 삭제합니다. .cbtrc
파일을 삭제하면 다른 프로젝트에서 작업할 수 있습니다.
my-table
테이블을 삭제합니다.cbt deletetable my-table
인스턴스를 삭제합니다.
cbt deleteinstance quickstart-instance
.cbtrc
파일을 삭제합니다.rm ~/.cbtrc