Google Cloud Platform에서
BigQuery를 사용할 때 리소스의 계층
하나의 조직(Organization)은 여러 프로젝트(Project)를 가질 수 있으며, 프로젝트 안에는 여러 데이터세트(Dataset)를 가지고 있습니다. 데이터세트 안에는 테이블(Table)과 ML Model 등이 있으며, Job이 실행되어 데이터 조작(Data Manipulation)을 합니다.

빅쿼리와 RDBMS 데이터 구조 비교
일반적인 RDBMS와 빅쿼리를 비교하면 다음과 같습니다.
| BigQuery (DW) |
RDBMS | |
| 데이터 모델 | 열 기반 | 행 기반 |
| 데이터 저장 | 분산 파일 시스템 | 페이지 기반 저장 |
| 스키마 | 동적 스키마 | 정적 스키마 |
| 파티셔닝 | 지원 | 지원 |
| 클러스터링 | 자동 | 수동 |
| 쿼리 처리 | 병렬 처리 | 단일 노드 처리 |
| 데이터 압축 | 지원 | 지원 |
빅쿼리의 주요 용어와 RDBMS의 주요 용어를 비교하면 다음과 같습니다.
| BigQuery (DW) |
RDBMS |
| 프로젝트(Project) | 데이터베이스(Database) |
| 데이터세트(Dataset) | 테이블스페이스(Tablespace) |
| 테이블(Table) | 테이블(Table) |
빅쿼리 리소스별 권한 관리
빅쿼리의 리소스별 권한을 다음과 같이 관리할 수 있습니다.
중앙 데이터 레이크, 부서별 접근 가능한 데이터마트

- 중앙 데이터 엔지니어링 팀에게 스토리지 프로젝트의 데이터 수집 및 편집 권한을 부여
- 부서 분석가에게 Unified Storage 프로젝트의 특정 데이터셋에 대한 BigQuery Data Viewer 역할 부여
- 부서 분석가에게는 부서의 컴퓨팅 프로젝트에 대한 BigQuery Data Editor 역할과 BigQuery Job User 역할도 부여
- 각 컴퓨팅 프로젝트는 팀의 청구 계정에 연결
부서별 데이터 레이크, 공통 데이터웨어하우스 프로젝트

- 특정 데이터 소스 수집을 담당하는 데이터 엔지니어는 부서의 스토리지 프로젝트에서 BQ Data Editor 및 BQ Job User 역할을 부여
- 분석가는 프로젝트 수준에서 기본 데이터에 대한 BQ Data Viewer 역할을 부여받습니다. 예를 들어 HR 분석가는 전체 HR 스토리지 프로젝트에 대한 데이터 뷰어 액세스 권한을 부여
- BigQuery를 외부 비즈니스 인텔리전스 도구에 연결하는 데 사용되는 서비스 계정은 시각화에 사용할 데이터 세트가 포함된 특정 프로젝트에 대한 데이터 뷰어 액세스 권한을 부여
- 분석가 및 서비스 계정은 Central Data Warehouse 프로젝트에서 BQ Job User 및 BQ Data Editor 역할을 부여
부서별 데이터 레이크, 부서별 데이터마트

- 부서 데이터 엔지니어는 부서의 데이터 레이크 프로젝트에 대해 BQ Data Editor 및 BQ Job User 역할을 부여
- 부서 데이터 분석가에게 부서의 데이터 레이크 프로젝트에 대한 BQ Viewer 역할 부여
- 부서 데이터 분석가에게 부서의 데이터 마트 프로젝트에 대한 BQ Data Editor 및 BQ Job User 역할 부여
- 부서별 데이터 분석가에게 접근 가능한 데이터에 접근 가능 권한 설정
'Architecture for Software > Google BigQuery' 카테고리의 다른 글
| 구글 빅쿼리(Google BigQuery) 와 OLTP (0) | 2024.03.12 |
|---|---|
| 구글 빅쿼리(Google BigQuery)와 빅쿼리 스튜디오 (0) | 2024.03.12 |