DBMS/AgensGraph

그래프 DB를 선택할 때 고려해야 할 10 가지 사항

(주)비트나인 2022. 5. 19. 09:00

 

 

 

 

글로벌 그래프 DB 시장에는 수많은 그래프 DB 공급 업체들이 존재하지만, 실제 활용을 위한 그래프 DB를 선택하는 것은 쉽지 않습니다. 요구사항에 따라 여러 DB 제품들이 있기에 충분히 검토해보고 결정해야 할 것입니다. 

 

본 글은 그래프 DB를 선택할 때 기본적으로 고려해야 할 10가지 사항들에 대해 소개하고자 합니다. 후보군을 놓고 아래 사항들에 대해 고려해 본다면, 가장 최선의 선택을 할 수 있을 것입니다.  





1. Native Graph Storage

네이티브 그래프 스토리지는 그래프 데이터베이스의 무결성과 성능을 상징하는 근본적인 요소입니다. 네이티브 그래프 스토리지는 그래프 노드를 연결하는 실제 관계가 기본 영구 데이터 요소로 저장되도록 합니다. 

 

네이티브 그래프 스토리지가 아닌 그래프 기능을 모방한 논 네이티브(non-native) 그래프 스토리지는 관계 정보 손실, 연결 해제 또는 운영 중단될 수 있어 데이터베이스의 중앙 탐색 시스템에 오류가 나타나고 데이터 커럽션(data corruption)을 일으킬 수 있습니다. 보통 이러한 DB들은 NoSQL 계열(예: 열 또는 문서) DB에 그래프 기능을 추가한 경우이며, 이러한 코드 계층은 쿼리 및 애플리케이션 성능을 저하시킵니다. 그래프 기능을 모방하기 위한 모든 노력에도 불구하고 네이티브가 아닌 그래프 DB는 필요한 결과를 생성하기 위해 복잡한 쿼리와 조인이 요구됩니다. 

 

네이티브 그래프 스토리지의 또 다른 장점은 index-free adjacency가 있습니다. 이는 ‘인덱스에서 자유로운 인접’을 의미하며, 인덱스 없이도 빠르게 연결된 노드를 탐색할 수 있어 빠른 검색이 가능하다는 것입니다. 대조적으로 네이티브가 아닌 DB의 그래프 접근 방식은 그래프 애플리케이션의 성능, 확장성 및 안정성을 저하시킬 수 있습니다. 

 

그래프 DB가 네이티브냐 아니냐의 여부는 일반적으로 자체적인 그래프 스토리지의 보유 여부와 처리 과정에 따라 분류됩니다. 비트나인의 아젠스그래프는 노드 및 엣지로 이루어진 그래프 데이터를 그래프 스토리지에 저장하고, 그래프 쿼리 언어인 Cypher로 처리(graph processing)하는 ‘네이티브 그래프 DB’입니다. 



2. Property Graphs

프로퍼티 그래프는 그래프 데이터베이스의 기능을 강화시킵니다. 프로퍼티 그래프의 데이터 요소와 관계(노드와의 연결)는 주요 데이터 요소로 취급됩니다. 프로퍼티 그래프는 데이터를 모델링할 때, 연결된 데이터에 의미를 부여해 줍니다. 누가 누구인지, 무엇을 좋아하는지, 어디에서 쇼핑하는지, 누가 어떤 재료를 공급하는지, 어떤 부품이 어떤 제품에 사용되는지 등을 모두 따로 연결해놓지 않고도 알 수 있습니다.

 

프로퍼티 그래프는 데이터를 원형 그대로 저장하기에 고효율 실현이 가능하기 때문에 대부분의 글로벌 그래프 DB에서 사용되는 표준 모델입니다.  

 

프로퍼티 그래프 데이터 모델 간단 예시

 

 

