검수요청.png검수요청.png

선디비

위키원
elwn123 (토론 | 기여)님의 2020년 8월 7일 (금) 17:02 판 (성능 및 안정성)
이동: 둘러보기, 검색

선디비(SUNDB)는 한국의 ㈜선재소프트가 개발한 메모리 기반의 관계형 데이터베이스 관리 시스템(RDBMS)이다. 인메모리 RDBMS인 알티베이스(Altibase)를 개발했던 김기완이 개발했다.

개요

모든 데이터를 메모리에 올린 후 처리하기 때문에 속도가 빠르다. 또한, 분산 클러스터 방식에 따라 다수의 소형 서버에 데이터를 분산하여 관리하기 때문에 대용량 데이터베이스(DB) 관리가 가능하고, 운영 중인 시스템을 중단하지 않은 채 데이터베이스 서버를 추가 및 확장할 수 있다.

선디비는 2015년 한국 미래창조과학부가 주관하는 글로벌 창조 소프트웨어(GCS) 프로젝트에 선정되어 30억 원의 연구개발 자금을 받았다. 2016년 10월 중국 차이나유니콤(China Unicom, 中国联通, 중국 연통, 롄퉁)에 175만 달러(=약 18억 원)에 선디비(SUNDB)를 공급하고, 1일 200억 건의 데이터를 지연 없이 처리하는 데 성공했다.

역사

인 메모리 기반 클러스터 데이터베이스 관리 시스템 개발에 착수하게 된 배경에 대해 김기완 선재 소프트 대표는 모바일클라우드, 그리고 사물인터넷에 이르기까지 결국 폭증하는 데이터를 얼마나 빠르고 안정적으로 처리할 것인가 하는 문제로 귀결되고, 분산처리가 유일한 해법이라고 설명하며 또한 불황의 장기화로 비용 절감이 더욱 강조되고 있는 만큼 실시간 고속 트랜잭션 및 분석 처리와 함께 하드웨어 투자에 따른 선형적인 성능 보장이 필요하다고 판단, 쉐어드 낫싱(Shared Nothing) 대용량병렬처리(MPP) 클러스터 기반 스케일 아웃 데이터베이스 플랫폼 개발에 착수하게 된 것이라고 말했다.[1] 선재 소프트는 2010년 창업한 이후 2년만에 인메모리 데이터베이스 선디비 1.0 버전을 내놨고, 그다음 이를 2.1 버전으로 올려 패키지화를 마쳤다. 한국거래소의 차세대 시스템과 시장감시시스템, 코스콤의 금융데이터센터, 투자 정보시스템 등에 적용됐고, 한화투자증권의 주문관리시스템에도 이 제품이 사용됐다. 모두 빠른 데이터 처리가 중요한 기업들로, 한국거래소의 경우 선디비를 도입해 초당 매매체결 처리 건수가 기존 9,000건에서 2만 건으로 2배 이상 늘어났다. 일일 처리량도 2배 이상 늘어났다.[2]

특징

선디비는 공유 메모리(Shared Memory)를 저장매체로 이용함으로써 낮은 지연속도(Low Latency)를 구현하고 모니터링 스키마(schema)를 제공해 데이터베이스의 상태를 확인할 수 있으며, 데이트 조작을 위한 에스큐엘(SQL) 및 ODBC 에이피아이(API)를 이용해 데이터베이스에 접근이 가능하다. Memory Direct Access Mode는 일반적인 인-메모리 데이터베이스 관리 시스템(In-Memory DBMS) 보다 고성능의 데이터 접근 기능을 제공한다. 선디비는 어떤 인 메모리 데이터베이스 관리 시스템보다 우수한 성능을 발휘한다. 특히 애플리케이션에 직접 접근하는 직접접근(Direct Access) 방식은 DML(Select/Insert/업데이트/Delete) 연산에서 클라이언트 수가 늘어날수록 선형적 확장성(Scalability)을 보여주며 낮은 지연시간의 탁월한 성능을 보여준다. 또한, 클라이언트 서버 방식에서 이뤄진 테스트에서도 선디비는 각각의 연산에 대해 안정적인 성능을 보여준다. 선디비를 사용하는 이유는 메모리 직접 접근 기술을 적용하여 현존하는 메모리 데이터베이스 중 가장 빠른 성능을 제공하고, 시스템 중앙처리장치(CPU) 사용률을 줄여 하드웨어 부하 감소, 가변 길이 데이터 저장을 통한 공백값(NULL Value) 칼럼 제거하는 메모리 공간 최적화 기술을 적용하여 메모리 저장공간을 낭비하지 않는다, 메모리 데이터베이스의 최대 단점인 H/A를 극복하고 완벽한 정합성을 제공하고, 동기/비동기 다중화 구성 모델 지원, 타 데이터베이스에 대한 데이터 복제 지원, 대용량 데이터에 대한 OLTP(온라인 업무 처리 형태의 하나) & OLAP(사용자가 대용량 데이터를 쉽고 다양한 관점에서 추출 및 분석할 수 있도록 지원하는 비즈니스 인텔리전스 기술)를 효율적으로 지원한다 등의 이유가 있다.[3]

