기업들은 고정된 규칙과 실적 데이터만을 바탕으로 고객 및 상품을 분석하는 환경에서 벗어나 다양한 데이터 소스를 적극적으로 활용하기를 원한다. 또 다양한 디바이스 및 데이터 제공 주체와 협업해 미래 예측이 가능한 실시간 의사결정 시스템으로 실시간기업(RTE) 환경을 구현하고자 한다. 최근에는 다양한 소셜네트워크가 생성하는 대량의 비정형 데이터를 비즈니스 네트워크에 실시간 연동시켜 시장 요구사항에 빠르게 대처하는 방법도 모색하고 있다.
이러한 기업 요구사항에 대응하기 위해 그동안 많은 비즈니스 솔루션 업체들이 노력해 왔다. 최근에는 하드웨어와 비즈니스인텔리전스(BI) 솔루션이 하나로 통합되어 설치와 사용이 편리한 BI어플라이언스가 새로운 대안으로 각광받고 있다. 그러나 데이터 처리량이 많아지면서 서로 분리될 수밖에 없었던 현재의 운영계시스템(OLTP)과 정보계시스템(OLAP)의 이중 아키텍처는 실시간 의사결정을 하고자 하는 비즈니스 사용자의 요구사항을 만족시킬 수 없는 구조다. 따라서 대부분의 운영계와 정보계가 배치(Batch)로 처리되는 반쪽 RTE 환경을 제공할 수밖에 없다.
대용량 데이터와 정보의 실시간 처리 및 통합을 위해 △메인메모리에서 질의어를 처리하는 메인메모리 데이터베이스 기술(MMDB) △관계형 데이터베이스의 검색 속도를 개선한 칼럼 저장(Column-Store) 데이터베이스 저장기술 △운영 데이터를 분석시스템에 실시간 복제하는 기술 등이 활용되고 있지만 OLTP와 OLAP의 이중 구조 환경을 근본적으로 해결하지는 못하고 있다. 이런 소프트웨어 솔루션들은 중앙처리장치(CPU), 메모리, 하드디스크와 같은 하드웨어의 기술적 한계 때문에 더 이상 발전하기 어려웠다.
이에 비즈니스 솔루션 업체들은 운영과 분석시스템이 하나로 결합된 시스템을 제공하기 위해 다양한 노력을 기울여 왔지만, 서로 다른 시스템 활용 형태와 데이터 구조 활용 방식의 상이성을 극복하지 못해 제대로 된 솔루션을 제공하지 못했다.
그러나 최근 CPU, 메모리 등 하드웨어 성능의 급격한 발전과 이에 따른 소프트웨어 기술의 강력한 뒷받침으로 가장 느린 장치인 하드디스크를 사용하지 않고도 메인메모리에서 대용량의 데이터를 빠르게 처리할 수 있는 ‘인메모리 컴퓨팅’ 기술을 현실화시켰다.
◇인메모리 컴퓨팅을 위한 인메모리 데이터베이스=현재 비즈니스 애플리케이션용 데이터베이스 시스템으로는 로 저장(Row Store) 기반의 관계형 데이터베이스(RDB)가 가장 많이 사용되고 있다. 데이터베이스를 연구하는 많은 학자들은 로 저장 방식의 RDB 모두를 메모리에 캐시하더라도 현격한 성능의 차이를 보이지 않는다고 주장한다.
반면, 칼럼 저장 방식의 RDB는 칼럼 기반 세트오퍼레이션이 주로 이뤄지는 쿼리에서는 월등한 성능을 보인다. 문제는 수 TB 혹은 수십 TB에 달하는 대용량의 데이터를 메인메모리에 모두 올려 쿼리할 수 있느냐의 문제다. 이를 해결할 수 있는 것이 멀티코어 CPU의 대용량병렬처리(MPP) 기술이다.
각 코어별로 개별 칼럼을 압축, 복원 및 검색해서 원래 로 저장 기반의 RDB보다 적은 양의 데이터를 메인메모리로 저장하고 빠르게 검색할 수 있다. 현재 약 5~10배 정도로 압축 가능해 이론상으로 10TB의 데이터베이스는 1TB의 블레이드 하나에 올라갈 수 있다. 물론 소프트웨어의 병렬처리 기술이 뒷받침되어야 한다.
이런 읽기 전용 중심의 칼럼 저장기술은 SAP BWA, 사이베이스 IQ 등 BI 솔루션 업체들에 의해 많이 연구되고 상용화됐다. 그러나 OLAP 중심의 읽기 전용 데이터베이스가 아닌 삽입, 업데이트, 삭제가 빈번히 일어나는 OLTP 시스템과 함께 사용할 수 있는 데이터베이스가 요구되고 있다.
멀티코어와 블레이드의 MPP, 메인메모리에서 칼럼 저장으로 압축해 데이터 저장, 읽기/삽입으로 데이터 처리, 로 저장으로 삽입 사전 처리를 하면 지금보다 훨씬 적은 양의 데이터 크기로 수백~수천배 빠른 OLTP+OLAP 작업을 동시에 처리할 수 있다.
지금처럼 별도 데이터베이스 두 개가 아닌 하나의 단일 데이터베이스로 운영과 분석 시스템을 동시에 사용하게 된다. 단일 인메모리 데이터베이스기 때문에 지금과 같이 OLTP에서 OLAP로 이관하는 배치성 작업이 필요 없고, 모든 분석 쿼리가 실시간으로 수행된다.
또 검색속도를 높이기 위한 많은 양의 색인 테이블과 요약 테이블을 거의 사용하지 않아 이론상으로 현재보다 수십 배 작은 크기로 OLTP+OLAP 데이터베이스를 운영할 수 있다. 색인 테이블과 요약 테이블이 없어도 된다는 것은 그만큼 비즈니스 애플리케이션을 만들기가 쉽다는 것이다. 애플리케이션 코드의 양도 약 50% 이상 감소될 수 있다.
칼럼 저장 기반의 솔루션은 사이베이스, SAP 등의 업체를 중심으로 분석시스템 부분에서 꾸준히 발전되어 왔다. 그러나 데이터베이스를 모두 메인메모리에 올리고 운영시스템과 분석시스템이 하나로 통합된 솔루션을 제공하는 제품은 아직 상용화 되지 않았다.
SAP 인메모리 어플라이언스(SAP HANA)를 도입한 글로벌 대형 유통회사는 미국 전역에 있는 백화점, 마트 등 수백 곳의 매장으로부터 발생하는 판매시점정보(POS) 데이터를 실시간으로 집계 분석, 고객의 수요상황을 파악하고 이에 맞는 적절한 재고관리 및 공급 운용을 통해 최상의 매장상태를 관리하고 있다.
이 회사는 미국 전역에 걸친 70여개의 대형 거래선을 중심으로 약 4600억건의 POS 데이터 50TB를 분석하는데 0.04초 정도의 응답시간을 가진 시스템을 구축했다. 이를 통한 다양한 분석으로 약 5일 걸리던 매대 구성을 2일 이하로 줄였으며, 특히 프로모션 기간 중에 발생할 수 있는 재고 부족사태를 해결했다.
◇인메모리 컴퓨팅의 미래=인메모리 컴퓨팅 기술은 디스크 기반의 메인프레임, 클라이언트/서버 아키텍처가 제공하지 못했던 새로운 컴퓨팅 기술로, 비즈니스 애플리케이션 환경을 한 차원 진화시킬 것이다. 컴퓨팅 기술의 새로운 세대가 열린다고 볼 수 있다.
인메모리 컴퓨팅 기술은 운영계에서 발생된 데이터가 분석계 정보로 배치 처리되는 환경을 운영시스템 데이터가 발생됨과 동시에 원하는 정보로 실시간 제공되는 진정한 실시간 엔터프라이즈 애플리케이션을 만들어 내고 있다. 즉, OLTP와 OLAP의 경계가 사라지는 것이다.
기업의 임원들은 원하는 정보를 얻기 위해 며칠을 기다리다 담당자에게 요청한 내용을 잊어버리고 마는 경우도 많다. 인메모리 컴퓨팅을 활용하면 실시간으로 원하는 질문에 대한 답변을 얻고 빠른 상황판단으로 중요한 의사결정을 할 수 있다. 영업사원은 고객의 과거 이력과 현재 상황에 맞는 실시간 분석으로 가격과 제품 납기약속을 모바일 기기로 바로 처리할 수 있다. 매장 물품 관리자는 실시간으로 고객의 소비 행태를 분석해 적시에 필요한 물량을 판매대에 배치할 수 있다.
제한된 컴퓨팅 자원을 최대로 활용하기 위해 어려운 알고리즘으로 애플리케이션을 만들어야 했던 개발자들도 50% 이상 줄어든 코드를 가지고도 훨씬 더 만족할 만한 결과를 낼 수 있다. 줄어든 시간은 더 풍부하고 사용하기 쉬운 사용자 인터페이스를 만드는 환경에 투자되어, 전체적으로 비즈니스 애플리케이션의 성능은 쉽고 강력하게 진화될 것이다.
조혁진 SAP코리아 솔루션전략본부 상무 hyuk.jin.joh@sap.com
관련 통계자료 다운로드 인메모리 컴퓨팅 요소 기술
-
성현희 기자기사 더보기