Microsoft Fabric의 그래프에는 몇 가지 기능적 한계가 있습니다. 이 문서에서는 몇 가지 주요 제한 사항을 강조 표시하지만 전체 목록은 아닙니다. 업데이트를 정기적으로 다시 확인합니다.
일반적인 문제에 대한 도움말은 문제 해결 그래프를 참조하세요.
그래프 모델 만들기
데이터 원본
OneLake와 Mirrored Databases가 그래프에 지원되는 데이터 소스입니다.
데이터 형식
그래프 모델은 다음과 같은 속성 가치 유형을 지원합니다.
| GQL 값 유형 | Description |
|---|---|
BOOLEAN |
값은 true 및 false입니다. |
INT (또는 INT64) |
값은 64비트 부호 있는 정수입니다. |
DOUBLE (또는 FLOAT64) |
값은 64비트 IEEE-754 부동소수점 숫자입니다. |
FLOAT (또는 FLOAT32) |
값은 32비트 부동소수점 숫자입니다. |
STRING |
값은 UTF-8로 인코딩된 유니코드 문자 문자열입니다. 최대 속성 크기는 65,535바이트입니다. |
ZONED DATETIME |
값은 타임스탬프와 시간대 오프셋을 결합한 형태로, 밀리초 단위로 표시됩니다. |
다음 OneLake 및 Delta Lake 컬럼 유형은 그래프 내 인데이트를 지원합니다.
| 원레이크 유형 | GQL 속성 가치 유형으로의 매핑 |
|---|---|
BooleanType |
BOOLEAN |
ByteType |
INT (또는 INT64) |
IntegerType |
INT (또는 INT64) |
LongType |
INT (또는 INT64) |
FloatType |
DOUBLE (또는 FLOAT64) |
DoubleType |
DOUBLE (또는 FLOAT64) |
StringType |
STRING |
DateType |
ZONED DATETIME |
TimestampType |
ZONED DATETIME |
TimestampNtzType |
ZONED DATETIME |
메모
복잡하거나 중첩된 델타 호수 유형(MapType 및 StructType)은 지원되지 않습니다. 쿼리 시 PARSE_JSON_STRING점에 JSON으로 인코딩된 문자열 열을 파싱할 수 있습니다.
그래프 처리 및 스케일
그래프 로딩 및 새로고침 작업은 그래프 크기, 그래프 요소(노드와 간선)의 수, 그리고 해당 요소와 연관된 속성 페이로드의 크기에 따라 처리 시간이 연장될 수 있습니다. 큰 그래프는 처리하는 데 몇 시간이 걸릴 수 있습니다. 그래프 로딩이나 새로고침 작업이 24시간 후에도 완료되지 않은 경우, 추가 조사를 위해 지원 요청을 제출 하세요.
현재 그래프 처리 기능은 약 20억 개의 그래프 요소(노드와 간선)를 포함하는 그래프를 지원합니다. 유효 용량은 그래프 구조와 자산 페이로드 크기에 따라 달라질 수 있습니다. 작업 부담이 이 한계를 초과할 것으로 예상된다면, Microsoft 지원에 문의해 안내를 받으시기 바랍니다.
파티션 열
델타 레이크 분할 열은 그래프 속성으로서 제한된 지원을 제공합니다:
- 분할 열을 유일한 기본 키로 사용하는 경우는 항상 거부됩니다.
- 생성된 파티션 열은 지원되지 않습니다.
- 복합 및 십진수 분할 열(
Decimal, ,MapBinaryArray,Struct, ) 는 경고와 함께 삭제됩니다.
스키마 변경
스키마 변경은 그래프 재로드를 트리거합니다.
질의하기
가변 길이 경로
Explore UI 경로 빌더는 가변 길이 패턴을 위해 최대 8홉까지 지원합니다. 이 사용자 인터페이스 제한은 코드 편집기에 입력된 GQL 쿼리에는 적용되지 않습니다.
그래프는 경로 ANY SHORTEST 탐색 접두사와 경로 탐색 접두사를 ALL 지원합니다.
ALL SHORTEST 및 ANY 는 지원되지 않습니다.
다음 표는 가변 길이 GQL 지원을 요약합니다:
| 경로 탐색 및 경로 모드 | 고정 또는 유계 양화자 | 무한한 양화자 |
|---|---|---|
ALL WALK(기본값) |
Supported | 지원되지 않는 이유는 반복 요소가 무한히 많은 경로를 생성할 수 있기 때문입니다. |
ALL TRAIL, ALL SIMPLE 또는 ALL ACYCLIC |
Supported | 지원은 되지만, 경로 수는 여전히 많을 수 있습니다. |
ANY SHORTEST WALK |
Supported | 두 노드 간 익명 정량화된 엣지 하나로 간단한 엔드포인트 도달 가능성을 지원합니다. 이 무한한 형태로 묶인 경로는 와 그와 함께 사용할 PATH_LENGTH(path) 수 있으며; path IS NULL완전한 경로는 물질화되지 않는다. 무 한한 가변 길이 패턴을 참조하세요. |
ANY SHORTEST TRAIL, ANY SHORTEST SIMPLE 또는 ANY SHORTEST ACYCLIC |
Supported | 지원됨 |
고정 및 유계 양화자는 {n}, , {m,n}그리고 {,n}입니다. 무한한 양화자는 {m,}, , *그리고 +이다. 자세한 내용은 GQL 그래프 패턴을 참조하세요.
경로 술어 배치
GQL은 자격 있는 경로를 제한하는 술어와 경로 탐색 접두사가 경로를 선택한 후 필터링하는 술어를 구분합니다. 일부 ANY SHORTEST 쿼리 도형의 경우, 그래프는 현재 경로 선택 전에 문장 수준의 MATCH ... WHERE 조건을 적용할 수 있습니다.
의도된 단계를 명확히 하기 위해, 적합성 술어를 노드나 엣지 패턴에 인라인에 배치하세요. 선택 후 필터링의 경우, . 뒤MATCH에 별도의 FILTER 문장을 사용하세요. 예시로는 경로 선택 전후 술어 배치를 참조하세요.
리스트 술어 필터
리스트 술어 필터는 현재 지원하지 않습니다:
-
EXISTS하위 쿼리. - 국소 결합 원소 위에 대한 집계 함수. 인클로잉 그룹 리스트에 대한 수평 집계가 지원됩니다.
지원되는 구문 및 결과 의미론에 대해서는 List 술어 함수를 참조하세요.
결과 크기
그래프는 내부 이진 표현이 64MB를 초과할 때 쿼리 응답을 잘라냅니다. 그래프는 해당 행을 반환하고, 공개 상태 코드 01000 와 정식 GQLSTATUS 01M11가 포함된 추가 경고를 보고합니다. 중간 결과는 128MB로 제한되어 있습니다.
응답에는 절단으로 인해 생략된 행에 대한 연속 토큰이 포함되어 있지 않습니다. 필터, 특정 투영법, 또는 LIMIT로 결과를 좁힌 후 다시 쿼리를 실행하세요.
일시 중지
쿼리 API 실행은 연속 요청을 포함해 총 20분의 타임아웃을 가집니다. 실행이 이 한계를 초과하면 API는 HTTP 408과 오류 코드 QueryTimeout를 반환합니다.
Subqueries
CALL
OPTIONAL CALL, , 그리고 프로시저 폼 EXISTS 서브쿼리가 지원됩니다.
인라인 CALL 서브쿼리는 중첩될 수 있으며, 인클로잉 범위에서 변수를 암묵적으로 가져올 수 있습니다. 명명된 프로시저 호출, 그래프 패턴 전용EXISTS과 같은 CALL (p) { ... }명시적 변수 가져오기 목록, 스칼라 서브쿼리(VALUE { ... })는 지원되지 않습니다.
집계 함수
지원되는 집계 함수는 다음과 같습니다.
-
COUNT,COUNT(*),SUM,AVG,MIN및MAX -
COLLECT_LIST,COLLECT_ONE및COLLECT_ELEMENTS -
DISTINCT앞서 언급한 모든 함수의 변형 - 위 모든 것의 수평(행 단위, 그룹 변수/리스트 단위) 변형
다음 집계 기능은 아직 지원되지 않습니다:
-
PERCENTILE_CONT및PERCENTILE_DISC -
STDDEV_POP및STDDEV_SAMP PRODUCT
작업 설정
UNION ALL 및 UNION DISTINCT을(를) 지원합니다.
INTERSECT, EXCEPT, OTHERWISE 그리고 아직 지원되지 않습니다.
지원되는 GQL 진술문 및 조항
다음 핵심 GQL 문장 및 조항들이 지원됩니다:
-
MATCH및OPTIONAL MATCH -
WHERE필터 -
LET가변 제속 -
FOR ... IN선택적ORDINALITY인덱싱을 이용한 리스트 언롤링 -
NEXT, 를 포함하는UNIONUNION DISTINCT쿼리 단계를 포함한다UNION ALL -
RETURN및RETURN DISTINCT GROUP BY-
ORDER BY및NULLS FIRST또는NULLS LAST -
LIMIT및OFFSET -
UNION ALL및UNION DISTINCT -
CALL,OPTIONAL CALL및EXISTS -
CAST광형 변환 행렬을 가진 - GQL 표현식, 술어, 함수에 나열된 지원되는 스칼라 및 집계 함수
DML 및 DDL 운영
데이터 조작 언어(DML) 연산INSERT인 , UPDATEDELETE , 와 같은 것은 GQL에서 지원되지 않습니다. 스키마 뮤테이션을 위한 데이터 정의 언어(DDL) 연산은 지원되지 않습니다.
데이터 내보내기 및 시각화
그래프 쿼리 결과 또는 그래프 구조 내보내는 것은 현재 지원되지 않습니다.
시각화 시나리오를 위해 그래프에 직접 Power BI 연결하는 것은 현재 지원되지 않습니다.
GQL 규칙
최소 규칙, 그룹별 선택적 기능 및 아직 지원되지 않는 기능을 포함하여 ISO/IEC 39075:2024 표준에 대해 지원되는 GQL 기능에 대한 자세한 매핑은 GQL 표준 규격을 참조하세요.
다음 기능에 대한 GQL 표준 준수는 아직 진행 중입니다.
제어 흐름 및 집합 연산
-
EXCEPT ALL및EXCEPT DISTINCT문장 -
INTERSECT ALL및INTERSECT DISTINCT문장 -
OTHERWISE진술
경로 탐색과 패턴 매칭
-
ALL SHORTEST경로 탐색 (지원되지 않음) -
ANY경로 탐색 - 비로컬 패턴 조건자
- 완화된 토폴로지 일관성
- 와일드카드
Predicates
- 라벨 테스트 술어 (
IS LABELED) -
IS DIRECTED프레디케이트 - 정규화된 조건자
- 원본/대상 조건자
-
ALL_DIFFERENT프레디케이트 -
IS DISTINCT프레디케이트 -
SAME프레디케이트 -
REGEXP_CONTAINS프레디케이트
지원되는 런타임 가치 유형
| 런타임 값 유형 | 표현/범위 | Limit |
|---|---|---|
BOOLEAN |
true 및 false |
|
INT (또는 INT64) |
부호 있는 64비트 정수 | |
UINT (또는 UINT64) |
부호 없는 64비트 정수 | |
DOUBLE (또는 FLOAT64) |
IEEE-754 binary64 |
유한만 검사는 허용되지 않습니다; 비유한 값도 허용됩니다 |
STRING |
유니코드 문자열 | 65,534바이트 (uint16 온디스크 길이) |
ZONED DATETIME |
Unix 에포크 이후 밀리초 및 int32 UTC 오프셋 | INT64 밀리초 범위 |
DURATION(DAY TO SECOND) |
밀리초 정밀도 | |
NODE |
uint64 RAW | |
EDGE |
uint64 RAW | |
LIST |
동차 타입 목록 | 65,534개의 요소 (디스크 내 길이 16개) |
RECORD |
타입 필드의 구조 | |
PATH |
항상 노드로 시작하고 끝나는 노드와 간선의 교차 목록 | 65,534개의 요소 (디스크 내 길이 16개) |
아직 지원되지 않는 런타임 값 유형
-
INT8, ,INT16,INT32그리고 값 유형(INT64지원됨) -
FLOAT16그리고FLOAT32가치 유형(FLOAT64지원됨) -
UINT8, ,UINT16,UINT32그리고 값 유형(UINT64지원됨) -
ZONED TIME가치 유형 -
DATE값 타입을 독립 실행형 타입으로 설정했습니다. 입력된 날짜는 Zoned DateTime에 매핑됩니다. -
LOCAL DATETIME가치 유형 -
LOCAL TIME가치 유형 -
DURATION(YEAR TO MONTH)가치 유형 -
BYTES가치 유형. 인제스팅은 지원되지만, 타입은 저장된 속성으로 쿼리할 수 없습니다. -
VECTOR가치 유형
기능과 표현식
-
PROPERTIES함수 -
NORMALIZE와 형태를NFKCNFKD포함하여 -
DURATION_BETWEEN함수 - 검색된
CASE WHEN표현들 - 스칼라 하위 쿼리
- 경로 값 연결
- 바이트 문자열 연결
TRIM, , 그리고 길이 함수 - 명세가 있는
TRIM단순TRIM함수 - 다문자
TRIM기능 CARDINALITY
Aggregation
-
PERCENTILE_CONT집계 함수 -
PERCENTILE_DISC집계 함수 -
PRODUCT집계 함수 -
STDDEV_POP집계 함수 -
STDDEV_SAMP집계 함수
Other
- 매개변수 전달(
$param동적 매개변수 명세) - 세션 사용자 (
SESSION_USER) -
CALL명명된 절차 문 -
CALL명시적 변수 가져오기 리스트가 있는 서브쿼리 - 카탈로그 관리. 그래프 및 제약 조건 이름은 자동으로 생성됩니다.
Catalog
메모
그래프 이름과 제약 조건 이름은 자동으로 생성되며 UI나 JSON 스키마에서 지정할 수 없습니다.
| 카탈로그 구역 | 전류 한계 / 동작 | 권장 사항 |
|---|---|---|
| 그래프 스키마 | 카탈로그당 하나의 그래프 유형. | |
| 그래프 이름 | 비어 있지 않아야 하며; 명시적인 최대 길이는 없습니다. | 127자 |
| 노드 유형 | 최대 약 20억 (int32 ID 공간)입니다. | 64K |
| 엣지 유형 | 최대 약 20억 (int32 ID 공간)입니다. | 64K |
| 고유 노드 라벨 | 최대 약 20억 개; 한 유형 내의 중복은 거부됩니다. | 노드 유형에서 파생됨 |
| 고유 엣지 라벨 | 최대 약 20억 개; 한 유형 내의 중복은 거부됩니다. | 엣지 타입에서 파생됨 |
| 고유 부동산 이름 | 최대 약 20억 명; 빈 이름과 한 유형 내 중복 이름은 거부됩니다. | 64K x 10 |
| 노드 유형별 속성 | 명시적인 최대값은 없으며; 중복된 속성 이름은 거부됩니다. | 256 |
| 엣지 타입별 속성 | 명시적인 최대값은 없으며; 중복된 속성 이름은 거부됩니다. | 256 |
| 노드 유형별 라벨 | 명시적 최대값은 없으며; 중복 라벨은 거부됩니다. | 64 |
| 간선 유형별 라벨 | 명시적 최대값은 없으며; 중복 라벨은 거부됩니다. | 64 |
| 제약 조건별 주요 속성 | 명시적인 최대값은 없으며; 속성 이름은 빈 것이 아님을 의미합니다. | 16 |
| 부동산 이름 길이 | 비어 있지 않은 것 외에는 명시적으로 강제되지 않았습니다. | 127자 |
| 레이블 이름 길이 | 비어 있지 않은 것 외에는 명시적으로 강제되지 않았습니다. | 127자 |
| 엣지 키 제약 조건 | 기본적으로 비활성화되어 있습니다(allow_edge_key_constraints 플래그). |
≤ 엣지 타입의 수 |