비고
이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 사용하지 않는 것이 좋습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure 미리 보기에 대한 사용 약관 참조하세요.
그래프 데이터베이스는 정보를 테이블과 행 대신 노드(엔터티) 및 에지(관계)로 나타내는 데이터베이스 유형입니다. 이 구조를 사용하면 데이터 전체에서 복잡한 연결 및 패턴을 간단하게 탐색할 수 있습니다.
가장 일반적으로 사용되는 형식의 그래프 데이터베이스는 레이블이 지정된 LPG(속성 그래프) 모델을 구현합니다. 엔터티(노드) 및 관계(에지)에는 레이블과 속성(키-값 쌍)이 있을 수 있습니다. 이 유연한 모델을 사용하면 스키마 선택적 디자인과 스키마 기반 디자인을 모두 사용할 수 있으며 복잡한 관계를 표현할 수 있습니다. 연결은 명시적으로 에지로 저장되므로 쿼리는 쿼리 시간에 비용이 많이 드는 조인을 계산하는 대신 에지를 따라 관계를 트래버스합니다.
비고
이 문서의 예제에서는 소셜 네트워크 예제 그래프 데이터 세트를 사용합니다.
그래프 데이터베이스 핵심 개념
그래프 데이터베이스는 데이터를 세 가지 기본 구성 요소로 구성합니다.
-
노드는 사람, 제품 또는 장소와 같은 엔터티를 나타냅니다. 노드에는 특성을 설명하는 레이블과 속성이 있을 수 있습니다. 예를 들어
Person노드는firstName,lastName,age같은 속성을 가질 수 있습니다. -
에지는 엔터티가 연결된 방식을 나타냅니다. 예를 들어
FRIENDS_WITH,PURCHASED, 또는LOCATED_IN. 에지는 관계 메타데이터를 캡처하기 위해 속성 및 레이블을 전달할 수도 있습니다. - 속성은 노드 및 에지에 세부 정보를 연결합니다(예: 사람의 이름 또는 날짜 이후의 에지).
쿼리 관계의 작동 방식
그래프 쿼리는 시작 노드에서 인접 노드, 인접 노드 등으로 트래버스하여 연결된 정보를 검색합니다. 순회 비용은 데이터 세트의 총 크기가 아니라 터치하는 가장자리 수(로컬 지역)에 따라 달라집니다. 이 특성 덕분에 친구의 친구, 최단 경로, 다중 홉 종속성과 같은 경로, 연결 및 패턴에 관한 질문을 자연스럽고 효율적으로 제기할 수 있습니다.
그래프 데이터베이스는 GQL(그래프 쿼리 언어)과 같은 패턴 기반 쿼리 언어를 사용하여 이러한 순회를 간결하게 설명합니다. SQL을 감독하는 동일한 국제 작업 그룹(ISO/IEC 39075)은 설정된 데이터베이스 표준에 따라 그래프 쿼리를 정렬하는 GQL을 표준화합니다.
예제(GQL과 패턴 일치):
MATCH (p:Person {firstName: "Annemarie"})-[:knows]->(friend)-[:likes]->(c:Comment)
RETURN c
ORDER BY c.creationDate
LIMIT 100
이 패턴은 다음과 같습니다: Annemarie의 Person 노드에서 시작해서 :knows 에지를 따라 각 친구 노드로 이동한 후, :likes 에지를 따라 관련된 :Comment 노드로 이동합니다. 생성 날짜별로 정렬된 100개의 최신 주석을 반환합니다.
그래프 데이터 모델 및 스키마 유연성
그래프 데이터 모델은 스키마 선택 사항입니다. 강력한 거버넌스가 필요할 때 고정 스키마로 작업하거나 새 노드 형식, 관계 또는 속성이 표시되면 모델을 발전할 수 있습니다. 이 방법을 사용하면 데이터 중복에 대한 필요성이 줄어들고 팀이 사전 재설계 없이 여러 원본의 데이터를 통합할 수 있습니다. Microsoft Fabric의 그래프에 사용되는 데이터 모델에 대한 자세한 내용은 레이블이 지정된 속성 그래프를 참조하세요.
그래프 데이터베이스에 대한 일반적인 사용
그래프 데이터베이스는 다음과 같이 연결이 값을 구동하는 도메인과 밀접하게 일치합니다.
- 소셜 네트워크 - 사용자와 상호 작용 간의 관계 모델링
- 지식 그래프 - 의미 체계 검색 및 추론을 위한 개념, 엔터티 및 팩트 연결
- 권장 사항 시스템 - 사용자-항목 상호 작용을 트래버스하여 개인 설정된 제안을 표시합니다.
- 사기 및 위험 네트워크 - 계정, 트랜잭션 및 디바이스에서 의심스러운 패턴 검색
- 네트워크 및 IT 토폴로지 - 서버, 서비스 및 인프라 구성 요소 간의 종속성 매핑
- 공급망 종속성 분석 - 공급업체 간 구성 요소 원본 및 관계 추적
이러한 시나리오에서는 단일 레코드에 대한 질문이 적고, 여러 홉을 통해 얼마나 많은 엔터티가 관련되고 상호 작용하는지에 대한 질문이 더 많습니다.
그래프 데이터베이스를 고려해야 하는 경우
그래프 데이터베이스는 관계가 답변해야 하는 핵심 질문을 유도할 때 적합합니다. 다음과 같은 경우 그래프 데이터베이스를 선택합니다.
- 주요 질문에는 연결된 데이터의 경로, 지역 및 패턴이 포함됩니다.
- 홉 수는 변수이거나 미리 알려지지 않았습니다.
- 서로 다른 데이터 세트 간에 관계를 결합하고 탐색해야 합니다.
이러한 종류의 질문을 정기적으로 하는 경우 그래프 모델은 자연스럽게 적합합니다.
Microsoft Fabric의 그래프를 독립 실행형 그래프 데이터베이스와 비교하는 방법
데이터를 그래프로 나타내고 별도의 독립 실행형 그래프 데이터베이스에 저장하면 ETL(추출, 변환, 로드) 및 거버넌스 오버헤드가 발생하는 경우가 많습니다. 반면, Microsoft Fabric의 그래프는 OneLake에서 직접 작동하므로 별도의 ETL 파이프라인 및 데이터 중복이 감소하거나 필요하지 않습니다. 다음과 같은 절충을 고려하세요.
- 데이터 이동 및 중복: 독립 실행형 그래프 데이터베이스에는 일반적으로 데이터를 추출, 변환 및 별도의 저장소로 로드해야 하므로 복잡성이 증가하고 중복된 데이터 세트가 발생할 수 있습니다. 그래프는 OneLake에서 작동하므로 연결된 데이터를 이동하지 않고도 모델링하고 쿼리할 수 있습니다.
- 운영 비용: 독립 실행형 그래프 스택은 별도의 클러스터 또는 서비스로 실행되며 종종 유휴 용량 요금을 부과합니다. 그래프에서 워크로드는 자동 스케일 다운 및 중앙 집중식 메트릭을 사용하여 풀링된 CPU(용량 단위)를 사용하므로 작업이 간소화되고 비용이 절감될 수 있습니다.
- 확장성: 일부 독립 실행형 그래프 데이터베이스는 확장 또는 공급업체별 클러스터링에 따라 달라집니다. Graph는 대규모 그래프용으로 설계되었으며 여러 작업자의 스케일 아웃 분할을 사용하여 빅 데이터 워크로드를 효율적으로 처리합니다.
- 도구 및 기술: 공급업체별 그래프 시스템에는 특수 언어와 별도의 분석 프레임워크가 필요할 수 있습니다. Graph는 통합 모델링, GQL(표준 기반 쿼리), 기본 제공 그래프 분석 알고리즘, BI 및 AI 통합 및 로우/노 코드 예비 도구를 제공합니다. 이러한 기능을 사용하면 더 광범위한 사용자 집합이 연결된 데이터로 작업할 수 있습니다.
- 거버넌스 및 보안: 별도의 그래프 배포에는 독립적인 거버넌스 및 보안 설정이 필요합니다. Graph는 OneLake 거버넌스, 계보 및 작업 영역 RBAC(역할 기반 액세스 제어)를 사용하므로 규정 준수, 감사 및 권한은 나머지 패브릭 환경과 일관성을 유지합니다.