티스토리 뷰

그래프 데이터베이스란? 

데이터를 미리 정의된 모델로 제한하지 않고 보관하기 위해, 데이터 간의 관계를 데이터 자체에 똑같이 중요한 것으로 취급하도록 설계된 데이터베이스입니다. 데이터는 각 개별 엔티티가 다른 엔티티와 어떻게 연결되어 있는지 보여줍니다.

 

왜 그래프 데이터베이스를 이용하나요?

기본적으로 관계를 포함하는 데이터베이스만이 연결을 효율적으로 저장 및 처리할 수 ​​있습니다. 다른 데이터베이스는 값 비싼 JOIN 작업을 통해 관계를 계산하지만 그래프 데이터베이스는 모델의 데이터와 함께 연결을 저장합니다.

데이터 세트의 총 크기와 관계없이 그래프 데이터베이스는 연결된 데이터와 복잡한 쿼리를 관리하는 데 효율적입니다. 수백만 개의 노드와 관계에서 정보를 수집 및 집계하고 검색 경계 외부에있는 데이터는 그대로 둡니다.

 

속성 그래프 모델 (Property Graph Model)

그래프 데이터베이스의 요소를 구성하는 방법에는 몇 가지 다른 접근 방식이 있습니다. 이러한 접근 방식 중 하나는 데이터가 노드, 관계 및 속성 (노드 또는 관계에 저장된 데이터)으로 구성되는 속성 그래프 모델입니다.

 

'노드'는 그래프의 엔티티입니다.

- (키-값) 쌍의 속성을 보유 할 수 있습니다.

- 노드는 역할을 나타내는 레이블(Label)을 지정할 수 있습니다.

- 레이블은 특정 노드에 메타 데이터 (예 : 인덱스 또는 제약 정보)를 첨부할 수 있습니다.

 

'관계'는 두 노드 간의 연결을 의미합니다.

- 항상 방향, 유형, 시작 노드 및 끝 노드가 있습니다.

- 노드와 마찬가지로 속성을 가질 수 있습니다.

- 대부분의 경우 관계에는 가중치, 비용, 거리, 등급, 시간 간격 또는 강점과 같은 양적 속성이 있습니다.

- 두 노드는 성능 저하없이 여러 관계 유형을 공유 할 수 있습니다.

- 특정 방향으로 저장되지만, 어느 방향으로든 효율적으로 탐색 할 수 있습니다. (역방향 탐색 가능)

 

Neo4j란?

Neo4j는 ACID 호환 트랜잭션을 제공하는 오픈 소스 NoSQL 네이티브 그래프 데이터베이스입니다.

SQL과 유사하지만 그래프에 최적화 된 선언적 쿼리 언어인 Cypher를 제공합니다.

 

 

 

참고 : neo4j.com/developer/

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함