IT Life

[Technology Inside] In-Memory Computing

2013.06.26 10:25


'Technology Inside'는 IT업계에 종사하시는 분들에게 최근의 IT트렌드와 각 분야별 IT기술의 특징과 전망을 소개하는 칼럼입니다. 이 컨텐츠를 통해서 IT분야에 대한 식견을 넓히시는 기회가 되시기 바라며, 보다 심도있는 내용을 탐구하고자 하시는 분은 첨부된 PDF 파일을 참고하시기 바랍니다.

 

컴퓨터를 이용해 문서를 작성하거나 음악을 듣거나 웹 검색을 하려면 해당 프로그램 아이콘을 클릭해 실행시켜야 합니다. 그런데 클릭한 그 순간에 바로 프로그램을 사용할 수 있는 것이 아니라 잠시 기다려야 합니다. 왜냐하면, 프로그램이 실행되려면 하드 디스크와 같은 보조 기억 장치에 저장된 프로그램을 메모리에 적재하는 과정이 필요하기 때문입니다. 이것은 주기억장치인 메모리의 가격이 보조기억장치인 하드 디스크보다 고가이기 때문이며, 이러한 이유로 컴퓨터 전원을 껐을 때 메모리에서는 데이터가 사라지게 되어 있다는 것은 아마 컴퓨터에 관해서 기초적인 공부를 하신 분들이라면 이미 알고 계실 겁니다.

그런데 메모리 가격은 지난 수십 년 동안 계속해서 낮아지고 있습니다. 1981년 마이크로소프트사의 빌 게이츠 회장이 이런 말을 했다고 합니다. “PC에 640KB 용량의 메모리가 탑재된다면 모든 사람에게 더할 나위 없이 충분한 용량이 될 것이다.” 빌 게이츠는 이런 발언을 한 적이 없다고 부인했습니다만, MP3 음악 파일 한 개 분량도 안 되는 용량인 640KB가 1981년 기준으로는 상당히 큰 용량을 의미했다는 사실을 알 수 있습니다. 그로부터 30여 년이 지난 2013년 현재 일반적인 PC에 장착되는 기본적인 메모리의 용량은 4GB입니다. 어림잡아 계산해봐도 PC 메모리 용량이 수천 배 이상 증가한 거죠. 이를 통해 메모리 기술이 비약적으로 발전하였고 그만큼 가격이 내려갔음을 알 수 있습니다.

아직 하드 디스크와 비교하면 메모리가 비싸기는 하지만 격차가 줄어들고 있습니다. 그 때문에 처리 속도가 느린 하드 디스크 대신 메모리에 데이터를 저장하고 처리하려는 움직임이 “인메모리 컴퓨팅 (In-Memory Computing)” 이라는 이름으로 주목받으면서 IT업계의 대응도 본격화되고 있습니다. 이 글에서는 최근 IT업계의 화두로 떠오른 인메모리 컴퓨팅을 소개하고자 합니다.

앞서 메모리 가격의 하락에 초점을 맞춰 인메모리 컴퓨팅의 부각 배경을 간략히 말씀드렸지만 인메모리 컴퓨팅의 부각 배경에는 메모리 기술 발전 및 가격 하락을 포함한 전체 컴퓨팅 환경의 변화가 있습니다.

 


<그림 1> 1990년 대비 2010년 기술 발전 비교 (CPU, Memory, Network, Disk)

우선 전체 컴퓨팅 성능 향상 속도를 하드 디스크 기술 발전 속도가 따라가지 못하고 있습니다. 그림-1에서 볼 수 있듯이 1990년에 비해 2010년 CPU의 처리성능은 약 150배, 메모리는 250배, 네트워크는 100배가 향상되었는데 하드 디스크는 25배에 그치고 있습니다. 즉, 하드 디스크의 입출력 속도가 상대적으로 느리게 발전하여 전체 컴퓨팅 성능 향상 속도의 지연 요인이 되고 있다는 것이죠. 그래서 하드 디스크 입출력 속도 때문에 전체 컴퓨팅 속도 지연을 막기 위한 기술이 주목받게 된 것입니다.

다음으로 메모리 가격이 지속해서 하락함에 따라 기업들이 자사 서버에 대용량 메모리를 지원하고 있다는 것입니다. 1TB까지 메모리 용량을 지원하는 상용 블레이드 서버가 증가하고 있습니다. 이는 메모리 비용과 속도 향상으로 말미암은 이득 사이에서 저울질하는 기업들이 늘어나고 있다는 뜻이기도 합니다.

세 번째로는 64비트 컴퓨팅이 보편화하여 데이터나 어플리케이션의 크기에 상관없이 메모리에서 처리가 가능해진 점을 들 수 있습니다. 3비트 컴퓨터는 CPU가 메모리에 접근하는데 2³²비트 주소를 사용하는데 이 경우 4GB 이상의 데이터를 메모리에 적재하기 어려웠습니다. 하지만 64비트 컴퓨팅에서는 2의 64승개의 주소를 표현할 수 있으며 이론상16 Exa byte의 DB 데이터를 메모리에 적재할 수 있습니다. 실제적으로는 데이터의 크기에 상관없이 메모리에서 처리 가능하다는 의미가 됩니다.

