테이블 및 뷰

Bigtable에서는 데이터를 테이블에 저장하고 테이블의 여러 유형의 뷰를 만들 수 있습니다. 사용하는 뷰 유형은 사용 사례에 따라 다릅니다.

테이블

Bigtable 테이블은 행과 열에 데이터를 저장하는 정렬된 키-값 매핑입니다. 각 행은 고유한 단일 row key로 색인이 생성됩니다. 서로 연관된 열은 일반적으로 column family로 그룹화됩니다.

Bigtable은 유연한 데이터 모델을 사용하며 테이블은 희소합니다. 즉, 행에서 열이 사용되지 않으면 해당 열에 대한 데이터가 저장되지 않습니다. 관계형 데이터베이스에서와 같이 사용되지 않는 열에 NULL 값을 저장할 필요가 없습니다. Bigtable 테이블에서 특정 행에는 열이 하나 있고 그 옆의 행에는 열이 100개 있을 수 있습니다.

행의 열에는 각각 4-튜플 (row key, column family, column qualifier, timestamp)로 식별되는 여러 셀이 포함될 수 있습니다. 하나의 열에 여러 셀을 저장하면 해당 행과 열에 저장된 데이터가 시간에 따라 어떻게 변화했는지에 대한 레코드가 제공됩니다.

Bigtable 테이블은 조인을 지원하지 않으며 트랜잭션은 단일 행 내에서만 지원됩니다.

테이블은 인스턴스의 모든 클러스터에 자동으로 복제되는 인스턴스 수준 리소스입니다. 데이터 보관은 column family 수준에서 설정된 가비지 컬렉션 정책으로 제어됩니다.

자세한 내용은 Bigtable 개요스키마 설계 권장사항을 참고하세요.

조회수

Bigtable은 논리적 뷰, 연속 구체화된 뷰, 승인된 뷰라는 세 가지 유형의 테이블 뷰를 지원합니다. 뷰를 사용하면 기본 소스 데이터에 대한 액세스 권한을 부여하지 않고도 특정 사용자 및 그룹과 테이블 데이터를 공유할 수 있습니다.

논리적 뷰

논리적 뷰(흔히 라고 함)는 SQL 쿼리의 결과입니다. 다른 SQL 쿼리에서 쿼리할 수 있는 가상 테이블로 작동합니다. 자세한 내용은 논리적 뷰 만들기 및 관리를 참고하세요.

연속 구체화된 뷰

연속 구체화된 뷰는 Bigtable 테이블에 대해 SQL 쿼리를 연속으로 실행하여 생성됩니다. Bigtable은 쿼리 출력을 기반으로 새 테이블을 만들고 소스 테이블과 동기화 상태를 유지합니다.

연속 구체화된 뷰를 사용하면 쿼리 성능을 개선할 수 있습니다. 새 테이블(연속 구체화된 뷰)은 소스 테이블과 다른 스키마를 가지며, 사전 집계되거나 변환된 데이터를 포함하며, 이 데이터는 소스 테이블에서 사용되는 쿼리와 다른 쿼리에 최적화되어 있습니다.

연속 구체화된 뷰는 읽기 전용입니다. 연속 실체화된 뷰의 저장용량과 두 번째 테이블을 만들고 소스 테이블과 동기화하며 복제하는 데 드는 처리 작업에 대한 요금이 청구됩니다.

자세한 내용은 연속 구체화된 뷰를 참고하세요.

승인된 뷰

승인된 뷰는 특정 테이블 데이터를 포함하도록 구성한 다음 소스 테이블에 대한 액세스와 별도로 액세스 권한을 부여하는 테이블의 뷰입니다. 승인된 뷰는 JSON 형식의 정의 파일로 정의됩니다.

연속 구체화된 뷰나 논리적 뷰와 달리 Bigtable 승인된 뷰는 읽기 및 쓰기 액세스 모두를 제어하는 데 사용할 수 있습니다.

승인된 뷰는 Bigtable 테이블에 여러 고객의 데이터를 저장하고 각 고객에게 데이터가 포함된 테이블의 하위 집합에만 액세스 권한을 부여하려는 경우에 유용합니다.

승인된 뷰에는 추가 스토리지 비용이 발생하지 않습니다.

자세한 내용은 승인된 뷰 개요를 참고하세요.

비교

다음 표에서는 Bigtable 테이블 뷰가 서로 다른 방식에 관한 추가 정보를 제공합니다.

논리적 뷰 연속 구체화된 뷰 승인된 뷰
구조 SQL 쿼리의 결과를 나타내는 가상 테이블 소스 테이블을 기반으로 하는 읽기 전용 테이블 테이블의 하위 집합
정의 SQL 쿼리 SQL 쿼리 JSON 정의 파일
소스 테이블과의 일관성 쿼리 실행 시 일관됨 eventual consistency 쿼리 실행 시 일관됨
쿼리 옵션 SQL을 사용해야 함 SQL 또는 Bigtable Data API Bigtable Data API
Writable 아니요 아니요
스토리지 데이터가 소스 테이블에 유지됨 데이터가 복제, 집계 또는 변환되어 새 읽기 전용 테이블에 저장됩니다. 데이터가 소스 테이블에 유지됨
사용 비용 쿼리 실행을 위한 컴퓨팅 처리 동기화 시 컴퓨팅 처리, 스토리지 비용 쿼리 실행을 위한 컴퓨팅 처리

다음 단계