데이터 처리 방식인 OLTP와 OLAP에 대해서 알아보겠습니다.
은행 ATM기기에서 돈을 찾을 때, 핸드폰요금이 청구될 때, 증권회사에서 수익율이 정리된 문서를 받을 때, 각 회사는 어떤방식의 데이터 처리를 하고 있을까요. 그 때 사용하는 데이터 처리방식을 알아보겠습니다.
1. 데이터 처리 방식 OLTP와 OLAP 란
OLTP와 OLAP가 어떤 내용인지 부터 알아보겠습니다.
그전에 데이터란 무엇일까요?
1) 약어의 의미
OLTP는 영문 Full Name으로 Online Transaction Processing system입니다.
의미를 풀어보면 온라인으로 트랜잭션을 처리하는 시스템이란 것이죠.
즉, 온라인으로 데이터 처리를 위한 시스템입니다. 중요한것은 "데이터 처리"라는 것이죠,
그럼 OLAP를 살펴보죠.
OLAP의 영문 Full Name은 Online Analytical Processing system입니다.
의미를 풀어보면 온라인으로 분석작업을 처리하는 시스템이란 것이죠.
즉, 온라인으로 데이터 처리가 아닌 데이터 분석를 위한 시스템입니다. 중요한것은 "데이터 분석"이라는 것이죠,
2) 트랜잭션이란
OLTP에서의 트랜잭션이란 무엇일까요? 이것을 예를 들어 설명하죠.
ATM에서 현금 30만원을 인출하먄, 은행 시스템에 바로 "출금 300,000"이 데이터로 기록됩니다.
급여가 내 통장에 입금되면 "입금 300만원"이 데이터로 기록됩니다.
이런 입금이나 출금이라는 행위를 트랜잭션이라고 하고 이 단위로 데이터가 생성됩니다.
3) 분석이란
OLAP에서의 분석을 알아보겠습니다.
분석이란 재무분석, 영업분석, 마케팅 분석, 예측 등 다양한 영역에서 이루어 지고 있습니다.
분석은 동일한 데이터를 가지고 다양한 관점에서 진행합니다.
영업을 예를 들어보겠습니다.
영업분석은 지난달과의 비교, 지역별 비교, 상품별 판매 비교등 관점을 바꾸어가면 비교를 합니다. 그런 분석 과정을 통해서 매출이 줄거나 늘어나 원인을 파악하는 것이죠.
그런 분석 환경을 만들고 분석 작업을 지원해 주는 시스템을 OLAP 리고 합니다.
2. OLTP와 OLAP 비교 알아보기
OLTP와OLAP를 비교해 보겠습니다. 비교하다보면 서로의 차이와 용도를 알기 편합니다.
1) OLTP와 OLAP 비교
항목 | OLTP | OLAP |
기본 | 온라인 트랜잭션 시스템이며, DB의 데이터를 수정한다. | 온라인 분석 시스템으로 데이터 분석과 검색을 한다. |
중점사항 | 데이터베이스에서 정보를 삽입, 수정, 삭제한다. | 의사결정에 도움이 되는 분석용 데이터를 추출한다. |
Data | OLTP와 해당 트랜잭션은 데이터의 원본 소스이다. | 다양한 OLTP 데이터베이스가 OLAP용 데이터 소스가 된다. |
거래 | OLTP는 트랜잭션이 짧다. | OLAP는 트랜잭션이 길다 |
시간 | OLTP에서는 트랜잭션 처리 시간이 비교적 짧다 | 트랜잭션 처리 시간은 OLAP에서 비교적 더 길다 |
쿼리 | 쿼리가 긴단하다. | 쿼리가 복잡하다. |
표준화 | OLTP 데이터베이스에서 테이블은 정규화 하여 관리한다.(3NF). | OLAP 데이터베이스에서 테이블은 정규화하지 않는다. |
무결성 | OLTP 데이터베이스는 데이터 무결성 제약 조건을 유지한다. | OLAP 데이터베이스는수정을 자주하지 않는다. 따라서 데이터 무결성에 영향을 받지 않는다. |
2) 처리 방식 비교
OLTP 시스템의 주요 역할은 트랜잭션에 따라 삽입, 수정, 삭제, 조회 작업을 진행합니다.
OLTP 쿼리는 간단하고 짧아서 처리 시간이 짧고, 저장공간도 적게 소요됩니다.
트랜잭션 처리 중 오류 발생으로 처리가 실패하면 원 상태로 복귀되어 데이터 무결성을 보장하도록 해야 합니다.
OLAP는 OLTP에 저장된 데이터를 가져와서 저장합니다.
데이터를 저장할 때 정규화를 고려하지 않습니다. 목적이 데이터 분석과 다양한 요약 통계 정보를 제공하는 것이기 때문입니다. 즉, 대용량 데이터에서 정보를 추출하고 분석하여, 의사결정을 내릴 수 있도록 하는 것입니다.
3) OLTP와 OLAP의 주요 차이점
- OLTP와 OLAP 차이점은 OLTP는 온라인 트랜잭션을 다루는 반면, OLAP는 온라인 검색 및 분석을 다루는 시스템입니다.
- OLTP의 데이터 소스는 온라인 트랜잭션 데이터이며, OLAP의 데이터 소스는 자체 보유 뿐만 아니라 다른 OLTP 데이터베이스도 데이터 소스가 됩니다.
- OLTP의 주요 작업은 삽입, 수정, 삭제이며, OLAP의 주요 작업은 분석을 위해 다차원 데이터를 추출하는 것입니다.
- OLTP는 짧은 시간에 처리되는 빈번한 트랜잭션을 다루지만, OLAP는 대량의 데이터에서 덜 빈번한 트랜잭션을 다루게 됩니다.
- OLAP 트랜잭션 처리 시간은 OLTP보다 더 깁니다.
- OLAP 쿼리는 OLTP 쿼리보다 더 복잡합니다.
- OLTP 데이터베이스의 테이블은 정규화(3NF)되어야 하지만, OLAP 데이터베이스의 테이블은 정규화되지 않을 수 있습니다.
- OLTP는 데이터베이스 내에서 트랜잭션을 자주 실행하기 때문에, 중간에 트랜잭션이 실패할 경우 데이터의 무결성을 해칠 수 있으므로 데이터 무결성을 관리해야 합니다.
- OLAP에서는 트랜잭션의 빈도가 낮기 때문에 데이터 무결성에 크게 영향을 미치지 않습니다.
>> 유튜브 Difference Between OLTP and OLAP
3. 정리하며
이번 포스팅은 데이터 처리방식의 2가지에 대해서 알아봤습니다.
OLTP는 데이터를 처리하는 시스템으로 데이터를 추가, 수정, 삭제합니다. 즉, 데이터에 직접적인 영향을 주는 것입니다.
OLAP는 대량의 데이터에서 다차원 분석을 하는 검색용 시스템입니다.
취급하는 업무와 목저에 따라 OLTP와 OLAP를 구성하여 활용하시면 됩니다.
보통 규모가 있는 회사는 OLTP를 먼저만들고, 이어서 OLAP를 만들어 관리합니다.
회사가 작을 때는 업무 트랙잭션에 충실하지만, 규모가 커지면 영업, 품질, 마케팅 등을 위해 분석시스템이 필수적으로 필요해 집니다.
상황에 맞추어 활용하시기 바랍니다.
[같이 보기]
- 비행기 반입 금지 물품 - 휴대용 라이터, 호신용 스프레이 는
- 대한항공 기내 면세품 KAL기내 면세품 - 구매, 사전주문 알아보기
- 해외 여행 준비 필수 준비물 - 필수템, 꼭 챙겨야 하는 것들
- 아시아나 마일리지 가족회원 등록하기 - 항공마일리지 모으기, 아시아나 마일리지 적립 방법, 가족 간 사용 공유
- 대한항공 마일리지 - 비행기표 예매, 마일리지 확인하기
- 해외 여행의 필수품 재외공관 - 외교부 재외공관, 해외여행 안전지도 알아두기
'파이썬 데이터분석' 카테고리의 다른 글
Another java installation is in progress you must complete that installation before (0) | 2024.05.15 |
---|---|
테이블스페이스 지정하여 테이블 생성 하기 - 인덱스도 지정 (0) | 2024.05.09 |
파이썬 설치하기 - 윈도우 파이썬 설치하고 실행하기 (0) | 2024.03.10 |
파이썬 강의 - 문자열 찾기, 문자열 자르기, 문자열 포함 확인, 문자열 추출 (3) | 2024.03.05 |
[파이썬] time.sleep() - 프로그램 실행 잠시 멈추기 (0) | 2024.03.02 |