마지막으로 서비스 관점에서도 인메모리 컴퓨팅에 대한 요구가 증가하고 있습니다. 소셜 미디어, 온라인 게임, 모바일 앱에서 발생하는 실시간 대용량 데이터를 처리하고 분석하는 어플리케이션에 대한 요구가 증가하고 있으며 이를 위한 기반 기술로 인메모리 컴퓨팅 기술이 제시되고 있습니다.

인메모리 컴퓨팅이란 어플리케이션을 구동하는 컴퓨터의 메인 메모리에 DB 데이터와 같은 주요 데이터를 저장하고 처리하는 컴퓨팅 기술을 말합니다. 현재의 디스크 기반 컴퓨팅에서는 데이터를 디스크에 저장하고 이를 필요에 따라 메모리에 적재하여 처리하고 백업을 위해 테이프를 사용합니다. 하지만 인메모리 컴퓨팅에서는 디스크 대신 메모리에 데이터를 저장하고 처리하며 백업을 위해 디스크나 테이프를 사용합니다.

 


<그림 2> 인메모리 컴퓨팅과 디스크 기반 컴퓨팅 개념 비교


<그림 3> 인메모리 컴퓨팅 기술 분류, 출처: Gartner

 

대표적인 IT 리서치 기관인 Gartner에서는 인메모리 컴퓨팅 기술을 크게 다섯 가지로 분류하고 있습니다. 그 중 기술과 시장 성숙도가 비교적 높은 네 가지 기술에 대해서만 간략히 설명하겠습니다.

1) Memory-Intensive Computing Platform: 메모리 중심의 컴퓨팅을 제공하기 위한 기반이 되는 하드웨어 및 병렬/분산 컴퓨팅 기술을 말하며 64비트 멀티코어 프로세서, 초대용량 DRAM 및 NAND 플래시 메모리 기술, 플래시 메모리로 구성된 SSD, CPU와 주변기기 간 고속 통신을 위한 네트워크 기술, 그리고 여러 대의 서버를 하나로 묶어서 대용량 데이터를 병렬/분산 처리하여 서비스하기 위한 클러스터 기술 등이 포함됩니다.

2) In-Memory Data DBMS: 데이터베이스 구조 전체를 컴퓨터 메인 메모리에 저장하고 어플리케이션이 메모리 위에서 완전히 동작할 수 있도록 메모리상의 데이터베이스에 직접 접근하는 DBMS를 말합니다.

3) In-Memory Data Grid: 어플리케이션이 디스크 기반 DBMS에 빈번히 접속함으로써 발생하는 병목현상을 줄이기 위해 어플리케이션에서 사용하는 데이터를 메모리에 저장하고 처리할 수 있도록 저장소를 제공하는 기술입니다.

 


<그림 4> 인메모리 데이터 그리드(비동기 데이터 입력), 출처: Gartner

 

4) In-Memory Analytics Platform: 다양한 데이터 소스들로부터 데이터를 메모리에 적재하여 대용량 데이터에 대한 빠른 조회 및 연산 성능을 제공하는 기술로 비즈니스 데이터를 분석하고 그 결과를 보여주는 Business Intelligence 어플리케이션에 주로 적용됩니다.

 


<그 5> 인메모리 분석 프로세스와 기존 분석 프로세스 비교

 

기존의 분석 프로세스에서는 분석 모델 변경 시 별도의 Data Mart에 미리 모델을 반영하고 Data Warehouse에 있는 데이터를 추출 및 집계하는 과정이 필요했지만 인메모리 분석을 이용하면 별도의 Data Mart 없이 메모리에 있는 데이터를 직관적이고 빠르게 조회하고 분석할 수 있습니다.

인메모리 컴퓨팅은 초기에는 증권사의 실시간 트레이딩, 통신사의 로그인 세션 관리 등 빠른 처리가 필수적인 OLTP 데이터 처리에 주로 사용됐으나 최근에는 분석용 DBMS, 시각화 기반 데이터 탐색 도구, 하둡 기반 Big Data 분석 등 분석 어플리케이션을 위한 기반 기술로 활용되고 있습니다.

* OLTP(Online Transaction Processing): 온라인으로 거래 등의 처리(트랜잭션)가 실시간으로 데이터베이스에 갱신되는 처리시스템에 대한 어플리케이션 또는 일련의 처리
* Hadoop: 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 자유 자바 소프트웨어 프레임워크

 

앞으로는 분석 데이터뿐만 아니라 ERP와 같은 기업의 핵심 데이터까지도 메모리상에서 처리하고자 하는 요구가 늘어날 것이며, 이를 지원하기 위한 컴퓨터 운영체제의 변화와 같은 아키텍처 측면의 변화 그리고 이에 따라 개발자에게 요구되는 역량까지도 변화될 것으로 전망됩니다.

 

 

l 글 구영수 부책임연구원(kys@lgcns.com) l LG CNS 기술전략그룹

08 In-Memory Computing_구영수.pdf

Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS

댓글을 달아 주세요

  1. BlogIcon JuanLee 2014.12.23 12:37  댓글주소  수정/삭제  댓글쓰기

    조만간 PC도 메모리만으로 돌아가는 세상이 오겠군요 !

    귀중한 글 잘 읽었습니다.

위로