HW 확장성ㆍ안정성 모두 확보, 차세대 인메모리 DBMS ‘SUNDB’

[컴퓨터월드] 선재소프트가 최근 선보인 SUNDB는 구동과 동시에 데이터베이스를 메모리에 저장하고, 데이터 검색 및 갱신 연산을 빠르고 안정적으로 처리하는 인메모리 DBMS의 혈통은 그대로 유지하면서, HW 확장에 따른 선형적인 성능 보장, 효율적인 자원 활용, 개선된 데이터 안정성 등 기존 인메모리 DBMS의 제약 사항을 모두 극복한 차세대 인메모리 DBMS이다.

 

인메모리 DBMS, 인터넷의 대중화에 힘입어 급성장

인터넷의 대중화는 기업들이 소비자와의 접점 채널로써 온라인을 주목하게 한 일등공신이다. 과거 객장에서 이뤄지던 주식 거래는 컴퓨터 상의 HTS(Home Trading System)가 대신하고 있으며, 휴대폰 이용자는 당월 음성/메시지/데이터 사용량과 과금(Billing) 내역을 실시간으로 확인할 수 있다.

그 뿐 아니라, 대학생들의 인터넷 수강 신청도, 소비자의 온라인 복권 구매도 우리의 일상이 된 지 오래다. 인터넷의 대중화는 비즈니스 패러다임의 변화를 가지고 왔고, 이를 가능케 한 기술적 진보의 핵심에는 인메모리 DBMS가 자리 잡고 있다.

인메모리 DBMS는 구동과 동시에 데이터베이스 전부를 메모리에 상주시켜 운영하기 때문에 디스크로 직접 액세스 시 발생하는 I/O 병목으로 성능 저하가 발생할 수밖에 없는 디스크 DBMS에 비해 수십 배 빠른 성능 처리가 가능하다. 이런 장점으로 특정 시점에 다량 발생하는 데이터의 고속처리가 뛰어나 증권사의 시세 조회 및 체결, 통신사의 실시간 빌링, 제조 분야의 공정 자동화 업무 등 ‘속도가 곧 경쟁력’인 분야에서 진가를 발휘하고 있다.

그러나 시장에 대한 관심과 참여에 비해 성장세는 상대적으로 더딘 편이다. 특히 하드웨어의 영향을 많이 받는 인메모리 DBMS 입장에서 RAM 가격의 급락, 테라급 메모리의 대중화 등은 호재임에도 불구하고 시장 성장을 견인하지 못하고 있다.

인메모리 DBMS 역시 30년 전 태동한 기술로, 태동 당시 하드웨어의 발전에 따라 유연하게 확장 가능한 아키텍처가 아니라는 점을 주요 이유로 꼽힌다. 현존하는 인메모리 DBMS는 하드웨어 성능 및 CPU 코어수의 증가에도 아키텍처 문제로 인해 고속의 성능을 발휘하지 못하고 있으며, 선형적 성능 구현과 메모리의 휘발성을 넘어서는 데이터 안정성 보장 등은 현존하는 인메모리 DBMS들의 극복해야 할 과제다.

▲ 인메모리 DBMS의 개요

SUNDB, 하드웨어 확장성에 최적화된 성능 및 안정성 탁월 ‘강점’

최근 3년 여 개발 끝에 탄생한 선재소프트의 SUNDB는 사용자수의 증가에 따른 선형적인 성능 보장, 효율적인 자원 활용, 개선된 데이터 안정성을 고려해 설계된 차세대 인메모리 DBMS로 하드웨어의 성능 증가(Scale-Up)에도 전혀 병목현상이 발생하지 않는다.

SUNDB는 기존 인메모리 DBMS 대비 하드웨어 확장성이 뛰어나 테라바이트(TB)급의 대용량 데이터에 대한 초고속 처리를 지원한다는 것이 차별화되는 특징이다. 클라이언트 수나 애플리케이션 복잡도가 증가할수록 빠른 성능 구현이 가능하며, 데이터의 완벽한 정합성 보장을 위해 다양한 방식의 백업, 복구 기능을 추가, 메모리가 가지는 휘발성으로 인한 데이터 유실에 대한 우려를 불식시킬 수 있다.

(1) SUNDB 아키텍처

