OLTP vs OLAP

GonnabeAlright·2022년 6월 20일
0
post-thumbnail

OLTP (Online Transaction Processing)

복수의 사용자 PC에서 발생되는 트랜잭션(Transaction)을 DB 서버가 처리하고, 그 결과를 요청한 사용자 PC에 결과값을 되돌려주는 과정을 뜻합니다. 쉽게 이야기해서 1개의 요청작업을 처리하는 과정을 OLTP라고 생각할 수 있습니다.

예를 들어, 은행에 돈을 입금하는 과정을 생각해보면 약 3단계의 처리과정을 거쳐야 한다고 가정해보겠습니다. 1단계는 돈과 카드를 은행원에게 전달합니다. 2단계는 은행원이 돈과 카드를 확인한 후 입금을 진행합니다. 3단계는 입금이 확인된 내역을 확인합니다. 이 3단계는 중간에 그만두면 안되는 과정이며 모든 단계가 완벽하게 종료되어야 합니다. 3단계를 1개의 요청 작업, 즉 트랜잭션(Transaction)으로 본다면, OLTP는 이 과정을 완벽하게 처리함을 의미합니다.

즉, 중간에 예상치 못한 변수로 2단계까지만 작업이 진행되고 멈추게 된다면 지금까지 진행된 1, 2 단계를 무효화시켜야 합니다. (이 과정을 롤백(Rollback)이라 합니다.) 또한 1, 2, 3단계의 작업이 정상적으로 진행되면 작업을 확정해야 합니다. (이 과정을 커밋(Commit)이라 합니다.)

이처럼 OLTP의 의미는 무수히 많이 발생되는 각각의 작업요청을 오류없이 처리하고, 그 결과값을 실시간으로 확인시켜줘야 함을 의미합니다. 조금 복잡하게 말하면 1개의 트랜잭션에서 발생되는 INSERT, UPDATE, DELETE의 과정을 무결성을 보장하여 처리하고 그 결과를 SELECT하는 과정을 OLTP라고 합니다.

OALP (Online Analytical Processing)

OLTP가 데이터 자체의 처리에 중점이 된 용어라면 OLAP는 이미 저장된 데이터를 기반으로 분석하는데 중점이 된 용어입니다.

OLAP는 데이터웨어하우스(DW), 쉽게 말해 DB에 저장되어 있는 데이터를 분석하고 데이터 분석을 통해 사용자에게 유의미한 정보를 제공해주는 처리방법을 의미합니다. 나아가 이런 유의미한 정보를 바탕으로 보다 복잡한 모델링을 가능하게 합니다.

예를 들어, 만약 여러분이 회사의 대표라고 가정한다면 1년 동안 뒤도 돌아보지 않고 열심히 일을 했고 1년이 끝나는 시기에 돈은 얼마나 벌었는지 어디에 얼마만큼의 돈을 썼는지를 표로 정리하고 싶습니다. 해당 자료를 얻기 위해서 우선 필요한 것은 1년동안 사용한 내역서가 필요합니다. 먼저 1년 동안 무수히 많이 거래된 통장거래내역을 확보합니다. 그리고 이 통장거래내역을 바탕으로 수입과 지출금액을 나누고 다시 지출금액은 항목별로 나눠서 계산을 합니다. 이후 일별로 1년 동안의 벌어들인 금액과 지출항목별 금액을 정리했습니다. 다만 일일이 수작업으로 확인하다보니 정확한지에 대한 확신이 없습니다. OLAP는 사람이 원하는 이 작업을 컴퓨터로 자료를 추출 및 분석하여 제공하는 과정을 의미합니다.

즉, OLAP는 기존에 저장되어 있는 데이터를 사용자의 요구와 목적에 맞게 분석하여 정보를 제공하는 개념을 의미합니다.

OLTP vs OLAP

구분OLTPOLAP
목적비즈니스 활동 지원비즈니스 활동에 대한 평가, 분석
주 트랜잭션 형태SELECT, INSERT, UPDATE, DELETESELECT
속도수초 이내수초 이상 수분 이내
데이터 표현 시간실시간과거
관리단위테이블분석된 정보
최적화 방법트랜잭션 효율화, 무결성의 극대화조회 속도, 정보의 가치, 편의성
데이터의 특성트랜잭션 중심정보 중심
예시회원정보 수정1년간의 주요 인기 트랜드
상품 주문한달간의 항목별 수입, 지출
댓글 남기기 및 수정10년간 A회사의 직급별 임금 상승률

0개의 댓글