close
ALLICT & SOLUTIONS

[IT에 한 걸음 더 다가가기] SMAC의 대량 데이터 처리를 위한 DBMS기술! (4편)

 

지난 제3편에서는 NewSQL에 대해 알아보았습니다.[관련기사 바로 가기 : NewSQL이란?], 이번에 다루고자 하는 주제는In-Memory DBMS입니다. 지난 편까지는 DBMS에서 지원하는 Data Model 유형, Data 처리 특성에 따른 분류에 따라 해당 제품과 기술들을 알아보았습니다만, 이번에 다루는 In-Memory DB는 모든 Data가 물리적으로 Main Memory에 저장되고 여기서 처리되는 방식입니다.

In-Memory DB(이하 IMDB)는 Main Memory DB, Memory resident DB라고도 합니다. 2010년에  ERP(Enterprise Resource Planning, 전사적 자원관리) 솔루션으로 유명한 SAP사에서 HANA라는  IMDB를 출시하면서 ‘13년에는 IBM, EMC, ‘14년에는 Oracle, Microsoft에서도 IMDB 기능이 포함된 제품을 출시하는 등 바야흐로 Mainstream으로 자리 잡아 나아가고 있습니다. 본고에서는 이러한 IMDB가 무엇이고, 왜 등장하게 되었는지, 주요 특성과 Trend를 같이 알아보도록 하겠습니다.

제 1편 : DBMS기술의 개념과 Trend

제 2편 : NoSQL이란?

제 3편 : NewSQL이란?

제 4편 : In-Memory DBMS이란?

제 5편 : Polyglot Persistence란?

 

In-Memory DBMS(이하 IMDB)는 아래 그림과 같이 데이터의 저장과 처리와 관련해, 기존 DBMS는 Disk 기반으로 수행하던 것을 Main Memory에서 모두 수행하는 DBMS를 말합니다.

Disk 기반 DBMS의 경우, 물리적으로 Data가 Disk에 저장되어 있으며 필요한 경우에 Main Memory에 Data를 로드하여 처리하게 됩니다. 반면, IMDB는 모든 Data가 Main Memory에 저장되고 여기서 바로 처리하게 됩니다. 이때 Disk는 Memory가 휘발성이기 때문에 DBMS 서버를 중지하게 되거나 예기치 못한 장애로 중단되게 될 때의 Backup 용도로 사용하게 되는 구조입니다.

▲  DBMS의 구조

그러면 왜 IMDB에서는 Disk가 아니라 단위 저장 용량 당 비용이 훨씬 비싼 Memory에 Data를 저장하는 방식을 채택하게 되었을까요? 그 이유는 이미 짐작하시겠지만, 처리 속도의 혁신적인 향상을 위해서입니다. 처리 속도 측면에 있어서 정보 저장 매체 중에서 Main Memory가 가장 뛰어납니다. 게다가 Disk 기반의 DBMS 대비 IMDB의 경우 효율적인 Data 로드와 처리에 필요한 복잡한 최적화 알고리즘이 불필요하고 이에 따라 CPU의 실행 코드가 훨씬 적게 되어 더 효율적인 처리가 가능합니다.

▲ 저장 매체별 처리속도

사실 IMDB는 80년대부터 있었던 개념이며 10여 년 전에도 WebDNA와 같은 상용 IMDB가 존재했습니다. 하지만 당시에는Memory의 가격이 비싸고 Memory를 효율적으로 활용할 수 있는 운영체제의 지원이 미흡하여, 일부 특화된 영역의 시스템 외에는 실제 Main DBMS로는 활용되지 못하고 있었습니다.

 

그러나 최근 들어 DRAM 가격은 18개월마다 약 30% 정도씩 급속도로 하락하고 있으며 미국 IT 분야 리서치 &

자문 전문 업체인 가트너(Gartner)의 조사에 의하면 2011년 GB 당 DRAM은 약 10달러, NAND Flash는 1달

러가 소요되지만 2015년에는 DRAM 2달러, NAND Flash는 0.25달러까지 하락할 것이라고 합니다.

 

