2024년 11월 5일
사람, 장소, 이벤트 간의 관계를 파악하는 데 도움을 주는 그래프 데이터베이스는 매핑, 제품 추천, 사기 탐지 등의 다양한 사용 사례에 활용할 수 있는 유용한 리소스입니다. 최신 AI 시스템은 그래프를 활용해 결과물에 더 풍부한 맥락과 뉘앙스를 추가하고 있습니다. 본 문서를 통해 그래프 데이터베이스의 작동 방식, 그 고유한 기능을 가장 효과적으로 활용하는 방법을 확인해 보세요.
그래프 데이터베이스는 상호 연결된 복잡한 데이터를 저장하고 쿼리하도록 설계된 데이터베이스입니다. 데이터를 노드(엔티티)와 엣지(관계)로 저장하고 표현하는 방식으로 작동합니다. 사용자는 이러한 그래프 표현을 활용해 그래프 분석을 수행함으로써 데이터 엔티티 간의 복잡한 관계를 찾고 탐색할 수 있습니다.
현재 시장에는 다양한 그래프 데이터베이스가 출시되어 있습니다. Neo4j와 같은 그래프 전용 데이터베이스도 있고, Oracle AI Database와 같이 그래프를 포함한 여러 데이터 모델을 지원하는 멀티모달 엔터프라이즈 데이터베이스도 있습니다. 테이블에 데이터를 저장하고 관계를 설정하기 위해 조인을 사용하는 기존 관계형 데이터베이스와 달리, 그래프 데이터베이스는 관계를 데이터베이스의 기본 요소로 저장하므로 Cypher, Gremlin, PGQL, SQL 등의 언어를 사용하여 직접 쿼리하고 탐색할 수 있습니다.
그래프 데이터베이스는 데이터 엔티티 간의 복잡한 동적 관계를 찾고자 하는 경우에 적합한 기술입니다. 따라서 그래프 데이터베이스는 최적 경로를 위해 여러 요소를 고려해야 하는 라우팅 및 물류 시스템, 추천을 위해 사용자, 그룹, 관심사 간 촘촘한 연결망을 파악해야 하는 소셜 미디어 네트워크 등의 사용 사례에 널리 사용됩니다. 또한 오늘날의 AI 시스템은 Graph RAG 아키텍처로 그래프 데이터베이스를 활용해 더 시의적절하고 관련성이 높으며 미묘한 차이를 반영한 결과를 제공하고 있습니다.
핵심 요점
그래프 데이터베이스는 그래프 모델을 사용해 데이터 내의 관계를 표현합니다. 사용자는 데이터 세트를 순회하며 데이터 포인트 간 연결을 찾는 '트래버설 쿼리(traversal queries)'라는 작업을 수행합니다. 이후 데이터베이스는 그래프 알고리즘을 적용해 패턴, 경로, 커뮤니티, 인플루언서, 단일 장애 지점 등의 다양한 관계를 식별합니다. 그래프의 강점은 매우 크고 다양한 데이터 세트 내에서 서로 다른 데이터 소스들을 연결해 새로운 인사이트를 찾을 수 있다는 점입니다.
그래프에 있는 데이터 간의 관계 및 동작을 분석하기 위해 특별히 설계된 그래프 알고리즘을 사용하면 다른 방법으로는 파악하기 어려운 연결성을 이해할 수 있습니다. 예를 들어 소셜 네트워크 또는 비즈니스 프로세스에서 다른 대상과 가장 많이 연결된 개인 또는 항목을 식별하고, 커뮤니티, 이상값, 공통 패턴, 개인 또는 관련된 거래를 잇는 경로 등을 찾아낼 수 있습니다.
알고리즘은 이러한 인사이트를 얻기 위해 정점(데이터 세트의 엔티티들을 나타내는 데이터 포인트) 사이의 경로 및 거리, 중요도, 클러스터링을 탐색합니다. 유의성을 확인하기 위해 들어오는 엣지, 인접한 정점들의 중요성 및 다른 지표들을 자주 확인합니다. 그래프 데이터베이스는 이러한 관계들을 노드와 함께 데이터로 저장하여 연결된 데이터를 빠르게 탐색하고 조회할 수 있도록 만듭니다. 또한 그래프 데이터베이스의 스키마는 유연하므로 관계 변화에 따라 데이터 모델을 발전시킬 수 있습니다.
그래프 데이터베이스는 계정, 트랜잭션 등의 엔티티를 나타내는 노드와 그 노드들을 연결하는 관계를 나타내는 엣지로 구성된 네트워크 형식으로 정보를 저장합니다. 데이터베이스에 쿼리가 입력되면 미리 정의된 엣지를 따라 노드들을 순회하며 데이터 내의 패턴과 경로를 찾습니다.
아래의 이미지는 그래프 데이터베이스의 작동 방식을 보여주는 간단한 예시입니다. 함께 출연한 영화들의 연결 고리를 통해 Kevin Bacon과 다른 배우들을 이어보는 인기있는 게임인 'Six Degrees of Kevin Bacon'을 시각적으로 표현한 것입니다. 관계성에 초점을 맞춘 이 게임은 그래프 분석을 설명하기에 적합한 사례입니다.
두 종류의 노드, 즉 Bacon이 촬영한 모든 영화와 그 영화에 출연한 모든 배우로 구성된 데이터 세트를 떠올려 보세요. 다음으로 그래프 기술을 사용해 Bacon을 인형극 쇼의 아이콘인 Miss Piggy에 연결하라는 쿼리를 실행합니다. 다음과 같은 결과가 나옵니다.
이 예시에서 사용 가능한 노드(정점)은 배우 및 영화이고, 관계(엣지)는 '출연함(acted in)'이라는 상태입니다. 여기에서 쿼리는 다음 결과를 반환합니다.
이 예시에서 그래프 데이터베이스는 다음과 같은 다양한 관계를 쿼리할 수 있습니다.
물론 이는 대부분의 그래프 분석 사용 사례보다 재미에 더 치중한 예시입니다. 그러나 이와 동일한 접근 방식을 수많은 기록이 자연스럽게 연결된 거의 모든 데이터에 적용할 수 있습니다. 그래프 분석은 소셜 및 커뮤니케이션 네트워크, 웹사이트 트래픽 및 이용 현황, 금융 거래 및 계정 분석 등에 널리 사용됩니다.
그래프를 작성하기 위해서는 먼저 데이터 모델을 정의해 노드 및 엣지를 식별한 뒤, SQL이나 Oracle의 PGQL 등의 쿼리 언어, 또는 Cypher, Gremlin 등의 오픈 소스 도구를 사용해 그래프 데이터베이스에 데이터를 삽입합니다.
데이터베이스는 너비 우선 탐색(BFS), 깊이 우선 탐색(DFS) 등 그래프 데이터를 순회하며 패턴과 관계를 식별하는 알고리즘을 지원해 그래프 분석을 가능케 합니다. 그에 더해 그래프 데이터베이스에는 중심성 측정, 커뮤니티 탐지 등의 그래프 분석 함수가 내장되어 있는 경우가 많습니다. 일부 데이터베이스는 사용자가 시각화를 수정하고 복잡한 그래프 데이터의 관계를 탐색하기 위해 정점 및 엣지의 드롭, 그룹화, 확장, 포커싱 같은 작업을 빠르게 수행할 수 있는 기능을 제공하기도 합니다.
그래프 데이터베이스는 데이터 포인트 간의 관계를 강조해 주므로 복잡한 관계를 효율적으로 분석하고 훨씬 적은 노력으로 더 깊이 있는 인사이트를 도출할 수 있습니다. 구체적인 이점은 다음과 같습니다.
사람, 장소, 사건, 자금 등 다양한 데이터 포인트 간의 관계와 연결을 신속히 이해하는 것은 폭넓은 비즈니스 및 정부 활동을 위한 매우 중요한 능력입니다. 몇 가지 예시를 통해 그 이유를 살펴보겠습니다.
그래프 데이터베이스는 데이터 포인트 간 관계의 중요성을 중시하는 다양한 산업에서 활용됩니다. 대표적인 사용 사례는 다음과 같습니다.
소셜 미디어 분석: 다수의 노드(사용자 계정)와 다차원 연결(여러 방향의 참여)을 분석해야 하는 소셜 네트워크는 그래프 데이터베이스의 이상적인 사용 사례입니다. 소셜 네트워크의 그래프 분석을 통해 다음과 같은 요소를 파악할 수 있습니다. 사용자들의 활동 수준은 어느 정도인가요?(노드 수) 가장 영향력이 있는 사용자는 누구인가요?(연결의 밀도) 양방향 참여도가 가장 높은 사용자는 누구인가요?(연결의 방향 및 밀도) 하지만 봇이 정보를 비정상적으로 왜곡했다면 이러한 정보는 무용지물이 됩니다.
소셜 미디어 네트워크는 전체 사용자 기반 경험에 영향을 주는 봇 계정을 제거하기 위해 최선을 다합니다. 다행히 그래프 분석은 봇을 식별하고 필터링하는 훌륭한 수단을 제공할 수 있습니다. 실제 고객 사례에서 Oracle 팀은 Oracle Marketing Cloud를 사용해 소셜 미디어 광고 및 반응을 평가하고, 개중에서도 특히 봇들을 식별했습니다. 봇의 가장 흔한 행동은 타깃 계정을 재게시해 해당 계정의 인기를 인위적으로 부풀리는 것이었습니다. 간단한 패턴 분석만으로도 재게시 횟수와 인접 노드와의 연결 밀도가 드러났습니다. 진짜 인기 있는 계정의 이웃 계정들과의 관계는 봇 중심 계정과는 달랐습니다.
진짜 인기 있는 계정의 모습은 아래 이미지와 같습니다.
그리고 아래의 이미지는 봇 기반 계정의 동작입니다.
그래프 분석으로 자연스러운 패턴과 봇 패턴을 구분하면, 해당하는 계정들을 필터링하는 것은 간단합니다. 또는 봇과 재게시된 계정 간의 관계를 더 심층적으로 탐구할 수도 있습니다. 이러한 봇 탐지 프로세스의 정확도를 확인하기 위해 한 달 후에 플래그가 지정된 계정을 확인했으며, 그 결과는 다음과 같습니다.
처분된 계정의 비율이 91.2%에 달했다는 사실은 패턴 식별의 정확성을 입증하는 증거입니다. 표 형식의 표준 데이터베이스에서는 복잡한 패턴 식별에 오랜 시간이 걸리지만, 그래프 분석을 활용하면 훨씬 빠르게 수행할 수 있습니다.
신용카드 사기 추적: 그래프 데이터베이스는 금융 업계의 사기 탐지를 지원하는 강력한 도구로 자리잡았습니다. 카드에 칩을 내장하는 것과 같은 사기 방지 기술이 발전하더라도 사기는 여전히 여러 방식으로 발생할 수 있습니다. 예를 들어, 스키밍 장치로 마그네틱 스트라이프의 정보를 훔칠 수 있습니다. 이는 칩 리더기가 아직 설치되지 않은 곳에서 흔히 사용되는 수법입니다. 이렇게 저장된 세부 정보를 위조 카드에 심으면 물건을 구매하거나 현금을 인출할 수 있습니다.
패턴 식별은 사기 탐지의 가장 첫 번째 방어선인 경우가 많습니다. 위치, 빈도, 상점 유형 및 기타 사용자 프로필에 부합하는 항목에 기반해 사용자의 예상 구매 패턴을 수립합니다. 만약 대부분의 시간을 San Francisco Bay Area에 머무는 사용자가 갑자기 Florida에서 심야에 결제하는 경우와 같은 이상 징후가 발생하면 시스템은 이를 잠재적 사기 활동으로 표시합니다. 노드 간 패턴을 파악하는 데 뛰어난 그래프 분석을 활용하면 이같은 사기 탐지 활동에 필요한 컴퓨팅 파워를 크게 단순화할 수 있습니다. 본 예시에서 노드 카테고리는 계정(카드 소지자), 구매 위치, 구매 카테고리, 트랜잭션, 터미널로 정의됩니다. 사용자의 자연스러운 행동 패턴을 식별하는 것은 간단합니다. 예를 들어 어느 달에는 다음과 같은 행동을 보일 수 있습니다.
사기 탐지는 일반적으로 머신러닝으로 처리되지만 그래프 분석을 함께 활용하면 더 정확하고 효율적인 프로세스를 구축할 수 있습니다. 관계에 집중하면 사기 기록을 판별하고 플래그를 설정하기에 효과적인 예측 지표를 얻을 수 있습니다.
자금세탁 추적: 그래프 데이터베이스는 더 정교한 사기에 대응하는 데에도 도움이 됩니다. 개념적으로 자금세탁은 단순합니다. 불법으로 취득한 현금을 합법 자금과 섞이도록 순환시키고, 그 이후 실물 자산으로 전환하는 것입니다. 좀 더 구체적으로 들여다보겠습니다. 순환 송금은 범죄자가 허위 신원으로 개설된 '정상' 계정들 사이에서 유효한 이체를 길고 복잡하게 반복해 불법 자금임을 숨기면서 자기 자신에게 대량의 불법 자금을 보내는 방식입니다. 이러한 허위 계정들은 대개 유사한 정보 특성을 공유합니다. 따라서 그래프 분석은 불법 거래의 사기성을 드러내기에 매우 적합합니다. 금융사는 사기 탐지를 단순화하기 위해 계정 간 트랜잭션에 대한 그래프를 생성할 수 있습니다. 그래프가 생성되면 간단한 쿼리만으로 이메일, 주소, 전화번호 등의 정보가 유사하고 서로 송금한 이력이 있는 고객 계정을 모두 찾아낼 수 있습니다.
지난 10년 간의 컴퓨팅 파워 및 데이터 볼륨 요구 사항의 증가와 더불어 그래프 데이터베이스 및 그래프 기술도 함께 발전해 왔습니다. 그래프 기술이 복잡한 데이터 관계를 분석하기 위한 중요한 도구로 자리잡을 것이라는 사실은 갈수록 명확해지고 있습니다. 기업 및 기관이 데이터와 분석 역량을 계속해서 확장해 나가고 있는 오늘날, 복잡한 방식으로 인사이트를 도출할 수 있는 그래프 데이터베이스는 성공적인 데이터 활용을 위한 필수 요소가 되었고 그 중요성은 앞으로 더욱 증가할 것입니다.
그래프 데이터베이스에는 속성 그래프와 RDF 그래프(지식 그래프)라는 두 가지 인기 모델이 있습니다. 속성 그래프는 분석과 쿼리에, RDF 그래프는 데이터 통합에 집중하는 모델임을 알아 두면 귀사의 요구 사항에 맞는 모델을 선택할 때 도움이 될 것입니다. 두 가지 그래프 유형 모두 포인트(정점)와 해당 포인트 사이의 연결선(엣지)의 모음으로 구성됩니다. 그래프 데이터에서 식별된 관계의 의미와 맥락을 표현하는 지식 그래프는 인공지능 분야에서 갈수록 중요해지고 있습니다.
속성 그래프: 속성 그래프는 데이터 간 관계를 모델링하고 그 관계에 기반한 쿼리와 데이터 분석을 지원합니다. 속성 그래프의 정점에는 대상에 대한 상세 정보가 담겨 있고, 엣지는 정점 간의 관계를 나타냅니다. 정점과 엣지에는 속성(properties)이라는 부가 정보가 포함될 수 있습니다.
이 예시에서는 동료 그룹 및 그 관계를 속성 그래프로 표현했습니다. 동료들이 어떻게 협업하는지, 또는 안타깝지만 갈등하는지 여부를 잘 보여줍니다. 또한 해당 동료들의 직무, 거주 도시, 원격 근무 여부, 부서 정보 등의 속성도 표시할 수 있습니다.
속성 그래프는 범용성이 높으므로 금융, 제조, 공공 안전, 리테일 등의 다양한 산업과 분야에서 사용됩니다.
RDF 그래프: RDF(Resource Description Framework) 그래프는 명령문을 표현하도록 설계된 W3C(Worldwide Web Consortium)의 표준을 따르며, 복잡한 메타데이터 및 마스터 데이터를 표현하기에 가장 적합합니다. RDF 그래프는 연결된 데이터, 데이터 통합, 그리고 갈수록 많은 지식 그래프에 사용되고 있습니다. 도메인의 복잡한 개념을 표현하거나, 데이터에 관한 풍부한 시맨틱과 추론을 제공할 수 있습니다.
RDF 모델에서 각 명령문은 세 가지 요소로 표현됩니다. 이는 문장의 주어, 서술어, 목적어를 반영한 것으로, 2개의 정점과 이를 연결하는 1개의 엣지로 구성됩니다. 이러한 구조를 RDF 트리플(RDF triple)이라고 합니다. URI(Uniform Resource Identifier)로 모든 정점과 엣지를 식별할 수 있습니다. RDF 모델은 잘 정의된 의미 체계를 갖춘 표준 형식으로 데이터를 표현하므로 원활한 정보 교환이 이루어질 수 있도록 해 줍니다. RDF 그래프는 정부 통계 기관, 제약 회사, 의료 기관 등에서 널리 사용되고 있습니다.
RDF 그래프는 지능형 애플리케이션을 보조하는 기술로서 인기를 얻고 있으며, 다수의 LLM은 DBpedia와 같은 공개 지식 그래프의 RDF 표현을 이미 학습했습니다.
Oracle 솔루션을 활용해 그래프 기술을 간단히 도입할 수 있습니다. Oracle AI Database 및 Oracle Autonomous AI Database에는 통합 그래프 데이터베이스 및 그래프 분석 엔진이 포함되어 있어 그래프 알고리즘, 패턴 매칭 쿼리, 시각화 등를 통해 데이터로부터 더 많은 인사이트를 확보할 수 있습니다. 그래프는 단일 데이터베이스 엔진으로 멀티모달, 다중 워크로드, 멀티테넌트 요구사항을 지원하는 Oracle의 융합형 데이터베이스의 일부입니다. Oracle Graph는 단일 데이터베이스에서 속성 그래프와 RDF를 모두 지원하며, SQL을 사용한 그래프 분석도 지원합니다.
고성능을 자랑하는 그래프 데이터베이스들은 많지만, 개중에서도 Oracle의 그래프 데이터베이스는 특히 우수한 쿼리와 알고리즘 성능을 갖추고 있으며 Oracle AI Database와 긴밀히 통합되어 있습니다. 이를 통해 개발자는 기존 애플리케이션에 그래프 분석을 손쉽게 추가하고, 데이터베이스가 기본 제공하는 확장성, 일관성, 복구, 액세스 제어, 보안 기능을 활용할 수 있습니다. Oracle AI Database는 엔터프라이즈용 그래프 데이터베이스입니다.
그래프 데이터베이스는 데이터 세트 내의 사람, 장소, 사건, 객체 간의 관계를 이해하기 위한 최적의 도구입니다. 최신 AI 시스템에서 그래프 데이터베이스의 채택률이 늘어나는 것이 그 증거입니다. 데이터를 노드와 엣지로 바라보는 그래프 데이터베이스는 AI 시스템이 데이터 간의 관계를 더 효과적으로 탐색 및 분석하도록 지원함으로써 더 깊은 인사이트 확보 및 더 정확한 의사결정을 가능케 합니다. 기업 및 정부의 AI 및 AI 에이전트의 도입이 확대될수록 그래프 데이터베이스도 더욱 각광받게 될 것입니다.
리소스를 많이 사용하는 쿼리를 실행하기에 가장 적합한 곳은 어디일까요? 복잡하게 연결된 데이터를 최대한 활용하는 데 필요한 성능과 AI 기능을 갖춘 하이퍼스케일 클라우드입니다.
그래프 데이터베이스의 장점은 무엇인가요?
데이터를 노드와 엣지로 표현해 저장하고 쿼리하도록 설계된 그래프 데이터베이스는 데이터 내 패턴과 관계에 대한 인사이트 확보에 기여합니다. 따라서 소셜 네트워크, 추천 시스템, 사기 탐지 등 고도로 연결된 데이터를 다루는 애플리케이션에 특히 적합합니다.
그래프 데이터베이스는 AI와 관련해서도 사용되나요?
복잡하게 연결된 데이터 간의 관계를 효율적으로 쿼리할 수 있는 그래프 데이터베이스는 AI 애플리케이션에 널리 사용됩니다. 그래프 데이터베이스는 AI가 추천 시스템을 구동하고 지식 그래프를 생성하도록 도움으로써 텍스트 또는 다른 콘텐츠에 대한 모델의 이해도를 향상시키는 시맨틱 인사이트에도 기여할 수 있습니다.
그래프 데이터베이스는 관계형 데이터베이스와 동일한가요?
그래프 및 관계형 데이터베이스는 데이터 관계를 저장하고 관리하는 방식이 서로 다릅니다. 관계형 데이터베이스는 테이블과 외래 키로 엔티티 간 연결을 구성하므로 연결성이 높은 데이터를 다룰 경우 조인이 복잡해질 수 있습니다. 반면 그래프 데이터베이스는 데이터를 노드와 엣지로 파악하고 관계 탐색과 쿼리를 더 효율적으로 수행하므로, 소셜 미디어, 리테일 추천 엔진, 사기 탐지 시스템과 같이 복잡하고 고도로 연결된 데이터를 다루는 애플리케이션에 더 적합합니다.