5G를 위한 새로운 DBMS, ‘NewSQL DBMS’가 온다

Click the link to read the original article: Here

=======================================

과거 클라이언트/서버 환경에서 DBMS 선택 기준의 최우선 순위는 ‘안정성’이었다. DBMS가 피크 타임에 처리해야 하는 데이터양이 예측 가능한 경우도 많았고, 고속 데이터 처리가 모든 업무에 필요하지 않았기 때문이다. ‘모바일 퍼스트’ 시대로 진입한 이후에도 선택 기준은 변함없이 안정성이 최우선이었지만, 성능과 확장성도 이에 못지 않은 선택 기준으로 자리잡게 된 건 네트워크 기술의 발전과 데이터 폭증에 힘입은 결과다.

내년 3월 5G가 상용화되면, 지금까지 경험하지 못했던 네트워크 발전과 데이터 폭증이 예상된다. ‘91%’에 달하는 세계 최고 수준의 국내 스마트폰 보급률과 5G 네트워크의 결합으로 발생할 어마어마한 데이터가 5G를 통해 중앙 서버와 통신하며 실시간으로 왕래할 것이기에 DBMS에 요구되는 성능과 확장성은 더욱 중요해질 것이다.

최근 5G를 고려한 신규 시스템 구축을 준비 중인 기업들이 RDBMS로 처리할 수 없는 대용량 데이터 저장 및 관리 목적으로 ‘NewSQL DBMS’를 검토하고 있다는 사실이 이를 방증한다. 첫 등장부터 실제 도입에 이르기까지 상당한 시간이 필요했던 스케일 업 방식의 어플라이언스나 NoSQL 기반 DBMS와 비슷할 것이라는 예상을 뒤엎고 NewSQL DBMS는 기업에 빨리 정착했다.

NewSQL DBMS가 빠르게 확산되는 이유는 대용량 데이터 처리를 위해 DBMS가 갖춰야 할 조건들, 즉 SQL의 친숙함과 안정성, NoSQL의 성능과 확장성 등을 모두 갖췄기 때문이다. 이번 연재를 통해 NewSQL DBMS가 5G 시대에 필요한 대용량 데이터 저장 및 관리의 진정한 해결책이 될 수 있을 지 살펴보자. 우선 이번 기고에서는 5G 시대가 가져올 변화와 함께 성능과 확장성 보장을 위해 DBMS 업계에 등장했던 솔루션들의 장단점을 설명한다.

내년 3월, 5G 주도 ‘초고속·초연결·초저지연’ 시대 개막
내년 3월 통신 3사가 동시에 5G 상용화에 들어간다. 무선으로 데이터를 소비한다는 점에서 기존 4G와 크게 다르지 않지만, 데이터 전송 속도와 처리량 측면에서 큰 성능 차이가 있다. 5G는 4G 대비 최대 전송 속도 측면에서는 20배 이상, 실시간 처리 가능한 데이터 용량은 100배 이상이다. 지연 속도도 1/10 수준이고, 10배 많은 기기의 동시 접속도 가능하다((표 1) 참조).

표 1. 4G와 5G의 핵심 성능 비교 (출처. 미래창조과학부)

1990년대 1세대 아날로그 방식을 시작으로 현재 4세대 LTE에 이르는 이동통신의 기술 발전은 무선으로 데이터를 소비하는 모바일 시장을 창출하고 산업 구조와 삶의 방식을 크게 변화시켰다. 그 변화를 체험한 이들이라면 처리 성능과 전송량 측면에서 엄청난 파괴력을 지닌 5G가 가져다 줄 생활의 변화를 어렴풋이나마 짐작할 수 있다.

사용자가 체감할 수 있는 즉각적인 변화를 예로 들면 ‘군중 속의 버퍼링’ 같은 것이다. 많은 사람이 모인 장소에서 무선 인터넷으로 동영상 콘텐츠를 시청할 때 누구나 한 번쯤 겪어 봤음직한 버퍼링은 5G 시대에는 존재할 수 없다. 언제, 어디서든, 접속 기기의 많고 적음에 상관없이 초고화질 영상 콘텐츠를 끊김없이 시청하고, HD/4K/8K 고화질 동영상 업로드와 전송도 몇 초면 가능케 하는 것이 바로 5G다.

