엔코아, ‘엔코아 데이터데이’ 개최…GDB 관련 기술 트렌드와 혁신 사례 공유

[컴퓨터월드] 엔코아(대표 이화식)가 지난달 26일 ‘엔코아 데이터데이(DATA DAY)’ 행사를 개최했다. 이번 세미나는 최근 국내외에서 주목받고 있는 그래프 데이터베이스(GDB, Graph Database)에 대해 상세히 설명하는 자리로 마련됐다. GDB가 기존의 데이터 분석 기술과 어떤 차별점을 가지고 있는지, 특히 효과를 거둘 수 있는 분야는 어디인지에 대한 인사이트를 소개했다. 또한 엔코아는 자사 고객들과 함께 GDB를 구축하고 활용한 경험을 공유하며, GDB 도입에 관심을 가지고 있는 참가자들이 자사의 비즈니스에 실제로 적용할 수 있는 방법론을 제시했다.

엔코아가 지난달 26일 ‘엔코아 데이터데이’를 개최, GDB 관련 기술 트렌드와 구축 사례를 공유했다. 
엔코아가 지난달 26일 ‘엔코아 데이터데이’를 개최, GDB 관련 기술 트렌드와 구축 사례를 공유했다. 

데이터 가치의 새로운 해석, GDB의 인사이트

첫 번째 세션 발표는 엔코아 이화식 대표가 맡았다. 이화식 대표는 발표에 앞서 “오늘 이 자리에는 엔코아의 대표가 아니라 한 명의 엔지니어로 왔다”면서, “5년 전부터 GDB의 가능성에 깊이 공감해, 그동안 직접 GDB에 대한 자료를 수집하고 공부하며 지식을 쌓아왔다. 오늘 이 자리를 통해 여러분들도 GDB의 가치에 공감할 수 있기를 바란다”고 말했다.

먼저 10만 개의 셀로 구성된 스프레드시트가 있다고 가정하자. 전체 셀의 5%에는 구체적인 값이, 나머지 95%의 셀에는 다른 셀과 연결된 수식이 입력돼있다. 10만 개의 셀은 서로 복잡한 상관관계를 가지고 있어, 어떤 한 셀의 값이 바뀌면 나머지 모든 셀들이 새로운 값을 가지게 된다. 이러한 상황에서 단 하나의 변화가 전체 셀에 어떤 영향을 가져올 지를 예측하는 것은 무척 어렵다.

이화식 대표는 이를 잔잔한 연못에 돌을 던지는 것에 비유했다. 연못에 돌을 던지면 그 자리를 중심으로 파문이 일어나고, 파문이 퍼져나가는 모양은 쉽게 예측 가능하다. 하지만 불특정 개수의 돌이 불특정한 시간에 불특정한 위치에 떨어진다면 여러 개의 돌이 만들어내는 파문이 서로 영향을 주고받으면서 아주 복잡한 모양을 만들어내게 될 것이다. 이러한 경우에 돌 하나하나가 만들어내는 파문에서 연못 전체의 정확한 파문의 모양을 예측해내는 것은 어려운 일이다. 이화식 대표는 “세상만사는 각 개체의 고유한 특성보다 다른 개체와의 연관성에 더 큰 영향을 받고 있다. 이러한 것들은 기존의 스칼라(Scalar) 연산이 아니라 토폴로지컬(Topological)한 연산으로 처리해야 한다. 이것이 바로 GDB의 목적이다”라고 설명했다.

엔코아 이화식 대표
엔코아 이화식 대표

전통적인 BI 분석이나 최근의 AI 기반 분석의 목적은 특정한 질문에 대한 해답을 얻는 것이다. 대형할인점에서 맥주 판매량을 높이기 위해 기저귀 옆에 배치한 사례가 있다. 이는 ‘맥주 판매량 증대’라는 질문에 대해 ‘기저귀 옆에 배치한다’는 해답을 얻은 것으로, 전통적인 데이터 분석 방법론들이 활약할 수 있는 분야다. 반면 GDB는 전체 네트워크에 대한 위상연산에 강점을 갖는다. 하나의 네트워크로 묶인 데이터들과 그들의 상관관계를 정확히 설계할 수 있다면, 특정한 데이터에 일어난 변화가 나머지 데이터들에 어떤 영향을 미치게 될 것인지를 예측할 수 있다.

따라서 그래프DB를 활용하기 위해 가장 중요한 것은 기반이 되는 데이터 레이어들을 제대로 만드는 것이다. 이는 자동차 네비게이션에 비유할 수 있다. 먼저 전국 도로 정보에 대한 데이터 레이어가 있어야 하고, 실시간 교통상황에 대한 레이어도 있어야 한다. 여기에 공사나 사고, 기상 상황과 같이 운행에 영향을 미칠 수 있는 정보들을 담은 레이어도 필요하다. 이런 데이터 레이어들이 잘 갖춰진다면 목적지까지 가기 위한 최적의 이동 경로를 손쉽게 파악할 수 있다. 즉 서로 영향을 줄 수 있는 데이터 레이어들을 모두 수집해 잘 연결해놓으면 매우 간단한 방법으로 원하는 인사이트를 얻을 수 있게 된다.

