이것은 실제로 사용되는 데이터 엔지니어링 기술의 요약입니다.
개인 기록용으로 작성되었습니다.
https://github.com/mjs1995/muse-data-engineer/blob/main/doc/BI/olap.md
OLTP 대 OLAP
특성 | 거래 처리 시스템(OLTP) | 분석 시스템(OLAP) |
주요 읽기 패턴 | 키로 검색되는 쿼리당 몇 개의 레코드 | 많은 데이터 세트에 대한 집계 |
주요 쓰기 패턴 | 사용자 입력의 임의 액세스, 저지연 로깅 | 대량 가져오기(ETL) 또는 이벤트 스트림 |
주요 용도 | 웹 애플리케이션을 통한 최종 사용자/소비자 | 의사 결정 지원을 위한 내부 분석가 |
데이터 프레젠테이션 | 데이터의 현재 상태(현재 시점) | 시간이 지남에 따라 발생한 이벤트의 역사 |
레코드 크기 | 기가바이트에서 테라바이트로 | 테라바이트에서 페타바이트로 |
온라인 거래 처리(OLTP)
- 회사에서 모든 거래 및 기록을 저장하는 데 사용하는 데이터베이스를 OLTP(온라인 거래 처리) 데이터베이스라고 합니다.
- INSERT, UPDATE, DELETE 등의 트랜잭션 방식은 물론 특정 정보를 빠르게 찾는 데 이상적입니다.
- OLTP 시스템은 실제로 발생하고 기록되는 원시 데이터의 “무엇”에 초점을 맞추고 현재 거래 상태를 정확하게 기록하고 업데이트하는 것이 목표입니다.
반면 OLAP 시스템은 수집된 데이터를 의사결정에 활용하는 측면을 담당하기 때문에 ‘왜’가 관건이다. - OLTP 시스템
- MySQL
- PostgreSQL
- 아마존 오로라
- 오라클 RDBMS
- OLTP 환경
데이터웨어 하우스 | OLTP 시스템 | |
작업량 | 임시 쿼리 및 데이터 분석 지원 | 미리 정의된 작업만 지원 |
데이터 수정 | 정기 자동 업데이트 | 개별 명세서를 제출한 최종 사용자의 업데이트 |
스키마 디자인 | 부분적으로 비정규화된 스키마로 성능 최적화 | 완전히 정규화된 스키마를 사용하여 데이터 일관성 보장 |
스캐닝 데이터 | 수천에서 수백만 개의 행 포함 | 한 번에 몇 개의 레코드에만 액세스 |
기록 | 데이터 수개월 또는 수년의 데이터 저장 | 몇 주 또는 몇 달 동안만 데이터 저장 |
온라인 분석 처리(OLAP)
- OLAP(온라인 분석 처리) 시스템은 다차원 분석 쿼리에 신속하게 응답하는 컴퓨팅 접근 방식이며 많은 비즈니스 인텔리전스, 분석 및 데이터 과학 응용 프로그램에서 일반적입니다.
- OLAP는 최종 사용자가 다차원 정보에 직접 액세스하고 정보를 대화식으로 분석하여 의사 결정에 사용하는 프로세스입니다.
- 기존 관계형 데이터베이스 시스템과의 주요 차이점은 OLAP 시스템의 데이터가 미리 집계된 다차원 형식으로 저장된다는 것입니다.
- 특성
- 다차원성: 사용자가 콘텐츠 수준에서 정보를 분석할 수 있습니다.
- 직접 접근: 사용자는 전산부서와 같은 정보 중개자를 거치지 않고 원하는 정보에 직접 접근합니다.
- 대화형 분석: 사용자는 시스템과 상호 작용하여 정보를 분석하고 원하는 결과를 얻을 때까지 계속 분석합니다.
- 의사결정에 사용: 사용자가 비즈니스의 전반적인 상황을 이해하고 의사결정을 지원합니다.
- 데이터의 시계열을 유지합니다.
예를 들어 메트릭 값의 변화를 감지할 수 있습니다. - 분석가가 일반적으로 실행하는 쿼리는 임시 쿼리이므로 시스템은 스키마 엔지니어링 없이 모든 비즈니스 질문에 답할 수 있어야 합니다.
모든 차원에서 데이터를 빠르게 수집하고 쿼리해야 합니다. - 관계형 데이터베이스와 달리 데이터는 많은 중복으로 저장될 수 있습니다.
이는 결과 수집 속도를 높이거나(예: 조인 방지) 데이터를 시계열로 개발해야 하기 때문에 바람직합니다. - 비즈니스 질문에 답하기 위해 많은 양의 데이터를 스캔해야 할 수도 있습니다.
- 다차원성: 사용자가 콘텐츠 수준에서 정보를 분석할 수 있습니다.
- 주요 기능
- 슬라이싱 및 다이싱: 다차원 쿼리의 기본은 사용자가 큐브의 어느 부분을 보고 싶은지 정의하는 것입니다.
다차원 쿼리는 사용자가 큐브의 일부를 보고 싶은 모양으로 슬라이스하는 것과 같습니다.
-
https://www.javatpoint.com/olap-operations
-
- 드릴다운: 드릴다운은 데이터의 요약 수준에서 보다 구체적인 세부 데이터로 단계별로 이동하는 분석 기술입니다.
-
https://www.javatpoint.com/olap-operations
-
- 드릴업(roll-up): 사용자가 드릴다운과 반대 방향으로 정보를 분석하여 작은 단위에서 큰 단위로 집계
-
https://www.javatpoint.com/olap-operations
-
- Drill-Across: 다른 큐브의 데이터에 액세스
- Drill-Through: OLAP 시스템에서 데이터 웨어하우스 또는 OLAP 시스템에 있는 자세한 데이터에 액세스합니다.
- 피벗: 사용자는 보고서의 행, 열 및 페이지 차원을 임의로 변경할 수 있습니다.
-
https://www.javatpoint.com/olap-operations
-
- 필터: 보고서에 표시되는 데이터를 특정 기준(데이터 기반 계층, 속성, 항목 이름)을 충족하는 항목으로 제한합니다.
- 슬라이싱 및 다이싱: 다차원 쿼리의 기본은 사용자가 큐브의 어느 부분을 보고 싶은지 정의하는 것입니다.
- OLAP 시스템
- 아마존 레드시프트
- HP 버티카
- 테라데이타
참조