본문 바로가기
Industry area/IT Service

인메모리 DB와 스케일 아웃을 모두 담은 “올인원 DBMS”, NewSQL DBMS

by Jinny815 2018. 10. 29.

인메모리 DB와 스케일 아웃을 모두 담은 “올인원 DBMS”, NewSQL DBMS


폭증하는 정형/비정형 데이터를 안정적이고 빠르게 처리하고자 등장한 NewSQL DBMS는 RDBMS의 친숙함과 안정성을 기반으로 NoSQL의 장점인 분산 처리 기반의 뛰어난 성능과 확장성을 함께 제공해 크게 주목받고 있다. 이번 2회에서는 NewSQL DBMS가 등장한 배경과, 성능과 확장성 측면의 주요 기능과 특징을 살펴보고, 시장 동향과 향후 나아갈 방향을 살펴보자.




NoSQL을 사용해 봤거나 사용 중인 개발자는 NoSQL 사용 경험에 대해 종종 이렇게 말하곤 한다. "NoSQL의 사용으로 RDBMS가 제공하지 못하는 확장성을 얻는 대신 RDBMS의 안정성과 편의성은 내준 것과 다름없다."


▲쉬운 복제 ▲고객의 요구 반영이 쉽고 ▲개발 속도가 빠른 스키마리스 데이터 구조 ▲간단한 API 사용 그리고 ▲ACID에 견줄 BASE(Basically Available, Soft-state, Eventually Consistency) 등 NoSQL의 수많은 장점에도 불구하고 많은 이가 아쉬움을 토로한다. 이는 RDBMS가 제공하는 친숙함과 안정성, 그것과의 결별에서 오는 불편함과 두려움이 크게 작용했을 가능성이 높다. SQL 문법도 사용할 수 없고, 스키마 변경이 거의 불가능해 막상 운영 중 데이터에 문제가 생겨도 쉽게 찾아내기 어려울 뿐만 아니라, 도큐먼트 스토리지 기반 특성상 레코드를 일일이 직접 넣어야 하는 것도 결국은 개발자의 몫이기 때문이다.


안정성과 편의성은 성능과 확장성보다 늘 앞서 고려돼 온 항목이기에 NoSQL를 대하는 기업들의 평가도 크게 다르지 않다. 전자는 DBMS 태동부터 지금까지 변함없이 중요성이 강조돼 왔다면, 후자는 통신과 IT 기술의 획기적인 발전으로 최근에서야 주목받기 시작했다. 대용량 데이터 처리가 당장 해결해야 하는 과제이기는 하지만, 높은 수준의 데이터 정합성 보장은 영원한 숙제다.


새로운 요구의 등장은 창조와 혁신을 이끄는 법이다. 빠르고 안정적인 데이터 처리에도 높은 수준의 정합성이 함께 요구되면서 RDBMS와 NoSQL의 강점만을 골라 담은 NewSQL DBMS의 탄생을 견인했다.

 NewSQL DBMS는 기존 RDBMS와 같이 SQL 질의를 사용해 DB와 애플리케이션 간에 통신하고, ACID 속성을 이용해 수준 높은 데이터 트랜잭션의 정합성 보장은 물론, NoSQL의 인메모리DB, 분산처리, 쉐어드 낫싱(Shared Nothing) 구조 등을 활용해 성능과 확장성도 모두 제공한다. 단일 DBMS에서 DBMS에 요구되는 모든 것을 다 제공하는 올인원 DBMS의 등장이다.


NewSQL DBMS의 정의와 조건 

'NewSQL'이라는 용어는 글로벌 리서치 기관인 451 그룹의 애널리스트 맷 애슬릿이 2011년경 처음 언급한 후, 지금은 고유명사로 자리잡았다. 애슬릿이 속한 451 그룹은 NewSQL DBMS에 대해 'RDBMS 관점의 SQL 지원, ACID 준수, 성능 개선을 가지면서 NoSQL 특성인 확장성과 유연성을 제공하는 DBMS(A DBMS that delivers the scalability and flexibility promised by NoSQL while retaining the support for SQL queries and/or ACID, or to improve performance for appropriate workloads)'라는 정의를 내렸고, 이들이 발표하는 데이터베이스 분류 기준에도 반영했다(그림 1).




Credit: 451 Group


RDBMS 분야 최고 권위자로 꼽히는 MIT 마이클 스톤브레이커 교수도 NewSQL에 대해 정의를 내렸는데, 그가 꼽은 5가지 기능은 다음과 같다

