memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

그래프 데이터베이스를 사용하는 이유?

  • 전통적인 RDBMS 기술보더 관계를 표현할 있는 데이터베이스로 그래프가 활용
  • 그래프 데이터베이스는 거미줄처럼 복잡한 관계를 가지고 있는 빅데이터를 분석하는데 용이
  • 그래프 데이터베이스는 그래프 이론에 토대를 일종의 NoSQL 데이터베이스

 

그래프 데이터베이스란?

기존 관계형 데이터베이스와 비교를 해보면,

기존 관계형 데이터베이스 특징

  • 관계형 데이터베이스(RDB)는 데이터를 테이블에 저장함
  • 테이블은 레코드와 컬럼으로 구성되어있고, 테이블내의 외래키를 통해  엔티티 사이의 관계를 표현하는데 사용함.
  • SQL이라는 쿼리를 사용하여 데이터를 조회하거나 업데이트 할 수 있음

출처: https://www.omnisci.com/technical-glossary/relational-database

 

RDB의 join

조인은 외래키와 테이블의 모든 행의 기본키와 일치시켜 쿼리시 계산한다. 이러한 계산은 메모리를 많이 사용하여 비용이 기하급수적으로 높아진다.

출처: https://neo4j.com/developer/graph-db-vs-rdbms/

 

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

  • 노드(Node)와 관계(Relationship)로 구성된 개념
  • 노드는 속성(property)를 키-값(key-value) 형태로 가지고 있음.
  • 노드는 하나 이상의 레이블(Label)을 가질 수 있음

 

위 내용의 이해를 돕기 위해 아래 그림 참조.

출처: https://neo4j.com/developer/graph-database/

 

관계형 데이터베이스와 그래프 데이터베이스

RDBMS GRAPH DB
테이블(Table) 레이블(Label)
행(row) 노드(Node)
컬럼(Column)과 데이터 속성(Properties)
Join Traversal

 

관련 글

 

Neo4j 란?

Neo4j Neo4j사가 개발한 '그래프 데이터베이스' 관리 시스템 Neo4j는 GPL3 라이선스의 오픈 소스 커뮤니티 에디션으로 이용이 가능 Neo4j는 Java 로 구현되어 있음 Cypher Query Language 를 통해 다른 언어로 ��

memostack.tistory.com

 

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!