본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

그래프 데이터베이스란 무엇인가? 어떻게 활용하나?

OSS 게시글 작성 시각 2017-12-12 08:16:12 게시글 조회수 5635

2017년 12월 11일 (월)

ⓒ CIO Korea, Scott Carey | Computerworld UK



그래프 데이터베이스란 무엇이고, 현재 관심을 기울여야 할까? 그래프 데이터베이스의 가능성은 오픈소스 공급업체가 실제 사례로 엔터프라이즈 지원을 시작하면서 주류로 필터링하기 시작했다. 그렇다면, 여기에 관심을 가져야 하는 이유는 무엇인가?


Credit: GettyImages


지난 4월 파나마 페이퍼(Panama Papers) 유출 사건 기사를 읽은 독자라면, 그래프 데이터베이스(Graph Database)에 대해 들어봤을 것이다. 그래프 데이터베이스 기술은 언론인이 수많은 데이터 세트를 조사하고, 신속하게 개인과 기관, 조세 피난처를 연결할 수 있도록 도와줬다.

다양한 산업의 대기업들이 그래프 데이터베이스를 사용하는 사례가 느는 추세다. 예를 들어, 세계적인 대형 금융기관 가운데 상당수는 복잡한 데이터의 연결, 상관관계와 패턴이 데이터만큼 중요하다는 점을 인식하기 시작했다. 그래프 데이터베이스는 이런 상관관계를 찾아 활용할 수 있는 방법을 제공한다.

시맨틱(semantic) 웹 회사인 온투텍스트(Ontotext)의 매니징 컨설턴트 자레드 맥기니스는 “그래프는 항상 이치에 맞았다. 더 나아가 이론적으로는 더 우수하다. 하지만 관계형 데이터베이스가 너무 우수해 항상 따라잡아야 하는 처지였다. 그러던 것이 ‘티핑포인트’에 도달했다. 이제 더 이상 난해하지 않다. 충분히 성숙해졌다. 기업 환경에서 효과가 있음을 보여주는 사례들이 많다”고 말했다.

그래프 데이터베이스란?
그래프 데이터베이스는 그래프 이론에 토대를 둔 일종의 NoSQL 데이터베이스다. 객체나 노드로 불리는 데이터 포인트를 플롯하고, 그래프에서 이들을 연결하는 컴퓨터 과학 학문의 방법론이다.

기존 관계형 데이터베이스는 데이터를 열과 행으로 저장하고, NoSQL 데이터베이스는 많은 비정형 데이터를 저장한다. 그런데 그래프 데이터베이스는 여기에서 한 걸음 더 나아간다. 데이터 포인트를 연결, 데이터 네트워크를 구축한다.

오픈소스 소프트웨어 업체인 데이터스택스(DataStax)의 빌리 보스워스(Billy Bosworth) CEO는 그래프 데이터베이스를 “데이터 세트를 쿼리하는 것을 넘어, 연결부(상관관계)와 패턴을 찾는 방법”이라고 정의한다.

또한 그래프 데이터베이스는 데이터의 아주 복잡한 관계를 더 쉽고 빠르게 파악할 수 있도록 도와준다고 덧붙였다.

그래프 데이터베이스 업체인 네오 테크놀로지스(Neo Technologies)를 공동 창업한 에밀 에프렘은 15년 전 기존 관계형 데이터베이스를 이용해 기업 고객용 콘텐츠 관리 시스템을 구현하다 어려움에 직면하면서 그래프 데이터베이스를 구축하기 시작했다.

그는 “우리가 다뤘던 정보가 맞지 않아 문제가 있었다. 아주 크고, 체계적이지 못하며, 서로 연결되어 있고, 계속 바뀌고 진화하는 정보였다. 사각형 구멍에 원통을 집어넣으려 시도한 것이나 다름없었다”고 설명했다. 그리고 이런 노력의 결과물인 Neo4j 그래프 데이터베이스였다.

그래프 데이터베이스의 역사
그래프 데이터베이스는 기업들이 도입하는 첨단 기술 상당수처럼 유수 기술 기업의 대규모 데이터센터 부문에서 처음으로 관심을 끌기 시작했다.

인터넷과 서로 연결된 데이터의 특징 때문에 페이스북과 구글 같은 회사들은 수십 년 동안 일종의 그래프 데이터베이스를 기반으로 사업을 해왔다.

마크 저커버그는 페이스북이 사용자의 ‘소셜 그래프(Social Graph)’라고 강조했다. 10년 전 오픈 그래프 프로토콜(Open Graph Protocol)을 토대로, 즉 수학 이론을 특정 컴퓨터 과학 애플리케이션으로 바꿔 소셜 네트워크를 구축했기 때문이다.

그렇다면 그래프 데이터베이스가 ‘일반적인 개념’이 되기 시작하는 이유는 무엇일까?

네오의 에프렘에 따르면, 그래프가 1970년대 등장한 객체 데이터베이스의 한계 가운데 일부를 극복해 준다는 점에 대한 인식이 높아지고 있기 때문이다.

