논리적 뷰 소개
이 문서는 논리적 뷰의 BigQuery 지원에 대한 개요를 설명합니다. 뷰는 SQL 쿼리로 정의하는 가상 테이블입니다. BigQuery의 기본 뷰 유형은 논리적 뷰 입니다. 쿼리 결과에는 뷰를 정의하는 쿼리에 지정된 테이블 및 필드 데이터만 포함됩니다.
뷰를 정의하는 쿼리는 뷰가 쿼리될 때마다 실행됩니다.
뷰의 일반적인 사용 사례는 다음과 같습니다.
- 복잡한 쿼리 또는 제한된 데이터 세트에 재사용 가능한 이름을 제공한 후 다른 사용자의 액세스를 승인할 수 있습니다. 뷰를 만든 후 사용자는 테이블과 마찬가지로 뷰를 쿼리할 수 있습니다.
- 계산과 조인 논리를 공통 객체에 추상화하고 저장하여 쿼리 사용을 간소화합니다.
- 기본 테이블에 대한 액세스 권한을 제공하지 않고 데이터 및 계산 로직의 하위 집합에 대한 액세스 권한을 제공합니다.
- 여러 사용 사례에서 계산 비용이 높고 결과 데이터 세트가 작은 쿼리를 최적화합니다.
다른 컨텍스트에서 뷰를 사용할 수도 있습니다.
- 데이터 스튜디오와 같은 시각화 도구의 데이터 소스로 사용합니다.
- BigQuery Sharing (이전 명칭: Analytics Hub)의 구독자에게 데이터를 공유하는 수단으로 사용합니다.
논리적 뷰, 구체화된 뷰, 승인된 뷰를 비교하려면 논리적 뷰 및 구체화된 뷰 개요를 참조하세요.
논리적 뷰 제한사항
BigQuery 뷰에는 다음 제한사항이 적용됩니다.
- 뷰는 읽기 전용입니다. 예를 들어 데이터를 삽입, 업데이트 또는 삭제하는 쿼리는 실행할 수 없습니다.
- 뷰가 원격 위치의 테이블을 참조하는 경우 전역 쿼리를 사용 설정해야 뷰를 만들 수 있습니다.
- 뷰 내부의 참조는 데이터 세트로 한정되어야 합니다. 기본 데이터 세트는 뷰 본문에 영향을 주지 않습니다.
TableDataListJSON API 메서드를 사용하여 뷰에서 데이터를 검색할 수 없습니다. 자세한 내용은 Tabledata: list를 참조하세요.- 뷰를 사용할 때는 GoogleSQL과 legacy SQL 쿼리를 혼합할 수 없습니다. GoogleSQL 쿼리는 legacy SQL 문법을 사용하여 정의된 뷰를 참조할 수 없습니다.
- 뷰에서 쿼리 매개변수를 참조할 수 없습니다.
- 기본 테이블의 스키마는 뷰를 만들 때 뷰와 함께 저장됩니다. 뷰를 만든 후 열이 추가, 삭제 또는 수정된 경우 뷰가 자동으로 업데이트되지 않으며 뷰 SQL 정의가 변경되거나 뷰를 다시 만들 때까지 보고된 스키마가 부정확한 상태로 유지됩니다. 보고된 스키마가 정확하지 않더라도 제출된 쿼리는 모두 정확한 결과를 생성합니다.
- 자동으로 legacy SQL 뷰를 GoogleSQL 문법으로 업데이트할 수 없습니다. 뷰를 정의하는 데 사용된 쿼리를 수정하려면 다음을 사용하면 됩니다.
- Google Cloud 콘솔의 쿼리 수정 옵션
- bq 명령줄 도구의
bq update --view명령어 - BigQuery 클라이언트 라이브러리
- update 또는 patch API 메서드
- 뷰를 정의하는 SQL 쿼리에 임시 사용자 정의 함수나 임시 테이블을 포함할 수 없습니다.
- 와일드 카드 테이블 쿼리에서 뷰를 참조할 수 없습니다.
- 논리적 뷰는 매개변수화된 데이터 유형을 상속하거나 명시적으로 정의할 수 없습니다.
STRING(n)매개변수화된 데이터 유형은 기본 테이블 열 및 스크립트 변수에서만 지원되기 때문입니다.
논리적 뷰 할당량
뷰에 적용되는 할당량과 한도에 대한 자세한 내용은 뷰 한도를 참조하세요. 뷰 정의에 사용되는 SQL 쿼리에는 쿼리 작업에 대한 할당량도 적용됩니다.
논리적 뷰 가격 책정
BigQuery는 구체화된 뷰가 아닌 논리적 뷰를 기본적으로 사용합니다. 뷰는 기본적으로 구체화되지 않으므로 뷰를 정의하는 쿼리는 뷰가 쿼리될 때마다 실행됩니다. 쿼리는 최상위 쿼리에서 직간접적으로 참조하는 모든 테이블 필드의 총 데이터 양에 따라 청구됩니다.
- 일반 쿼리 가격 책정은 주문형 컴퓨팅 가격 책정을 참조하세요.
- 구체화된 뷰와 관련된 가격 책정은 구체화된 뷰 가격 책정을 참조하세요.
논리적 뷰 보안
BigQuery에서 뷰에 대한 액세스를 제어하려면 승인된 뷰를 참조하세요.
다음 단계
- 뷰 만들기에 대한 자세한 내용은 뷰 만들기를 참조하세요.
- 승인된 뷰 만들기에 대한 자세한 내용은 승인된 뷰 만들기를 참조하세요.
- 뷰 메타데이터 가져오기에 대한 자세한 내용은 뷰 정보 가져오기를 참조하세요.
- 뷰 관리에 대한 자세한 내용은 뷰 관리를 참조하세요.