SUNDB는 특정 애플리케이션의 오류를 전체 데이터베이스 시스템 오류로의 확산 방지를 위해 쓰레드 구조가 아닌 공유 메모리(Shared Memory) 기반 멀티 프로세스(Multi Process) 구조를 채택해 로우 레이턴시(Low Latency)를 제공한다. 기존 인메모리 DBMS의 한계점으로 지적되던 하드웨어 리소스의 과다 사용을 억제하며 하드웨어 확장에 따른 선형적 성능 보장이 가능하다.

▲ SUNDB 아케텍처

(2) SUNDB 성능

실제 SUNDB는 네트워크 통신비용 발생 유무와 관계없이 빠르고 안정적인 성능을 보여준다. 자체적으로 실시한 테스트에서 SUNDB는 네트워크 통신비용의 발생 없이 메모리에 직접 접근하는 메모리 D/A 방식(Memory Direct Access Mode)에서 DML(Select/Insert/Update/Delete) 연산에 대한 TPS를 수행한 결과, SELECT는 경쟁 제품 대비 최소 11~23배, Insert/Update/Delete 측면에서도 수 배 이상의 성능을 보였다. 기존 인메모리 DBMS의 한계인 클라이언트 수 증가에 따른 선형적인 확장성(Scalability)을 증명하며 로우 레이턴시에 탁월한 성능을 기록했다.

▲ SUNDB 성능 측정표

(3) SUNDB 데이터 안정성(Stability) 보장

SUNDB는 데이터 무손실을 보장하는 고가용성(High Availability) 솔루션 ‘로그미러’, 온오프라인 백업(Backup), 데이터 복구(Recovery), CDC 기반 데이터 복제 솔루션 ‘싸이클론’ 을 통해 데이터 유실 상황으로부터 데이터의 안정성을 보장한다.

●로그미러(LogMirror): 로그미러는 서비스 다운타임(Downtime)을 최소화해 가용성을 극대화하며, 운영 서버에 장애가 발생할 경우 대기서버가 서비스를 대신 처리할 수 있도록 해 H/A(High Availability)를 위한 Active-Active 운영이 가능하다.

●백업(Backup): SUNDB는 대용량 데이터를 위한 증분 백업(Incremental Backup)을 제공해 백업 소요 시간 및 미디어를 절약할 수 있도록 지원하며, 온라인/오프라인 테이블스페이스 백업 지원을 통해 안정성을 보장한다.

●복구(Recovery): 풀백업 후 가장 최신의 증분 백업 구간에 있는 변경 내용을 복구하는데, 아카이브 로그 사용 시 데이터베이스 손상 직전의 상태로 복구 가능하다.

●CDC 기반 데이터 복제 ‘사이클론(싸이클론)’: 데이터 복제는 한 데이터베이스에서 다른 데이터베이스로 데이터 및 데이터베이스 개체를 복사하는 기술로, SUNDB는 사이클론을 통해 데이터 원격 보관과 데이터베이스 이중화를 지원한다. 특히 CYCLONE은 SUNDB 프로세스와 별도로 동작하여 운영 중인 데이터베이스 성능에도 영향을 주지 않는다는 장점이 있다.

(4) SUNDB 효율적 공간 사용

SUNDB의 또 다른 특징 중 하나는 공간 최적화 기술을 적용하여 메모리 공간을 최소화한다는 점이다. 가변 길이 데이터(variable length data) 저장 등을 통해 메모리 공간의 효율적 사용을 가능하도록 설계돼 있다. [그림 4]에서 보는 바와 같이, 증권(KOSPI) 시세 데이터 100만 건 저장 시 SUNDB의 메모리 공간 사용량은 타사 메모리 공간 사용량보다 압도적으로 낮은 메모리 공간을 사용하고 있음을 테스트 결과를 통해 확인할 수 있다.

SUNDB, TB급 대용량 데이터의 초고속 처리에 탁월한 성능 입증

급증하는 대용량 데이터에 대한 초고속 처리가 전 산업 분야에서의 화두로 등장하고 있고, 빅데이터 역시 동시다발적으로 발생하는 데이터에 대한 실시간 처리 및 분석이 핵심이라는 점에서 인메모리 DBMS의 시장은 매우 밝다고 전망하고 있다. SUNDB는 하드웨어 확장성에 대한 선형적 성능 보장이 가능하므로, 관련 시장에서 많은 기회를 발굴할 수 있을 것으로 기대하고 있다.

