1.1. BigQuery 개요
1.1.1. BigQuery 소개
BigQuery는 Google Cloud Platform의 클라우드 기반 데이터 웨어하우징 서비스로, 대규모 데이터셋을 저장, 쿼리하고 분석하는 데 사용되는 완전 관리형 서버리스 SQL 데이터베이스입니다.
SQL 기반의 쿼리 언어를 사용하여 데이터를 쉽게 검색 및 분석할 수 있으며, 데이터 분석가, 데이터 엔지니어 등 다양한 사용자들이 중요한 비즈니스 의사결정을 내릴 수 있도록 합니다.
1.1.2. 데이터베이스 기본 용어
- Key: 데이터베이스에서 데이터를 식별하거나 조회하는데 활용되는 고유한 식별자입니다.
- 타입: 각 열이 가질 수 있는 데이터 유형을 나타냅니다. 문자열, 숫자, 날짜 등이 있습니다.
- Date: 날짜 데이터를 저장하고 조작하기 위한 데이터 유형을 나타냅니다. 시간, 연도, 월, 일 등의 정보를 포함할 수 있습니다.
- RDBMS (Relational Database Management System): 관계형 데이터베이스 관리 시스템으로, 서로 관련된 각 테이블의 관계를 통해 데이터를 조직, 관리하고 쿼리할 수 있습니다.
- ERD (Entity-Relationship Diagram): 엔터티 간의 관계를 시각적으로 표현한 다이어그램으로, 데이터베이스 설계와 구조를 이해하고 표현하기 위해 사용됩니다.
1.1.3. BigQuery 특징
BigQuery의 주요한 특징은 다음과 같습니다. 그 외의 특징에 대한 정보는 아래 서술한 내용 혹은 공식 문서를 참고해 주십시오.
- 서버리스 아키텍처
- 서버 관리나 설정에 상관 없이 사용할 수 있는 서버리스 아키텍처를 제공합니다.
- 사용자는 데이터 처리에 집중하고 복잡한 서버 관리를 할 필요가 없습니다.
- 데이터 공유 및 협업 기능
- 실시간으로 다수의 사용자와 데이터를 공유할 수 있어, 효율적으로 팀 간 데이터 공유 및 데이터 분석 협업 환경을 구축할 수 있습니다.
- 저장된 프로시저
- 저장된 프로시저를 사용하여 데이터베이스에서 실행되는 SQL 코드 블록을 정의하고 실행할 수 있는 기능을 제공합니다.
- 이를 통해 복잡한 쿼리나 프로세스를 단순화하고 재사용성을 높일 수 있습니다.
- 데이터 보안 및 액세스 제어
- Google Cloud Platform(GCP)의 Identity and Access Management(IAM)을 중심으로 구성됩니다. IAM을 통해 프로젝트, 데이터셋, 테이블 등의 액세스 권한을 관리하고, 열 수준 액세스 제어를 통해 특정 열에 대한 접근을 제어합니다.
- 데이터는 암호화되어 저장되며, 감사 로깅 및 다양한 접근 제어 기능을 활용하여 데이터 접근과 변경 내역을 관리할 수 있습니다. 이를 통해 데이터의 보안과 안전한 액세스를 보장합니다.
1.2. BigQuery 테이블