선재 소프트

선디비를 개발한 선재 소프트의 선재는 앞선 기술을 의미한다. 정보기술(IT) 회사이다 보니 남들보다 기술에서 한 발 더 앞서 나가겠다는 의지를 표방한 의미이다. 또는 착할 선 쌓을 재를 써서 선을 많이 쌓자는 의미로 좋은 일을 많이 하다보면 좋은 친구들이 찾아 오고 회사도 더불어 잘 되지 않을까 싶어서 지은 뜻도 있다. 기존 인 메모리 데이터베이스의 한계를 뛰어넘는 새로운 개념의 인메모리 데이터베이스를 만들어 보고 싶다는 공동의 목표에 전 직장의 핵심 개발자들이 함께 의기투합해서 설립했다. 데이터베이스는 복잡한 구조로 되어 있어 기존에 견고한 구조를 뒤집어 새로 만들기가 쉽지 않다. 하드웨어 성능과 인프라 환경에 맞는 데이터베이스를 목표로 고민했던 성능 문제나 미완성 과제들을 적용해서 기존의 한계를 극복한다면 기술 혁신이 가능할 것이라고 생각했다. 무엇보다 개발자들이 원하는 일을 하게 해주고 싶었고, 서로 마음에 맞는 사람들끼리 하고 싶은 일을 마음껏 해보자는 취지에서 선재라는 판을 세우고 인 메모리 데이터베이스 관리 시스템 시장에 뛰어들었다.[4]

성능 및 안정성

선재 소프트의 선디비는 사용자 수의 증가에 따른 선형적인 성능 보장, 효율적인 자원 활용, 개선된 데이터 안정성을 고려해 설계된 차세대 인 메모리 데이터베이스 관리 시스템(DBMS)으로 하드웨어의 성능 향상(Scale-Up)에도 전혀 병목현상이 발생하지 않는다.

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

아키텍처

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

데이터 안정성

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

  • 로그 미러(LogMirror) : 로그 미러는 서비스 다운 타임(Downtime)을 최소화해 가용성을 극대화하며, 운영 서버에 장애가 발생할 경우 대기 서버가 서비스를 대신 처리할 수 있도록 해 H/A(High Availability)를 위한 Active-Active 운영이 가능하다.
  • 백업(Backup) : 선디비는 대용량 데이터를 위한 증분 백업(Incremental Backup)을 제공해 백업 소요 시간 및 미디어를 절약할 수 있도록 지원하며, 온라인/오프라인 테이블 스페이스 백업 지원을 통해 안정성을 보장한다.
  • 복구(Recovery) : 풀 백업 후 가장 최근의 증분 백업 구간에 있는 변경 내용을 복구하는데, 아카이브 로그 사용 시 데이터베이스 손상 직전의 상태로 복구가 가능하다.
  • CDC 기반 데이터 복제 '사이클론' : 데이터 복제는 한 데이터베이스에서 다른 데이터베이스로 데이터 및 데이터베이스 개체를 복사하는 기술로, 선디비는 사이클론을 통해 데이터 원격 보관과 데이터베이스 이중화를 지원한다. 특히 사이클론은 선디비 프로세스와 별도로 동작하여 운영 중인 데이터베이스 성능에도 영향을 주지 않는다는 장점이 있다.