아젠스그래프는 새로운 데이터 모델을 쉽게 만들고 비즈니스 요구 사항에 따라 조정할 수 있는 유연한 네이티브 프로퍼티 그래프를 제공합니다. 타 그래프 DB 공급업체 중 Resource Description Framework(RDF) 형식을 채택한 곳도 있는데, 이 형식은 프로퍼티 그래프와 달리 스키마리스(schema-less)가 아니기 때문에 종종 스키마를 고쳐 써야 하고, 복잡한 쿼리 및 코딩, 그리고 사소한 변경에도 긴 개발 주기가 필요합니다. 노드의 depth가 깊어질수록 탐색 성능이 저하되기 때문에 비즈니스 및 빅데이터 분석 용도로서는 적합하지 않을 수 있습니다. 따라서 불필요한 단점을 피하고 싶다면 네이티브 프로퍼티 그래프를 선택하는 것을 권장합니다. 



3. Graph Query Languages

세계에 여러 나라가 있듯이, DBMS 시장에는 여러 그래프 DB가 있고, 취급하는 쿼리 언어도 다양합니다. 그래프 DB 중에 Neo4j가 개발한 Cypher가 표준어이고 그 외 Apache Tinkerpop이 개발한 Gremlin이 있습니다. 이 중에서 ISO 커뮤니티에서는 Cypher 기반 표준 언어를 SQL의 형제 언어로 인식하기 위한 노력이 이루어지고 있습니다. 

 

SQL 및 Cypher와 같은 선언적 언어는 Java와 같은 명령형 언어와 달리 배우고, 쓰고, 읽고, 디버깅하기 쉽습니다. 또한 개발자는 데이터베이스로부터 검색 대상을 추출할 수 있기에 사용하기 더 편리합니다. 

 

일부 쿼리 언어는 실행 전에 바이너리 패키지로 컴파일해야 합니다. 컴파일은 성능을 최적화시킬 수 있지만 쿼리 작성, 빌드 및 실행을 더 복잡하게 만들고 쿼리를 즉시 디버그하고 변경할 수 있는 기능을 제외시킬 수 있습니다. 

 

비트나인의 아젠스그래프는 PostgreSQL 기반의 멀티모델 데이터베이스이기 때문에 SQL과 Cypher 쿼리 언어를 모두 사용할 수 있습니다. 자체 개발한 그래프 쿼리 언어만 받아들이는 타 그래프 DB 대비되는 장점이죠. 또한, SQL에서 Cypher를 subquery로, 또는 Cypher에서 SQL을 subquery로 사용할 수 있는 하이브리드 쿼리도 구현 가능하다는 것이 아젠스그래프의 독보적인 장점입니다. 

 

세계유일 하이브리드 쿼리: SQL과 Cypher 동시 처리가능

 

 

4. Data Migration

데이터 마이그레이션이란 서로 다른 데이터 성질에 대해서 전처리를 거치는 과정입니다. 기존 관계형 데이터 관리 시스템을 운영하던 데이터를 그래프 데이터로 분석하려면 데이터를 그래프 DB로 옮겨야 할 것입니다.  

 

데이터 마이그레이션에서 돋보이는 멀티모델의 장점

 

 

기본적인 그래프 DB는 관계형 DB와 성질이 달라 DB 간 데이터 연동이 불가하여 그래프화 시킬 데이터를 따로 추출하여 외부 프로그램으로 컨버팅 작업을 거쳐야 합니다. 하지만 아젠스그래프는 기존 DB를 그대로 활용하여 관계형 DB에서 원하는 데이터를 바로 그래프 시킬 수 있습니다. 

 

5. Graph Visualization

그래프 DB의 핵심 장점 중 하나는 시각화 도구를 통해 그래프 데이터를 눈으로 직접 볼 수 있다는 점입니다. 시각화 도구를 통해 노드 및 관계 필터링이 가능하고, 유사한 패턴만 별도로 보거나, 속성 편집, 경로 강조 표시, 노드 사용자 지정과 같은 다양한 방법으로 그래프 데이터를 빠르게 탐색할 수 있습니다. 

 

