본문 바로가기
Programming/GNN

그래프 데이터베이스

by 곰네Zip 2022. 7. 7.

그래프데이터베이스란?

 - 데이터의 시각화 및 데이터간의 관계를 분석하는데 중점을 둔 데이터베이스

 

RDB(관계형데이터베이스) 대비 그래프데이터베이스장점. 

 - 관계형 데이터베이스는 테이블을 정의하고, 테이블간의 관계를 중심으로 데이터를 조회한다.

   -> 데이터를 테이블에 맞게 정형화 하는 과정이 필요하다.

   -> 정형화된 데이터를 다루는 것이라면 유리하다.

 

 - 그래프 데이터베이스는 테이블간의 관계가 아닌 데이터(노드)간의 관계를 중심으로 한다.

  -> 데이터를 정형화 할 필요가 없다.

  현대 사회의 데이터는 정형화하기에는 어려운, 너무 많은 특성을 가진 데이터들이 많다.

 이를 관계형으로 정의하려면?

 

  머리깨진다.

 

 그야 당연히.. 모든 속성을 다 정형화해야하는데 그게 쉽나... 

 예를들어 사람들의 정보를 데이터베이스에 넣는다고 해보자.. 누구는 야구(스포츠)를 좋아하고, 누구는 농구(스포츠)를 좋아한다. 하지만 누군가는 독서를 좋아하고 스포츠를 좋아하지 않는다. 또 어떤사람은 그냥 차로 드라이브를 하는것이 취미일수도 있다. 그리고 야구를 좋아하는 사람도 NC팬, 롯데팬, LG팬등등. 또 어떤사람은 고양이를 좋아하고, 어떤사람을 새를 좋아하고.. 이러한 사람들간의 관계를 도출하려면..

 필요한 테이블이 몇개고 조인을 얼마나 때려넣어야할까?

 포기하자. 적어도 난 못하겠다.

 

이럴때 그래프 데이터베이스를 쓴다면?

그.래.프.데.이.터.베.이.스

자.. 그래프 데이터베이스의 경우 노드간의 관계를 중심으로한다고했다.

A,B,C 세명의 데이터가 있는 테이블에서, C와 관련이있는 D의 데이터가 추가된다고 가정하자. 근데.. 취미나 사는곳, 나이등등이 A,B,C 와 모두 다르고, 다른 특성을 가진 사람이라고하면?

 

 관계형 데이터베이스에서는 새로운 특성에 맞는 컬럼이 테이블에 추가되거나 별도 테이블로 만들어져야하고. 이 특성과 기존 데이터간의 관계를 고려하여, 적절한 처리 (외래키, 제약조건등)가 수반되어야한다. 그리고, D의 데이터가 추가되면, 나중에 쿼리할때.. 새로운 조인이 하나 늘어나게된다. (즉, 느려진다)

 

 하지만, 그래프데이터베이스에서는 C랑 관련있는 D노드가 하나 추가되면 끝이다. 

 복잡한 특성을 가진 데이터들간의 관계를 찾는데 있어서는 그래프 Database가 더 유용하다.

 

 다음번에는 그래프 데이터의 사례를 기록해놓아야겠다.

반응형

댓글