일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- spark
- TensorFlow
- 빅데이터
- Federated Learning
- SQL
- Cypher
- Python
- r
- BigData
- Graph Ecosystem
- 연합학습
- 딥러닝
- DeepLearning
- graph
- 그래프 데이터베이스
- RStudio
- SparkML
- 그래프
- 그래프 질의언어
- Neo4j
- graph database
- RDD
- 그래프 에코시스템
- Graph Tech
- 분산 병렬 처리
- GraphX
- TigerGraph
- GSQL
- GDB
- 인공지능
- Today
- Total
Hee'World
그래프 데이터베이스란? 본문
개념
- 그래프 데이터베이스(graph database, GDB)는 시맨틱 쿼리를 위해 노드(Node)/Vertex, 엣지(edge)/관계(Relationship), 프로퍼티(property)와 함께 그래프 구조를 사용하여 데이터를 표현하고 저장하는 데이터베이스. 이 시스템의 주 개념은 그래프(엣지 또는 관계)이며 스토어에 직접 데이터 항목들의 관계를 정한다. 이러한 관계들은 스토어 안의 데이터가 함께 직접 연결될 수 있게 한다.
- 노드(node): 추적 대상이 되는 사람, 기업, 계정 등 의 실체를 대표한다. 관계형 데이터베이스의 레코드, 관계, 로우, 도큐먼트 데이터베이스의 도큐먼트와 개념이 거의 동등하다.
- 엣지(edge): 그래프(graph)나 관계(relationship)이라고도 하며 노드를 다른 노드에 연결하는 선이며 관계를 표현한다.
- 프로퍼티(property): 노드의 정보와 밀접한 관련이 있다. 이를테면 위키백과가 노드 중에 하나라면 위키백과의 어떠한 관점이 주어진 데이터베이스에 밀접한 관련이 있느냐에 따라 웹사이트, 참고 문헌, w로 시작하는 낱말과 같은 프로퍼티에 묶여있을 수 있다.
- 종종 NoSQL 범주로 분류되기도 하지만, 모든 작업을 그래프와 그래프 이론을 바탕으로 처리함
그래프 vs 차트
- 그래프 : 그래프 이론(문화어: 그라프리론, graph理論, 영어: graph theory;圖論,도론)은 수학에서 객체 간에 짝을 이루는 관계를 모델링하기 위해 사용되는 수학 구조인 그래프에 대한 연구이다. 이 문맥에서 그래프는 꼭짓점(버텍스/vertex), 교점(노드/node), 점(포인트/point)으로 구성되며 이것들은 변(엣지/edge, 간선), 즉 선으로 연결된다.
* 그래프 이론의 시초는 레온하르트 오일러가 1736년에 쓴 쾨니히스베르크의 다리 문제에 대한 논문으로 여겨진다. 이 논문에서, 오일러는 그래프의 한붓그리기 존재 여부에 대한 간단한 필요충분조건을 제시하였다. 오일러의 다면체 정리는 오귀스탱 루이 코시와 시몽 앙투안 장 륄리에에 의해 연구되고 일반화되었으며, 위상수학의 시초를 상징한다.
-차트 : 차트(chart)는 데이터를 그래픽으로 표현한 것으로, 그 안의 데이터는 바 차트의 막대, 라인 차트의 선, 파이 차트의 조각과 같은 기호로 나타낸다.
파나마 페이퍼 사건
- 최근, 그래프 데이터베이스가 주목을 받게 된 하나의 계기가 있었다. 파나마 페이퍼스는 파나마의 법률회사 모색폰세카에서 유출된 내부 문서다. 각국 전현직 지도자와 정치인, 유명인사의 조세회피 의혹을 담고 있다. 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
그래프 데이터베이스 모델링
- 그래프 데이터 모델링은 사용자가 노드와 속성 레이블이 있는 관계로 연결된 그래프로 임의의 도메인을 설명하는 프로세스이다.
- 그래프 데이터 모델링에서는 관계형 데이터 모델링과 유사한 프로세스가 존재한다. 그러나 정규화 된 테이블 구조에 맞게 데이터 모델을 수정하는 대신 그래프 데이터 모델은 화이트보드에 그려진 그대로 유지된다.
- 아래의 예시를 보면 고객의 주문한 상품명을 확인 하기 위해서는 각각의 테이블 조인을 통해 데이터를 확인해야한다.
- 하지만 그래프 데이터 모델에서는 조인이 아니라 관계로 연결되기 때문에 불필요한 연산이 필요없이 바로 원하는 정보를 찾아 낼 수 있다.
그래프 데이터베이스 순위(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 |