사용자는 그래프 시각화 도구를 통해 그래프 패턴의 숨겨진 의미를 파악할 줄 알아야 하고, 그래프 데이터 모델을 학습하여 분석 결과를 도출할 수 있어야 합니다. 

 

비트나인의 아젠스 브라우저(AgensBrowser)는 아젠스그래프 라이선스를 보유한 사용자에게 제공되는 그래프 시각화 및 분석 도구입니다. 아젠스브라우저는 그래프의 시각화를 제공하며 Cypher 및 SQL을 통해 그래프 데이터를 질의하고 수정할 수 있습니다. 이는 시각화 도구일 뿐만 아니라 그래프 모델링, 데이터 저장 관리와 그래프 분석을 제공하는 수단으로도 사용됩니다. 

 

비트나인의 또 다른 시각화 도구는 라이선스 소유권과 관계없이 그래프의 사용성을 확장하기 위해 개발된 AG 뷰어(Viewer)입니다. AG 뷰어는 그래프 데이터를 가져와 원하는 결과를 화면에 표시하기에 오로지 시각화 역할만 수행합니다. 

 

AG Cloud Express에서 제공되는 AG뷰어



6. Graph Data Science

그래프 데이터 사이언스는 그래프 기술의 급격한 상승에 주된 역할을 맡고 있습니다. 모든 그래프 데이터의 기초가 되는 실제 관계 기반의 그래프 데이터 사이언스는 고도화된 그래프 분석 및 알고리즘과 AI/ML을 응용하여 기존 분석 및 통계 기반의 시스템이 놓친 비즈니스의 핵심 가치를 발견해냅니다. 

 

그래프 군집 알고리즘: 연관성이 높은 노드들을 같은 집단(community)로 묶음

 

위 그림은 수많은 알고리즘 중 하나인 그래프 군집(Graph Clustering) 알고리즘을 보여주고 있습니다. 사용자는 비즈니스 통찰력을 얻기 위해 그래프 알고리즘으로 그래프 데이터의 패턴, 경로, 군집 및 유사성을 쉽게 식별하고, AI/ML 애플리케이션과 응용하여 분석의 질을 높일 수 있습니다. 올바른 그래프 DB 공급 업체들은 그래프 알고리즘의 전체 스펙트럼을 이해하고 제공해야 하며, 분석 활용에 대한 설명 또는 교육을 제공할 수 있는 전문 인력들을 갖춰야 합니다.

 

비트나인은 전문적인 지식을 갖춘 데이터 분석가들로 구성된 그래프 사이언스 R&D 센터를 보유하고 있습니다. 필요시, 데이터 분석에 대한 궁금증을 바로 해소할 수 있도록 전문 서비스를 지원하고 있습니다.  

 

기업들이 그래프 데이터 사이언스를 통해 수익, 제품 개발 및 고객 만족도를 높이고 있는지, 더 빠르고 더 나은 예측 및 결정에 도달하기 위해 그래프 데이터베이스 기술에 투자하고 있는지도 살펴볼 수 있는 대목입니다. 



7. HTAP (OLTP + OLAP)

기존 데이터베이스는 일반적으로 두 가지의 작업 처리 방식으로 나뉩니다. 

 

OLTP(Online Transaction Processing)은 복수의 사용자 PC에서 발생하는 트랜잭션을 DB 서버가 처리하고, 그 결과를 요청한 사용자 PC에 결과값을 되돌려주는 과정입니다. 

 

OLAP(Online Analytical Processing)은 데이터웨어하우스, 즉 DB에 저장된 데이터를 분석하고, 데이터 분석을 통해 사용자에게 유의미한 정보를 제공해주는 처리 방법을 의미합니다. 

 

그래프 데이터베이스는 트랜잭션 및 분석 기능을 통합한 HTAP(Hybrid Transaction-Analytical Platforms)로 자주 사용됩니다. 이를 위해 그래프 플랫폼은 광범위한 활용 사례, 데이터 인터페이스, 배포 환경, 프로그래밍 언어 등을 지원해야 합니다. 

 

