AI, 빅데이터 시대의 데이터베이스 활용: 그래프 데이터

AI, 빅데이터 시대의 데이터베이스 활용: 그래프 데이터

우리는 일상 생활에서 무수히 많은 데이터를 생산하고 있습니다, 길을 걸으며 누군가와 메시지를 주고받거나 통화할 때, 쇼핑몰에서 물건을 살 때나, 지하철을 탈 때, 그리고 휴대폰을 통해 드라마를 볼 때도 연관된 많은 데이터가 만들어지고 저장되고 분석됩니다. 시장 조사 기관인 IDC(International Data Corporation)에 따르면 매년 전세계 데이터의 총량은 2018년에 33 ZB (zettabytes, 1 zettabyte = 109 terabytes)이고, 2025년에는 175 ZB에 이를 것이라고 합니다.

IDC Datasphere Growth 그림1. IDC Datasphere Growth
출처: https://www.forbes.com/sites/tomcoughlin/2018/11/27/175-zettabytes-by-2025/#148959665459

그렇다면 이렇게 엄청난 규모로 데이터가 증가하는 이유는 무엇일까요? 여러 관점에서 원인을 찾을 수 있겠지만, 컴퓨팅 및 저장장치의 가격 하락, 5G와 같은 광대역 통신망의 확산, 모바일기기의 일상화, 다양한 형태의 소셜 미디어 경험과 서비스의 증가 등이 그 이유가 될 수 있습니다. 그런데 이렇게 폭증하고 있는 데이터를 자세히 들여다보면, 과거에는 크게 눈에 띄지 않았던 데이터의 형태들이 특징적으로 나타나는데, 그 중 하나가 바로 그래프 데이터입니다.

그래프 데이터

수학에서 그래프는‘관련된(related) 객체(object)들의 집합’이며, 각각의 객체들은 속성을 가지고 있고, 관계는 레이블(label) 또는 가중치(weight) 정보를 갖습니다. 대표적인 그래프 표현 방법에서 객체는 노드(node) 또는 꼭지점(vertex)으로, 노드 쌍들의 관계는 노드 간의 간선(edge)으로 표현됩니다. 그림 2는 일반적인 그래프 데이터 표현이고, 그림 3은 그래프를 이용하여 소셜 네트워크를 표현한 것입니다.

그래프 표현 예 그림 2. 그래프 표현 예
출처: https://manducku.tistory.com/21

그림 3에서 보는 바와 같이 그래프 데이터는 대상 간의 상관관계를 직관적으로 파악할 수 있다는 장점이 있습니다.

소셜 네트워크 그래프 그림 3. 소셜 네트워크 그래프
출처: https://aws.amazon.com/ko/nosql/graph/

그렇다면, 그래프 데이터 처리와 기존의 데이터 처리의 차이점은 무엇일까요? 아래 그림 4는 동일한 데이터를 관계형 모델과 그래프 모델로 표현한 것입니다. 두 모델을 표현력과 질의 처리(query processing) 성능의 두 가지 측면에서 살펴보겠습니다. 먼저 표현력의 측면에서 살펴보면, 오른쪽의 그래프 데이터 표현에서는‘구매하다’라는 관계가 구매자(Bill)와 상품(E. Razor) 객체 사이에서 직관적으로 표현되어 있지만, 왼쪽의 관계형 데이터 표현에서는 구매자와 상품, 그리고 구매의 관계가 모두 테이블(relation)과 외부키 참조(foreign key reference)로 구성되어 있어 직관적이지 못합니다. 다음으로 질의 처리 성능 측면에서 살펴보겠습니다. 관계형 모델에서의 질의 처리는 성능 저하의 주요 원인인 테이블 간의 조인(join) 연산들이 포함되는데, 따라서 교환, 환불, 수리 요청, 상품추천 등 구매자와 상품의 관계가 증가하거나 복잡해지면 처리 시간이 급속히 증가하게 됩니다. 그래프 모델에서의 질의 처리는 그래프 순회(traverse) 방법의 다양한 변형을 활용하고 있지만 아직까지는 성능 개선이 많이 필요한 상태이며, 최근에는 빅데이터 규모의 그래프 질의 처리에 대한 연구가 활발하게 이루어지고 있습니다.

