주메뉴바로가기.. 본문바로가기

“세상에서 가장 빠른 DB” 볼트DB 한국 상륙

카카오스토리 네이버밴드 구글플러스

2018년 06월 15일 14:00 프린트하기

최근에 눈길을 끄는 외국 소프트웨어 업체가 국내 진출을 선언했다. 주인공은 볼트DB. 볼DB는 미국 매사추세츠주에 본사를 둔 인메모리 기반 데이터베이스관리시스템(DBMS)으로, 최근 한국에 사무소(대표 이제웅)를 열고 한국영업을 시작했다.


볼트DB에 관심이 쏠리는 이유는 창립자의 이름 때문이다. 마이클 스톤브레이커 박사가 볼트DB의 창립멤버다. 스톤브레이커 박사는 관계형 DB(이하 RDB) 역사에서 가장 중요한 연구자 한 명 중 꼽히는 인물이다. 1973년 추상적인 개념으로만 존재하던 RDB를 처음으로 구현한 잉그레드가 그의 손에서 태어났다.

 

마이클 스톤브레이커 박사 - 위키피디아 제공
마이클 스톤브레이커 박사 - 위키피디아 제공

대표적인 오픈소스 DB 중 하나인 포스트그레스큐엘(PostgreSQL)은 그가 버클리 대학에서 이끌던 프로젝트에서 시작된 것이다. 포스트(Post) 잉그레스(Ingress)의 합성어가 포스트그레스다. HP에 인수됐던 온라인분석처리용 DB인 ‘버티카’도 그가 설계한 DB다.


스톤브레이커 박사는 2014년 컴퓨터 과학 분야의 노벨상이라 불리는 ACM 튜링상을 수상했다. DB분야에서는 그가 유일한 이 상의 수상자다.


볼트DB는 스톤브레이커 박사가 뉴SQL의 주창하며 개발한 DB다. 그는 최초로 RDB를 만든 사람이지만, 40년 전에 만들어진 RDB의 아키텍처는 이제 제 역할을 다했다고 보고 있다.


그의 논문에 따르면, 기존 RDB를 활용할 때 메모리 상의 프로세싱 점유율을 분석해보니 약 12%만이 데이터 읽고 쓰는데 사용되고, 나머지 88%는 버퍼를 관리하는 등의 부수적인 작업에 쓰인다는 사실이 발견됐다. 비본질적인 일에 너무 많은 에너지를 쓴다는 것이다. 이런 아키텍처에서는 아무리 성능 좋은 하드웨어를 이용해도 근본적인 성능 향상에는 한계가 있다. 스톤브레이커 박사가 뉴(New)SQL을 주창하는 이유다.

 

바이라인네트워크 심재석 기자 제공
바이라인네트워크 심재석 기자 제공

볼트DB는 그 결과물이다. 빅데이터를 넘어 패스트(Fast) 데이터를 처리하기 위한 인메모리 기반 DB라고 회사 측은 설명했다. 데이터 처리 프로세싱 과정의 부수적인 작업을 모두 없애고 오직 데이터를 읽고 쓰는데 에너지를 100% 활용할 수 있도록 만든 것이 특징이다.


예를 들어 볼트DB는 멀티쓰레드가 아닌 싱글쓰레드를 채택했다. 과거에는 하나의 CPU가 많은 일을 해야했기 때문에 멀티쓰레드 아키텍처가 좋은 것이었지만, 이제는 CPU 하나에도 여러 개의 코어가 들어있기 때문에 코어당 하나씩 싱글쓰레드를 구현하는 것이 훨씬 효율적이라는 이론이다. 멀티쓰레드를 관리하는 프로세싱 과정이 사라지기 때문이다. 또 기존에는 데이터를 쓰기 전 백업 로깅(쓰기 실패시 원상태로 복구하기 위한 프로세스)에 많은 프로세스가 사용됐는데 스냅샷과 커맨드 로깅(Command Logging)이라는 방식을 통해 이같은 비효율을 최소화 시켰다. 이런 아키텍처로 데이터 처리 프로세싱의 부수적인 자원 낭비를 제거했다. 대규모병렬컴퓨터(MPP)를 도입해 노드가 증가하면 성능이 선형적으로 증가한다. 이 때문에 그 어떤 DB보다 빠르다고 자부한다.


기존에도 인메모리 DB는 있었지만, 과거 RDB 아키텍처를 기반으로 메모리만 활용하기 때문에 성능 향상에 한계가 있다는 것이 볼트DB 측의 주장이다.


볼트DB의 이런 빠른 성능은 실시간으로 오가는 데이터를 관리하는 데 강점을 가진다. 예를 들어 중국의 화웨이는 볼트DB로 사기방지시스템(FDS) 구축해 카드사에 제공했다. 신용카드 결제가 일어나면 트랜잭션 정보를 가지고 DB에 쿼리를 날려서 실시간으로 문제가 없는 거래인지 아닌지 분석한다. 이상징후가 있는 거래는 승인이 일어나지 않는다. 많을 경우 초당 수십만 건의 거래가 일어나고 거래가 일어날 때마다 100여개의 쿼리를 날려야 하기 때문에 기존 RDB로는 이와같은 시스템을 구현하기에는 성능 문제가 있다고 한다.


볼트DB 한국사무소 김재천 이사는 “일반적인 DB는 트랜잭선 하나가 발생할 때 0.05초 안에 응답을 준다고 한다고 하는데, 트랜잭션이 초당 10만, 100만 건이 일어나면 얘기가 달라진다”면서 “수많은 쿼리가 동시에 이뤄지면서 처리해야 할 데이터가 많을 경우 볼트DB가 해답”이라고 말했다.

카카오스토리 네이버밴드 구글플러스

2018년 06월 15일 14:00 프린트하기

 

혼자보기 아까운 기사
친구들에게 공유해 보세요

네이버밴드 구글플러스

이 기사가 괜찮으셨나요? 메일로 더 많은 기사를 받아보세요!

1 + 8 = 새로고침
###
과학기술과 관련된 분야에서 소개할 만한 재미있는 이야기, 고발 소재 등이 있으면 주저하지 마시고, 알려주세요. 제보하기

관련 태그뉴스