- Data Warehouse란?
- 다양한 소스에서 얻은 대량의 데이터를 연결, 통합하는 디지털 스토리지 시스템.
- 그냥 마구 넣은 데이터를 분석하고 보고하는데 사용된다.
- 우리 시스템의 예를 들어보자. 우리는 정말 다양한 곳의 데이터를 수집한다. github/jira/github action 등등
- 물론 소스가 다양한 것도 있는데, github 내부에서 오는 친구들만 해도 너무 다양해서 바로바로 분석하는 것이 힘들다. CRUD작업에 특화된 OLTP 위주의 시스템에서는 비용도 너무 많이 들고, 시간도 너무 많이 든다.
- NoSQL을 사용하고자 하니, 테이블을 설계할 수도 없고, 분석을 진행하기에도 비효율적이다.
- 그렇기 때문에 OLAP(온라인 분석 처리) DataBase가 만들어졌다. 그리고 이를 데이터 웨어하우스로 사용하는 솔루션이 각광받게 되었다.
- 우리 서비스는 OLAP Data warehouse에 기본적인 데이터를 Parsing하여 1차 처리 결과를 넣어 놓고, 분석하여 OLTP시스템에 넣으려고 했으나, Azure SQL이 OLAP/OLTP 모드 모두 지원을 하는 덕분에 그냥 Azure SQL에 넣기로 했다.
- 이것과 관련한 '데이터 웨어하우징(data warehousing)'은 데이터의 수집 및 처리에서 도출되는 정보의 활용에 이르는 일련의 프로세스라고 정의 가능하다
- OLAP 종류
- Multidimenstional OLAP (MOLAP)
- 다차원 데이터베이스에 기반한 OLAP 아키텍처.
- 데이터의 저장과 프로세싱에 MDB가 사용됨
- 네트워크 상의 데이터 이동이 최소화된다.
- 다차원 데이터의 저장과 프로세싱에 동일한 엔진이 사용된다.
- 예시 : SBase, Oracle Express
- Relational OLAP (ROLAP)
- 관계형 데이터베이스에 기반한 OLAP 아키텍처. 관계형 데이터와 클라 사이의 연결 역할
- Desktop OLAP (DOLAP)
- 다차원 데이터의 저장 및 프로세싱이 모두 클라이언트에서 이루어지는 데이터베이스
- 다른 OLAP보다 설치랑 관리가 쉽고 유지보수가 편함
- 필요한 데이터가 모두 클라이언트로 이동될 필요가 있어 대용량 데이터 처리에 한계가 생긴다.
- 제품 예시 : 파워플레이, 브리오쿼리
- HOLAP(Hybrid OLAP)
- 다차원 데이터의 저장 공간으로 다차원 데이터베이스와 관계형 데이터 베이스가 함께 사용될 수 있는 제품.
- 일반적으로 요약된 데이터나 관계식에 의해 새로 계산된 데이터는 다차원 데이터베이스에 저장, 상세 데이터는 관게형 데이터베이스에 저장.
- 제품 예시 : Oracle Express/ Azure SQL 서버
출처 : https://itpenote.tistory.com/203