지난 3월 오픈한 KRX의 차세대 시스템인 ‘엑스추어플러스(Exture+)’와 ‘시장감시 시스템’에는 SUNDB의 기술이 적용됐으며, 코스콤의 금융데이터센터 투자정보시스템, 한화증권의 주문관리시스템, 스포츠토토의 판매점관리시스템 등에는 SUNDB가 도입돼 우수한 성능을 인정받고 있다. 특히 한국거래소의 ‘시장감시시스템’은 국내 최대 규모의 메모리 사이즈(2.8TB)에 대한 데이터 실시간 감시를 성공적으로 수행하고 있는 케이스로 증권사들의 분석 사례로 사용되고 있다.


SUNDB 구축사례

(1)한국거래소(KRX) : 차세대시스템 ‘엑스추어플러스’

‘엑스추어플러스(Exture+)’는 폭증하고 있는 상품 및 현물 거래 시 지연타임을 최소화해 거래 속도 개선에 초점을 맞춰 진행된 한국거래소(KRX)의 차세대시스템이다. KRX의 차세대 시스템은 호가 증가 추세와 호가폭주종목의 초고속처리 성능을 구현하는 세계 최고 수준의 매매체결 서비스를 제공하기 위해 선재소프트의 SUNDB를 도입했다.

그 결과, KRX는 매매체결 처리 성능의 285배가 개선됐으며, 초당 처리 건수(9000건→2만건)와 일일처리량(8000만건 à 1억 6000만건) 측면에서 2배 이상의 성능 개선 효과를 거둘 수 있었다.

KRX는 처리속도 향상, 신속한 신상품 수용 등 다양한 투자자 요구를 수용해 시장의 유동성 제고 및 한국형 자본시장 활성화에 기여할 것으로 기대하는 한편, 개발도상국 대상 시스템 수출에도 박차를 가할 수 있을 것으로 기대하고 있다.

▲ 한국거래소의 현시스템 '엑스추어' vs 차세대시스템 '엑스추어플러스'

(2)한국거래소(KRX) : 시장감시시스템

한국거래소(KRX)가 지능화된 불공정거래 예방 및 감시에 요구되는 이상매매를 적출하기 위해 구축, 운영하고 있는 시장감시시스템에 급증하는 호가/체결 미결제 파일 데이터를 즉시 가공해 시장 감시에 반영할 필요가 있다고 판단, SUNDB 도입을 결정했다.

선재소프트의 SUNDB를 도입한 결과, KRX의 이상매매 시장 감시 시스템은 총 60개 프로세스 평균 초당 18건에 불과하던 가공 처리 건수를 약 60배 이상 향상시킨 초당 1,060건으로 개선할 수 있었다. 특히 국내 최대 규모의 2.8TB급 메모리 사이즈는 대용량 데이터베이스 시스템에서도 인메모리 DBMS가 안정적으로 사용됨을 입증했다.

▲ 국내 최대 규모 메모리사이즈(2.8TB)를 인메모리 DBMS 'SUNDB'로 운영하는 이상매매 시장감시 시스템

(3)코스콤(KOSCOM) : 금융데이터센터(FDC) 투자정보시스템

코스콤(KOSCOM) 금융데이터센터(FDC)의 투자정보시스템은 캐시서버로부터 과거 주식 종가 데이터 및 실시간 호가 데이터 관련 정보를 제공받아 회원사별 사용자들의 요청에 최적화된 투자정보를 제공하는 시스템이다.

코스콤은 과거 약 30년간 주식 종가 데이터와 당일 호가 데이터를 처리하는 캐시서버의 성능 개선을 위해 메모리 내 데이터를 적재해 빠른 성능을 보장하는 SUNDB를 적용, 회원사의 요청(Request)에 보다 빠르게 대응할 수 있는 시스템을 구축하게 됐다.

(4)한화투자증권 : 주문관리시스템(OMS)

한화투자증권은 갈수록 치열해지고 있는 증권 시장에서의 경쟁력 강화를 위해 고객의 주문 요청 메시지에 대한 성능 개선이 필요하다고 판단, 주문관리시스템(OMS, Order Management System)에 SUNDB를 도입했다. 한화투자증권은 SUNDB의 도입으로, 고객의 주문 요청 처리 속도를 약 10배(20m/s → 2m/s) 개선해 고객의 레이턴시 타임을 최소화해 만족도를 크게 개선할 수 있었다.
 

 

저작권자 © 아이티데일리 무단전재 및 재배포 금지