연초에 있었던 평창올림픽 역시 초고속·초연결·초저지연의 5G를 미리 체험할 수 있었던 좋은 기회였다. 봅슬레이 전방 카메라로 촬영한 영상은 TV 앞 시청자들이 선수와 똑같은 시선과 속도감으로 경기를 즐길 수 있게 해줬고, 다양한 각도에서 촬영한 피겨 스케이터의 회전을 한 화면에서 모두 보여줌으로써 시청자는 모든 순간을 한눈에 볼 수 있었다. 자율주행을 선보인 45인승 대형 버스, 올림픽 개폐회식을 수놓은 드론쇼 등을 통해 향후 5G가 어떻게 활용돼 우리 생활을 변화시킬지 가늠할 수 있었다.

융복합 생태계 구축의 핵심 인프라 기술 ‘5G’ 
5G가 특히 주목받는 건 통신용 단말기를 넘어 자동차, 금융, 제조업, 농축수산업, 유통, 에너지, 미디어, 엔터테인먼트 등 인간이 만들어온 모든 분야에서 주변 사물 모두가 단말기가 돼 데이터를 주고받는 ‘초연결 사회’를 가능케 하는 기술이라는 점 때문이다. 5G가 통신업체만을 위한 기술이 아닌 콘텐츠, 플랫폼, 네트워크, 디바이스가 융복합된 생태계를 구축하는 핵심 인프라 기술이라는데 업계의 중론이 모이는 이유이기도 하다.

KT경제경영연구소가 최근 발표한 <5G의 사회경제적 파급효과 분석> 보고서를 보면, 5G의 경제적인 가치를 예상 수치로 확인할 수 있다. 이 보고서에 따르면, 5G의 경제적 가치는 자동차 제조 유통 금융 등 전 산업과 사회적 기반에 대해 2025년에 최소 30조 3,235억 원, 2030년에는 최소 47조 7,527억 원에 달할 것이다. 이런 수치는 해당 연도의 예상 국내총생산(GDP)의 약 2% 수준으로, 새로 나타날 서비스를 고려하면 더 큰 사회경제적 효과가 있을 것으로 내다봤다.

그림 1. 5G의 사회경제적 파급효과 분석 (출처. KT경제경영연구소)

5G의 경제적 가치는 5G를 통해 오가는 데이터 양에 따라 편차가 클 것으로 보인다. 최신의 고속도로가 개통되어도 오가는 차량이 많지 않으면, 수용 능력을 제대로 파악하기 어려운 것과 같은 맥락이다. 단말기의 가장 높은 비중을 차지하는 휴대폰 사용자 수도 더욱 늘어나 데이터 폭증에 힘을 보탤 것으로 예상된다.

이동세계이동통신사업자협회(GSMA)가 발표한 최근 보고서인 <모바일 경제(The Mobile Economy)>에 따르면, 2020년까지 휴대폰 사용자도 57억 명으로, 이는 2020년 세계 인구 78억 명의 약 80%에 달하는 수치다. 또한 씨게이트가 의뢰해 발표한 IDC 백서 <데이터시대 2025(DataAGE 2025)>에 따르면, 2025년 데이터 규모는 2017년 대비 10배 이상 늘어난 163ZB(제타바이트)에 이를 것이라는 전망이다.

5G를 위한 데이터 처리 방안 모색 중인 DBMS 업계 
웹/앱 아키텍처의 발달, 각종 SNS 서비스의 유행, 동영상 생산과 소비의 증대 등 모바일 퍼스트 시대로 접어들며 중요해진 DBMS의 성능과 확장성 이슈는 5G를 만나 더욱 심화했다는 것이 현재 DBMS 업계가 처한 현주소다.