더불어, 최근 들어 서버의 운영환경이 64 bit로 발전, 변화하게 되면서 Main Memory가 처리할 수 있는 범위가 대폭적으로 확장된 것도 IMDB가 각광받게 된 이유 중 하나입니다. 조금 어려운 이야기일 수 있지만, 우리가 보통 사무용으로 사용하는 노트북의 MS Windows 운영체제와 같은 32bit 환경의 운영체제에서는(MS Windows 서버용은 64bit Edition입니다.)  4GB의 Memory까지 처리 가능한 반면, 서버 용도로 사용되는 64bit 기반의 운영체제는 264 개의 Memory 주소 공간을 제공 가능하기 때문에, 이론적으로 16액사 바이트까지 처리가 가능합니다. 현재 시점에서는 사실상 거의 무한한 Memory 공간이 이제 운영체제에서 지원되는 셈입니다. (미래에는 이 정도 용량도 부족하다는 이야기가 나올 수 있겠죠?)

 

또한 실제 비즈니스에서 실시간성을 요구하는 애플리케이션들이 많아진 것도 IMDB의 성장하는데 한몫을 하고 있습니다. 아시다시피 Mobile, IoT(Internet of Things) SNS(Social Network Service) 등과 같은 비즈니스 환경의 변화에 따라 데이터가 급격히 증가하고 이에 발맞춘 Big Data 분석과 같은 응용 프로그램들의 증가는 실시간 적인 정보처리를 요구하게 되어IMDB의 높은 처리 성능이 각광받게 되었습니다.

현재 IMDB는 즉각적인 응답시간과 높은 데이터 처리량이 요구되는 실시간 처리 환경에 사용되고 있습니다. HTS(Home Trading System)를 통한 주식 거래, 유무선 전화에서의 실시간 사용량과 Billing 처리, 온라인 수강 신청, 온라인 복권 구매 등 우리의 생활에 익숙하게 이미 IMDB가 적용되고 있습니다. 산업별로 살펴봐도 통신, 금융, 국방, 공공, 제조, 유통 등 산업 전 분야에 걸쳐 실시간이 요구되는 시스템에 적용되고 있습니다. 특히, Analytical IMDB는 기존의 전통적인 Data warehouse 제품처럼 처리 속도를 높이기 위한 사전 집계나 요약, 통계치를 만드는 작업이 불필요하기 때문에, Retail 산업에서 Real time price 산정이나 실시간 수익 분석 작업이 가능합니다.  아래 그림은 NewSQL 계열의 대표적인 IMDB 솔루션 업체인 VoltDB에서 실제 적용한 Reference에 기반을 두어 제시하고 있는 Use Case들입니다.

 

▲ IMDB Use Cases, Source: VoltDB

가트너(Gartner)에 의하면 IMDB는 처리하는 데이터 종류에 따라 Operational IMDB, Analytical IMDB로 분류하고 있습니다. Operational IMDB는 주로 “select,” “insert,” “update”, “delete”와 같은 Transactions 위주로 처리하는 IMDB를 말하며, Relational DBMS와 NoSQL DBMS를 포함하고 있습니다. 반면에 Analytical IMDB는 빠른 처리 속도가 필요한Analytical 용도로 사용되며, Column 저장 기반의 DBMS와 Row 저장 기반의 MPP DBMS(Massively parallel processing,대량 병렬 처리)를 포함하고 있습니다.

▲ IMDB 솔루션 업체, Source: Gartner

아래 표는 Forrester Research에서 제시하고 있는 주요 IMDB 솔루션 업체 목록과 특성 구분입니다. 가트너와 중복되는 다수 업체를 포함하고 있으며, 제품 구분을 Transactional, Operational, Analytical로 더 상세화 하고 있습니다.

▲ 주요 IMDB 솔루션 업체, Source: Forrester Research

현재 가장 많이 사용되고 있는 IMDB는 구체적인 통계자료가 발표되고 있지는 않으나 여전히 기존 DBMS 업계의 Big 5인Oracle, IBM, Microsoft, SAP, Teradata로 추정하고 있습니다.  이중 ‘10년 12월 SAP HANA의 발표는 IMDB DB 시장뿐만 아니라 전체 DBMS 시장을 뒤흔드는 일대 사건으로 볼 수 있습니다. 기존 Global ERP 시장을 과반 이상 독점적으로 장악하고 있던 SAP사에서 DB 영역에 있어서도 새로운 IMDB 제품을 확보하여 진입하게 되면서 엄청난 영향력을 발휘하고 있습니다. SAP R/3 제품과 결합된 SAP Suite on HANA 제품을 발표하면서, Oracle을 비롯한 타 DBMS 업체들에게 엄청난 파장을 일으켰습니다.  SAP사는 ERP의 실시간 Transaction 처리와 Analytics 기능을 결합한 제품을 보여주고 있습니다. (사실 SAP HANA는 우리나라 차상균 서울대학교 교수님이 2000년 개발을 시작하였고, 2005년 SAP에 M&A 된 제품입니다. 개인적으로 매우 뿌듯한 생각을 가지게 됩니다.)

 

