[Tech&Trend]인메모리 컴퓨팅 기술과 비즈니스 SW의 변화

[Tech&Trend]인메모리 컴퓨팅 기술과 비즈니스 SW의 변화

 기업들은 고정된 규칙과 실적 데이터만을 바탕으로 고객 및 상품을 분석하는 환경에서 벗어나 다양한 데이터 소스를 적극적으로 활용하기를 원한다. 또한 다양한 디바이스 및 데이터 제공 주체와 협업을 통해 미래 예측 가능한 실시간 의사결정 시스템으로 실시간기업(RTE) 환경을 구현하고자 한다. 최근에는 다양한 소셜네트워크가 생성하는 대량의 비정형 데이터를 비즈니스 네트워크에 실시간 연동시켜 시장 요구사항에 빠르게 대처하는 방법도 모색하고 있다.

 이러한 기업 요구사항에 대응하기 위해 그 동안 많은 비즈니스 솔루션 업체들이 노력해 왔다. 최근에는 하드웨어와 비즈니스인텔리전스(BI) 솔루션이 하나로 통합되어 설치와 사용이 편리한 BI어플라이언스가 새로운 대안으로 각광받고 있다. 그러나 데이터 처리량이 많아지면서 서로 분리될 수 밖에 없었던 현재의 운영계시스템(OLTP)과 정보계시스템(OLAP)의 이중 아키텍처는 실시간 의사결정을 하고자 하는 비즈니스 사용자의 요구사항을 만족시킬 수 없는 구조다. 따라서 대부분의 운영계와 정보계가 배치(Batch)로 처리되는 반쪽 RTE 환경을 제공할 수 밖에 없다.

 대용량 데이터/정보의 실시간 처리 및 통합을 위해 △메인메모리에서 질의어를 처리하는 메인메모리 데이터베이스 기술(MMDB) △관계형 데이터베이스의 검색속도를 개선한 칼럼 스토어(Column-Store) 데이터베이스 저장기술 △운영 데이터를 분석시스템에 실시간 복제하는 기술 등이 활용되고 있지만 OLTP와 OLAP의 이중 구조 환경을 근본적으로 해결하지는 못하고 있다. 이런 소프트웨어 솔루션들은 중앙처리장치(CPU), 메모리, 하드디스크와 같은 하드웨어의 기술적 한계 때문에 더 이상 발전하기 어려웠다.

 이에 비즈니스 솔루션 업체들은 운영과 분석시스템이 하나로 결합된 시스템을 제공하기 위해 다양한 노력을 기울여 왔지만, 서로 다른 시스템 활용 형태와 데이터 구조 활용방식의 상이성을 극복하지 못해 제대로 된 솔루션을 제공하지 못했다. 그러나 최근 CPU, 메모리 등 하드웨어 성능의 급격한 발전과 이에 따른 소프트웨어 기술의 강력한 뒷받침으로 가장 느린 장치인 하드디스크를 사용하지 않고도 메인메모리에서 대용량의 데이터를 빠르게 처리할 수 있는 ‘인메모리 컴퓨팅(In-Memory Computing)’ 기술을 현실화시켰다.

 

 ◇하드웨어의 발전=1998년 튜어링 어워드(컴퓨터 과학의 노벨상) 수상자이며 데이터베이스와 트랜잭션 처리의 권위자인 짐 그레이는 2006년 “테이프는 더 이상 사용되지 않고, 플래시가 디스크의 역할을 대신한다. RAM 영역에서 모든 일이 처리된다(Tape is Dead. Disk is Tape. Flash is Disk, RAM Locality is King)”라는 기술 변화를 이야기하면서 ‘메인메모리 컴퓨팅’이 곧 일반화 될 것으로 예견했다.

 이를 5년이 지난 현재 상황에 적용해 보면, “테이프는 더 이상 사용되지 않고, 디스크가 테이프의 역할을 대신한다. 메모리가 하드디스크의 역할을 대신하고, CPU의 캐시 영역은 메모리의 기능을 한다(Tape is Dead. Disk is Tape. Main Memory is Disk. CPU Cache is Main Memory)”라고 표현될 수 있다.

 대용량 데이터를 오랫동안 보관할 수 있고 쉽게 사용 가능한 장치가 하드디스크다. 그러나 하드디스크는 전체 애플리케이션의 속도를 느리게 하는 원인 제공자기도 하다. 최근 기술로 CPU L1 캐시의 접근속도는 1ns, 메인메모리는 약 100ns인 반면, 하드디스크는 1ms의 접근 속도를 가진다. L1 캐시 대비 약 백만 배 정도로 하드디스크가 느리다.

 이런 디바이스의 속도 차이를 극복하고 컴퓨터 전체 성능을 최대로 높이기 위해 위해 파일 캐시, 데이터베이스 캐시, 페이징, 스왑(Swap) 등 다양한 소프트웨어적 기법이 사용되고 있다. 최근에는 메모리 집적도의 향상으로 하나의 컴퓨터 시스템에 1TB 이상의 메모리가 설치되고 있으며, 조만간 수 TB의 메인메모리가 하나의 블레이드에서 사용될 것이다.

 메모리의 용량 증가와 함께 가격과 크기가 향상되자 메모리를 하드디스크처럼 사용하려는 시도가 지속적으로 이뤄져 왔다. 이런 시도는 64비트 어드레싱 및 여러 개의 코어가 협력해 고성능을 발휘할 수 있는 멀티코어(Multi-core) CPU 아키텍처로 점점 현실화 되고 있다.

 사실 단일 CPU의 클럭 속도는 2000년대 초 약 3GHz를 기점으로 더 이상 증가하지 않고 있지만, 멀티코어 CPU 및 블레이드 기술이 대용량병렬처리(MPP) 환경을 지원하면서 단일 CPU가 데이터를 병렬로 빠르게 처리할 수 있는 용량은 기하급수적으로 증가하고 있다(1TB의 메모리가 있는 블레이드 100개를 연결할 수 있다면, 100TB의 데이터를 처리할 수 있다).

 그 동안 단일 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

[Tech&Trend]인메모리 컴퓨팅 기술과 비즈니스 SW의 변화
SAP