논리적 뷰 소개

이 문서는 논리적 뷰의 BigQuery 지원에 대한 개요를 설명합니다. 뷰는 SQL 쿼리로 정의하는 가상 테이블입니다. BigQuery의 기본 뷰 유형은 논리적 뷰 입니다. 쿼리 결과에는 뷰를 정의하는 쿼리에 지정된 테이블 및 필드 데이터만 포함됩니다.

뷰를 정의하는 쿼리는 뷰가 쿼리될 때마다 실행됩니다.

뷰의 일반적인 사용 사례는 다음과 같습니다.

  • 복잡한 쿼리 또는 제한된 데이터 세트에 재사용 가능한 이름을 제공한 후 다른 사용자의 액세스를 승인할 수 있습니다. 뷰를 만든 후 사용자는 테이블과 마찬가지로 뷰를 쿼리할 수 있습니다.
  • 계산과 조인 논리를 공통 객체에 추상화하고 저장하여 쿼리 사용을 간소화합니다.
  • 기본 테이블에 대한 액세스 권한을 제공하지 않고 데이터 및 계산 로직의 하위 집합에 대한 액세스 권한을 제공합니다.
  • 여러 사용 사례에서 계산 비용이 높고 결과 데이터 세트가 작은 쿼리를 최적화합니다.

다른 컨텍스트에서 뷰를 사용할 수도 있습니다.

논리적 뷰, 구체화된 뷰, 승인된 뷰를 비교하려면 논리적 뷰 및 구체화된 뷰 개요를 참조하세요.

논리적 뷰 제한사항

BigQuery 뷰에는 다음 제한사항이 적용됩니다.

  • 뷰는 읽기 전용입니다. 예를 들어 데이터를 삽입, 업데이트 또는 삭제하는 쿼리는 실행할 수 없습니다.
  • 뷰가 원격 위치의 테이블을 참조하는 경우 전역 쿼리를 사용 설정해야 뷰를 만들 수 있습니다.
  • 뷰 내부의 참조는 데이터 세트로 한정되어야 합니다. 기본 데이터 세트는 뷰 본문에 영향을 주지 않습니다.
  • TableDataList JSON API 메서드를 사용하여 뷰에서 데이터를 검색할 수 없습니다. 자세한 내용은 Tabledata: list를 참조하세요.
  • 뷰를 사용할 때는 GoogleSQL과 legacy SQL 쿼리를 혼합할 수 없습니다. GoogleSQL 쿼리는 legacy SQL 문법을 사용하여 정의된 뷰를 참조할 수 없습니다.
  • 뷰에서 쿼리 매개변수를 참조할 수 없습니다.
  • 기본 테이블의 스키마는 뷰를 만들 때 뷰와 함께 저장됩니다. 뷰를 만든 후 열이 추가, 삭제 또는 수정된 경우 뷰가 자동으로 업데이트되지 않으며 뷰 SQL 정의가 변경되거나 뷰를 다시 만들 때까지 보고된 스키마가 부정확한 상태로 유지됩니다. 보고된 스키마가 정확하지 않더라도 제출된 쿼리는 모두 정확한 결과를 생성합니다.
  • 자동으로 legacy SQL 뷰를 GoogleSQL 문법으로 업데이트할 수 없습니다. 뷰를 정의하는 데 사용된 쿼리를 수정하려면 다음을 사용하면 됩니다.
  • 뷰를 정의하는 SQL 쿼리에 임시 사용자 정의 함수나 임시 테이블을 포함할 수 없습니다.
  • 와일드 카드 테이블 쿼리에서 뷰를 참조할 수 없습니다.
  • 논리적 뷰는 매개변수화된 데이터 유형을 상속하거나 명시적으로 정의할 수 없습니다. STRING(n) 매개변수화된 데이터 유형은 기본 테이블 열 및 스크립트 변수에서만 지원되기 때문입니다.

논리적 뷰 할당량

뷰에 적용되는 할당량과 한도에 대한 자세한 내용은 뷰 한도를 참조하세요. 뷰 정의에 사용되는 SQL 쿼리에는 쿼리 작업에 대한 할당량도 적용됩니다.

논리적 뷰 가격 책정

BigQuery는 구체화된 뷰가 아닌 논리적 뷰를 기본적으로 사용합니다. 뷰는 기본적으로 구체화되지 않으므로 뷰를 정의하는 쿼리는 뷰가 쿼리될 때마다 실행됩니다. 쿼리는 최상위 쿼리에서 직간접적으로 참조하는 모든 테이블 필드의 총 데이터 양에 따라 청구됩니다.

논리적 뷰 보안

BigQuery에서 뷰에 대한 액세스를 제어하려면 승인된 뷰를 참조하세요.

다음 단계

  • 뷰 만들기에 대한 자세한 내용은 뷰 만들기를 참조하세요.
  • 승인된 뷰 만들기에 대한 자세한 내용은 승인된 뷰 만들기를 참조하세요.
  • 뷰 메타데이터 가져오기에 대한 자세한 내용은 뷰 정보 가져오기를 참조하세요.
  • 뷰 관리에 대한 자세한 내용은 뷰 관리를 참조하세요.