BigData

Graph DB 와 RDBMS 트랜드 2부- 그래프 데이터베이스의 개념

IT오이시이 2020. 11. 10. 01:39
728x90

Graph DB 와 RDBMS 트랜드 2부- 그래프 데이터베이스의 개념

 

[Graph DB 와 RDBMS 트랜드]
1부- DBMS의 역사와 이론들
2부- 그래프 데이터베이스의 개념
3부- 그래프 데이터베이스의 종류와 활용

 

 

그래프 데이터베이스란?

그래프 데이터베이스는 그래프 이론에 토대를 둔 일종의 NoSQL 데이터베이스다. 객체나 노드로 불리는 데이터 포인트를 플롯하고, 그래프에서 이들을 연결하는 컴퓨터 과학 학문의 방법론이다.

기존 관계형 데이터베이스는 데이터를 열과 행으로 저장하고, NoSQL 데이터베이스는 많은 비정형 데이터를 저장한다. 그런데 그래프 데이터베이스는 여기에서 한 걸음 더 나아간다. 데이터 포인트를 연결, 데이터 네트워크를 구축한다.

오픈소스 소프트웨어 업체인 데이터스택스(DataStax)의 빌리 보스워스(Billy Bosworth) CEO는 그래프 데이터베이스를 “데이터 세트를 쿼리하는 것을 넘어, 연결부(상관관계)와 패턴을 찾는 방법”이라고 정의한다.

또한 그래프 데이터베이스는 데이터의 아주 복잡한 관계를 더 쉽고 빠르게 파악할 수 있도록 도와준다고 덧붙였다.

 

그래프 데이터베이스(Graph Database)의 구성요소

그래프 이론에 기반을 두며 노드, 엣지(edge), 프로퍼티를 갖추고 있다. 노드, 엣지(꼭지점) 및 속성(Properties)이있는 그래프를 속성 그래프 라고 한다.

그래프 데이터(Graph Data)는 수학적 그래프 이론에 토대를 두고 있는데, 개별 객체의 데이터를 나타내는 (노드: Node 혹은 Vertex라 부름), 성질이 비슷한 객체들을 묶어주는 묶음(프로퍼티 : Group 혹은 Label이라 부름), 객체들 간의 관계를 표시해 주는 관계선(엣지 : Edge 혹은 Relationship이라 부름)으로 이루어져 있다.

 

<graph data>

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

 

그래프 데이터베이스 기초

그래프는 연결되는 방향에 따라 성격이 다를 수 있습니다. 그래프는 방향이 지정되지 않거나 방향이 지정되거나 소위 DAG (Directed Acyclic Graph)를 형성 할 수 있습니다.

무   방향

 방향 – 에지는 방향 개념없이 노드 쌍을 연결합니다.

Directed

Directed – 모서리에는 연관된 방향이 있습니다.

방향성 비순환   그래프 (DAG)

방향성 비순환 그래프 (DAG) : 모서리에는 방향이 있고 루프가 없습니다. DAG의 한 가지 예는 트리 토폴로지입니다.

 가장자리는 항상 방향이 _from정점에서 다른 특정 정점으로 하나의 _to로 이어집니다.  들어오는 가장자리를 inbound나가는 가장자리를 outbound라고 합니다.

그래프 데이터베이스의 일반적인 쿼리 패턴

그래프 데이터베이스는 데이터의 관계를 분석하는 특수 알고리즘을 제공합니다.

가장 간단한 알고리즘은 소위 graph traversal 입니다. 그래프 순회는 정의 된 시작 정점에서 시작하여 정의 된 깊이에서 끝 정점과 함께 그래프를 순회하기 시작합니다.

정점 또는 모서리의 속성에 대한 그래프 탐색 중에 필터를 적용 할 때 패턴 일치 알고리즘이 사용됩니다.

주어진 두 정점 또는 노드 사이의 최단 거리를 분석 할 수도 있습니다. 이 쿼리 패턴을 shortest_path 라고 합니다.

그래프 속성

그래프를 이용하기 쉬운 방법은 소셜 네트워크에 대해 생각하는 것입니다. 소셜 네트워크에서 당신은 친구가 있고 또한 공통적 인 것은 그들이 당신 외의 다른 친구를 가질 수 있다는 것입니다. 또 당신은 그 '다른'친구와 ​​친구가 될 수도 있습니다. 당신, 당신의 친구, 그리고 그들의 친구들 사이의 이러한 관계는 당신의 소셜 네트워크를 형성하는 것의 일부입니다.

이러한 연결은 쉽게 그래프로 변환 될 수 있으며 실제로 소셜 네트워크를 그래프로 구성하는 것이 매우 유용 할 수 있습니다. 당신과 당신의 친구들은 개별 정점 (노드)으로 표현 될 수 있고, 당신을 함께 묶거나 당신의 관계를 설명하는 것은 노드를 연결하는 가장자리 또는 선이 될 것입니다.

 

[Graph DB 와 RDBMS 트랜드]
1부- DBMS의 역사와 이론들
2부- 그래프 데이터베이스의 개념
3부- 그래프 데이터베이스의 종류와 활용

 

www.arangodb.com/graph-database/

 

Graph Database: Use Cases, Performance, Scaling - ArangoDB

Graph database stores schema-free objects (vertices or nodes) where arbitrary data can be stored (properties) and relations between the objects (edges).

www.arangodb.com

 

[Graph DB 와 RDBMS 트랜드 1부- DBMS의 역사와 이론들]

 

Graph DB 와 RDBMS 트랜드 1부- DBMS의 역사와 이론들

지난 20년간 우리는 데이터베이스라고 하면 RDBMS 라는 것으로 생각해 왔다. 필자 역시 20년 부터 오라클,Mysql 등을 공부하면서 웹개발 부터 다양한 시스템 플랫폼을 구축해왔다. 아키텍처라고 하

couplewith.tistory.com

 

[Graph DB 와 RDBMS 트랜드 3부- 그래프 데이터베이스의 종류와 활용]

 

Graph DB 와 RDBMS 트랜드 3부- 그래프 데이터베이스의 종류와 활용

Graph DB 와 RDBMS 트랜드 3부- 그래프 데이터베이스의 종류 Apache AGE AGE는 PostgreSQL에 구축 된 그래프 및 관계형 모델을 지원하는 다중 모델 데이터베이스입니다. PostgreSQL의 확장 기능인 AGE를..

couplewith.tistory.com

 

728x90
반응형