현재의 SQL 기반 DBMS는 안정성을 강점으로 앞세워 반세기 가까이 전 세계 기업들의 선택을 받아왔다. 달리 해석하면, 대용량 데이터를 실시간으로 처리하는 현재의 환경을 수용하기에는 너무 오래된 아키텍처라는 말로도 해석할 수 있다. 성능과 확장성을 위해 다양한 기능들도 추가돼 왔지만, 실제 효과에 대해서는 의문을 제기하는 이가 많다.

RDBMS의 동작 과정을 살펴보면, 대용량 데이터 처리 성능이 떨어질 수밖에 없는 구조라는 지적이다. 일반적으로 RDBMS는 데이터를 행(Row) 중심으로 저장하며, 저장된 데이터는 일정한 크기의 데이터 블록으로 묶여 하드디스크에 저장된다. 데이터베이스 시스템이 하드디스크에서 데이터를 읽으면 메인 메모리에 있는 캐시인 버퍼풀(buffer pool)에 저장하고, 멀티스레드와 관련된 오류 방지를 위해 레코드 레벨 잠금(record level lock)를 이용한다. 또한 인덱스 구현에는 비트리(B-tree)를, 질의문 작성에는 SQL을, 최적의 성능 구현을 위해 내부적으로 쿼리 옵티마이저(query optimizer)를 이용한다.

RDBMS의 시초인 인그레스(Ingres)를 개발한 스톤 브레이커 MIT 교수는 어느 한 방송에서 RDBMS가 가장 핵심적인 동작인 데이터 레코드를 찾아 ‘읽고 쓰는데’ 소모하는 시간은 10%인데 반해 메모리에서 버퍼풀을 관리하거나 멀티스레딩과 관련된 동작을 제어하는데 90%의 시간을 할애하는 구조여서 RDBMS 성능 저하가 발생할 수밖에 없다고 지적한 바 있다. 데이터 크기가 커질수록 성능은 느려질 수밖에 없는 태생적 한계를 극복하는 새로운 솔루션의 출현은 필연적이었다.

해결책 1. 스케일 업 방식의 어플라이언스 
점차 중요성이 커지는 성능과 확장성 이슈에 대해 RDBMS 업계에서 내놓은 대응책은 장비에 RDBMS를 탑재한 스케일 업(Scale up) 방식의 어플라이언스였다. 스케일 업은 서버 내 CPU와 RAM를 추가하는 방식으로 하드웨어 자체를 증강시킴으로써 처리 능력을 향상하는 것이다.

일정 수준까지 성능 확장이 가능하지만, 그 이상의 성능 향상은 기대하기 어렵다. 또한 단일 서버에 부하가 집중되므로, 장애 발생 시 위험성이 매우 크다는 단점도 있다. 특히 초기 도입 시 높은 사양의 하드웨어 비용 부담 역시 고객의 몫이어서 크게 확산되지는 못했다.


그림 2. 스케일 업 vs 스케일 아웃의 개념 및 장단점 비교 분석 (출처. 선재소프트) 

해결책 2. 트랜잭션 대신 뛰어난 확장성을 제공하는 NoSQL 
NoSQL은 비 RDBMS 진영에서 찾은 해결책이다. NoSQL은 Not Only SQL의 약자로, 초대용량 데이터 처리 등 성능에 특화된 목적 달성을 위해 전통적인 RDBMS의 본질을 규정하는 핵심 기능인 ACID(Atomicity, Consistency, Isolation, Durability) 트랜잭션을 과감하게 포기하고, 비관계형 데이터 저장소에 비구조적인 데이터를 저장하는 분산 저장 시스템이다.

1998년 발표됐을 당시에는 큰 반향을 얻지 못하다가, 2000년 중반 SNS의 급속한 발전에 힘입어 재조명받기 시작했다. 트위터, 페이스북 등 SNS 기업들이 대용량 데이터의 동시 처리 용도로 채택하면서 관련 산업계의 큰 호응을 얻게 됐다. 현존하는 150여 개 제품 중 실제 사용자층을 확보하고 꾸준한 기술지원과 관리를 제공하는 제품은 몽고DB, 카산드라(Cassandra), H베이스(Hbase), 카우치DB(CouchDB) 등 10개 내외인 것으로 알려져 있다.