효율적 공간 사용

선디비는 공간 최적화 기술을 적용하여 메모리 공간을 최소화한다. 가변 길이 데이터(variable length data) 저장 등을 통해 메모리 공간의 효율적 사용을 가능하도록 설계되었다.

종류

선디비 3.0

선재소프트는 디스크 비공유(Shared-Nothing) 기반 스케일아웃(Scale-Out) 클러스터 관계형 데이터베이스 관리 시스템(RDBMS)인 선디비 3.0 맥스스케일(SUNDB 3.0 Maxscale)을 개발해 사용화를 준비 중으로 이와 관련해 미래부 주관 글로벌창조소프트웨어(GCS) 프로젝트에도 선정된 바 있다. 이 솔루션은 고가의 장치 없이도 실시간 트랜잭션(transaction) 처리가 가능하고 시스템 운영의 중단 없이도 서버(Server) 추가가 가능해 급격한 업무 확장에 대응할 수 있다. 표준 에스큐엘(SQL)을 지원하며, 다중 노드 간의 트랜잭션을 원활하게 처리할 수 있어 미션 크리티컬 업무에도 사용할 수 있다는 것이 회사 측의 설명이다. 엑셈은 선재소프트의 선디비 3.0 맥스스케일을 CEP(복합이벤트처리)엔진으로 채택, 비즈니스 프로세스를 직접 제어할 수 있는 빅데이터 통합 플랫폼을 구축할 예정이다. 양사는 빅데이터 시장 공략을 위한 공동 제품 개발을 추진 중으로, 선재소프트의 인메모리 디비클러스터링 기술력과 엑셈의 빅데이터 및 인공지능(AI) 기술력을 결합해 최적화된 제품을 선보인다는 계획이다. 김기완 선재소프트 대표는 모바일과 클라우드 그리고 사물인터넷 시대의 도래까지 결국 기업은 폭증하는 데이터를 얼마나 빠르고 안정적으로 처리할 것인가의 문제로 귀결된다. 즉, 대용량의 데이터를 빠르게 처리하고 저장할 수 있는 관계형 데이터베이스 관리 시스템 기술의 개발이 유일한 해법이라고 말했다.[5]


선디비 넥스스케일

데이터 베이스 관리 시스템(DBMS) 전문 기업 선재소프트가 시스템 중단없이 서버를 추가하는 선디비 넥스스케일을 개발했다. 제품 개발에 3년이 걸렸다. 강점은 업무 시스템 중단 없이 서버를 추가하는 스케일 아웃 기능이다. 데이터가 기하급수로 늘어 가는 빅데이터 시대에 시스템 중단 없이 데이터베이스(DB) 시스템을 늘리는 작업이 요구된다. 선재소프트는 이 요구 사항을 선디비 넥스스케일의 주요 기능으로 담아냈다. 중국 통신사와 국내 대기업이 제품을 시범 도입, 사용하고 있다. 제품 출시 후 빠른 데이터 처리를 원하는 통신사를 공략한다. 국내 도입 사례 확보 후 중국, 베트남 등 동남아 시장에도 진출한다. 선재소프트는 2010년에 설립된 인메모리 기반 데이터베이스 관리 시스템 업체다. 티베로, 알티베이스에 이어 데이터베이스 관리 시스템 분야의 세 번째 토종 업체다. 오라클(Oracle), 에스에이피(SAP) 등 외산 솔루션 위주의 데이터베이스 관리 시스템 시장에 도전장을 냈다. 알티베이스 출신의 김기완 대표와 직원들이 회사 설립을 주도했다. 한국거래소, 삼성증권 등 빠른 속도의 데이터 처리를 요하는 금융권에서 선디비를 속속 도입했다.[6]


골디락스

