구조화된 데이터를 저장하고 질의할 수 있도록 해주는 스토리지
스키마
테이블을 구성하는 컬럼의 이름, 타입 등
프로덕션 데이터베이스
데이터 웨어하우스
관계형 데이터베이스 구조
데이터 모델링
데이터를 어떻게 저장할지 정하는 것
- Star Schema
- 단위 테이블로 나눠 저장하고 필요시 JOIN
- Production DB에서 사용하는 방식
- 스토리지 사용량 ⬇️
JOIN 필요 → 속도 ⬇️
업데이트 용이
- Denormalized Schema
- 단위 테이블로 나누지 않고 하나의 테이블로 저장해 JOIN이 필요 없는 형태
- DW에서 사용하는 방식
- 스토리지 사용량 ⬆️
속도 ⬆️
업데이트 어려움 → Production DB에서 업데이트 후 복사
관계형 데이터베이스를 조작하는 프로그래밍 언어
SQL을 사용하는 이유?
구조화된 db를 사용하는데 sql만큼 검증되고 쉬운 언어가 없기 때문
DDL (Data Definition Language)
테이블 스키마를 정의하는 언어
DML (Data Manipulation Language)
테이블에서 레코드를 읽어오는 언어
테이블에 레코드를 추가·삭제·갱신하는 언어
단점
회사에 필요한 모든 데이터 저장
SQL 기반의 관계형 DB
Production DB와 별도
OLAP
AWS Redshift, Google BigQuery, Snowflake 등
처리 속도보다 처리 데이터 크기가 중요
ETL·데이터 파이프라인
데이터 인프라