이외에, NewSQL과 같은 새로운 혁신적인 아키텍처 기반의 VoltDB, MemSQL과 같은 Start-Up 업체들이 신규로 시장에 진입하여 호평을 받고 있습니다. VoltDB의 경우 대표적인 NewSQL IMDB로, Low Latency, High Throughput의 고성능과 함께, SQL, ACID(Atomicity, Consistency, Integrity, dualibity), Scale-Out Architecture를 지원하고 있습니다.

 

▲ VoltDB Scale-Out Architecture, Source: VoltDB

국산 IMDB로 AltiBase도 오래된 DBMS 전문 업체인데, 탄탄한 기술력을 바탕으로 국내뿐만 아니라 해외에 다양한Reference를 확보하고 있습니다.

 

초기 IMDB는 특화된 영역에 있어서의 실시간 처리와 대량의 데이터 처리가 필요한 시스템에서 상대적으로 소량의 Data를 저장 관리하기 위한 기술에서 출발하였습니다. 하지만 2010년 들어서면서, Data를 분할하고 복제한 후 분산 컴퓨팅 기술을 적용하여 데이터 용량과 성능에 대한 선형적 확장성을 제공하는 형태로 발전하고 있습니다. 아래 표에서 최근 출시된 IMDB솔루션들이 점차적으로 Scale-Out 형태의 시스템 구조를 가져가는 것을 알 수 있습니다.

▲ IMDB 솔루션의 System Architecture, Source: Forrester Research

그럼에도 불구하고 ‘15년 상반기 현재 여러 제약조건으로 인해 IMDB의 최대 용량이 50TB 이하 수준으로 머물러 있습니다. 하지만 Memory 가격의 지속적인 하락과 운영체제의 Memory 관리 기술 향상, Scale-Out 기술의 발전 등을 통해 DB에서 처리할 수 있는 용량은 크게 늘어날 것으로 예상됩니다. Forrester Research에서는 ‘17년 정도에는 Peta Byte 단위의 IMDB가 등장할 것으로 예상하고 있습니다.

 

이와 함께 또 다른 획기적인 기술 변화를 시도하고 있는 것 중 하나는 Main Memory의 물리적 제약 극복입니다. 현재 IMDB의 Main Memory로 사용되고 있는 DRAM의 휘발성으로 인해, Data의 Durability 보장을 위해서 Data Snapshot, Transaction logging 등의 형태로 Disk에 Backup을 가져갈 수밖에 없습니다. 이러한 구조를 극복하기 위한 시도로, PRAM(Phase Change RAM), MRAM 등 비휘발성 메모리(Non-Volatile Random Access Memory, NVRAM)를 활용한 DB기술에 대한 연구가 다양하게 진행되고 있습니다. 현재 IBM, ETRI 등에서 가시적인 성과가 나오고 있으며, 10년 내에 상업화될 것으로 예상됩니다.

 

In-Memory DBMS의 기본 개념과 Trend에 대한 소개는 여기까지입니다. 설명드린 바와 같이, 우리가 알게 모르게 IMDB는 생활주변의 시스템에 많이 적용된 기술들입니다만, 아직 주류 DBMS 시장에 들어서기까지는 여전히 어느 정도의 시간이 필요할 것으로 보입니다. Gartner에 의하면 2-3년의 시간이 걸릴 것으로 예상하고 있으나 머지않아 DBMS의 Mainstream 기술로 자리 잡는 것은 명약관화할 것으로 판단합니다.

 

다음 연재에서는 실제 활용 측면을 고려한 개념인 “Polyglot Persistence”에 대해 상세하게 소개해 드리도록 하겠습니다.

<참고자료>

https://en.wikipedia.org/wiki/In-memory_database, 위키피디아

http://www.gartner.com/home, Gartner

http://www.forrester.com /, Forrester  Research

http://www.altibase.com/, Altibase

http://www.aerospike.com/, Aerospike

http://voltdb.com/, VoltDB

인-메모리 DBMS 기술 동향, ETRI 이훈순 외, 2013

디스크에서 메모리로 떠오르는 인메모리 DBMS의 이해, IDG Tech Report , 2014

 

Tags : SAMSUNG SDS삼성SDS
samsungsds

The author samsungsds

Leave a Response