그래프 플랫폼을 선택할 때 가장 중요한 것은 통합할 기술 및 응용 프로그램의 폭을 발견하는 것입니다. 더 중요한 것은 비즈니스를 운영하는 데 사용하는 애플리케이션과 얼마나 긴밀하게 통합할 수 있는지 알아야 합니다. 

 

아젠스그래프는 트랜잭션 및 분석 애플리케이션이 통합된 HTAP이기에 기업의 비즈니스에서 매우 전략적으로 활용할 수 있습니다. 현재 업무의 효율적인 처리(OLTP)와 의사결정에 도움 되는 데이터 분석(OLAP)에 관심이 있다면 그 둘을 통합한 HTAP 방식이 해답이 될 것입니다.



8. ACID 

그래프 데이터베이스의 특징은 연결된 데이터이며 실패 없는 트랜잭션을 보장해야 합니다. 데이터베이스 트랜잭션이 안전하게 수행되는 성질을 ACID라고 하는데, ACID는 원자성(Atomicity), 일관성(Consistency), 독립성(Isolation), 지속성(Durability)을 가리키는 약어입니다. 

 

트랜잭션 일부만 완료되고 다른 부분이 실패할 경우, 그래프 커럽션이 발생하여 그래프 엔티티가 존재하지 않거나, 관계가 불완전해지는 오류가 발생할 수 있습니다. 이 상태에서 그래프의 업데이트는 데이터 커럽션을 쉽게 확산시켜 데이터베이스를 사용할 수 없을 정도로 만들 수도 있습니다.

 

키-값 저장소를 기반으로 구축한 논 네이티브 그래프 DB는 높은 처리량을 수행하기 위해 단일 키 수준에서만 ACID를 지원하기 때문에 트랜잭션 오류가 자주 발생할 수 있습니다.

 

ACID를 지원하지 않는 데이터베이스는 불완전한 트랜잭션으로 인해 그래프에서 관계가 생략되거나, 관계가 존재하지 않게 될 수도 있습니다. 거의 그래프 DB의 목적을 잃는다고 볼 수도 있죠. 그래프가 손상되면서도 결과는 정상적으로 보일 수 있는데요, 만약 무의식적으로 잘못된 데이터를 기반으로 비즈니스 계획과 결정을 내리게 되면 치명적인 손실을 입을 수 있습니다. 

 

물론 아젠스그래프는 100% ACID를 준수하여 그래프 커럽션을 방지하고 그래프 데이터의 무결성을 보존하여 신뢰할 수 있는 데이터에 따른 비즈니스 결정을 보장합니다. 



9. Professional Service 

아홉 번째는 그래프 DB라는 제품보다 이를 제공하는 업체에 대해 고려해야 할 사항입니다. 외산의 DB 제품을 도입할 경우에는, 교육 서비스, 커스터마이제이션 등의 유지 보수를 받기 어려울 수도 있습니다. 해당 국가의 개발자, 엔지니어들이 파견을 오기도 쉽지 않고, 지원에 대한 소통이 어려울 수도 있습니다. 따라서 국내의 로컬 업체를 찾는 것이 비교우위를 가질 수 있습니다. 

 

비트나인은 국내 유일의 그래프 DB 연구 및 개발 기업으로, 필요시 컨설팅 및 분석 서비스를 지원합니다. 그래프 DB에 대한 교육이 필요할 경우, 엔지니어들이 쌓은 노하우와 경험들을 전수하기도 합니다. 그 외 DB 구축, 유지보수, 설치 등에 대한 그래프 관련 서비스도 지원합니다.



10. Data Continuity

기존의 데이터 관리 시스템(주로 관계형 DB)을 유지하면서 동시에 그래프 DB의 기능을 사용할 수 있다면, 기업으로서는 큰 이득이 될 것입니다. 로그성 데이터는 로그성 데이터대로, 분석이 필요한 데이터는 그래프 DB로 효율적인 데이터 운영이 가능하다면 굳이 100% 그래프 DB로 전환할 필요가 없게 되겠죠.

 