.

1. SQL 기반 상호작용(SQL as the primary mechanism for application interaction): 애플리케이션과의 DBMS의 연계(입력/조회/갱신/삭제 등) 시 SQL을 사용해 통신해야 한다.

2. 트랜잭션을 위한 ACID 지원(ACID support for transactions): RDBMS에서 가장 중요한 트랜잭션의 커밋(Commit)을 위한 필요 속성인 ACID(원자성, 일관성, 고립성, 지속성)를 지원해야 한다.

3. 비잠금 동시성 제어(Non-locking concurrency control): 데이터 무결성 처리를 위해 지원하는 트랜잭션 동시 제어 잠금 처리와 관련해 기존 방식과는 다른 Non-locking 구조를 지원한다.

4. 노드 단위 고성능(High per-node performance): 각 단일 DBMS 서버 노드 단위로 확장해 고성능을 보장할 수 있어야 한다.

5. 병렬, 비공유 아키텍처(Parallel, shared-nothing architecture): 병렬적으로 수행해서 데이터를 고성능으로 처리할 수 있어야 하고, 분산 처리 시 데이터가 각 서버에 중복되지 않고 독립적으로 존재해야 한다.


종합해 보면, NewSQL DBMS의 '새롭다(New)'는 의미는 무에서 유를 창조하는 새로움이라기보다는 양쪽 진영 DBMS의 좋은 점들을 모아 기술적인 개선을 이뤘다는 점에서 진화의 의미에 더 가깝다. 기존 SQL과 NoSQL 대비 NewSQL이 제공하는 특성 비교를 살펴보면 쉽게 이해할 수 있다(표 1).


표 1. 세 종류 SQL 시스템의 특성 비교 


Credit: 선재소프트


성능과 확장성을 보장하는 NewSQL DBMS의 핵심 특성 3가지 

NewSQL DBMS의 여러 장점 중 단연 돋보이는 것은 대용량 데이터 크기에 상관없이 빠르고 안정적인 성능 구현과 분산 아키텍처 기반 확장성을 제공한다는 점인데, 이를 위해 다음과 같은 기술들을 활용하고 있다.


첫째, NewSQL DBMS는 실시간 저장 및 처리를 위해 인메모리 DB 아키텍처를 채택하고 있다. 모든 NewSQL DBMS가 그렇지는 않지만, 볼트DB(VoltDB), 누오DB(NuoDB), H-스토어(H-Store), 클러스트릭(Clustrix), 멤SQL(MemSQL), SAP HANA 등 주요 제품들과 선재소프트의 골디락스(Goldilocks) 등이 인메모리 DB 방식을 채택해 성능을 극대화하고 있다. 인메모리 DB가 디스크 DB 대비 월등한 성능을 구현할 수 있는 이유는 DBMS 구동과 동시에 모든 데이터를 메인 메모리에 저장하고, 바로 처리함으로써 디스크 기반 DB에서 데이터 처리 시 반드시 발생하는 데이터 로딩과 복잡한 최적화 알고리즘 생략할 수 있기 때문이다.


이런 장점에도 불구하고 NewSQL DBMS는 비싼 메모리 가격과 메모리 용량으로 인해 실시간 데이터 처리를 필요로 하는 특정 업무에만 제한적으로 사용돼 왔다. 메모리 가격의 지속적인 하락에 운영체제의 메모리 관리 기술 향상, 스케일 아웃 등 분산 컴퓨팅 기술의 발전 등이 더해져 대용량 데이터 처리를 위한 범용 목적으로도 사용하는 지금에 이를 수 있었다. 메인 메모리의 속성인 '휘발성' 때문에 디스크 백업을 반드시 해야 하는 물리적 제약을 극복하기 위한 연구 개발도 활발히 진행 중인 만큼, 앞으로 더욱 가파른 성장을 구가할 것으로 전문가들은 예상한다.


둘째 대부분의 NewSQL DBMS는 데이터베이스를 샤드(shard)라고 불리는 공통된 부분이 없는 부분 집합(disjoin subset)으로 분리 설계해 스케일 아웃(Scale-out) 방식을 지원한다. 스케일 아웃 방식의 서버 확장성을 위해 데이터 중복이 발생하더라도 가능한 한 테이블을 쪼개지 않고 하나의 큰 테이블에 담아 저장하는데, 이 때 큰 테이블은 샤딩을 이용해 여러 서버에 나눠 저장한다.