관계형 데이터 표현과 그래프 데이터 표현 비교 그림 4. 관계형 데이터 표현과 그래프 데이터 표현 비교
출처: https://www.slideshare.net/bitnineglobal/graph-database-meetup-in-korea-4

AI/빅데이터 시대와 그래프 데이터

소셜 데이터의 폭발적인 증가와 그래프 데이터의 표현력을 활용하고자 하는 다양한 응용들이 증가하면서 그래프 데이터를 활용하는 다양한 사례가 만들어지고 있습니다. 그림 5는 데이터의 양과 데이터 처리의 복잡성에 따라 그래프 데이터의 다양한 사례를 보여줍니다.

그래프 데이터 활용 사례와 추세 그림 5. 그래프 데이터 활용 사례와 추세
출처: https://neo4j.com/blog/evolution-future-graph-technology-intelligent-systems/

[사례 1: 추천 엔진]

추천 엔진 출처: https://aws.amazon.com/neptune/

사용자의 구매 이력, 관심 분야, 가입 시에 획득한 개인 프로파일 등을 그래프 형태로 모델링한 후 유사 구매 이력을 가진 다른 사용자의 구매 패턴을 분석하면(협업 필터링, collaborative filtering) 효과적으로 제품을 추천할 수 있습니다.

[사례 2: 네트위크/IT 운영]

네트위크/IT 운영 출처: https://aws.amazon.com/neptune/

복잡하게 구성된 네트워크, IT 장비들과 소프트웨어들을 그래프 형태로 모델링하면 이상 현상을 실시간으로 모니터링하고 제어할 수 있게 되어 장애를 예방하거나 빠르게 조치할 수 있고, 다양한 형태의 이상 사용을 감지할 수 있어 시스템 운영의 안정성을 높일 수 있습니다.

[사례 3: 지식 그래프]

지식 그래프 출처:https://blog.ncsoft.com

다양한 분야에서 지식 그래프를 활용하고 있지만, 최근에는 자연어 이해 분야에서도 지식 그래프를 활발히 사용하고 있습니다. 지식 그래프는 자연어의 함축성, 모호성에 의해 발생하는 성능 저하를 극복하기 위해 활용되고 있습니다.

[사례 4: 생명과학]

 생명과학 출처: https://aws.amazon.com/neptune/

질병의 원인, 약제의 효능 등을 분석하는 일에도 그래프 데이터가 활용됩니다. 특정 질병의 원인이 되는 단백질, 유전자는 무엇이고 그들의 관계는 어떠한지, 또는 특정 악제가 인체 내의 어떤 단백질에 반응하여 병변에 영향을 미치는지 분석하는데 그래프 데이터가 활발히 활용되고 있습니다.

마치며

이번 글에서는 그래프 데이터가 무엇인지, AI/빅데이터 시대에 그래프 데이터가 어떤 역할을 하고 있고, 또 할 수 있는지를 간단히 살펴봤습니다. 다음 글에서는 그래프 데이터를 잘 관리하고 활용하기 위한 그래프 데이터베이스와 그래프 데이터베이스의 최신 응용 중 한 가지를 상세히 알아보겠습니다.



▶   해당 콘텐츠는 저작권법에 의하여 보호받는 저작물로 기고자에 저작권이 있습니다.
▶   해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.



공유하기
김민수, AI Advanced Research Lab Leader
김민수, AI Advanced Research Lab Leader 인공지능 전문가

AI Advanced Research Lab Leader, Samsung SDS
Samsung SDS Certified Professional (SCP)

KAIST에서 데이터베이스와 데이터마이닝을 전공하여 박사학위를 취득했습니다. 이후 BI플랫폼 개발과 다양한 데이터 분석을 진행했으며, 현재는 연구소 선행연구Lab에서 새로운 데이터 분석 기술을 연구, 개발하고 있습니다.