관리 메뉴

Hee'World

그래프 데이터베이스란? 본문

Database/Graph Database

그래프 데이터베이스란?

Jonghee Jeon 2022. 1. 20. 20:15

개념

- 그래프 데이터베이스(graph database, GDB)는 시맨틱 쿼리를 위해 노드(Node)/Vertex, 엣지(edge)/관계(Relationship), 프로퍼티(property)와 함께 그래프 구조를 사용하여 데이터를 표현하고 저장하는 데이터베이스. 이 시스템의 주 개념은 그래프(엣지 또는 관계)이며 스토어에 직접 데이터 항목들의 관계를 정한다. 이러한 관계들은 스토어 안의 데이터가 함께 직접 연결될 수 있게 한다.

  • 노드(node): 추적 대상이 되는 사람, 기업, 계정 등 의 실체를 대표한다. 관계형 데이터베이스의 레코드, 관계, 로우, 도큐먼트 데이터베이스의 도큐먼트와 개념이 거의 동등하다.
  • 엣지(edge): 그래프(graph)나 관계(relationship)이라고도 하며 노드를 다른 노드에 연결하는 선이며 관계를 표현한다.
  • 프로퍼티(property): 노드의 정보와 밀접한 관련이 있다. 이를테면 위키백과가 노드 중에 하나라면 위키백과의 어떠한 관점이 주어진 데이터베이스에 밀접한 관련이 있느냐에 따라 웹사이트, 참고 문헌, w로 시작하는 낱말과 같은 프로퍼티에 묶여있을 수 있다.

출처 : https://ko.wikipedia.org/wiki/%EA%B7%B8%EB%9E%98%ED%94%84_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4#cite_note-1 

 

그래프 데이터베이스 - 위키백과, 우리 모두의 백과사전

컴퓨팅에서 그래프 데이터베이스(graph database, GDB[1])는 시맨틱 쿼리를 위해 노드, 엣지, 프로퍼티와 함께 그래프 구조를 사용하여 데이터를 표현하고 저장하는 데이터베이스이다. 이 시스템의 주

ko.wikipedia.org

- 종종 NoSQL 범주로 분류되기도 하지만, 모든 작업을 그래프그래프 이론을 바탕으로 처리함

출처 : https://cntechsystems.tistory.com/20?category=758525

그래프 vs 차트

  - 그래프 : 그래프 이론(문화어: 그라프리론, graph理論, 영어: graph theory;圖論,도론)은 수학에서 객체 간에 짝을 이루는 관계를 모델링하기 위해 사용되는 수학 구조인 그래프에 대한 연구이다. 이 문맥에서 그래프는 꼭짓점(버텍스/vertex), 교점(노드/node), 점(포인트/point)으로 구성되며 이것들은 (엣지/edge, 간선), 즉 으로 연결된다.

   * 그래프 이론의 시초는 레온하르트 오일러가 1736년에 쓴 쾨니히스베르크의 다리 문제에 대한 논문으로 여겨진다. 이 논문에서, 오일러는 그래프의 한붓그리기 존재 여부에 대한 간단한 필요충분조건을 제시하였다. 오일러의 다면체 정리는 오귀스탱 루이 코시와 시몽 앙투안 장 륄리에에 의해 연구되고 일반화되었으며, 위상수학의 시초를 상징한다.

https://ko.wikipedia.org/wiki/%EC%BE%A8%EB%8B%88%ED%9E%88%EC%8A%A4%EB%B2%A0%EB%A5%B4%ED%81%AC%EC%9D%98_%EB%8B%A4%EB%A6%AC_%EB%AC%B8%EC%A0%9C

  -차트 : 차트(chart)는 데이터를 그래픽으로 표현한 것으로, 그 안의 데이터는 바 차트의 막대, 라인 차트의 선, 파이 차트의 조각과 같은 기호로 나타낸다.

https://ko.wikipedia.org/wiki/%EC%B0%A8%ED%8A%B8

파나마 페이퍼 사건

https://zdnet.co.kr/view/?no=20160414092402

 - 최근, 그래프 데이터베이스가 주목을 받게 된 하나의 계기가 있었다. 파나마 페이퍼스는 파나마의 법률회사 모색폰세카에서 유출된 내부 문서다. 각국 전현직 지도자와 정치인, 유명인사의 조세회피 의혹을 담고 있다. ICIJ는 1년간 파나마 페이퍼스의 데이터를 분석해 BBC, 가디언, 뉴스타파 등 각국 회원 언론사에 2016년 3월 배포, 공개했다. 파나마 페이퍼스 데이터를 쪼개 내부 구조를 드러내는데 그래프 데이터베이스 기술을 활용하였고 문건 속 인물과 회사, 고객명 사이의 관계를 시각적으로 나타내어 분석하였음. 

출처 : https://zdnet.co.kr/view/?no=20160414092402

 

그래프에 대한 관계 모델링

- 많은 애플리케이션의 데이터는 관계형 데이터로 모델링된다. 관계형 모델과 그래프 모델 사이에는 몇 가지 유사점과 다른점이 있다.

RDBMS vs 그래프 데이터베이스

테이블 레이블(Lable)
행(row) 노드(node)
열(column)과 data 속성과 값
조인(join) 순회(Traversal)
각 열에는 필드 값이 있어야 한다 동일한 레이블을 가진 노드는 동일한 속성 집합을 가질 필요가 없다.
Join은 질의할떄 계산된다. 관계는 생성될 때 디스크에 저장된다
노드는 많은 라벨을 가질 수 있다 노드는 많은 라벨을 가질 수 있다.

출처 : https://wikidocs.net/50716

출처 : https://cntechsystems.tistory.com/20?category=758525

그래프 데이터베이스 모델링

- 그래프 데이터 모델링은 사용자가 노드속성 레이블이 있는 관계연결된 그래프로 임의의 도메인을 설명하는 프로세스이다.

- 그래프 데이터 모델링에서는 관계형 데이터 모델링과 유사한 프로세스가 존재한다. 그러나 정규화 된 테이블 구조에 맞게 데이터 모델을 수정하는 대신 그래프 데이터 모델은 화이트보드에 그려진 그대로 유지된다.

- 아래의 예시를 보면 고객의 주문한 상품명을 확인 하기 위해서는 각각의 테이블 조인을 통해 데이터를 확인해야한다.

출처 : https://cntechsystems.tistory.com/20?category=758525

- 하지만 그래프 데이터 모델에서는 조인이 아니라 관계로 연결되기 때문에 불필요한 연산이 필요없이 바로 원하는 정보를 찾아 낼 수 있다.

출처 : https://cntechsystems.tistory.com/20?category=758525
https://wikidocs.net/50716

 

그래프 데이터베이스 순위(2022-01-20일자)

출처 : https://db-engines.com/en/ranking/graph+dbms

 

'Database > Graph Database' 카테고리의 다른 글

Cypher 기초(1/2)  (0) 2022.08.20
TigerGraph란?  (0) 2022.05.01
Neo4j DatabaseNotFoundError_status_quarantined  (0) 2022.02.12
Neo4j란?  (2) 2022.02.12
Neo4j Desktop 설치  (0) 2022.01.23
Comments