안녕하세요 투자하는 개발자 투개자입니다.
오늘은 OLTP와 OLAP환경에 대해 알아보겠습니다.
소위 운영계라는 전통적 데이터베이스 시스템에선 OLAP라는 개념이 필요없다고 생각합니다.
이유는 한개의 트렌젝션이 발생하고 해당 트렌젝션을 insert, update, delete하는 일련의 과정을 하나의 프로세스로 움직이기 때문에
OLAP을 기반으로하는 정보계와는 다른 정보 저장, 운영에 중요성을 두기 때문입니다.
그러나 데이터의 양이 방대해지고 데이터를 통해 insight을 찾으려는 수요가 폭발적으로 증가하면서 정보계 분석의 중요성이 나날이 높아졌습니다. 하여 운영계인 OLTP환경과 정보계인 OLAP환경을 둘다 경험하고 알고 있는 DBA들이 선호되는 추세입니다.
1. OLTP (On-Line Transaction Processing)
여러 과정의 연산이 하나의 트렌잭션으로 실행하는 프로세스입니다.
A라는 사람이 B라는 가게에서 C물건을 구입하는 프로세스라면
1. A사람이 B사람에게 C물건의 값인 1,000원을 지급
2. B사람은 A사람에게 C물건을 제공
3. B사람은 A사람에게 C물건 값인 1,000원 획득
해당의 논리적인 과정이 하나의 프로세스로 이루어져 데이터베이스 내에선 각 테이블에 따라 실행됩니다.
이중 하나의 과정이라도 빠지게 되면 해당 프로세스는 에러가 나고, 모든 단계를 다시 시작해야합니다.
OLTP환경에선 결국 Insert, Update, Delete가 가장 중요하며 현재시점이 중요합니다.
그래서 분산처리의 개념이 나오는 것이 정규화의 중요성이 확대 되는 것입니다. - 처리속도가 빨라야하기 때문에
2. OLAP (On-Line Analytical Processing)
대용량 데이터를 고속으로 처리하며 쉽고 다양한 관점에서 추출, 분석할 수 있도록 지원하는 분석 기술입니다.
OLAP에선 분석이 핵심이 되기 때문에 이력(날짜)이 가장 중요한 속성으로 자리잡습니다 (과거,현재)
또한 Select가 가장 빈번하게 일어나고 그 후 Insert가 일어나기 때문에 메모리 성능이 가장 중요합니다.
그 후 빠른 Select 때문에 정규화가 아닌 반정규화의 개념이 도래하는 것이고, 팩트, 디멘젼 테이블의 개념이 등장하는 이유입니다.
정리
1.OLTP
특징
- 운영계로 트렌젝션이 일어나는 과정이 중요 (현재시점)
- 데이터를 저장하는것이 가장 중요하기에 하드디스크 용량, 분산처리, 정규화가 이루어져야함
2.OLAP
특정
- 정보계로 운영계의 데이터를 분석하는데 의의를 둠
- 분석의 개념임으로 이력이 가장 중요함 (과거, 현재)
- 데이터를 조회하는것이 가장 중요함으로 메모리 성능, 반정규화의 개념이 중요
- 테이블 자체를 쪼개는 것이 아닌 가장 빠르게 조회할 수 있도록 팩트, 디멘젼 테이블 단위로 구성
'Data WareHouse & Data Mart' 카테고리의 다른 글
SCD테이블 TYPE 1, TYPE 2, TYPE 3, TYPE 4 쿼리(MSSQL) (0) | 2020.09.28 |
---|---|
EDW, DM(데이터마트) 구축 배경 (0) | 2020.08.06 |
데이터웨어하우스(DW) 아키텍쳐 비교! (0) | 2020.08.04 |
[DW&BI] 데이터웨어하우스와 비즈니스인텔리젼스(BI) (킴벌데이터 웨어하우스) (0) | 2020.07.28 |
SCD(Slowly Changing Dimension) 개념 및 종류 (0) | 2020.07.16 |