연속 구체화된 뷰 만들기 및 관리
이 문서에서는 Bigtable에서 연속 구체화된 뷰를 만들고 작업을 실행하는 방법을 설명합니다. 이 문서를 읽기 전에 연속 구체화된 뷰의 개요를 읽어보세요.
Google Cloud CLI, Google Cloud 콘솔의 Bigtable Studio 쿼리 편집기 또는 Java 및 Go용 Bigtable 클라이언트 라이브러리를 사용하여 연속 구체화된 뷰를 만들 수 있습니다.
시작하기 전에
gcloud CLI를 사용하려면 다음 단계를 따르세요.
-
Google Cloud CLI를 설치합니다.
-
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
-
gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다.
gcloud init
gcloud CLI가 Method not found 메시지를 반환하면 gcloud auth login 명령어를 다시 실행합니다.
필요한 역할
연속 구체화된 뷰를 만들고 관리하는 데 필요한 권한을 얻으려면 관리자에게 인스턴스에 대한 Bigtable 관리자 (roles/bigtable.admin) 역할을 부여해 달라고 요청하세요.
그렇지 않은 경우 실행하려는 작업에 따라 인스턴스 수준에서 다음 권한을 요청하세요.
- 생성:
bigtable.materializedViews.create - 업데이트:
bigtable.materializedViews.update - 삭제:
bigtable.materializedViews.delete - 목록:
bigtable.materializedViews.list
연속 구체화된 뷰를 만들려면 소스 테이블에 대한 bigtable.tables.readRows 이상의 권한도 있어야 합니다.
사용 가능한 모든 역할과 권한을 확인하려면 IAM을 사용한 Bigtable 액세스 제어를 참고하세요.
연속 구체화된 뷰 만들기
연속 구체화된 뷰를 만들기 전에 다음을 수행하세요.
- 선택사항: Bigtable에서 연속 구체화된 뷰를 처리하고 동기화하는 동안 필요에 따라 확장할 수 있도록 인스턴스의 클러스터에 자동 확장을 사용 설정하는 것이 좋습니다. 또한 추가 스토리지 사용량을 처리할 수 있습니다.
- 선택사항: 연속 구체화된 뷰를 모든 클러스터에서 사용할 수 있도록 할지 아니면 처리 및 쿼리 가능성을 단일 클러스터로 격리할지 결정합니다. 자세한 내용은 비결정적 SQL 함수를 참고하세요.
- 연속적인 구체화된 뷰의 소스로 사용할 수 있는 읽기 권한이 있는 Bigtable 테이블을 식별합니다.
연속 구체화된 뷰를 정의하는 SQL 쿼리를 준비합니다. 쿼리 요구사항은 연속 구체화된 뷰 쿼리를 참고하세요.
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
인스턴스를 선택합니다.
탐색창에서 Bigtable Studio를 클릭합니다.
를 클릭한 후 편집기를 선택하여 새 탭을 엽니다.
쿼리 편집기가 나타나면 쿼리를 작성합니다. 쿼리가 유효한 SQL이면 유효 메시지가 표시됩니다.
선택사항: SQL 스타일로 문 형식을 지정하려면 형식을 클릭합니다.
실행을 클릭합니다. 쿼리 결과가 결과 테이블에 표시됩니다.
쿼리가 만족스러우면 다른 이름으로 저장 확장 프로그램 화살표를 클릭하고 구체화된 뷰로 저장을 선택합니다.
구체화된 뷰 저장 대화상자에 뷰 이름을 입력한 다음 저장을 클릭합니다.
쿼리 편집기 사용에 대한 자세한 내용은 Bigtable Studio를 사용하여 데이터 관리를 참고하세요.
gcloud
연속 구체화된 뷰를 만들려면 gcloud bigtable materialized-views create 명령어를 사용합니다.
gcloud bigtable materialized-views create VIEW \
--instance=INSTANCE --query=QUERY
다음을 바꿉니다.
VIEW: 연속 구체화된 뷰의 고유 식별자입니다. 연속 구체화된 뷰를 쿼리할 때 이 ID를 테이블 ID로 사용합니다.INSTANCE: 연속 구체화된 뷰를 만들 인스턴스의 식별자입니다. 소스 테이블과 동일한 인스턴스여야 합니다.QUERY: 연속 구체화된 뷰를 정의하는 유효한 SQL 문입니다.
선택사항: 삭제 방지 사용 설정
연속 구체화된 뷰에 대해 삭제 방지를 사용 설정하려면 --deletion-protection=DELETION_PROTECTION을 사용하여 명령어를 추가합니다.
DELETION_PROTECTION을 true 또는 false로 바꿉니다.
선택사항: 단일 클러스터로 격리된 뷰 만들기
기본적으로 Bigtable은 인스턴스의 모든 클러스터에 연속 구체화를 복제합니다. 특정 클러스터에만 뷰를 유지하려면 CLUSTER_ATTRIBUTE로 뷰를 정의하고 --ignore-warnings 플래그를 전달합니다.
gcloud bigtable materialized-views create VIEW \
--instance=INSTANCE \
--query="SELECT ... WHERE CLUSTER_ATTRIBUTE('cluster_id') = 'CLUSTER_ID'" \
--ignore-warnings
다음을 바꿉니다.
VIEW: 연속 구체화된 뷰의 고유 식별자입니다. 연속 구체화된 뷰를 쿼리할 때 이 ID를 테이블 ID로 사용합니다.INSTANCE: 연속 구체화된 뷰를 만들 인스턴스의 식별자입니다. 소스 테이블과 동일한 인스턴스여야 합니다.CLUSTER_ID: 뷰를 유지할 클러스터의 식별자입니다.
CLUSTER_ATTRIBUTE는 클러스터마다 다른 결과를 생성하므로 --ignore-warnings 플래그를 포함하여 차이점을 확인해야 합니다.
쿼리 구문 및 요구사항에 대한 자세한 내용은 단일 클러스터로 뷰 격리를 참고하세요.
연속 구체화된 뷰 쿼리
연속 구체화된 뷰가 활성화되면 Google Cloud 콘솔의 Bigtable Studio 또는 지원되는 클라이언트 라이브러리를 사용하여 다른 테이블처럼 쿼리할 수 있습니다. 쿼리 구문 및 요구사항에 관한 자세한 내용은 연속 구체화된 뷰 쿼리를 참고하세요.
초기 채우기가 완료되기 전에 뷰를 테스트하고 쿼리하려면 @{allow_incomplete_view=true} 쿼리 힌트를 사용하세요. 자세한 내용은 초기 입력 중에 데이터 읽기를 참고하세요.
연속 구체화된 뷰 업데이트
연속 구체화된 뷰의 삭제 방지를 업데이트할 수 있습니다. 구체화된 연속 뷰를 정의하는 SQL 쿼리는 업데이트할 수 없습니다. 쿼리를 수정해야 하는 경우 구체화된 연속 뷰를 삭제한 후 변경사항이 포함된 새 뷰를 만들어야 합니다.
콘솔
콘솔에서는 연속 구체화된 뷰를 업데이트할 수 없습니다. 대신 gcloud CLI를 사용하세요.
gcloud
지속적인 구체화된 뷰에 대해 삭제 방지를 사용 설정하거나 중지하려면 gcloud bigtable materialized-views update 명령어를 사용합니다.
gcloud bigtable materialized-views update VIEW \
--instance=INSTANCE --deletion-protection=DELETION_PROTECTION
다음을 바꿉니다.
VIEW: 업데이트하려는 연속 구체화된 뷰의 고유 식별자INSTANCE: 연속 구체화된 뷰가 포함된 인스턴스의 식별자DELETION_PROTECTION:true또는false
연속 구체화된 뷰 삭제
삭제 방지가 사용 설정되지 않은 연속 구체화된 뷰는 삭제할 수 있습니다. 이 작업은 실행취소할 수 없습니다.
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
목록에서 인스턴스를 선택합니다.
탐색창에서 Bigtable Studio를 클릭합니다.
구체화된 뷰를 펼칩니다.
삭제하려는 뷰 옆에 있는 more_vert 작업 메뉴를 클릭한 다음 삭제를 클릭합니다.
gcloud
연속 구체화된 뷰를 삭제하려면 gcloud bigtable materialized-views delete 명령어를 사용합니다.
gcloud bigtable materialized-views delete VIEW \
--instance=INSTANCE
다음을 바꿉니다.
VIEW: 삭제할 연속 구체화된 뷰의 고유 식별자INSTANCE: 연속 구체화된 뷰가 포함된 인스턴스의 식별자
연속 구체화된 뷰 목록 가져오기
인스턴스의 지속적 구체화된 뷰 목록을 확인할 수 있습니다.
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
목록에서 인스턴스를 선택합니다.
탐색창에서 Bigtable Studio를 클릭합니다. 연속 구체화된 뷰 목록이 표시됩니다.
선택사항: 인스턴스의 처음 10개 뷰가 나열됩니다. 10개를 더 보려면 더보기를 클릭합니다.
gcloud
인스턴스의 모든 연속 구체화된 뷰를 나열하려면 gcloud bigtable materialized-views list 명령어를 사용합니다.
gcloud bigtable materialized-views list --instance=INSTANCE
INSTANCE를 인스턴스 ID로 바꿉니다.