실시간
뉴스

시리즈

[DD프리즘] 오라클 인메모리 DB ‘두 얼굴의 DB’


[디지털데일리 심재석기자] 일반적으로 기업의 IT시스템은 계정계라 불리는 온라인트랜잭션처리(OLTP)’와 정보계 온라인분석처리(OLAP)로 구분된다. OLTP는 이는 데이터를 새로 생성하거나 삭제, 조회 하는 등의 시스템이며 OLAP은 데이터를 분석하는 시스템이다.

OLTPOLAP을 구분하는 가장 큰 이유는 하나의 시스템에서 두 업무를 동시에 처리할 경우 너무 많은 부하가 걸리기 때문이다. 시스템의 성능저하는 업무 능률의 저하, 기업의 경쟁력 저하로 이어지기 때문에 성능 향상을 위해 트랜적션 전문 시스템과 분석 전문 시스템으로 구분해 성능향상을 도모해왔다.

그러나 최근에는 OLTPOLAP을 통합해 하나의 시스템에서 운용하고자 하는 움직임도 새롭게 일어나고 있다. 이같은 흐름을 견인하는 것은 인메모리 컴퓨팅이다. 인메모리 컴퓨팅은 기존의 디스크 기반 컴퓨팅보다 수백 배 성능이 향상될 수 있기 때문에 성능 저하에 대한 우려가 상대적으로 적다. SAP의 인메모리 DB 어플라이언스 시스템인 ‘HANA’가 등장한 이후 이런 시도가 계속돼 왔다. DRAM의 가격이 지난 20년간 지속적으로 하락해 온 것도 이같은 흐름이 가능케 했다.

이 가운데 DB 업계의 최강자 오라클도 인메모리 컴퓨팅에 뛰어들며 ‘OLTP’‘OLAP’의 통합에 가속도를 붙이고 있다. 오라클은 지난 해 오라클 DB 12c 인메모리 옵션을 출시했다.

오라클 인메모리 옵션은 기존의 오라클 DB에 인메모리 처리를 부가적으로 할 수 있도록 설계된 시스템이다. ‘옵션이라는 표현에서 알 수 있듯 스위치만 올리면 인메모리 기능을 이용할 수 있다.

오라클 DB 인메모리 옵션의 가장 큰 특징은 (row)’ 기반 저장과 (Column)’기반 저장을 동시에 제공한다는 점이다.

지금까지 기업들은 OLTP 업무에는 행 기반 저장, OLAP 업무에는 열 기반 저장 방식을 이용해왔다. 행 기반 저장은 데이터 트랜잭션 업무에서 강점을 보이지만, 분석형 업무에서는 낮은 성능 한계를 보였고, 반대로 열 기반 저장은 분석형 업무에서는 높은 성능을 보였으나 트랜잭션 업무에는 과도한 IO를 일으켜 성능 저하를 야기했다.

예를 들어 40대 여성의 쇼핑 행태를 분석하고자 한다면, 나이·성별·구매물품 등의 데이터만 불러오면 되는데, 행 기반으로 저장돼 있을 경우 이름, 지역, 전화번호 등의 분석목적과 관계없는 데이터까지 읽게 된다.

오라클 DB 12c 인메모리 옵션은 기본적으로는 행 기반으로 저장하지만, 분석을 위한 데이터들은 따로 메모리 상에 열 기반으로 저장한다. 인메모리 컴퓨팅과 열 기반 저장, 5단계 압축 기능 등을 동시에 수행해 분석 속도를 극대화 시킬 수 있다는 것이 회사 측의 설명이다.

아울러 분석용 데이터를 따로 인메모리에 관리하는 것은 트랜잭션 처리까지 빨리지는 부수적 효과를 얻을 수 있다. 일반적으로 OLTPDB라고 하더라도 분석 업무 수행을 위한 인덱스를 만들어 두어야 한다.

하지만 오라클 DB 12c의 인메모리 옵션을 켜면 이같은 인덱스를 모두 삭제해도 되기 때문에 OLTP의 성능도 향상된다는 것이 회사 측의 설명이다. OLTP의 관리 비용과 튜닝 시간을 감소시키고, 인덱스 공간을 절약할 수도 있다.

오라클이 강조하는 또다른 장점은 기존 오라클 이용자들이 애플리케이션 변경 없이 인메모리 컴퓨팅을 이용할 수 있다는 것이다. 기존 오라클 DB 이용자가 SAP HANA를 받아들이려면 SQL 구문이나 애플리케이션 소스코드를 수정해야 하지만, 오라클 인메모리 옵션을 받아들일 때는 애플리케이션 수정 없이 간단한 조정만으로 활용가능하다는 것이다.

회사 측은 기존의 열 또는 행 저장으로 이원화된 DB 환경에서는 데이터 처리시 대기 시간이 매우 길었다면서 하지만 오라클 인메모리를 통해 실현 가능한 실시간 기업 환경에서는 데이터 처리에 소요되는 시간이 감소해 다른 보다 중요한 업무에 더 많은 시간 투자가 가능해졌다고 강조했다.

<심재석 기자>sjs@ddaily.co.kr

디지털데일리 네이버 메인추가
x