OLAP OLTP

이 둘은 전부 정보를 프로세싱하는 기법임. OLTP는 일반 IT 서비스의 데이터베이스 처리과정을 생각하면 될 것 같고, OLAP는 분석에 초점을 맞춘 프로세싱임.

OLAP는 결국 정규화된 테이블을 비정규화시켜서 크로스 집계하는 구조라고 보면 됨.

데이터베이스는 일반적으로 트랜잭션, 마스터로 테이블을 구분할 수 있음. 트랜잭션에 중요한 수치들이 들어가며, 마스터에는 트랜잭션이 참고하는 메타데이터들이 들어간다고 보면 됨. (일반적인 RDB의 RM이 이런 구조)

데이터 웨어하우스

데이터웨어하우스의 테이블을 나누면 크게 팩트 테이블과 디멘전 테이블이 있다. 팩트 테이블은 트랜잭션 처럼 주요 사실들이 들어간 공간이며 디멘전 테이블은 마스터 처럼 참고되는 공간이다.

데이터 마트나 데이터 웨어하우스같이 대용량 데이터 저장소의 스키마를 설계할 때 스타 스키마와 스노우플레이크 스키마로 나뉜다. 팩트 테이블을 중심으로 하되 스타는 디멘전이 크게 정규화되지 않은 구조이며, 스노우플레이크는 디멘전도 세밀하게 정규화된 구조다

데이터 웨어하우스는 스타 스키마 구조를 지향하는 게 좋다고 한다.

데이터마트

데이터 마트는 스타 스키마 구조보다는 아예 비정규화 시키는 것이 크로스집계에는 유리하다고 함. 요새는 데이터 마트를 열지향으로 하기에 컬럼이 늘어나도 성능에 영향을 안끼침. 그래서 비정규화로 컬럼들이 많이 늘어나도 문제가 없으며 크로스 집계 하기도 용이할 거임.

<aside> 💡 비정규화 테이블을 꼭 몽고디비같은 schemaless로만 생각하지 말기.

</aside>

다차원모델

일반적으로 OLAP에서는 크로스 집계가 일어나므로 차원이라는 것이 존재함. 일반 RDB구조와는 다르다는 이야기

기본적으로 다차원 모델 이라고 부르며 다차원 모델의 칼럼은 디멘전, 측정값 으로 나뉘며, 디멘전들이 교차한는 공간에 측정값이 들어간다고 보면 됨.