관계형 데이터베이스란
구조화된 데이터를 저장하고 질의할 수 있도록 해주는 스토리지
- 엑셀 스프레드시트 형태의 데이블로 데이터를 정의하고 저장
- 데이블에는 컬럼과 레코드의 존재
SQL
- 관계형 데이터베이스를 조작하는 프로그래밍 언어
- 테이블 정의를 위한 DDL(Data Definition Language)
- 테이블 데이터 조작/질의를 위한 DML(Data Manipulation Language)
대표적 관계형 데이터베이스
프로덕션 데이터베이스
- MySQL, PostgreSQL, Oracle...
- OLTP(OnLine Transaction Processing)
- 빠른 속도에 집중, 서비스에 필요한 정보 저장
데이터 웨어하우스
- Redshift, Snowflake, BigQuery, Hive,...
- OLAP(OnLine Analytical Processing)
- 처리 데이터 크기에 집중, 데이터 분석 혹은 모델 빌딩등을 위한 데이터 저장
- 보통 프로덕션 데이터베이스를 복사해서 데이터 웨어하우스에 저장
데이터베이스 분리 필요성
- 프로덕션 데이터베이스만 있는 상황에서 쿼리를 날리면 전체적인 웹, 앱 서비스 속도가 저하
- 백엔드 개발자 입장에선 문제 발생 상황 -> 트러블 있을 수 있음
- 데이터 웨어하우스가 있으면 저장된 데이터를 다루기 때문에 그런 문제들 해결