에프렘은 “객체 데이터베이스는 대형 ‘실패작’ 가운데 하나다. 프로그래밍 패러다임을 가져와 데이터 모델로 바꾼 것이 가장 큰 문제 중 하나였다. 우리는 데이터의 수명이 소프트웨어 수명보다 훨씬 더 길다는 것을 배웠다. 따라서 이를 분리해야 한다. 소프트웨어를 옮겨야 데이터가 산다. 객체 모델의 중요한 문제점 중 하나고, 우리는 이런 이유로 객체 모델을 피했다”고 설명했다.

활용 사례
그래프 데이터베이스가 가장 큰 도움을 줄 수 있는 산업은 무엇일까? 데이터스택스(DataStax)의 보스워스 CEO는 모든 디지털 비즈니스가 그래프 데이터베이스의 도움을 받을 수 있다고 대답했다. 그는 “활용 사례를 중심으로 ‘클러스터링(군집화)’이 발생하고 있다. 부정행위 탐지, 서비스 개인화, 더 확실히 고객 행동을 파악하는 ‘활용 사례’를 예로 들 수 있다. 금융, 의료, 석유가스, 제조 등 모두가 동일한 활용 사례를 추구한다”고 설명했다.

RBS(Royal Bank of Scotland)의 선임 소프트웨어 엔지니어인 스텔로스 게로지아나키스는 Neo4j의 고객이다.

현재 RBS는 의존 관계 관리 시스템에 Neo4j를 이용하고 있다. 분 단위로 RBS 거래 시스템의 변화, 변경을 추적한다.

게로지아나키스는 “아티팩트의 모든 의존 관계를 기록하고, 전문 지원 기능을 구현하기 원한다. 또한 높은 성능과 마이크로서비스에 쉽게 탑재할 수 있는 기능을 원한다”고 말했다.

그는 여러 이유와 목적에서 그래프의 ‘힘’을 조사하고 있다고 설명했다. 게로지아나키스는 “모든 것을 지원하는 도구는 없다. 구할 수 있는 모든 도구를 확보해야 한다. 지금 당장은 신용 위험과 관련해 평가하고 있다. 관계와 관련된 가치가 있기 때문이다”고 설명했다.

부정행위 방지에 그래프 데이터베이스를 이용하는 것과 관련, 네덜란드의 은행인 ING의 아키텍트인 게리 스튜어트는 컴퓨터월드UK에 관심이 많다고 언급했다. 그러나 “앞서가기 원하지만, 위험은 피하려 한다. 규제 환경 때문이라도 1~2 버전 정도 늦춰 도입하는 편이다”고 밝혔다.

데이터스택스의 보스워스는 개인화라는 활용 사례가 성장할 것으로 내다보고 있다. 그는 “개인화는 부정행위 방지의 ‘반대면’이라고 생각한다. 동일한 원리로 관계를 파악, 사용자 경험을 개선하는 방법을 알 수 있을 것이다”고 전했다.

네오의 에프렘은 실시간 추천, ID 및 액세스 관리, 통신 영향 분석, 부정행위 방지 및 탐지라는 활용 사례가 가장 유망할 것으로 내다봤다.

에프렘은 실시간 추천과 관련, “대형 소매업체들은 모두 수십 년의 구매 기록을 보관하고 있다. 단순한 품목 리스트가 아닌 그래프를 기반으로 접근한다고 가정하자. A가 3개 품목을 구입했고, B 또한 3개 품목을 구입했다. B는 구입하지 않았지만, 이 경우 A가 구입한 4번째 품목을 바탕으로 추천을 할 수 있다.”고 설명했다.

스포티파이(Spotify)의 유명한 ‘디스커버 위클리(Discover Weekly)’ 기능도 음악 취향이 비슷한 사용자 간 관계를 그래프로 처리, 플레이리스트 형태로 ‘갭’을 없앤다.

사례: 파나마 페이퍼
Neo4j의 또 다른 고객인 국제탐사보도언론인협회(ICIJ)도 이 그래프 업체와 데이터 시각화 업체인 링쿠리어스(Linkurious)의 도움을 받아, 스위스 리크스(Swiss Leaks)와 파나마 페이퍼 조세 피난처 탐사 및 폭로 보도에 성공했다.

ICIJ의 데이터 및 조사 부서 책임자 마르 카브라는 파나마 페이퍼는 역대 가장 규모가 큰 폭로 보도라고 강조했다. 구체적으로 1,150만 건의 문서와 2.6TB의 데이터가 동원되었다.

카브라는 “과거에는 기자들이 자료를 인쇄하고, 종이에 그래프를 그려야 했다. 이러면서 ‘관계’를 놓치곤 했다. 그러나 스위스 리크스 보도와 관련해 Neo4j와 처음 협력했다. 그리고 기자들은 ‘이런 관계가 숨어 있었는지 몰랐다’고 반응했다. 자료에서 관계를 찾기란 매우 어렵다. 사람의 두뇌는 시각적으로 연결되는 구조가 아니기 때문이다. 이를 위해서는 큰 노력이 필요하다. 파나마 페이퍼는 더 흥미로웠다. 과거에는 찾을 수 없었던 패턴을 찾을 수 있었기 때문이다”고 설명했다.

