상세 컨텐츠

본문 제목

Graph Data Model - AWS Neptune Graph DB

데이터 과학

by Taeyoon.Kim.DS 2023. 12. 6. 02:22

본문

1. Graph Data Model?

그래프 데이터 모델은 관계를 기반. 그래프는 연결된 데이터의 연결 및 패턴을 탐색. 높은 연결성을 가진 데이터들을 연결. 현실 세계의 데이터는 대부분 높은 연결성을 가짐. 같은 지역에 살면서 비슷한 연령대에 사는 사람들의 recommendation service를 제공한다고하면, 높은 연결성을 갖춘 데이터. 기존 관계형이나 key value 형태로 인해 효율적인 구조화를 하기 어려운 것에 비해서 패턴이나 계층분석을 손쉽게 할 수 있음. 

 

Graph Data model은 vertices 또는 nodes로 이루어져 있음. 관계를 나타내는 Edges. Edges는 방향을 갖을 수 있음. 관계를 기반으로 한 검색을 효율적으로 대응. 

1) Property graph - 아파치 그램린 또는 open cypher. 버택스와 엣지로 나타냄. 모든 엣지에 이름이나 라벨, 방향이 구조화된다. 스키마가 없고 이름 및 사전에 지정된 것이 없음. 
소셜 네트워크, 추천, 지식 그래프, 사기 감지, 생명 과학, 네트워크 및 IT 운영 시스템 등에 활용이 가능. 

 

2) Resource Description Framework (RDF) - Sparql. 좀 더 구조화 되어있음.

 

 

 

2. Relational DB vs Graph DB

복잡한 SQL vs Graph Query. 관계형 데이터 베이스를 기반으로 외부키와 조인 키를 사용하여 테이블을 조인하면 그래프 구조를 탐색할 수 있음. 복잡한 탐색 및 경로 기반에서는 SQL 쿼리를 이해하게 어렵게 만듬. SQL성능이 저하될 수 있음. key value기반의 nosql에서는... 

부자연스러운 쿼리/ 비효율적인 처리/ 데이터 변경에 유연하지 않은 엄격한 스키마가 문제가 됨. 

 

 

 

 

 

 

 

3. Amazon Neptune Graph DB

 

 

 

4. Neptune - Graph data model example

관련글 더보기