오라클, 인메모리로 SAP 역습

실시간 분석 속도 100배 이상 향상 강조

일반입력 :2014/08/07 14:57    수정: 2014/08/08 09:14

“SAP HANA와는 다르다.”

7일 한국오라클이 개최한 ‘오라클 데이터베이스(DB) 12c 인메모리 옵션’ 출시 기자간담회에서 오라클 DB 총괄부사장의 강조점이다.

인메모리 컴퓨팅 기술 HANA를 앞세워 DB시장을 공략해온 SAP를 향한 관계형DB(RDB)의 절대강자 오라클의 역습이 시작됐다. 간담회에 참석한 앤드류 멘델슨 오라클 DB서버 총괄부사장(EVP)은 “오라클DB 12c 인메모리 기술은 크게 3가지 목표를 갖고 개발됐다”며 “실시간 분석 속도를 100배 이상 높이고, 혼합된 워크로드 OLTP(Online transaction processing) 속도를 높이며, 애플리케이션 변경없이 투명성있게 인메모리를 사용하게 하는 것”이라고 밝혔다.

오라클은 지난달 하순 인메모리 옵션을 포함한 오라클DB 12C 12.1.0.2 정식버전(GA) 공급을 시작했다. DRAM 메모리 기반의 DB를 앞세워 인메모리 열풍을 일으킨 SAP에게 오라클도 반격에 나선 것이다.

오라클의 공격 카드는 기존의 로(ROW) 포맷과 컬럼(Culumn) 포맷을 함께 쓰고, DB 티어링 기술을 혼용함으로써 OLAP 속도와 OLTP 속도를 함께 높인 방법이다.

앤드류 맨델슨 총괄부사장은 인메모리 옵션을 요소요소별로 SAP와 어떤 점에서 다른지 비교하며 설명했다.

그에 따르면, 컬럼 포맷 DB로 분석을 하면 그 속도가 훨씬 더 향상되지만, 고객은 로포맷이나 컬럼포맷 중 하나만 택해야 한다. 다른 DBMS 벤더는 분석에 최적화된 컬럼으로 갈 지, OLTP를 위한 로포맷으로 할 지 하나만 쓰라고 강요한다고 언급했다.

그는 “SAP HANA는 종전 대비 100배 빠른 분석속도를 내게 해주지만, 모든 데이터를 컬럼포맷으로 100% 저장해야 해서, 트랜잭션 처리를 희생하게 된다”며 “SAP는 언급하지 않지만 컬럼을 택하면 트랜잭션 속도가 2~3배정도 저하되는데, 시중에 존재하는 트랜잭션처리 벤치마크테스트들이 그를 증명한다”고 말했다.

또 “HANA로 SAP ERP를 구동할 때 OLTP 성능에 대한 벤치마크를 SAP는 왜 내놓지 않는지 물어봐야 한다”며 “그들은 BI 분석에 특화된 벤치마크결과만 내놓고 있다”고 공격했다.

오라클DB 12c의 인메모리 옵션은 접근법이 다르다. 기본적으로 모든 데이터는 디스크와 인메모리에 로 포맷으로 존재한다. 그리고 높은 성능을 요하는 분석처리를 위해 컬럼처리 포맷을 같이 정의한다.

그는 “이 때문에 고객이 원하는 높은 성능의 트랜잭션 속도는 물론, 동일 데이터에 대한 높은 성능의 분석처리가 동시에 가능하다”며 “SAP HANA를 쓰면 분석 속도는 빨라져도 트랜잭션 속도를 희생해야 하지만, 오라클은 유일하게 모두 다 가능하다”고 강조했다.

그는 오라클의 인모메리 기술에 대해 데이터를 이관하지 않아도 된다는 점을 설명했다. 2~20배에 이르는 압축을 통해 메모리 용량을 절약하고, SIMD 컬럼 벡터(Vecter) 프로세싱을 통해 스캔 속도는 더 높인다는 점도 언급됐다.

SQL 쿼리 작업 시 많이 활용되는 조인(Join), 컴바인(Combine) 등을 수행할 때 컬럼 스캔을 빠르게 할 수 있다. 그에 의하면, 오라클DB 인메모리 옵션은 초당 수십억건의 열과 행을 스캔한다.

컬럼을 사용하면서 오라클은 분석 처리 환경에서 속도를 높이기 위해 사용되는 인덱스(Index)를 제거한다. OLTP용으록 구성된 오라클 DB로 분석 업무까지 처리할 때 유용하다는 설명이다. OLTP용 주요 프라이머리 핵심 인덱스 몇 개만 유지하고, 분석용 인덱스를 컬럼 스토어로 대체한다는 것이다.

그는 “트랜잭션과 분석이 혼재된 환경에서 OLTP는 분석 인덱스로 인해 느려지게 된다”며 “분석용 인덱스를 추가로 만들고, 유지 업데이트에 시간과 비용을 들여야 하는데, 인덱스를 컬럼스토어로 대체함으로써 분석 속도를 높이면서, 인덱스 업데이트와 관리 필요를 함께 제거했다”고 설명했다. 그는 이어 “SAP와 달리 모든 테이블에서 컬럼 벡터를 생성할 필요가 없다”고 덧붙였다.

인메모리에 오라클DB 12c의 데이터 티어링(tiering) 기능을 더해 메모리 활용성을 높였다는 점도 강조했다.

그는 “가령, 7년간의 세일즈 데이터를 보유한 회사가 자주 쓰는 액티브 데이터는 최근 6개월의 내용일 것이다”며 “데이터 티어링을 통해 모든 데이터를 100% 다 메모리에 올릴 필요 없이 자주 쓰는 6개월치만 메모리에 컬럼스토어로 구성하면 된다”고 설명했다. 이어 “SAP와 차이점이 여기에도 있다. SAP는 모든 데이터를 메모리에 올려야 한다”고 말했다.

오라클DB 12c에서 인메모리 구성을 얼마나 쉽게 할 수 있는지도 강조했다. 그에 의하면, 3단계만 거치면 애플리케이션 변경 없이 인메모리 환경을 사용할 수 있게 된다.

인메모리 소프트웨어를 설치하고, DBA가 컬럼으로 저장할 메모리를 할당한다. 특정 DB에 특정 테이블과 파티션, 특정 컬럼을 메모리 영역으로 지정해준다. 혼합(mixed) 워크로드의 경우 분석용 인덱스를 제거하고, 이를 컬럼 스토어로 대체하는 작업을 하면 끝이다.

이밖에도 폴트톨로런스 기능을 통해 인메모리에 상주하는 데이터를 다른 서버노드에 복제시켜, 일부 노드의 장애시에도 전체 서비스 성능을 유지한다는 점을 언급했다.

관련기사

그는 “오라클DB 12c 인메모리 옵션은 단순히 빠른게 아니라 이를 통해 비즈니스 운영방식을 근본적으로 바꿀 수 있고. 리얼타임 엔터브라이즈를 구현하게 해준다”며 “데이터 이관 없이 완벽한 애플리케이션 투명성(Transparency)을 보장하며, 거의 모든 워크로드에 독보적인 성능과, 고객이 오라클 DB에 기대하는 최고 수준의 고가용성, 확장성 및 보안을 확실하게 보장한다”고 강조했다.

그는 발표를 마무리하면서 지난 6개월 간 오라클 내 애플리케이션 개발조직의 성능테스트 결과를 보였다. E-비즈니스 스위트, JD에드워즈, 피플소프트, 시벨, 퓨전 애플리케이션 등 엔터프라이즈 애플리케이션 모듈의 속도를 적게는 100배, 많게는 1700배까지 향상시킨다는 결과였다.