딜라이트닷넷

'인메모리'를 바라보는 SAP와 오라클의 시각차

소프트웨어 13.03.20 13:59
사용자 삽입 이미지
최근 DB분야의 중요 트랜드 두 개를 고르라면 ‘어플라이언스’ ‘인메모리’라고 볼 수 있습니다. 이 두 트렌드는  DB 성능과 관련이 있습니다. 기존의 DB관리시스템의 성능 향상에 대한 필요성이 대두되면서 나온 방안이 ‘어플라이언스’와 ‘인메모리’인 것입니다.

어플라이언스는 DB를 단순히 소프트웨어 관점에서만 접근하는 것이 아니라 하드웨어와 최적화 해서 공급하는 움직임입니다.

이 분야에서 가장 발빠른 움직임을 보인 것은 오라클입니다. 오라클은 썬마이크로시스템즈를 인수하면서 썬의 하드웨어와 오라클의 소프트웨어를 최적화해 공급하는 전략을 내세웠습니다. 오라클은 테라데이타나 네티자 등 데이터웨어하우스(DW) 업체들의 어플라이언스 전략을 OLTP용 DB에 적용했습니다.

인메모리는 SAP가 트렌드를 이끌고 있습니다. SAP는 HANA라는 인메모리 기반의 DB 어플라이언스를 개발했습니다. 올해부터는  HANA 기반으로 작동되는 ERP 신제품도 출시했습니다. 본격적으로 인메모리 DB기반의 ERP 시대를 열겠다는 포부가 나타내고 있습니다.

이처럼 어플라이언스와 인메모리라는 두 축은 오라클과 SAP의 주요 경쟁포인트입니다.

오라클이 어플라이언스 기반의 DB를 개발하자, SAP는 인메모리 어플라이언스 DB인 ‘HANA’로 맞섰고, 오라클은 다시 지난 해 하반기 ‘엑사데이터 인메모리 머신’이라는 제품을 선보이며 SAP HANA의 공세에 대응하고 있습니다.

그렇다면 SAP의 ‘HANA’ 와 오라클의 ‘엑사데이터 인메모리 머신’은 어떤 차이가 있을까요?

두 제품은 인메모리 기반의 어플라이언스라는 점에서는  유사한 듯 보이지만, 속을 들여다 보면 상당히 다른 점을 발견할 수 있습니다.

일단 인메모에 대한 정의부터 다릅니다. SAP가 말하는 인메모리는 ‘메인 메모리’입니다. 즉 컴퓨터의 주기억 장치인 ‘램(DRAM)’을 말하는 것입니다. SAP는 모든 데이터를DRAM에 올려놓고 그 위에서 데이터를 처리합니다. 이 때문에 SAP HANA 어플라이언스는 DRAM 용량이 매우 큽니다.

물론 이는 성능향상을 위한 것입니다. 랜덤 엑세스 방식이기 때문에 DRAM은 속도가 매우 빠릅니다. 또 보조기억장치와의 I/O가 없기 성능은 극대화 된다고 SAP 측은 강조합니다.

SAP 측은 “HANA를 도입하면 일반적으로 100~1000배 업무가 빨라지고, 어떤 경우에는 10만배 빨라지는 사례도 있다”고 설명했습니다.

하지만 DRAM은 휘발성 저장장치라는 점이 문제입니다. 장애로 서버가 재부팅 되면 DRAM에 저장된 모든 데이터는 사라집니다. 기업의 핵심 정보를 저장하고 있는 DB가 데이터를 모두 잃어버린다면 상상조차 어려운 일이 벌어질 것입니다.

이 때문에 SAP HANA 어플라이언스에는 하드디스크 저장장치가 포함돼 있습니다. 메모리 상의 데이터를 주기적으로 하드디스크에 저장하는 것입니다. 일종의 데이터 백업입니다. 일반적으로 디스크의 데이터를 메모리로 올려 처리하고 다시 디스크에 저장하는 반면, HANA 디스크는 데이터를 백업하는 역할만 하게 됩니다.

반면 오라클의 엑사데이터 인메모리 머신에서 ‘인메모리’는 DRAM보다는 플래시메모리에 방점이 찍혀 있습니다. 데이터를 하드디스크가 아닌 플래시메모리에 저장해 데이터 스캔 속도를 향상시키자는 것이 오라클의 접근법입니다.

SAP가 “주기억장치에서 모든 것을 다하자”는 접근법이라면 오라클은 “보조기억장치의 성능을 극대화하자”는 방법을 선택한 것입니다.

DB 소프트웨어도 두 회사는 다릅니다. SAP는 인메모리 컴퓨팅을 위한 DB를 별도로 개발했습니다. 반면 오라클은 기존의 오라클 DB를 그대로 활용하고 있습니다.

오라클과 같은 전통적인 관계형 DB는 데이터 연산을 SAP 넷위버와 같은 애플리케이션 레이어에서 진행합니다. 반면 SAP  HANA는 이를 DB레이어에서 처리합니다. 애플리케이션 레이어는  처리 프로세스를 지시하고 결과값을 전송하는 역할만 하게 됩니다.

오라클은 대신 특정 분야에 인메모리 전용의 DB를 투입하는 전략을 가지고 있습니다. 오라클은 이미 타임스텐이라는 인메모리 전용의 DB를 보유하고 있습니다. 타임스탠은 오라클 엑사리틱스와 같은 어플라이언스 장비에 탑재돼 있습니다.

여기서 SAP와 오라클의 극명한 전략 차이를 알 수 있습니다.

SAP는 인메모리 전용 DB를 기업의 모든 업무에 활용하자는 접근이고, 오라클은 인메모리 전용 DB를 요소 기술로 활용하는 것입니다. 일반 업무에는 오라클 DB나 엑사데이터를 쓰되 성능의 극대화가 필요한 특정 요소 분야에 타임스텐을 쓰는 것입니다.

두 회사의 다른 전략이 어떤 결과를 가져올 지 주목됩니다.