NoSQL DBMS는 ▲키 밸류 방식(Key-Value Database) ▲도큐먼트 방식(Document Database) ▲빅 테이블 방식(Big Table Database) ▲그래프 방식(Graph Database) 4가지로 구분한다. 기술적 혁신에 의한 분류라기보다는 트랜잭션 처리 기능을 제외하고 과거 등장했던 ISAM, 네트워크형 DBMS, XML DBMS, 컬럼 스토어 DBMS 등에서 아이디어를 차용해 특정 서비스에 최적화된 데이터 처리 플랫폼의 역할 수행을 목적으로 탄생했다는 견해가 지배적이다.

RDBMS가 클라이언트/서버 환경에 적합한 데이터 저장 기술로서, NoSQL은 클라우드 환경에 맞는 데이터 저장 기술로 존재하면서 일정부분 교집합을 이루며 상호보완재로 작용할 가능성이 크다.

NoSQL의 가장 큰 장점은 많은 서버로의 확장, 즉 스케일 아웃(Scale Out)이 가능하다는 점이다. No SQL은 데이터 중복이 생기더라도 가급적 테이블을 쪼개지 않고 하나의 큰 테이블에 모두 담아 저장한다. 한 테이블을 여러 서버에 나누어 저장하는 샤딩(Sharding)이 가능하다. 키-밸류 방식으로 밸류 내부에 사용자가 원하는 방식으로 데이터 저장이 가능해 키 값에 따른 샤딩도 쉽다. 서비스 업데이트 주기가 짧아지고 SNS처럼 다양한 비정형 데이터 유형을 다루는 서비스가 증가하면서 이러한 데이터 유연성은 큰 장점으로 주목받고 있다.

반면 다양하고 복잡한 데이터 쿼리가 불가능하다는 점은 NoSQL의 치명적인 단점이자, RDBMS를 대체할 수 없는 가장 큰 이유이기도 하다. NoSQL은 앞서 언급한 것처럼 샤딩(sharding) 방식으로 큰 테이블을 여러 서버에 나눠 저장하는데, 폴트 톨러런스(fault tolerance, 내고장성)를 위해 데이터는 반드시 두 개 이상 서버에 저장된다.

이 때 어떤 데이터에 갱신(update)이 발생한다고 가정해 보자. RDBMS는 데이터 또는 행에 락(lock)을 걸어 읽기만 가능하게 하고 갱신은 새롭게 생성한 튜플(tuple)에 반영함으로써 데이터 일관성을 보장하는 데 반해, NoSQL은 중복으로 저장된 모든 서버에 해당 갱신이 반영되기까지는 대기 시간이 발생한다. 연결된 서버 대수가 많으면 많을수록 올드 데이터를 제공하는 서버의 수는 늘어나게 된다. 데이터 일관성도 항상 보장할 수 없다는 점도 확산을 막는 걸림돌로 작용하고 있다.

해결책 3. RDBMS와 NoSQL의 환상 조합, NewSQL 
기존의 RDBMS 진영에서 자체의 확장성과 성능의 한계를 극복하려는 흐름이 나타나기 시작했는데, NoSQL의 확장성과 성능을 보장하면서도 RDBMS의 데이터 무결성과 SQL 인터페이스를 지원하는 특성을 갖는 NewSQL이다. NewSQL의 개별적인 특성은 새로울 것이 없지만, 편의성과 안정성, 성능과 확장성을 모두 아우르는 데이터베이스의 등장이라는 점에서 새롭다는 평가다.

다만 NewSQL은 역사가 짧은 만큼, 시장에 정착되고 고도화되려면 많은 새로운 아키텍처 설계와 업계의 자구책 마련이 필요하다. 다음 회에는 NewSQL 기반 DBMS의 개요와 정의, 장단점 등과 함께 업계 동향을 간략하게 살펴볼 계획이다. editor@itworld.co.kr

원문보기:
http://www.itworld.co.kr/t/72615/%EC%84%A0%EC%9E%AC%EC%86%8C%ED%94%84%ED%8A%B8/110708?page=0,0#csidxb47c2209b5988149b1e76fb824872f0