NewSQL DBMS도 RDBMS이므로, 테이블 내 필드를 용도에 맞게 상세히 설계할 수 있으므로 키 값에 따른 샤딩이 쉽다. DBA가 데이터 액세스 패턴과 데이터의 적절한 분산이나 데이터의 균등한 저장 등과 같은 다양한 저장 이슈를 고려해 적절한 샤드키를 결정한다면, 확장성을 크게 높일 수 있다.


셋째, 다중 접속에도 높은 수준의 일관성과 성능 유지하는 해법으로 'MVCC(Multi Version Concurrency Control)' 기법을 적용하고 있다. 동시성 제어(concurrency control)는 전통적인 트랜잭션 처리를 지원하는 RDBMS의 모든 측면에 영향을 미치는 요소이다. NewSQL DBMS에서 가장 보편적으로 사용되는 방법은 트랜잭션에 의해 데이터 갱신이 발생할 때 DBMS가 데이터베이스에 튜플(tuple)의 새 버전을 생성하는 분산 다중 버전 병행 제어(Multi Version Concurrency Control, MVCC) 기법을 사용한다.


기존 RDBMS는 잠금(lock)으로 성능 저하가 반드시 뒤따르지만, NewSQL DBMS는 생성된 사본에 데이터 갱신하는 연산을 수행하므로 다른 트랜잭션에는 전혀 영향을 미치지 않으면서 보다 빠른 성능을 구현할 수 있다.


NewSQL DBMS, 규모는 작지만 높은 성장세 기록 중 

빅데이터, 클라우드, 인공지능과 머신러닝, 사물인터넷(IoT) 그리고 5G에 이르기까지 신기술이 가져올 데이터의 양적 팽창은 예견되고, 데이터 관리가 중요한 비즈니스 업무가 늘어나면서 NewSQL DBMS로 모이는 관심과 도입 증가는 세계적인 추세로 자리 잡았다.


마켓 애널리시스(Market Analysis)는 NewSQL 데이터베이스 시장이 복합 성장률 26%을 기록해 2020년까지 10억 달러 규모에 이를 것으로 예측했고, 많은 애널리스트도 이런 성장세를 예상한다. 시장 조사 기관인 IDC는 연간 300억 달러 이상으로 예측하는 전통적인 RDBMS 시장 규모에 비해 규모는 1/30에 불과하지만, 높은 성장률은 의미하는 바가 크다고 말했다.


시장 규모가 작은 데에는 여러 다양한 원인이 존재할 수 있지만, 성장률이 높다는 건 전통적인 DBMS로 인해 고충을 겪었거나 겪고 있는 기업들이 초당 수십만에서 수백만 건에 이르는 데이터 처리가 왜 필요한 지에 대한 공감대를 가지고 NewSQL 기반 새 시스템 구축을 실행에 옮기는 움직임이 빠르게 증가하고 있음을 의미하기 때문이다.


NewSQL DBMS에 대한 높은 관심은 가트너가 매년 발표하는 매직 쿼더런트에서도 확인할 수 있다. 볼트DB, 멤SQL, 누오DB, 클러스트릭 등 NewSQL DBMS 업체들이 니치 플레이어(Niche Player) 군에 이름을 올렸는데, 이는 판매나 논의가 활발히 이뤄지고 있다는 증거다. 기술이 다양해지고 활용이 넓어진다면 리더(Leaders) 군으로 옮겨갈 가능성이 높다(그림 2).


그림 2. 운영 DBMS 부문 가트너 매직 쿼더런트 

Credit: Gartner 2015


특히 단말들의 연결성(Connectivity)을 극대화하는 5G의 상용화가 NewSQL DBMS의 도입 확산과 리더 그룹으로의 이동을 이끄는 촉매제로 작용할 가능성이 높다고 생각하는 이가 많다. 가트너는 2017년도 기준 약 84억 대의 IoT 장비가 연결성을 확보했고, 2020년에는 204억 대에 이를 것으로 전망하고 있다.


