사용 목적에 따른 분류
- Production Relational DB : 웹이나 어플리케이션 서비스에서 필요한 데이터를 저장하는 곳
- 서비스의 응답 속도는 DB에 의존하므로, 빠른 처리 속도를 중요시함
- OLTP (OnLine Transaction Processing)
- Star Schema
- 종류 : MySQL, PostgreSQL, ...
- 데이터 웨어하우스 Relational DB : 서비스에서 얻은 데이터를 복사해와 한 곳에 저장하여, 회사 직원들이 해당 데이터로 분석, 모델 빌딩 등을 수행
- 회사 내부에서 사용하므로 속도보다는 큰 데이터 처리가 중요
- OLAP (OnLine Analytical Processing)
- 데이터 웨어하우스는 여러대의 컴퓨터를 클러스터함으로써 용량이 크므로 빠른 계산을 위해 Denormalized Schema를 사용
서비스 운영시에 데이터 순환 구조
- 사이트 방문 트래픽과 외부 데이터(이메일, 마케팅 등)가 데이터 엔지니어에 의해 데이터 웨어하우스에 저장됨
- 데이터 웨어하우스의 데이터를 가지고 데이터 분석가가 비즈니스 인사이트를 도출해냄
- 데이터 과학자가 머신러닝을 통해 개인화등으로 제품 서비스를 개선한다.
DB 구조에 따른 분류
- Relational DB : 데이터를 구조화된 테이블들의 집합으로 구성하여 저장
- Non-relational DB (NoSQL) : 비구조화된 데이터(이미지, 텍스트 등)를 저장
- Production Relational DB를 보완하기 위해 사용
- Denormalized Schema
- 종류
- Key/Value Storage : Redis, Memcache
- Document Store : MongoDB
- Wide Column Storage : Cassandra, HBase, DynamoDB
- Search Engine : ElasticSearch