다만 이화식 대표는 GDB가 기존의 관계형 DB(RDB)들을 대체하는 게임체인저가 아니라는 점을 분명히 했다. 답을 구하려는 질문과 분석해야 할 데이터가 정해져 있고, 이들의 상호의존성이나 변동성이 높지 않다면 오히려 RDB가 더 유용할 수 있다. 반면 수많은 데이터 테이블들이 서로 복잡한 상관관계로 얽혀있고 이들이 영향을 주고받는 모습을 분석하고자 할 경우, 각각의 테이블을 연결할 때마다 조인(join)을 사용하는 RDB로는 분석 성능에 한계를 보이게 된다. 이때는 서로 동질성이 없고 속성도 전혀 다른 데이터들까지도 하나의 네트워크로 통합해 분석할 수 있는 GDB가 강점을 갖는다.

이화식 대표는 “최근에는 한국을 포함한 7개국이 모여서 SQL 이후 최초의 ISO/IEC 국제 표준 쿼리 언어인 GQL(Graph Query Language)을 만들고 있다. 이는 GDB에 대한 국제적인 관심을 단적으로 보여주는 것이며, 향후 GDB가 선택이 아닌 필수가 될 것임을 의미한다”면서, “이미 구글이나 아마존, 넷플릭스 같은 세계적인 기업들은 복잡한 데이터들의 연결과 상관관계가 데이터 그 자체만큼이나 중요하다는 것을 인식하고 있다. 국내 기업들도 이러한 트렌드를 빠르게 인식하고 자사의 비즈니스에 적용해나가야 한다”고 강조했다.


산업별 케이스 스터디로 보는 그래프 데이터베이스 분석과 활용

두 번째 세션은 ‘산업별 케이스 스터디로 보는 GDB 분석과 활용’이라는 주제로, 엔코아 DSC(Data Service Center) 최미영 상무가 발표에 나섰다.

최미영 상무는 먼저 “GDB의 목표는 세상 그대로의 모습을 데이터화해 저장하고 분석하는 것”이라고 말했다. 최미영 상무에 따르면 세상의 모든 것들은 객체(entity)와 관계(relationship)로 구성돼있다. 기존의 RDB는 객체를 저장하고, 관계는 속성(attribute)으로 들어가는 값이었다. 데이터 간의 관계보다는 데이터 그 자체를 정확히 정의하고 저장하는 데에 집중한다. 반면 GDB는 간단한 구조의 키-밸류(key-value) 값으로 객체(vertex)와 관계(edge)를 나누어 저장하고, 이들 각각에 별도의 속성(property)를 붙일 수 있다. RDB에 비하면 더 많은 정보를 구체화해서 저장할 수 있으면서도 보다 빠르게 대량의 데이터를 분석할 수 있다.

그렇다면 기존에 RDB 중심의 데이터 분석 환경을 운영해온 기업이 GDB 분석 환경을 새롭게 마련하기 위해서는 어떤 과정을 거쳐야 할까? 이에 대해 최미영 상무는 “기존에 RDB를 잘 운영해왔다면 이를 GDB로 옮기는 것은 자체는 그리 어렵지 않다”고 말했다. 반면 “중요한 것은 GDB 모델링은 어떤 관점으로 분석하기를 원하는지, 어떤 그래프 알고리즘을 사용하는지에 따라 유동적으로 결정돼야 한다는 점이다. 초창기 RDB가 그랬던 것처럼, GDB를 구축하면서 모델링을 수정하는 단계가 몇 번이나 필요할 것”이라고 덧붙였다.

엔코아 DSC 최미영 상무
엔코아 DSC 최미영 상무

이어서 최미영 상무는 국내 정유회사의 공정 분석 사례와 네트워크 마케팅 회사의 회원간 관계도 구축 사례, 의료 분야의 임상 데이터 분석 사례 등을 공유했다. 이러한 프로젝트에서 엔코아는 오픈소스 GDB ‘네오포제이(Neo4j)’와 상용 GDB ‘타이거그래프(TigerGraph)’를 활용했다. 현재 GDB 중 가장 유명한 네오포제이는 약 10년 전부터 국내 일부 연구소들에서 자체적으로 다운받아 사용하면서 다수의 사용자를 확보하고 있으며, GDB가 갖춰야 할 기본적인 요소들을 모두 갖추고 있다. 타이거그래프는 스케일업(Scale-up)보다는 스케일아웃(Scale-out)에 집중한 GDB로, 네오포제이보다 대량의 데이터를 저장하고 분석하고자 할 때 고가용성과 빠른 속도를 보장한다. 엔코아는 두 가지 GDB를 선택적으로 이용해 고객사의 GDB 활용 프로젝트를 지원했다.