선재소프트가 선보인 골디락스(Goldilocks)는 마이크로 세컨드(Micro Second) 단위의 속도로 페타바이트(PB)급 데이터를 처리할 수 있도록 1000코어 이상 스케일 아웃 기반의 확장성을 제공하는 NewSQL기반 클러스터 데이터베이스 관리 시스템이다. 선재소프트의 골디락스가 초고속 성능 보장을 위해 인메모리 데이터베이스 기술을 채택한 것은 여타 NewSQL 데이터베이스 관리 시스템과 동일하지만 30년 가까이 인메모리 데이터베이스 분야에서 쌓아온 경험과 노하우를 총동원해 업계 최고 수준의 성능과 확장성을 구현했다는 점에서 큰 차이가 있다. 골디락스는 인메모리 데이터베이스 아키텍처가 보유한 성능상의 강점을 극대화하고자 패러럴 로딩(Parallel loading), 패러럴 인덱스 빌딩(Parallel index building) 등 병렬 처리 기술을 적용했따. 또한 골디락스는 멀티 쓰레드 구조가 아닌 공유 메모리 기반의 멀티 프로세스 구조로 설계돼 애플리케이션이 공유 메모리에 접근할 수 있기 때문에 기업들이 필요로 하는 초저지연(Ultra Low Latency)를 가능케 한다. 인메모리 특징인 휘발성으로 인한 데이터 손실 염려를 해소하기 위해 디스크에 리두로그 파일(Redo Log File) 및 체크포인트 이미지 파일(Checkpoint Image file)들을 저장하도록 설계해 어떠한 장애가 발생하더라도 일관성과 영속성을 보장한다.[7]

활용 분야

선디비를 비롯해 인-메모리(In-Memory)의 적용 분야는 무궁무진하다. 특히 급증하는 대용량 데이터에 대한 초고석 처리가 전 산업 분야에서의 화두로 등장하고 있고 빅데이터(bigdata) 역시 동시다발적으로 발생하는 데이터에 대한 실시간 처리 및 분석이 핵심이라는 점에서 인메모리 데이터베이스 관리 시스템(DBMS)을 주목하고 있는 상황이다. 선디비는 대용량 데이터에 대한 고성능 처리에 최적화된 데이터베이스 관리 시스템으로 대용량 데이터에 대한 빠른 처리를 필요로 하는 금융 및 통신, 방대한 데이터 수집 및 모니터링이 요구되는 제조 및 공공 분야에서 폭너럽게 적용 가능하다.[3]

  • 금융: 고객 데이터의 안정적이고 신속한 처리가 필요하다. 빠른 처리속도를 요구하는 증권업무(투자정보시스템), 은행, 카드, 보험사 등 대외계 업무 시스템, 로그분석 및 감시시스템, 안정적인 운영을 요구하는 금융 단위 시스템 등에서 쓰인다.[3]
  • 통신: 대량의 데이터에 대한 빠른 처리가 필요하다. 실시간 과금 및 정산 업무, 무선 인터넷(internet) 솔루션 및 핵심망 솔루션 제품군(모바일 무선 인터넷 서비스 등), 사물인터넷(IoT) 관련 센서(sensor)들로부터 수집되는 방대한 양의 데이터 분석, 통합고객정보시스템 등에서 쓰인다.[3]
  • 공공 및 제조: 방대한 데이터 수집 및 모니터링이 필요하다. 제조, 장비 엔지니어링 시스템, 전력, 원자력, 대체 에너지 등에 대한 생산 및 유지 품질에 대한 모니터링, 안전확보 및 환경보호를 위한 실시간 모니터링 시스템, 안정적인 운영이 필수인 공공정보 시스템 등에서 쓰인다.[3]

구축사례

한국거래소 : 엑스추어플러스

엑스추어플러스(Exture+)는 폭증하고 있는 상품 및 현물 거래 시 지연타임을 최소화해 거래 속도 개선에 초점을 맞춰 진행된 한국거래소(KRX)의 차세대시스템이다. 한국거래소의 차세대 시스템은 호가 증가 추세와 호가폭주종목의 초고속처리 성능을 구현하는 세계 최고 수준의 매매체결 서비스를 제공하기 위해 선재소프트의 선디비를 도입했다. 그 결과, 한국거래소는 매매체결 처리 성능의 285배가 개선됐으며, 초당 처리 건수(9000건 2만건)와 일일처리량(8000만건 1억 6000만건) 측면에서 2배 이상의 성능 개선 효과를 거둘 수 있었다.[8]

