실리콘밸리에서 날아온 데이터베이스
관계형 데이터베이스(Relational Database)
RDB에는 서비스에서 나오는 데이터들을 저장하는 기능만 있다고 생각해왔었는데 아니었다. 내가 이제까지 알았던 관계형 DB는 프로덕션용이었음.
- 프로덕션용 관계형 데이터베이스
- = OnLine Transaction Processing(OLTP)
- 처리 속도가 중요 (서비스가 느리면 불편하니까)
- 앱/웹
- 유저 대상
- 데이터 웨어하우스 관계형 데이터베이스
- OnLine Analytical Processing(OLAP)
- 큰 데이터를 저장할 수 있느냐 (Scalabiliy)
- 회사 관련 데이터
- 회사 직원들 대상
데이터 직군, 들어는 봤는데 뭘 하는 사람들인가?
- 백엔드 개발자: 서비스 운영에 필요한 정보를 프로덕션용 RDB에 저장
- 데이터 엔지니어: 내부(프로덕션용)/외부(마케팅 등) 데이터 추출해서 데이터 웨어하우스로 저장, 관리해주는 일
- 데이터 분석가: 데이터 웨어하우스에 저장된 데이터로 지표 만들고 시각화 -> 회사의 방향 알 수 있음
- 데이터 과학자: 수집된 데이터 기반으로 머신러닝/인공지능 모델 만듦 -> 사용자 경험 개선
이 네 가지 일이 순환됨
Star Schema vs Denormalized Schema
- Star Schema
- 관계형 DB에서 많이 사용
- 논리적 단위로 나누고 필요할 때 조인
- 데이터 중복 저장 X
- Denormalized Schema
- NoSQL, 데이터 웨어하우스(공간 제약 ⬇)
- 단위별로 나누지 않아 조인 필요 X -> 빠름
- 스토리지 낭비