해당 내용은 초보자를 위한 BigQuery(SQL) 입문 강의를 기반으로 작성되었습니다.
학습 시작 전 알고 있으면 좋은 개념들
- 함수 : 프로그램 소스 코드에서 일정한 동작을 수행하는 코드들 like.. 가전제품..?
빵을 데우고 싶은 경우,
input | 함수 | output |
차가운 빵 | 토스트기 (데워줌) | 따뜻한 빵 |
SQL (Structured Query Language)
- DB에서 데이터를 가지고 올 때 사용하는 언어
- DB의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어
- 흔히 쿼리문, 쿼리 구문, 쿼리를 짠다, SQL 쿼리 등으로 표현한다.
테이블 구조
column 1 | column 2 | column 3 | column 4 | |
row 1 | ||||
row 2 | ||||
row 3 |
- 열 column : 세로줄
- 행 row : 가로줄
* (혼동 주의) Raw 데이터 : 원본 데이터
데이터 저장 형태
- Database(DB) : 데이터 테이블이 있는 저장소
- Table : 데이터가 저장된 공간
- 데이터 : 저장된 데이터를 제품(웹, 앱)에서 사용
데이터가 저장되는 장소
- OLTP (Online Transaction Processing)
- 거래를 하기 위해 사용되는 DB
- 데이터의 무결성 :
- 결점이 없다. = 데이터가 정확하고 오류 없이 저장된다.
- 깨끗하다. 완벽하다. = 중간 상태나 불완전한 상태가 없으며, 모든 거래는 '완료' 또는 '취소'로 끝난다.
- ex) 음식 주문 시스템에서 주문을 '한다' 또는 '안 한다'는 특징이 있고, 주문이 '보류' 상태에 머무를 수 없다. - 데이터의 추가(INSERT), 변경(UPDATE)이 많이 발생한다.
- 분석용 DB가 아닌 트랜잭션 처리 중심 DB
SQL을 사용해 데이터를 추출할 수 있으나, 분석을 위한 DB가 아니라 쿼리 속도가 느릴 수 있다. - 주요 DBMS : MySQL, Oracle, PostgreSQL 등
- OLAP (Online Analytical Processing)
- 데이터 분석을 위한 기능 제공
- 데이터 웨어하우스
- 여러 곳에 저장된 데이터들(DB, 웹(크롤링), 파일, API 결과 등)을 한 곳에 모아서 저장하는 곳
- Cloud 이용 시, AWS Aurora와 같은 데이터베이스에 주로 저장된다.
Big Query
Google Cloud의 OLAP + Data Warehouse = Google Cloud의 데이터 웨어하우스
장점
- 난이도
- SQL을 사용해 쉽게 데이터 추출이 가능하다. - 속도
- OLAP 도구이므로 속도가 빠르다. (단, 그만큼 돈을 지불해야 한다.) - Firebase, Google Analytics 4의 데이터를 쉽게 추출할 수 있다.
- 사용 기기, 위치(시 단위까지 표현), OS 버전, 이벤트 행동 획득이 가능하다.
* 별도의 로깅 필요 - 데이터 웨어하우스를 사용하기 위해 서버(컴퓨터)를 띄울 필요가 없다.
* 구글에서 인프라를 관리한다.
BigQuery를 사용하는 이유
- 회사에서 앱이나 웹에서 Firebase, GA4를 활용할 경우
- 적은 비용(인력 등)으로 운영하기 위해
- 사용하는 회사 : 쏘카, 당근, 컬리, 마이리얼트립, 원티드랩, 버드뷰, 하이퍼커넥트, 매스프레소, 오피지지
BigQuery 비용 (US 기준)
- 쿼리 비용
SQL 쿼리를 실행해서 데이터를 탐색할 때 나가는 비용- On-demand 요금제
- 쿼리에서 데이터를 탐색할 때 탐색하는 용량만큼 부과
- 1TB 당 $6.25
* 쿼리문을 잘 작성하는 것이 중요!
* 한 번 돌릴 때 잘게 잘라서 돌리니까 어떻게 하면 잘 잘라서 돌리는지를 알아야한다. - Capacity 요금제
- slot 단위로 요금 부과
- 1 slot 당 $0.04~0.06 (세부 요금제에 따라 다름)
- On-demand 요금제
- 저장 비용
데이터를 저장하는 비용- Active Logical 저장소
- 1G 당 $0.02 (월) - Long-term Logical 저장소
- 1G 당 $0.01 (월), 90일간 수정되지 않는 경우
- Active Logical 저장소
BigQuery 환경 구성 요소
- 프로젝트 Project
- 하나의 큰 건물
- 건물 안에는 여러 목적을 가진 창고가 존재하듯이, 하나의 프로젝트에 여러 데이터셋이 존재할 수 있다.
- 2개 이상의 프로젝트 존재 가능 -> 프로덕션(실제 서비스용), 데브(개발용) 이런 식으로 사용하고 있을 수도 있다.
- 데이터셋 DataSet
- 프로젝트에 있는 창고
- 각 창고 공간에 데이터를 저장한다.
- 하나의 데이터셋에 다양한 테이블이 존재할 수 있다.
- 테이블 Table
- 창고에 있는 상품 모음
- 테이블 안에는 상품의 세부 정보가 저장되어 있다.
- 테이블 안에는 행과 열로 이루어진 데이터들이 저장되어있다.
728x90
'DBMS > BigQuery' 카테고리의 다른 글
데이터를 어떻게 변환할 것인가 (0) | 2025.01.17 |
---|---|
어떻게 하면 SQL 쿼리를 잘 작성하고 오류를 디버깅 할까? (0) | 2025.01.17 |
데이터를 활용하고 확인하는 과정 (0) | 2025.01.16 |
BigQuery 환경 설정 방법 (0) | 2025.01.16 |
BigQuery 학습 전 참고할 내용 (0) | 2025.01.16 |