최미영 상무는 “이미 많은 기업들이 KMS(Knowledge Management System)와 같은 형태로 지식그래프 기술을 접한 적이 있다. 하지만 대부분 기대한 만큼의 성과는 거두지 못했다. 이는 기술을 도입하는 과정에서 지식그래프를 어떻게 활용해야 할 대한 이해가 부족했기 때문”이라며, “엔코아는 지난 25년 간 다양한 분야에서 수많은 데이터를 다뤄온 데이터 산업계의 명품 기업이다. GDB에 관심을 가지고 있는 기업들이 엔코아와 함께 한다면 빠르고 쉽게 원하는 인사이트를 얻을 수 있을 것이다”라고 말했다.


엔터프라이즈 서비스를 위한 분산 스케일아웃 GDB

휴식시간 이후에는 타이거그래프 조현기 기술이사가 ‘엔터프라이즈 서비스를 위한 분산 스케일아웃 GDB’라는 주제로 발표를 이어갔다.

조현기 기술이사는 먼저 GDB가 A/B 테스트가 불가능한 문제들을 해결하는 데에 유용하게 활용될 수 있다고 덧붙였다. 가령 어떤 구간에 도로를 새로 놓거나 기존의 도로를 철거했을 때, 향후 어떤 상황이 일어날 지 A/B 테스트로 검증하는 것은 불가능하다. 반면 GDB 상에 기존 도로에 대한 정보와 그에 영향을 미치는 데이터들이 잘 연결돼 있다면, 손쉽게 도로를 추가하거나 철거해보면서 전체 도로 환경이 어떻게 변화하는지를 모니터링할 수 있다.

이어서 조현기 기술이사는 최근 많은 사람들이 GDB가 보여줄 수 있는 다양한 가치들에 주목하고 있지만, 막상 자사의 분석 환경에서 활용하는 단계에서는 어려움을 겪는다고 설명했다. GDB를 통해 다양한 데이터들을 연결해 그들의 상관관계와 변화를 관찰할 수 있다는 것은 무척 매력적이지만, 이를 실제로 활용해 원하는 결과를 얻어내는 것은 쉽지 않다는 설명이다.

조현기 기술이사는 “실무 현장에서 고객사를 만나보면 ‘그래프 쿼리를 돌리는 것도 알겠고, 그래프 스키마를 만들어서 저장하는 것도 알겠다. 그런데 이를 통해서 기존의 것과 다른 결과를 만들어내는 방법을 모르겠다’는 피드백을 받는다”며, “GDB는 데이터 간의 상관관계를 한눈에 파악할 수 있도록 그래프 네트워크를 보여준다. 그런데 그래프 네트워크가 너무 복잡하면 사용자 입장에서는 숨이 막힌다. 그러므로 어떤 데이터를 표현하고 어떤 데이터를 감출 것인지, 최종적으로 어떤 인사이트를 얻을 것인지 고민해야 한다”고 설명했다.

타이거그래프 조현기 기술이사

이어서 조현기 기술이사는 자사의 GDB 제품인 타이거그래프에 대해 소개했다. 가장 먼저 언급된 것은 접근성이 높다는 점이다. GDB라는 새로운 기술을 도입하기 위해서는 조직 내 데이터 전문가들이 GDB를 사용하는 방법을 새롭게 학습해야 한다. 이미 그렘린(Gremlin)이나 사이퍼(Cypher)와 같은 그래프 쿼리 언어들이 있지만, SQL에 익숙한 사용자들에게 구조가 다른 언어를 다시 배우는 것은 부담으로 작용한다. 반면 타이거그래프는 SQL과 유사한 문법을 가진 GSQL을 자체 개발해, 기존 SQL에 익숙한 사용자들이 손쉽게 GDB을 활용할 수 있도록 돕는다.

멀티그래프를 지원하는 것도 장점이다. GDB를 중심으로 다양한 데이터들을 연결하다보면 자칫 사내 데이터 접근성 관리에 대한 이슈가 발생할 수 있는데, 타이거그래프는 각 조직별로 접근 가능한 그래프를 나누어 설계할 수 있다. 이는 특정 그래프 덩어리들로 구분할 수도 있고, 보다 세부적으로 각각의 객체(vertex) 레벨에서 접근 권한을 나누는 것(vertex-Level access control)도 가능하다.

끝으로 조현기 기술이사는 “RDB는 서로 다른 데이터들을 함께 분석하기 위해 테이블 간의 조인(join)을 실행하지만, 테이블 간의 조인이 N차수로 증가할 때마다 부하는 N제곱으로 증가한다”면서, “꽃다발을 분리해서 각각의 꽃잎과 줄기와 이파리로 나누어버리면 조화로운 아름다움을 잃는 것처럼, 데이터를 테이블로 분류해 담게 되면 수많은 정보들을 잃게 된다. GDB는 부하를 최소화하면서도 서로 다른 복잡한 데이터들을 손쉽게 연결하고 그들의 관계성을 분석할 수 있다”고 강조했다.

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지