그래프 데이터베이스란 그래프 생성 및 조작이라는 단일 용도로 특별히 설계된 플랫폼을 말합니다. 그래프는 노드, 간선, 속성으로 구성되어 있으며, 이 모든 요소를 활용하여 관계형 데이터베이스에서는 불가능한 방식으로 데이터를 표현하고 저장할 수 있습니다.
일반적으로 그래프 분석이라고도 불리며, 특히 데이터 포인트를 노드로, 관계를 간선으로 사용하여 데이터를 그래프 형식으로 분석하는 프로세스를 말합니다. 그래프 분석에는 전용 그래프 데이터베이스나 그래프를 포함한 여러 데이터 모델을 지원하는 컨버지드 데이터베이스와 같은 그래프 형식을 지원할 수 있는 데이터베이스가 필요합니다.
그래프 데이터베이스에는 속성 그래프와 RDF 그래프의 두 가지 주요 모델이 있습니다. 속성 그래프는 분석 및 쿼리에, RDF 그래프는 데이터 통합에 중점을 둡니다. 두 가지 유형 모두 포인트(정점)와 해당 포인트 사이의 연결선(간선)의 모음으로 구성됩니다. 그러나 차이점도 있습니다.
그래프 데이터베이스에는 속성 그래프와 RDF 그래프의 두 가지 주요 모델이 있습니다. 속성 그래프는 분석 및 쿼리에, RDF 그래프는 데이터 통합에 중점을 둡니다. 두 가지 유형 모두 포인트(정점)와 해당 포인트 사이의 연결선(간선)의 모음으로 구성됩니다. 그러나 차이점도 있습니다.
속성 그래프는 데이터 간의 관계를 모델링하는 데 사용되며 이러한 관계를 기반으로 쿼리 및 데이터 분석 작업을 지원합니다. 속성 그래프에는 주제에 대한 자세한 정보 등을 포함하는 정점과 이러한 정점 간의 관계를 나타내는 간선이 있습니다. 정점과 간선은 속성(properties)이라고 하는 요소(attributes)를 가질 수 있으며, 이를 사용하여 연결될 수 있습니다.
이 예에서는 동료 및 이들의 관계 집합이 속성 그래프로 표시됩니다.
속성 그래프는 다방면으로 유용한 특성 덕분에 금융, 제조, 공공 안전, 소매업 분야를 포함한 다양한 산업 및 부문에서 광범위하게 사용됩니다.
RDF(Resource Description Framework, 자원 기술 프레임워크) 그래프는 명령문을 표현하도록 설계된 W3C(Worldwide Web Consortium, 월드 와이드 웹 컨소시엄)의 표준을 따르며, 복잡한 메타 데이터 및 마스터 데이터를 표현하는데 최적의 도구입니다. RDF 그래프는 연결된 데이터, 데이터 통합 및 지식 그래프에 자주 사용되며, 도메인 내에서 복잡한 개념을 나타낼 수 있을 뿐 아니라 데이터와 관련하여 풍부한 의미 체계 및 추론도 제공할 수 있습니다.
RDF 모델에서 명령문은 2개의 정점(RDF 트리플)과 이를 연결하는 문장의 주어, 서술어, 목적어를 반영하는 1개의 간선이라는 세 가지 요소로 표현됩니다. 모든 정점과 간선은 URI 또는 고유한 리소스 식별자에 의해 식별됩니다. RDF 모델은 잘 정의된 의미 체계를 갖춘 표준 형식으로 데이터를 표현하기 때문에 원활한 정보 교환이 이루어질 수 있도록 해주며, 정부 통계 기관, 제약 회사, 의료 서비스 기관에서 RDF 그래프를 널리 사용하고 있습니다.
그래프 및 그래프 데이터베이스는 데이터의 관계를 표현하는 그래프 모델을 제공하며, 사용자는 연결을 기반으로 '순회 쿼리'를 수행하고 그래프 알고리즘을 적용하여 패턴, 경로, 커뮤니티, 영향 요인, 단일 장애 지점 및 기타 관계를 찾을 수 있으므로 방대한 양의 데이터를 보다 효율적으로 분석할 수 있습니다. 그래프의 진가는 분석과 이를 통해 얻을 수 있는 통찰력, 서로 다른 데이터 소스를 연결할 수 있는 능력에 있습니다.
그래프를 분석할 때 알고리즘은 정점 사이의 경로와 거리, 정점의 중요도, 정점의 클러스터링 등을 탐색합니다. 예를 들어 중요도를 판단하기 위한 알고리즘은 진입 간선, 인접한 정점의 중요도와 기타 지표를 살펴 봅니다.
그래프 알고리즘(그래프에 있는 데이터 간의 관계 및 동작을 분석하도록 특별히 설계된 작업)을 사용하면 다른 방법으로는 알기 어려운 정보를 이해할 수 있습니다. 그래프를 분석할 때 알고리즘은 정점 사이의 경로와 거리, 정점의 중요도, 정점의 클러스터링 등을 탐색합니다. 알고리즘은 진입 간선, 인접한 꼭짓점의 중요도와 기타 지표를 활용하여 중요도를 판단합니다. 예를 들어 그래프 알고리즘은 소셜 네트워크나 비즈니스 프로세스에서 다른 사람과 가장 많이 접속한 개인 또는 항목을 식별할 수 있습니다. 알고리즘은 개인 또는 관련 트랜잭션에 접속하는 커뮤니티, 이상 징후, 공통 패턴, 경로를 식별할 수 있습니다.
그래프 데이터베이스는 관계를 명시적으로 저장하기 때문에 정점 간 연결을 활용하는 쿼리 및 알고리즘 실행에 소요되는 시간을 몇 시간이나 며칠에서 1초 이내로 단축할 수 있습니다. 조인을 계속해서 실행할 필요가 없어지며, 분석 및 머신 러닝에 데이터를 더 쉽게 적용할 수 있어 우리가 사는 세상에 대해 더 많은 것을 알 수 있게 됩니다.
그래프 형식은 원거리 연결을 찾거나 관계의 강도 또는 품질과 같은 항목을 기반으로 데이터를 분석할 수 있는 보다 유연한 플랫폼을 제공합니다. 그래프를 사용하면 소셜 네트워크, IoT, 빅 데이터, 데이터웨어하우스에서 연결 및 패턴을 탐색하고 발견할 수 있으며, 은행에서의 이상 거래 감지, 소셜 네트워크에서의 연결 발견, Customer 360을 비롯한 다양한 비즈니스 사용 사례에 대한 복잡한 트랜잭션 데이터도 탐색할 수 있습니다. 오늘날 그래프 데이터베이스는 데이터 과학의 일부로서관계를 더 명확하게 연결하는 도구로 그 활용도가 점차 증가하고 있습니다.
그래프 데이터베이스는 관계를 명시적으로 저장하기 때문에 정점 간 연결을 활용하는 쿼리 및 알고리즘 실행에 소요되는 시간을 몇 시간이나 며칠에서 1초 이내로 단축할 수 있습니다. 조인을 계속해서 실행할 필요가 없어지며, 분석 및 머신 러닝에 데이터를 더 쉽게 적용할 수 있어 우리가 사는 세상에 대해 더 많은 것을 알 수 있게 됩니다.
그래프 데이터베이스는 매우 유연하고 강력한 도구입니다. 그래프 형식 덕분에 훨씬 적은 노력으로 복잡한 관계를 파악할 수 있으며 이를 통해 더 깊은 통찰력을 얻을 수 있습니다. 그래프 데이터베이스는 일반적으로 PGQL(Property Graph Query Language, 속성 그래프 쿼리 언어)과 같은 언어로 쿼리를 실행합니다. 아래의 예시는 동일한 쿼리를 각각 PGQL과 SQL로 표현한 것입니다.
위의 예시에서 볼 수 있듯이 PGQL 코드는 더 간단하고 훨씬 더 효율적입니다. 그래프는 데이터 간의 관계를 강조하기 때문에 서로 다른 다양한 유형의 분석에 이상적입니다. 특히 그래프 데이터베이스는 다음과 같은 점에서 탁월합니다.
아래 그림은 그래프 데이터베이스의 간단한 실례로, 대중적인 파티 게임인 '케빈 베이컨의 6단계 법칙(Six Degrees of Kevin Bacon)'를 시각적으로 표현한 것입니다. 처음 듣는 분들을 위해 설명하자면 이 게임은 배우 케빈 베이컨과 같은 영화에 출연한 배우들이 몇 단계만에 연결되는지를 찾는 게임입니다. 관계에 대한 이러한 강조는 그래프 분석을 보여주는 이상적인 방법입니다.
지금까지 만들어진 모든 영화와 그 영화에 출연한 모든 배우라는 두 가지 노드 범주로 구성된 데이터 세트가 있다고 상상해 보세요. 그런 다음 그래프를 사용하여 케빈 베이컨을 인형극 쇼의 아이콘인 미스 피기에 연결하라는 쿼리를 실행하면 다음과 같은 결과가 나옵니다.
이 예시에서 노드(정점)는 배우와 영화이고, 관계(간선)는 '출연'했다는 상태입니다. 여기에서 쿼리는 다음 결과를 반환합니다.
그래프 데이터베이스는 이 케빈 베이컨 예시에 대해 다음과 같은 다양한 관계를 쿼리할 수 있습니다.
물론 이 예시는 대부분의 그래프 분석 활용 사례 비해 훨씬 재미있습니다. 그러나 이 방식은 방대한 데이터가서로 자연스럽게 연결되어 있는 거의 모든 빅 데이터에 적용될 수 있습니다. 소셜 네트워크, 커뮤니케이션 네트워크, 웹 사이트 트래픽 및 사용량, 실제 도로 데이터, 금융 거래 및 계정 분석 등은 가장 흔한 그래프 분석 활용 방법입니다.
자금 세탁의 원리는 간단합니다. 떳떳하지 못한 재산을 이리저리 옮겨 합법적인 자금과 섞은 후 실물 자산으로 둔갑시키는 것입니다. 파나마 페이퍼스 분석에 사용된 프로세스와 동일합니다.
더 구체적으로 말하면, 순환 이체는 범죄자가 부정하게 얻은 대량의 자금을 자기 자신에게 보내는 것으로, 길고 복잡한 과정을 통해 '정상적인' 계좌로 돈을 옮기며 적법한 이체처럼 보이도록 함으로써 돈의 출처를 숨기는 방법입니다. 여기서 '정상적인' 계정이란 사실은 위조된 신원 정보를 사용하여 생성한 계정을 말합니다. 이러한 계정은 일반적으로 도난당한 개인 정보(이메일 주소, 주소 등)을 사용하여 생성되기 때문에 공통의 유사한 정보를 포함하고 있다는 특징이 있기 때문에 그래프 분석을 통해 이러한 정보를 분석하면 사기 행위의 출처를 밝힐 수 있습니다.
이메일 주소, 비밀번호, 주소 등을 포함한 정보를 공유하는 엔티티뿐만 아니라 엔티티 간의 거래 정보를 활용하여 그래프를 만들면 보다 쉽게 부정 거래 탐지 작업 수행할 수 있습니다. 그래프가 만들어지면 간단한 쿼리를 실행하여 유사한 정보를 가진 계정을 가진 고객을 모두 찾아 돈이 오가는 계정을 찾아낼 수 있습니다.
그래프 데이터베이스는 다양한 시나리오에서 사용할 수 있지만 일반적으로 소셜 네트워크를 분석하는 데 사용됩니다. 실제로 소셜 네트워크는 많은 양의 노드(사용자 계정)와 다차원 연결(다양한 방향의 참여)을 수반하기므로 이상적인 활용 사례입니다. 소셜 네트워크에 대한 그래프 분석을 통해 다음과 같은 사항을 파악할 수 있습니다.
하지만 봇에 의해 부자연스럽게 왜곡된 정보는 쓸모가 없는데, 다행히 그래프 분석은 봇을 식별하고 필터링하는 훌륭한 수단을 제공할 수 있습니다.
실제 활용 사례에서 오라클 팀은 특히 데이터를 왜곡한 가짜 봇 계정을 식별하기 위해 Oracle Marketing Cloud를 사용하여 소셜 미디어 광고 및 트랜젝션을 평가했습니다. 이러한 봇이 가장 흔히 하는 동작은 대상 계정을 리트윗하여 인위적으로 인기도를 높이는 것인데, 간단한 패턴 분석을 통해 리트윗 수와 이웃에 대한 접속 밀도를 사용하여 살펴볼 수 있습니다. 본래 인기 있는 계정은 이웃과의 관계에 있어서 봇 기반 계정과는 다른 특징을 보였습니다.
아래의 이미지는 본래 인기 있는 계정의 모습입니다.
그리고 아래의 이미지는 봇 기반 계정의 동작을 보여줍니다.
여기서 핵심은 그래프 분석의 강점을 활용하여 자연스러운 패턴과 봇 패턴을 식별하는 것입니다. 일단 패턴을 식별하고 나면 그때부터는 그러한 계정들을 필터링하는 것만큼이나 간단하지만, 더 나아가 봇과 리트윗된 계정 간의 관계를 보다 자세히 조사하는 것도 가능합니다.
소셜 미디어 네트워크는 전체 사용자 기반 경험에 영향을 주는 봇 계정을 제거하기 위해 최선을 다합니다. 이러한 봇 탐지 프로세스의 정확도를 확인하기 위해 한 달 후에 플래그가 지정된 계정을 확인했으며, 그 결과는 다음과 같습니다.
제재 조치된 계정의 비율(91.2 %)이 매우 높다는 것은 패턴 식별 및 정제 프로세스의 정확성을 보여줍니다. 일반적인 표 형식의 데이터베이스에서는 이러한 작업에 훨씬 많은 시간이 소요되었지만 그래프 분석을 사용하면 복잡한 패턴을 빠르게 식별할 수 있습니다.
그래프 데이터베이스는 금융 업계에서 사기를 감지할 수 있는 강력한 도구가 되었습니다. 카드 내장 칩과 같은 사기 방지 기술의 발전에도 불구하고 여전히 다양한 방식의 신용카드 사기가 발생할 수 있습니다. 아직 칩 리더기가 설치되지 않은 곳에서는 마그네틱 스트립에서 세부 정보를 훔치는 스키밍 장치 기술이 흔히 사용됩니다. 이렇게 저장된 세부 정보를 위조 카드에 심으면 물건을 구매하거나 현금을 인출할 수 있습니다.
패턴 식별은 사기 탐지의 첫 번째 방어선으로 많이 사용되는 수단입니다. 예상 구매 패턴은 위치, 빈도, 상점 유형, 사용자 프로필에 맞는 기타 항목에 기반합니다. 예를 들어 샌프란시스코 베이 지역에 거주하는 사람이 갑자기 밤늦은 시간에 플로리다에서 구매를 하는 것과 같이 무언가 완전치 변칙적으로 보이는 패턴이 발생하면 잠재적인 사기 행위로 플래그를 지정합니다.
이를 위해 필요한 컴퓨팅 성능은 그래프 분석을 통해 크게 단순화됩니다. 그래프 분석은 노드 간의 패턴을 밝히는데 있어 탁월한 능력을 보이는데, 이 경우 노드의 범주는 계정(카드 소지자), 구매 위치, 구매 범주, 거래 및 터미널로 정의됩니다. 자연스러운 동작 패턴을 식별하는 것은 쉽습니다. 예를 들어 어떤 사람은 특정 달에 다음과 같은 행동을 할 수 있습니다.
일반적으로 사기 행위 감지는 머신 러닝을 통해 처리되지만 그래프 분석은 이러한 노력을 보완하여 보다 정확하고 훨씬 효율적인 프로세스를 만들 수 있습니다. 관계에 초점을 맞춘 덕분에, 분석 결과는 데이터가 실제 사용되기 전에 큐레이션하고 준비하여 위법한 레코드를파악하고 플래그를 지정하는 데 있어 효과적인 예측 인자가 되었습니다.
그래프 데이터베이스 및 그래프 기술은 지난 10년 동안 컴퓨팅 성능과 빅 데이터가 증가함에 따라 진화했습니다 실제로 이러한 기술이 복잡한 데이터 관계로 이루어진 멋진 신세계를 분석하기 위한 표준 도구가 될 것임은 점점 더 분명해졌습니다. 기업과 조직이 빅 데이터 및 분석 기능을 지속적으로 추진하고 있는 가운데, 점점 더 복잡한 방식으로 통찰력을 이끌어낼 수 있는 그래프 데이터베이스의 능력은 현재의 요구와 미래의 성공을 위해 반드시 필요한 것으로 자리 잡고 있습니다.
오라클과 함께라면 그래프 기술을 보다 쉽게 도입할 수 있습니다. Oracle Database와 Oracle Autonomous Database에는 그래프 데이터베이스와 그래프 분석 엔진이 포함되어 있기 때문에 사용자는 그래프 알고리즘, 패턴 일치 쿼리, 시각화 기능을 활용하여 데이터에서 더 많은 통찰력을 얻을 수 있습니다. 그래프는 단일 데이터베이스 엔진에서 다중 모델, 다중 워크로드, 다중 테넌트 요구 사항을 지원하는 Oracle 컨버지드 데이터베이스의 일부입니다.
모든 그래프 데이터베이스가 고성능이라고 주장하지만, 오라클의 그래프 제품은 우수한 쿼리 및 알고리즘 성능을 갖췄을 뿐만 아니라 오라클 데이터베이스와 긴밀하게 통합됩니다. 따라서 개발자는 손쉽게 기존 애플리케이션에 그래프 분석 기능을 추가함으로써 데이터베이스가 기본적으로 제공하는 확장성, 일관성, 복구, 액세스 제어, 보안 기능을 활용할 수 있습니다.