논리적 뷰 만들기 및 관리
Bigtable에서 논리적 뷰는 다른 SQL 쿼리로 쿼리할 수 있는 가상 테이블로 작동하는 SQL 쿼리의 결과입니다. 데이터는 소스 테이블에 유지됩니다.
이 문서에서는 논리적 뷰와 뷰를 만들고 작업을 실행하는 방법을 설명합니다. 구체화된 뷰 및 승인된 뷰와 비교하려면 테이블 및 뷰를 참고하세요.
논리적 뷰를 사용하면 Bigtable 데이터로 다음 작업을 할 수 있습니다.
- 쿼리 반복 방지: 논리적 뷰에서 열 매핑 및 전송 로직을 저장하고 발전시킬 수 있습니다. 그러면 추가 논리적 뷰에서 해당 로직을 복사하여 붙여넣거나 이해할 필요 없이 사용할 수 있습니다.
- 관계형 데이터베이스에서 읽도록 설계된 시스템과 통합: 논리적 뷰를 사용하면 Bigtable 데이터를 관계형 데이터베이스 테이블이나 Cassandra 테이블처럼 읽을 수 있습니다.
- 여러 테이블에 대해 동일한 논리적 뷰 실행:
FROM
절을 수정하면 동일한 뷰를 사용하여 Bigtable 인스턴스의 모든 테이블을 쿼리할 수 있습니다. - 일관된 인터페이스 제공: 애플리케이션은 소스 테이블이 변경되더라도 논리적 뷰를 사용할 수 있습니다.
논리적 뷰는 인스턴스 수준 리소스입니다. Google Cloud CLI 또는 Google Cloud 콘솔의 Bigtable 스튜디오 쿼리 편집기를 사용하여 논리적 뷰를 만들 수 있습니다. 논리적 뷰를 쿼리하려면 Bigtable Studio 쿼리 편집기 또는 Bigtable SQL을 지원하는 클라이언트 라이브러리 중 하나를 사용하면 됩니다.
논리적 뷰에는 다음과 같은 특성이 있습니다.
- Bigtable용 GoogleSQL에서 지원하는 SQL 기능을 사용해야 합니다.
- 읽기 전용
ReadRows
호출이 아닌 SQL로 읽어야 합니다.- 정의자 권한을 사용합니다. 소스 테이블에서 읽을 권한이 없더라도 논리적 뷰에서 읽을 권한이 있으면 논리적 뷰를 쿼리할 수 있습니다.
시작하기 전에
gcloud CLI를 사용하려면 다음 단계를 따르세요.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
필요한 역할
논리적 뷰를 만들고 관리하는 데 필요한 권한을 얻으려면 관리자에게 인스턴스에 대한 Bigtable 관리자(roles/bigtable.admin
) 역할을 부여해 달라고 요청하세요. 그러지 않으면 수행하려는 작업에 따라 인스턴스 수준에서 다음 권한을 요청합니다.
- 만들기:
bigtable.logicalViews.create
- 업데이트:
bigtable.logicalViews.update
- 삭제:
roles/bigtable.logicalViews.delete
- 목록:
bigtable.logicalViews.list
- 설명:
bigtable.logicalViews.get
논리적 뷰를 만들려면 소스 테이블에 대한 bigtable.table.readRows
이상 권한도 있어야 합니다.
사용 가능한 모든 역할 및 권한을 보려면 IAM을 사용한 Bigtable 액세스 제어를 참고하세요.
논리 뷰 만들기
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
인스턴스를 선택합니다.
탐색창에서 Bigtable Studio를 클릭합니다.
를 클릭한 후 편집기를 선택하여 새 탭을 엽니다.
쿼리 편집기에서 쿼리를 작성합니다. 쿼리가 유효한 SQL이면 유효 메시지가 표시됩니다.
선택사항: SQL 스타일로 문 형식을 지정하려면 형식을 클릭합니다.
실행을 클릭합니다. 쿼리 결과가 결과 테이블에 표시됩니다.
쿼리가 마음에 들면 저장을 클릭한 다음 뷰 저장을 선택합니다.
쿼리 편집기 사용에 관한 자세한 내용은 Bigtable 스튜디오를 사용하여 데이터 관리를 참고하세요.
gcloud
논리적 뷰를 만들려면 gcloud bigtable logical-views create
명령어를 사용합니다.
gcloud bigtable logical-views create VIEW \
--instance=INSTANCE --query=QUERY
다음을 바꿉니다.
VIEW
: 새 뷰의 최대 128자 길이 ID입니다. ID는 인스턴스의 테이블 ID와 뷰 ID 중에서 고유해야 합니다.QUERY
: 유효한 Bigtable용 GoogleSQL 쿼리INSTANCE
: 뷰를 만들 인스턴스의 ID입니다.
논리적 뷰 업데이트
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
목록에서 인스턴스를 선택합니다.
탐색창에서 Bigtable 스튜디오를 클릭합니다. 탐색기에 뷰 목록이 표시됩니다.
선택사항: 인스턴스의 첫 10개 조회가 표시됩니다. 10개를 더 보려면 더보기를 클릭합니다.
업데이트하려는 뷰 옆에 있는 more_vert 작업 메뉴를 클릭한 다음 정의 보기를 클릭합니다.
쿼리를 수정합니다.
실행을 클릭합니다.
결과 창에 뷰에 포함되어야 하는 데이터가 표시되는지 확인한 후 다른 이름으로 저장을 클릭합니다.
대화상자에 수정한 뷰의 ID를 입력합니다.
기존 뷰를 덮어쓰겠다는 경고 메시지가 대화상자에 표시됩니다.
저장을 클릭합니다.
gcloud
다른 쿼리를 실행하도록 논리적 뷰를 업데이트하려면 gcloud bigtable
logical-views update
명령어를 사용합니다.
gcloud bigtable logical-views update VIEW \
--instance=INSTANCE --query=QUERY
다음을 바꿉니다.
VIEW
: 업데이트할 논리 뷰의 ID입니다.QUERY
: 유효한 GoogleSQL 쿼리INSTANCE
: 논리적 뷰가 포함된 인스턴스의 ID입니다.
논리적 뷰 삭제
이 작업은 되돌릴 수 없습니다. 논리적 뷰를 삭제하려면 gcloud bigtable
logical-views delete
명령어를 사용합니다.
gcloud bigtable logical-views delete VIEW \
--instance=INSTANCE
다음을 바꿉니다.
VIEW
: 업데이트할 논리 뷰의 ID입니다.INSTANCE
: 논리적 뷰가 포함된 인스턴스의 ID입니다.
인스턴스의 논리적 뷰 목록 가져오기
인스턴스의 논리적 뷰 목록을 볼 수 있습니다.
콘솔
Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.
목록에서 인스턴스를 선택합니다.
탐색창에서 Bigtable 스튜디오를 클릭합니다. 탐색기에 뷰 목록이 표시됩니다.
선택사항: 인스턴스의 첫 10개 조회가 표시됩니다. 10개를 더 보려면 더보기를 클릭합니다.
gcloud
인스턴스의 논리적 뷰 목록을 보려면 gcloud bigtable
logical-views list
명령어를 사용합니다.
gcloud bigtable logical-views list --instance=INSTANCE
INSTANCE
를 인스턴스 ID로 바꿉니다.
논리적 뷰 설명
논리적 뷰에 대한 세부정보를 가져오려면 gcloud bigtable logical-views
describe
명령어를 사용합니다.
gcloud bigtable logical-views describe VIEW \
--instance=INSTANCE
터미널에 다음과 유사한 세부정보가 표시됩니다.
createTime: '2025-03-07T19:49:56.316578Z'
etag: W/"/v1/17919275593532352351"
name: projects/my-project/instances/my-instance/logicalViews/my-view
query: SELECT street FROM addresses
updateTime: '2025-03-07T19:49:56.316578Z'