한국거래소 : 시장감시시스템

한국거래소(KRX)가 지능화된 불공정거래 예방 및 감시에 요구되는 이상매매를 적출하기 위해 구축, 운영하고 있는 시장감시시스템에 급증하는 호가/체결 미결제 파일 데이터를 즉시 가공해 시장 감시에 반영할 필요가 있다고 판단하여 선디비 도입을 결정 했다. 그 결과, KRX의 이상매매 시장 감시 시스템은 총 60개 프로세스 평균 초당 18건에 불과하던 가공 처리 건수를 약 60배 이상 향상 시킨 초당 1,060건으로 개선할 수 있었다. 특히 국내 최대 규모의 2.8TB급 메모리 사이즈는 대용량 데이터베이스 시스템에서도 인메모리 데이터베이스 관리 시스템이 안정적으로 사용되었음을 입증했다.[8]

코스콤 : 금융데이터센터 투자정보시스템

코스콤(KOSCOM) 금융데이터센터(FDC)의 투자정보시스템은 캐시서버로부터 과거 주식 종가 데이터 및 실시간 호가 데이터 관련 정보를 제공받아 회원사별 사용자들의 요청에 최적화된 투자정보를 제공하는 시스템이다. 코스콤은 과거 약 30년간 주식 종가 데이터와 당일 호가 데이터를 처리하는 캐시서버의 성능 개선을 위해 내 데이터를 적재해 빠른 성능을 보장하는 선디비를 적용하며, 회원사의 요청(Request)에 보다 빠르게 대응할 수 있는 시스템을 구축하게 됐다.[8]

한화투자증권 : 주문관리시스템

한화투자증권은 갈수록 치열해지고 있는 증권 시장에서의 경쟁력 강화를 위해 고객의 주문 요청 메시지에 대한 성능 개선이 필요하다고 판단하여, 주문관리시스템(OMS, Order Management System)에 선디비를 도입했다. 선디비의 도입으로 고객의 주문 요청 처리 속도를 약 10배 개선해 고객의 레이턴시 타임을 최소화 했다.[8]

스포츠토토

스포츠토토가 수탁, 운영 중인 체육진흥투표권 사업의 건전성 강화 및 투명성 확보 차원에서 신규 구축한 판매점관리시스템에 국산 인메모리 데이터베이스 관리 시스템을 도입했다. 선재소프트는 스포츠토토의 판매점관리시스템에 자사의 인메모리 데이터베이스 관리 시스템 선디비를 공급, 성공적인 운영 중에 있다고 말했다. 이 시스템의 특성상 전국 6,497개(14년 2월 10일 기준) 판매점으로부터 실시간으로 수집되는 발매이력의 저장과 검색/갱신 연산 수행이 탁월했던 점도 선디비 도입에 주효하게 작용했다. 선디비가 투표권 발매 이상 징후에 대한 실시간 탐지를 빠르고 안정적으로 처리하고 있고, 실제 경영정보에서 5배 이상 빨라진 조회 속도를 기록하는 등 담당자들 기대 이상의 성과를 기록하고 있다.[9]

차이나 유니콤

인메모리 데이터베이스 관리 시스템 개발 전문기업이자, 엑셈 연합군의 주축인 선재소프트가 자사의 인메모리 데이터베이스 선디비 기술을 이용하여 차이나 유니콤(China Unicom)의 cBSS 시스템을 성공적으로 오픈했다. cBSS 시스템은 중국 내 32개 성에서 분산 관리되던 BSS(Business Support System)를 8개의 그룹으로 구성된 베이징 중앙으로 통합하는 대규모 프로젝트다. 선재소프트는 인메모리 기술이 집약된 자사의 선디비를 사용하여 1년 간의 개발 과정을 거쳤다. 이를 통해 1일 200억건의 데이터를 지연 없이 처리하는 데 성공했고, 차이나 유니콤은 4G 환경으로의 전환에 따른 폭발적인 데이터량 증가에도 안정적인 서비스 제공을 할 수 있게 되었다.[10]

각주

참고 자료

같이 보기


  질문.png 이 문서는 로고가 필요합니다.  

  검수요청.png검수요청.png 이 선디비 문서는 데이터에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.