본문 바로가기
스터디 정리

그래프 데이터베이스(Graph Database)

by 고공이 2021. 4. 22.

"데이터가 방대하고 복잡할수록" 그래프 데이터베이스에 주목할 이유

www.itworld.co.kr/news/158861

 

"데이터가 방대하고 복잡할수록" 그래프 데이터베이스에 주목할 이유 - ITWorld Korea

20년 전, 필자가 있었던 개발 팀은 채용, 자동차, 부동산 광고에서 검색 가능한 범주를 스캔하는 자연어 처리 엔진을 만들었다. 데이터 관리 문제가 어렵다는 점은 알고 있었다. 광고 형태마다 달

www.itworld.co.kr

" 지난 10년 동안 기업이 다른 NoSQL 및 빅 데이터 기술에 관심을 가지면서 그래프 데이터 사용도 확실히 증가했다. 2018년 전 세계 그래프 데이터베이스 추정 시장 규모는 약 6억 5,100만 달러이며 2026년에는 37억 3,000만 달러에 이를 것으로 전망된다."

 

 

해당 기사에서도 그래프 데이터베이스에 주목해야 하는 이유를 서술하고 있고, 마침 우리 스터디원도 그래프 데이터베이스에 대해 간단히 알려줘서 그 내용을 정리하려고 합니다.

 

Euclidean space 에서 표현이 불가능한 그래프 데이터란 무엇일까요?

 

먼저, 그래프 데이터는 컴퓨터 자료 구조를 일컫는 용어로써 정점(vertex)와 간선(edge)로 구성된 데이터입니다. 정점은 현실 세계의 엔터티(entity)를 나타내며 이들 간의 간선은 엔터티 간의 관계를 표현한다고 합니다.

 

이러한 그래프 데이터를 저장하고 처리하는 데이터베이스를 바로 그래프 데이터베이스(Graph Database)라고 합니다.

 

그래프 데이터베이스란?

- 관계형 DB를 보완하기 위해 등장한 NoSQL 계열로써, 수학적 그래프 이론을 토대로 두고 있습니다.

 

그래프 데이터베이스는 개별 객체의 데이터를 점(Node/Vertex), 객체 간의 상호관계를 표시하는 선(Edge), 성질이 비슷한 객체들의 묶음(Label)로 이루어져 있습니다.

 

스키마가 없는 구조로 데이터 운영이 유연하고, 질의 처리 속도가 빨라 데이터를 빠르게 확인할 수 있다고 합니다. 그 이유는 관계형 DB는 3-4개 이상이 되도 그래프가 복잡해지는데 Join된 관계가 없다보니 확인하는 속도가 빠르다고 하네요!

 

또한, 직관적인 모델링으로 개발자뿐만 아니라 그래프를 통해 인사이트를 얻으려는 사람들한테도 한 눈에 알아보기 쉬운 시각을 제공합니다.

 

서울교통공사 서울 지하철노선도

예를 들어 위 사진과 같은 지하철 노선도도 그래프 데이터베이스입니다. 그 외에도 도로, 교육과정 커리큘럼도 포함된다고 하네요. 실생활 속에서도 많이 자리잡고 있답니다.

 

그렇다고 이 데이터베이스는 어떻게 학습시켜야 할까요?

 

바로 GNN(Graph Neural Network) 입니다. GNN 은 그래프에 적용하는 신경망으로 행렬로 표현해줘야 합니다. 그 대표적인 형태는 인접행렬Feature Matrix 가 있습니다.

 

인접행렬은 i 와 j 번째 노드 간의 연결선(Edge)가 있는지를 표현하는 행렬이며 연결선이 있으면 1, 없으면 0 으로 표현해줍니다.

 

Feature Matrix 는 비슷한 속성을 가진 Node끼리 그룹화를 시키는 행렬입니다.

 

인접행렬과 Feature matrix

GNN 을 활용한 사례로는 추천 엔진, 이상 탐지, 소셜 네트워킹, 자연어처리 지식그래프 등이 있다고 하네요!

 

더 자세한 내용은 아래 제가 참고한 사이트를 방문하시면 알 수 있을 것입니다. 시각화 기능만 집중하고 있었는데 그래프 데이터도 학습시킬 수 있다니 정말 놀랍고, 아직 평가가 없는 영화의 예상 평점을 예측하는 것도 이를 활용한 분야라니 머신러닝은 정말 공부하면 공부할수록 새로운 게 많이 있는 것 같습니다. (공부의 공부의 공부,,,

 

 

 

 

참고사이트▼

bitnine.tistory.com/40

 

그래프 데이터(Graph Data)란?

그래프 데이터베이스(Graph Database)는 그래프 형태의 데이터를 저장하고 처리하는 데이터베이스입니다. 그렇다면 그래프 데이터란 무엇일까요? 그래프는 컴퓨터 자료 구조를 일컫는 용어로 정점(

bitnine.tistory.com

greatjoy.tistory.com/75

 

[GNN] (1) 데이터 구조 분석을 위한 Graph Neural Network(GNN) 소개

그래프 구조를 가지는 데이터의 분석에 Graph Neural Network(GNN)이 언급되면서 관심을 받고 있다. 사실 그래프 이론자체가 쉽게 와닿는 내용이 아니고, 이해하기 위해 여러 자료도 봤지만 한 번에 이

greatjoy.tistory.com

 

'스터디 정리' 카테고리의 다른 글

혼자 공부하는 SQL 2주차  (0) 2022.07.14
혼자 공부하는 SQL 1주차  (0) 2022.07.05
객체지향2  (1) 2021.02.24
객체 지향1  (1) 2021.02.22
인공지능의 기초  (0) 2020.10.29

댓글