http://www.joynsun.com/tc/joy/1256



 

[2003-011]OLTP Systems and OLAP Systems
작 성 자 김환태(nescafe) 작성일 2003-01-24 15:07:05
내 용 [2003-011]OLTP Systems and OLAP Systems

OLTP(On-Line Transaction Processing) 시스템은 기업의 기본적인 업무를 수행하는 어플리케이션입니다. 주문접수 프로그램, 현금등록기로부터 얻은 데이터를 저장하는 프로그램, 공장을 운영하는 소프트웨어등을 OLTP 시스템에 포함시킬 수 있을 것입니다. OLTP 시스템이 데이터를 사용하는 방식을 아래에 적어보았습니다.

• OLTP 시스템은 비즈니스 업무를 처리하는 과정에서 데이터를 발생시킵니다.

• 개개의 레코드에 대하여 조회와 수정이 효율적으로 이루어지도록 최적화된 포맷으로 데이터를 저장합니다.

• 발생한 이벤트들에 대하여 제한된 숫자의 요약화된 보고서를 생성합니다.


OLAP(On-Line Analytical Processing) 시스템은 기업의 데이터를 분석하고자 하는 목적으로 만들어졌습니다.

• OLAP 시스템은 필요한 데이터를 OLTP 시스템과 기업 외부의 데이터를 포함한 다른 데이터 소스로부터 가져옵니다.

• 데이터는 분석적 질의(Anlytical queries)에 적합한 형태로 포맷으로 저장됩니다. 이러한 분석적 질의 들은 흔히 수많은 레코드와 테이블 정보의 요약화를 요구합니다.

• OLAP 시스템의 목적은 분석가들에게 모든 유용한 관점에서의 데이터에 대한 분석뷰를 가능하게 하는 브라우징 도구를 제공하는 것입니다.


분석적 질의를 수행하는 가장 손쉬운 방법은 OLTP 시스템이 사용하는 데이터베이스에 직접 접근하여 분석 쿼리를 실행시키는 것입니다. 그러나 이러한 방법은 다음과 같은 이유로 거의 만족할 만한 수행 성능을 얻을 수 없습니다.

• OLTP 시스템은 일반적으로 가능한 한 빠른 응답시간을 요구합니다.

예를 들어 어떠한 주문이 OLTP 시스템 상에서 이루어질 때 주문고객과 접수원은 각자에게 소중한 시간을 사용하게 됩니다.

분석적 쿼리는 시스템의 프로세스와 메모리 같은 자원을 많이 사용하게 되므로 OLTP 시스템의 속도를 심각하게 저하시킬 수 있습니다.

또한 Record-Locking 충돌과 같은 상황은 OLTP와 OLAP 시스템의 속도를 동시에 저하시킬 수 있습니다.

• OLTP 시스템에 사용되는 데이터베이스는 개개의 레코드를 효율적으로 조회하고 수정할 수 있도록 정규화 되어 있습니다.(잘 설계된 데이터베이스의 경우) 완전히 정규화 된 데이터베이스는 각각의 조각 정보들을 단지 지정된 하나의 공간에만 저장하므로 데이터의 수정 또한 하나의 장소에서 이루어 질 수 있는 것입니다.

OLAP 시스템에 사용되는 데이터 베이스는 다중 레코드로부터 쿼리를 수행할 수 있도록 디자인되어 있어서 정규화된 디자인의 데이터베이스 보다 훨씬 뛰어난 분석 쿼리 성능을 발휘합니다.이러한 디자인 전략을 차원모델링(dimensionl modeling)이라고 부르며 스타스키마(Star Schema) 라는 DW 모델링 기법으로 연관되어 집니다.

• OLTP 시스템은 사용되는 데이터베이스에 제한된 숫자의 index가 생성되어 있을때 보다 효과적입니다. 생성된 각각의 index는 시스템의 데이터가 변화할 때마다 같이 수정되기 때문에 지나치게 많은 index는 OLTP 시스템의 데이터 수정 작업을 느리게 하는 원인이 될 수 있는 것입니다.

OLAP 시스템은 사용 데이터베이스에 가능한 한 많은 index가 생성되었을때 최고의 성능을 발휘합니다. 분석 질의가 이루어지는 동안 데이터가 수정되는 일은 발생하지 않으므로 수많은 index 각각에 대한 수정 시간은 고려하지 않아도 되는 것입니다.

• OLTP 시스템에서는 일반적으로 집계값에 대한 데이터를 산출하지 않습니다. 개개의 레코드가 수정되는 순간 전체의 집계값도 마찬가지로 수정되는데 레코드의 수정은 항상 이루어 지고 있기 때문입니다.

OLAP 시스템에서는 엄청나게 많은 숫자의 데이터 집계가 필요합니다. 사전에 요약된 집계 데이터들은 분석가들이 원하는 즉시 제공되어야 하므로 분석가가 원하는 가능한 한 모든 관점에 대해서 사전 집계데이터를 생성하여 놓는 것입니다.

• OLTP 시스템에 가장 적절한 데이터 저장소는 관계형데이터베이스시스템(Relational Database System) 입니다.사실 관계형데이터베이스시스템은 특별히 OLTP 시스템에 적합하도록 개발되어 왔습니다.

OLAP 시스템에 사용되는 데이터 역시 관계형데이터베이스시스템에 저장되어질 수 있습니다. 그렇지만 다차원 데이터 구조(Multidimensional Data Structure)에 해당 데이터를 저장하므로써 시스템의 성능향상이 가능합니다. 다차원데이터베이스시스템은 OLAP 에 필요한 분석적 질의에 특별히 알맞도록 만들어져 있습니다.

• OLTP와 OLAP는 데이터의 사용에 대한 목적이 매우 다릅니다.

하나의 데이터베이스를 OLTP와 OLAP 질의에 동시에 사용하는 것은 가능하지만 둘 다에게 모두 최적화 시키는 것은 불가능합니다. 서로 다른 최적화 전략이 각각 필요한데, 이 두 전략은 아주 상반된 측면을 가지고 있기 때문입니다.

그러므로 OLTP와 OLAP에서 동시에 최고의 성능을 얻기를 원한다면 필연적으로 두 시스템을 개별적인 각각의 데이터베이스를 가진 시스템으로 나누어야만 하는 것입니다.

Posted by 라판
TAG , ,