비고
이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 사용하지 않는 것이 좋습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.
이 문서에서는 그래프 데이터베이스와 관계형 데이터베이스를 비교하여 분석의 주요 차이점, 사용 사례 및 장점을 강조 표시합니다. 특정 요구 사항에 따라 Microsoft Fabric 또는 관계형 데이터베이스에 Graph를 사용할지 여부를 평가할 수 있습니다.
그래프 데이터베이스는 데이터를 노드(엔터티) 및 에지(관계) 네트워크로 저장하고 쿼리하여 관계형 데이터베이스의 테이블 및 행 형식과 근본적으로 다릅니다. 그래프 데이터베이스는 소셜 네트워크, 지식 그래프, 권장 사항 시스템 및 사기 감지와 같은 고도로 연결된 데이터를 모델링하고 분석하는 데 탁월합니다.
핵심 차이점
- 그래프 데이터베이스: 데이터를 노드 및 에지로 구성하고 관계를 명시적으로 저장합니다. 연결을 탐색하는 것은 효율적이며, 종종 전체 데이터 세트 크기와 독립적입니다.
- 관계형 데이터베이스: 행과 열을 사용하여 테이블에서 데이터를 구성합니다. 관계는 조인 작업을 사용하여 쿼리 시 유추되며, 이는 고도로 연결된 데이터에 대해 복잡하고 느려질 수 있습니다.
관계 쿼리: 조인 및 순회
관계형 데이터베이스 쿼리: 다른 테이블의 데이터는 외장 키를 통해 연결됩니다. 관계형 데이터베이스는 관련 데이터를 검색하기 위해 JOIN 작업을 사용하여 여러 테이블의 행을 결합합니다. 이는 단순한 관계에 적합하지만 딥 또는 가변 길이 연결의 경우 비용이 많이 들고 복잡해질 수 있습니다.
그래프 데이터베이스 쿼리: 관계는 에지로 저장되므로 한 노드에서 다른 노드로 직접 순회할 수 있습니다. 그래프 쿼리는 여러 홉과 복잡한 패턴을 효율적으로 탐색할 수 있습니다. GQL과 같은 그래프 쿼리 언어를 사용하면 순회 및 패턴 일치를 쉽게 표현할 수 있습니다.
Example:
GQL:
MATCH (p:Person)-[:friendsWith]->(friend)-[:purchased]->(o:Order)
WHERE p.name = 'Alice';
RETURN o
SQL(해당):
SELECT o.*
FROM Person AS p
JOIN Friends_With AS fw ON p.id = fw.person_id
JOIN Person AS friend ON fw.friend_id = friend.id
JOIN Purchased AS pur ON friend.id = pur.person_id
JOIN "Order" AS o ON pur.order_id = o.id
WHERE p.name = 'Alice';
비고
GQL은 그래프 구조 데이터의 효율적인 쿼리 및 조작을 위해 설계된 그래프 데이터베이스에 대한 ISO 표준화된 쿼리 언어입니다. SQL을 감독하는 동일한 국제 작업 그룹이 개발하고 있습니다.
성능 영향
그래프 데이터베이스는 많은 에지 또는 알 수 없는 깊이가 포함된 쿼리, 특히 딥 링크 분석 또는 재귀 쿼리의 경우 관계형 시스템을 능가할 수 있습니다. 관계형 데이터베이스는 수십 년간의 최적화로 인해 설정된 기반 작업 및 집계에서 탁월합니다.
크기 조정 고려 사항
- 관계형 데이터베이스: 일반적으로 수직(더 큰 머신)으로 크기를 조정하고 분할 및 복제를 통해 수평으로 확장할 수 있습니다. 고도로 연결된 스키마 분할은 복잡하며 네트워크 간 오버헤드가 발생할 수 있습니다.
- 그래프 데이터베이스: 세로 및 가로로 크기를 조정합니다. 분산 그래프 데이터베이스는 효율적인 순회를 위해 관련 노드를 함께 유지하는 것을 목표로 컴퓨터 간에 그래프를 분할합니다.
각 사용 시기
다음과 같은 경우 Graph 데이터베이스를 사용합니다.
- 데이터는 고도로 연결되고 관계가 복잡합니다(소셜 네트워크, 지식 그래프, 권장 사항).
- 알 수 없거나 가변적인 홉 수를 넘어가야 합니다.
- 스키마가 진화하거나 반구조화되고 있습니다.
- 관계가 중심인 도메인에 대한 직관적인 모델링을 원합니다.
다음과 같은 경우 관계형 데이터베이스를 사용합니다.
- 데이터는 대부분 테이블 형식이거나 잘 정의된 구조에 맞습니다.
- 쿼리에는 대규모 집계 또는 대규모 집합 연산이 포함됩니다.
- SQL과 일치하는 기존 도구 또는 전문 지식이 있습니다.
하이브리드 접근 방식
많은 프로젝트에서는 핵심 트랜잭션 데이터의 관계형 데이터베이스와 특수 분석 또는 네트워크 분석 기능을 위한 그래프 데이터베이스를 모두 사용합니다.