그래프 데이터베이스 업체
포레스터에 따르면, 그래프 데이터베이스 시장은 아직 작다. 하지만 성장의 시기가 무르익은 상태다. 애널리스트 노엘 유하나는 그래프 데이터베이스 시장 보고서에서 “포레스터는 향후 그래프 데이터베이스 시장이 큰 성과를 일궈낼 것으로 전망한다. 기업들이 연결된 데이터를 활용하는 디지털 인사이트 아키텍처를 개발할 것이기 때문이다”고 분석했다.

현재 8개 업체가 활동하고 있다. 4대 업체는 데이터스택스와 기업 시장을 대상으로 하는 관계사인 DSE, Neo4j, 오라클이다. 또 컴플렉스블(Complexible), 플록DB(FlockDB), 프란츠(Franz), 오브젝티비티 & 오리엔트 테크놀로지스(Objectivity & Orient Technologies)가 있다.

여기에 더해, 아마존 웹 서비스(AWS)가 2017년 말 넵튠(Neptune)이라는 클라우드 기반의 그래프 데이터베이스로 이 시장에 진입했다.

넵튠은 수십억 관계 데이터 포인트를 저장하고, 밀리 초 단위의 레이턴시로 그래프를 쿼리할 수 있도록 최적화된 그래프 데이터베이스 엔진이다. S3가 도움을 주고, 최소 3개 이상의 가용 지역(Availability Zone)에 복제되는 넵튠은 잠재력이 큰 그래프 DB ‘옵션’이다.

AWS 같은 넵튠은 유지보수, 패칭, 백업, 복구를 걱정할 필요가 없다는 장점이 있다. 넵튠은 빠른 페일오버(Failover), PIT(Point-in-Time) 복구, 여러 가용 지역 배포, 15개의 읽기 복제를 지원하며, 초당 수만 쿼리를 처리할 수 있는 성능을 갖추고 있다.

그래프 데이터베이스 기술력
새로운 기술인 그래프 데이터베이스에는 당연히 새로운 기술력이 필요하다. 자레드 맥기니스는 개발자들이 그래프 데이터 모델에서 직면할 도전 과제와 관련, “자바 기반의 그래프 프로그래밍 언어인 JSON에 토대를 두고 있다. 이는 시맨틱 명령을 다루는 일에서 ‘초기 중독 약물’에 해당된다. 다른 데이터베이스를 학습할 때와 동일한 노력이 필요하다”고 말했다.

이어서 그는 “쉽지 않다. 그러나 원한다면 기술에 아주 정통한 사람이 될 수 있다. 오라클의 관계형 데이터베이스만큼 단순하게 만드는 것이 ‘열쇠’이다. 우리는 ‘하드코어’ 기술 전문가들을 설득하는 데 성공했다. 이제 나머지 사람들을 설득해야 한다”고 강조했다.

보스워스도 그래프 데이터베이스는 관계형 데이터베이스와 달라, 새로운 쿼리 언어인 Gremlin이 요구된다고 말했다. 그는 “그래프 쿼리는 SQL과 다르다. 그래프의 경우, Gremlin이 훨씬 더 직관적이다. ‘out’과 ‘contain’, ‘in’ 같은 것이 포함되어 있기 때문이다. 그래프를 보듯, 언어를 프로그래밍할 수 있다”고 설명했다.

보스워스는 오픈소스 생태계의 특성상 여러 언어를 사용할 수 있다고 밝혔다. 그러나 “표준화의 장점은 10개의 그래프 언어가 필요 없다는 것이다. 특정인을 위한 그래프 데이터베이스를 보유하고 있거나, 반대로 보유하고 있지 않을 것이다. 우리는 그래프 전문가가 시장에 진입하고, 시장이 함께 성장하기 원한다. 그래프 언어를 표준화하는 데 도움을 주는 프로젝트가 있다면, 누구에게나 좋을 것이다”고 말했다.

결론
관계형 데이터베이스가 기업에 인기 있는 상용 툴로 발전하는 데 십수 년이 걸렸다. 그래프 데이터베이스 또한 성숙기에 접어들고 있다. 대형 업체와 기업 고객들이 이를 주목하기 시작한 상태다.

아직은 기존 관계형 데이터베이스보다 활용 사례가 좁다. 그러나 디지털 기업과 금융 서비스 기업을 괴롭히는 빅데이터 문제에 적용할 수 있다.

그래프 데이터베이스만 가지고 빅데이터 전략을 수립할 수 없다. 하지만 디지털 기업에 또 다른 유용한 도구 역할을 한다. 앞으로 그래프 데이터베이스에 대해 더 많은 이야기를 듣게 되는 것을 기대한다.



※ 본 내용은 한국IDG(주)(http://www.ciokorea.com)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒCIO. 무단전재 및 재배포 금지


[원문출처 : http://www.ciokorea.com/news/36589]

맨 위로
맨 위로