수많은 단말이 더 많은 정보를 더 많은 소스로부터 더 빠른 속도로 수집하고, 중앙 서버로 보내 분석을 한 후 해당 정보가 있어야 하는 서비스에 신속하게 데이터를 보내야 할 때 성능과 확장성은 필수다. 특히 에러나 지연 속도 개선, 비정상 프로세스 감지 및 해결, 네트워크상 위변조 사전 예측과 사후 모니터링 등과 즉각적인 경고 발생 및 의사 결정이 절대적인 업무라면, NewSQL DBMS가 제공하는 수준의 성능과 확장성이 정합성만큼 중요하다는 건 두말할 나위가 없다.


시장 분위기 조성 완료, PoC 검증과 사용사례 다양화 급선무 

NewSQL DBMS의 성장 잠재력이 높은 것도 사실이지만, 시장에 안착하기까지 극복해야 할 과제도 많다. 우선 개발 업체 스스로가 PoC(Proof of Concept)를 통한 철저한 기능 검증과 다양한 사용사례(Use Case) 확보 등을 통해 스스로 가능성을 입증해야 한다.


이런 측면에서 골디락스 개발업체인 선재소프트는 모범 사례다. 선재소프트는 인메모리 DBMS 분야에서 높은 기술력과 시장개발 능력을 인정받은 이들이 설립한 기업으로, 인메모리 DB 분야에서 쌓아온 탄탄한 기술력을 활용해 NewSQL 기반 클러스터 DBMS인 골디락스를 선보였다.


후발주자의 불리함을 극복하고 강력한 존재감을 어필하기 위해 '자타공인 고객사 확보와 기술 평가 확보'라는 정공법을 택했다. 크리티컬 업무 시스템용 DBMS로서 자격 검증을 위해 각종 PoC에 적극적으로 임한 결과, 한국거래소 차세대 매매체결시스템을 시작으로 삼성증권 차세대 주문시스템, 빗썸거래소 차세대 매매체결 시스템 등에 골디락스를 공급하는 실적을 거둘 수 있었고, 중국 차이나유니콤의 차세대cBSS에 19억 원 규모의 수출 계약도 성사시켰다.


국산 DBMS 기업 최초로 OLTP 업무에 적합한 DBMS임을 글로벌하게 보증하는 TPC-C 국제 인증 획득을 시작으로 대한민국 소프트웨어 제품 품질대상 대상 수상, GS 인증까지 보유 기술에 대한 공정한 평가를 확보하기 위해 노력해왔다.


NewSQL DBMS 정체성에 대한 업계의 공감지수를 한단계 끌어올려야 한다. DBMS 업계 리더들도 DBMS 변화의 필요성에 한목소리를 내기 시작했다는 건 매우 긍정적인 신호다. 가트너 도널드 페인버그 부사장이자 최고 연구원은 "유지비용 절감, 시스템 유연성 및 민첩성 향상, 기술 기반 확대 등의 다양한 이점을 누리려면 기술이 낡은 전관계형 DBMS 대신 최신 DBMS를 도입해야 한다"고 말했다. 스톤브레이커 교수 역시 "One size does not fit all"이라는 화두와 함께 하나의 시스템에 하나의 DBMS가 모든 요구사항을 만족하게 할 수 없다"고 말했다. 즉 하나의 시스템에 자연스럽게 적합한 다수의 DBMS를 활용해야 한다는 것이다.


과거 디스크 기반 DBMS 시장에 등장한 인메모리 기술이 운영을 위한 OLTP(Online Transaction Processing)와 분석을 위한 OLAP(Online Analytical Processing)로 나뉘어져 있던 영역의 결합을 이끌었다. 

이제 NewSQL DBMS가 기존 레거시 시스템을 근간으로 최근의 다양한 비즈니스 요구 사항과 혁신적인 흐름을 접목시켜 비즈니스를 강화하는데 주도적인 역할을 수행해 전통적인 RDBMS의 대체재가 아닌 상호 보완재로서 자리잡을 것으로 보인다.


지금까지 골디락스가 속한 NewSQL DBMS의 개념과 정의, 특장점, 시장 동향 그리고 시장에 안착하기 위해 선행돼야 할 과제들에 대해 간략하게 살펴봤다.


 마지막 회에는 국내와 해외를 겨냥해 본격적인 세 확산에 나선 골디락스의 기능과 특징, 사례를 통해 실제 도입 효과를 살펴보고, 향후 적용 가능한 분야 등에 대해서도 소개하기로 한다.




BrandPost Sponsored by 선재소프트 자료제공 | 선재소프트


원문보기: 

http://www.itworld.co.kr/news/111071#csidxb416dcb37ad9dfe9f7463f234b72a33