글로벌 시장에도 몇몇 멀티모델 그래프 데이터베이스 제품들이 있습니다. 그러나 대부분 키-값(Key-value stores), 문서(Document stores), 칼럼(Column stores) 등 다른 NoSQL과의 멀티모델 방식으로 개발된 것들입니다. 그래서 데이터 수집은 쉽게 가능하더라도 전처리 과정이 복잡하며, 반정형/비정형 데이터만 저장할 수 있습니다. 결국 분석 단계에서 정형 데이터만 저장하는 관계형 DB를 추가로 활용해야 하는데, 이를 연동하려면 외부 애플리케이션 및 도구를 활용해야 하는 불필요한 과정들이 발생합니다.  

 

앞서 언급했듯 아젠스그래프의 멀티모델은 관계형 DB + 그래프 DB입니다. 분리된 저장 방식으로 인해 RDB와 GDB 중 환경에 맞는 스토리지에 데이터를 저장하여 분석 효율을 증가시킬 수 있습니다. 현재 싱글모델 그래프 DB나 NoSQL 기반 그래프 DB도 대중적으로 사용되고 있지만, 분석의 80%가 통계분석이라는 것을 감안할 때 RDB 영역을 활용할 수 있는 그래프 DB를 활용한다는 것은 데이터 분석 플랫폼에 있어 큰 강점이 될 것입니다.

 

 

가장 적합한 그래프 DB를 선택하세요!

본 글에 소개한 10가지 사항들을 잘 이해하셨나요? 그래프 DB를 선택할 때 고려해야 할 기술적인 사항들은 더 많겠지만, 핵심적인 장점들을 전해 비즈니스 애플리케이션에 활용하는 데 잘 참고되었으면 하는 바램입니다. 

 

글로벌 유명 연구 기관들도 그래프 기술에 대해 기술적 미래 가치를 인정하고 있습니다. 가트너는 2019년부터 3년 연속으로 데이터 분석 트렌드의 핵심 기술 중 그래프 기술을 언급하고 있을 정도입니다. 많은 기술 분석가들이 향후 10년 동안 그래프 활용과 그래프 DBMS 적용이 매년 성장할 것을 예상했습니다. 그래프 기술이 입증된 것은 잘 알려진 사실이지만 많고 많은 그래프 DB 중 기업에 가장 적합한 솔루션을 찾는 것이 의미 있는 결정일 테죠. 

 

비트나인의 아젠스그래프를 선택하면 다음과 같은 혜택을 받을 수 있습니다.

 

- 글로벌 1위 제품 대비 10배 이상의 빠른 속도의 쿼리 성능

 

- 유연성: 자주 변화하는 비즈니스 모델 및 데이터셋에 대한 신속한 대응

 

- 확장성: 복잡한 엔터프라이즈 환경에서의 애플리케이션 요구 충족

 

- ANSI-SQL과 openCypher 동시 지원

 

- 숙련된 엔지니어와 분석가로 구성된 국내 최고 그래프 전문가의 지원 

 

비트나인의 그래프 기술은 네이티브 그래프 구조를 기반으로 상당한 ROI(Return of Investment)를 제공합니다. 국내 많은 기업들의 실제 활용 사례들로 입증된 그래프 DB는 엔터프라이즈 데이터를 활용하여 안전하고 효율적인 관리, 분석을 보장하고, 타의 추종을 불허하는 비즈니스 및 기술적인 이점을 제공합니다. 매일 새롭게 생성되는 데이터나 기존에 활용하던 데이터에 대한 의미를 파악하고 싶다면, 그래프 DB를 고려해 보시기를 바랍니다.

 


 

트렌디한 그래프 기술과 IT 소식을 뉴스레터로 받아보세요!

https://bitnine.net/ko/subscribe/

 

제품 및 기술문의

070-4800-3517  |   agens@bitnine.net