적용 대상: ✅Microsoft Fabric✅Azure Data Explorer
비고
이 기능은 현재 공개 미리 보기로 제공됩니다. 기능 및 구문은 일반 공급 전에 변경될 수 있습니다.
영구 그래프를 사용하면 그래프 데이터 구조를 대규모로 저장, 관리 및 쿼리할 수 있습니다. make-graph 연산자를 사용하여 만든 임시 그래프와 달리 영구 그래프는 개별 쿼리 실행을 넘어 지속형 데이터베이스 개체로 엔터프라이즈급 그래프 분석 기능을 제공합니다.
개요
영구 그래프는 다음 두 가지 기본 구성 요소로 구성됩니다.
이 아키텍처는 그래프 스키마를 정의하는 유연성과 대규모 그래프 데이터 쿼리의 효율성을 모두 제공합니다.
주요 이점
영구 그래프는 엔터프라이즈 규모 그래프 분석에 상당한 이점을 제공합니다.
- 지속성 스토리지: 장기 가용성을 위해 그래프 모델 및 스냅샷이 데이터베이스 메타데이터에 유지됩니다.
- 확장성: 단일 노드 메모리 제한을 초과하는 큰 그래프 처리
- 재사용성: 여러 사용자 및 애플리케이션이 재구성 없이 동일한 그래프 구조를 쿼리할 수 있습니다.
- 성능 최적화: 반복되는 쿼리에 대한 그래프 생성 오버헤드 제거
- 스키마 지원: 속성이 있는 다양한 노드 및 에지 형식에 대한 구조적 정의
- 버전 제어: 여러 스냅샷을 사용하면 다른 시점에서 그래프를 표시할 수 있습니다.
그래프 모델
그래프 모델은 데이터베이스 메타데이터에 저장된 그래프의 사양을 정의합니다. 다음을 포함합니다.
- 스키마 정의: 해당 속성이 있는 노드 및 에지 형식
- 데이터 원본 매핑: 테이블 형식 데이터에서 그래프를 빌드하기 위한 지침
- 레이블: 노드 및 에지에 대한 정적(미리 정의된) 및 동적(런타임에 생성됨) 레이블
그래프 모델에는 실제 그래프 데이터가 아닌 그래프 스냅샷을 만들기 위한 청사진이 포함되어 있습니다.
그래프 모델 관리
그래프 모델을 관리하는 데 사용할 수 있는 명령은 다음과 같습니다.
| 명령어 | 설명 |
|---|---|
| .create-or-alter graph_model | 새 그래프 모델을 만들거나 기존 그래프 모델을 변경합니다. |
| .show graph_model | 특정 그래프 모델의 세부 정보를 표시합니다. |
| .show graph_models | 데이터베이스의 모든 그래프 모델을 나열합니다. |
| .drop graph_model | 그래프 모델을 제거합니다. |
그래프 스냅샷
그래프 스냅샷은 그래프 모델에서 구체화된 실제 그래프 인스턴스입니다. 다음을 나타냅니다.
- 모델에서 정의한 데이터의 특정 지정 시간 보기
- 쿼리 가능한 형식의 노드, 에지 및 해당 속성
- 명시적으로 제거될 때까지 지속되는 자체 포함 엔터티
스냅샷은 영구 그래프로 작업할 때 쿼리하는 엔터티입니다.
그래프 스냅샷 관리
그래프 스냅샷을 관리하는 데 사용할 수 있는 명령은 다음과 같습니다.
| 명령어 | 설명 |
|---|---|
| .make graph_snapshot | 그래프 모델에서 새 그래프 스냅샷 만들기 |
| .show graph_snapshot | 특정 그래프 스냅샷의 세부 정보를 표시합니다. |
| .show graph_snapshots | 데이터베이스의 모든 그래프 스냅샷 나열 |
| .drop graph_snapshot | 단일 그래프 스냅샷을 제거합니다. |
| .drop graph_snapshots | 조건에 따라 여러 그래프 스냅샷을 제거합니다. |
워크플로
영구 그래프를 만들고 사용하는 일반적인 워크플로는 다음 단계를 따릅니다.
- 그래프 모델 만들기 - 그래프 의 구조 및 데이터 원본 정의
- 그래프 스냅샷 만들기 - 그래프 모델을 쿼리 가능한 스냅샷으로 구체화
- 그래프 스냅샷 쿼리 - KQL 그래프 연산자를 사용하여 그래프 데이터 분석
- 수명 주기 관리 - 필요에 따라 새 스냅샷 만들기 및 이전 스냅샷 삭제
영구 그래프 쿼리
그래프 스냅샷이 만들어지면 함수와 다른 KQL 그래프 연산자를 사용하여 graph 쿼리할 수 있습니다.
graph("MyGraphModel")
| graph-match (n)-[e]->(m)
project n, e, m
특정 스냅샷을 쿼리하려면 스냅샷 이름을 제공합니다.
graph("MyGraphModel", "MyGraphSnapshot")
| graph-match (n)-[e]->(m)
project n, e, m
연산자는 graph-match 패턴 일치 및 순회 작업을 사용하도록 설정하는 동시에 graph-shortest-paths 엔터티 간의 최적의 연결을 찾는 데 도움이 됩니다.
graph-to-table 연산자는 그래프 결과를 다시 테이블 형식으로 변환합니다.
주요 고려 사항
이 섹션에서는 그래프 모델 및 스냅샷의 주요 고려 사항 및 현재 제한 사항에 대해 설명합니다.
스냅샷 제한 사항
영구 그래프에는 다음과 같은 제한 사항이 있습니다.
- 일반 데이터베이스 제한: 데이터베이스당 최대 5,000개의 그래프 스냅샷
- 무료 가상 클러스터 제한: 데이터베이스당 최대 500개의 그래프 스냅샷
- 스냅샷 생성 시간: 1시간으로 제한