Microsoft Fabric 그래프의 현재 제한 사항

Microsoft Fabric의 그래프는 특정 기능적 및 성능 제한이 있습니다. 이 문서에서는 몇 가지 주요 제한 사항을 강조 표시하지만 전체 목록은 아닙니다. 업데이트를 정기적으로 다시 확인합니다.

일반적인 문제에 대한 도움말은 문제 해결 그래프를 참조하세요.

그래프 모델 만들기

데이터 원본

  • OneLake parquet 및 CSV 파일은 현재 지원되는 유일한 데이터 원본입니다.
  • 데이터 원본으로 Power BI 의미 체계 모델에 대한 지원이 개발 중입니다.
  • 열 및 행 수준 OneLake 보안 에 대한 지원이 개발 중입니다.

데이터 형식

그래프는 현재 다음 데이터 형식을 지원합니다.

  • 부울(값은 다음과 같습니다.truefalse)
  • Double(값은 64비트 부동 소수점 숫자)
  • 정수(값은 64비트 부호 있는 정수)
  • 문자열(값은 유니코드 문자열)
  • 존 지정 날짜 시간(타임스탬프와 시간대별 시간 이동 값)
  • 기간(값은 ISO 8601 기간 간격)

지원되는 OneLake 형식은 다음과 같습니다.

  • 정수형
  • 롱타입
  • 문자열 유형
  • 더블타입
  • 불리언 타입
  • 플로트 타입
  • ByteType
  • ArrayType
  • 날짜타입
  • TimestampNtzType
  • 타임스탬프 유형

Edge 만들기

그래프 모델링 중에 다른 그래프 에지 형식의 이름을 지정합니다.

예를 들어 소셜 미디어 데이터 세트는 "사용자가 댓글을 좋아한다", "사용자가 게시물을 좋아한다"를 나타낼 수 있습니다. 그래프 모델이 메모게시물에 별도의 노드 형식을 사용하는 경우 사용자 노드 형식에는 주석게시에 사용할 두 가지 유형의 "좋아요" 가장자리가 있습니다. 이러한 에지 의 이름을 userLikesCommentuserLikesPost로 지정할 수 있습니다.

그래프 생성 시간

그래프를 만들거나 업데이트하는 데 20분 이상 걸리는 경우 일주일에 한 번까지 그래프 모델에 시간 제한이 발생할 수 있습니다. 작업이 실패한 것으로 표시됩니다.

그러나 사용자는 그래프 생성 또는 업데이트를 다시 완화할 수 있습니다.

총 그래프 인스턴스 수

각 Fabric 작업 영역에는 최대 10개의 그래프 인스턴스가 있을 수 있습니다.

그래프 크기

10억 개 이상의 노드와 간선을 가진 그래프를 만들면 성능이 불안정해질 수 있습니다.

멀티태스킹 UI

Fabric 멀티태스킹 UI에서 탭 또는 창 사이를 전환할 때 그래프 모델이 사라지거나 비어 있을 수 있습니다. 제품 팀은 이 알려진 문제를 해결하기 위해 적극적으로 노력하고 있습니다.

노드 속성 선택

그래프 모델에 노드 형식을 추가하면 원본 테이블의 모든 열이 기본적으로 속성으로 추가됩니다. 휴지통 아이콘을 선택하여 속성을 제거할 수 있습니다. 에지 형식은 다르게 작동합니다. 속성 없이 시작하고 필요한 형식만 추가합니다. 사용자 지정 표시 레이블 선택(예: ID 대신 이름 표시)은 아직 지원되지 않습니다.

질의하기

멀티홉 쿼리의 홉 수

그래프는 현재 가변 길이 패턴에서 최대 8개의 홉을 지원합니다.

결과 크기

결과 크기가 128MB를 초과하면 집계 성능이 불안정할 수 있습니다.

시스템은 현재 64MB보다 큰 응답을 자립니다.

일시 중지

쿼리 시간이 20분 이상 걸리는 경우 시간이 초과됩니다.

데이터 내보내기 및 시각화

  • 그래프 쿼리 결과 또는 그래프 구조 내보내는 것은 현재 지원되지 않습니다.
  • 시각화 시나리오를 위해 그래프에 직접 Power BI 연결하는 것은 현재 지원되지 않습니다.

GQL 규칙

최소 규칙, 그룹별 선택적 기능 및 아직 지원되지 않는 기능을 포함하여 ISO/IEC 39075:2024 표준에 대해 지원되는 GQL 기능에 대한 자세한 매핑은 GQL 표준 규격을 참조하세요.

GQL 표준 준수는 다음을 위해 계속 진행 중입니다.

  • 올바른 GQL 상태 코드
  • 인덱스가 있는 FOR 문
  • 다음
  • UNION DISTINCT 문
  • 바인딩되지 않은 그래프 패턴 수량자
  • 모든 SHORTEST 경로 검색
  • ANY 경로 검색
  • ANY SHORTEST 경로 검색
  • 데이터 변환
  • 스칼라 하위 쿼리
  • PROPERTIES 함수
  • RANGE 함수
  • 향상된 숫자 함수
  • 로그 함수
  • 삼각 함수
  • 경로 값 연결
  • 레이블 테스트 조건자
  • 정규화된 조건자
  • 원본/대상 조건자
  • INT32 값 형식
  • FLOAT32 값 형식
  • CLOSED RECORD 값 형식
  • UINT32 값 형식
  • ZONED TIME 값 형식
  • DATE 값 형식
  • 매개 변수 전달
  • 원치 않는 가장자리
  • GQL 프리앰블
  • 비로컬 패턴 조건자
  • IS DIRECTED 조건자
  • REGEXP_CONTAINS 조건자
  • 동적 매개 변수 사양
  • 세션 사용자
  • BYTES 값 형식
  • DECIMAL 값 형식
  • LOCAL DATETIME 값 형식
  • LOCAL TIME 값 형식
  • CALL 명명된 프로시저 문
  • 명시적 NULL 순서를 사용하는 ORDER BY
  • 테이블 형식 FOR 문
  • EXCEPT ALL 문
  • EXCEPT DISTINCT 문
  • INTERSECT ALL 문
  • INTERSECT DISTINCT 문
  • OTHERWISE 문
  • 와일드카드
  • 완화된 토폴로지 일관성
  • PERCENTILE_CONT 집계 함수
  • PERCENTILE_DISC 집계 함수
  • PRODUCT 집계 함수
  • STDDEV_POP 집계 함수
  • STDDEV_SAMP 집계 함수
  • 바이트 문자열 연결
  • 바이트 문자열 TRIM 함수
  • TRIM 사양을 사용하여 간단한 TRIM 함수
  • Multicharacter TRIM 함수
  • 바이트 문자열 길이 함수
  • 카디널리티
  • ALL_DIFFERENT 조건자
  • IS DISTINCT 조건자
  • 동일한 조건자

카탈로그

메모

그래프 이름과 제약 조건 이름은 UI나 JSON 스키마에서 GraphBackend 자동으로 생성되며 지정할 수 없습니다.

카탈로그 구역 전류 한계 / 동작 적용 상태 권장 사항
카탈로그 ID 기준 카탈로그 요소 ID는 0이 유효하지 않은 int32 래퍼로 서명되어 있어, 각 ID 계열은 최대 std::numeric_limits<int32_t>::max() - 1 양의 0이 아닌 ID를 가집니다(20억 개). 도입 상한선, 권장 GA 할당량이 아닙니다
그래프 스키마 카탈로그당 하나의 그래프 유형; 카탈로그 ID 주석은 카탈로그가 하나의 그래프 유형만 포함한다고 가정합니다. 설계 가정; 멀티스키마 할당량으로 노출되지 않음
그래프 정의 직렬화 크기 명시적인 바이트 크기 제한 GraphProto은 없습니다; 이 카드는 반복되는 노드 유형, 엣지 유형, 라벨, 속성 이름, 제약 조건을 포함합니다. protobuf/gRPC/메모리 아래에서는 강제되지 않습니다; 그래프 생성 후 카탈로그 객체 수 검사가 적용됩니다
그래프 이름 비어 있지 않아야 합니다; 명시적인 최대 바이트 길이나 허용 문자 목록은 없습니다. 비어 있지 않은 경우만 강제됩니다 128자
노드 유형 최대 20억 개의 노드 유형. 양의 0이 아닌 int32 ID 공간을 통해 강 CatalogGraphType::Validate 제됨 64k
엣지 유형 최대 20억 가지 엣지 타입. 양의 0이 아닌 int32 ID 공간을 통해 강 CatalogGraphType::Validate 제됨 64k
모든 노드 유형에 걸친 고유한 노드 라벨 최대 20억 개의 고유 노드 라벨. 강제됨; CatalogGraphType::Validate한 유형 내의 중복 라벨은 거부된다 파생
모든 엣지 유형에 걸친 고유한 엣지 라벨 최대 20억 개의 고유 엣지 라벨. 강제됨; CatalogGraphType::Validate한 유형 내의 중복 라벨은 거부된다 파생
모든 노드 및 엣지 유형에서 고유한 속성 이름 최대 20억 개의 고유 부동산 이름. 강제로 CatalogGraphType::Validate; 속성 이름은 비어 있을 수 없으며, 한 유형 내에서의 중복은 거부됩니다 64k * 10
노드 제약 정의 최대 20억 노드 키 제약 조건 정의. 양의 0이 아닌 int32 ID 공간을 통해 강 CatalogGraphType::Validate 제됨 <= 노드 유형
엣지 제약 조건 정의 최대 20억 개의 엣지 키 제약 조건 정의가 있지만, 에지 키 제약은 기본적으로 allow_edge_key_constraints 비활성화되어 있습니다. 출석 시 집행; 특징 게이트는 기본적으로 엣지 제약 조건을 거부합니다 <= 간선 유형
부동산 이름 문자 / 길이 비어 있지 않은 속성 이름과 파서 문법 외에는 명시적으로 강제되지 않습니다; 카탈로그 최대 바이트 길이나 문자 허용 목록은 없습니다. 128 캐릭터
라벨 문자 / 길이 파서 문법과 제약 조건 내 비어 있지 않은 라벨 외에는 명시적으로 강제되지 않습니다; 카탈로그 최대 바이트 길이나 문자 허용 목록은 없습니다. 128 캐릭터
제약 조건 이름 문자 / 길이 제약 조건 이름은 비어 있지 않아야 하며; 명시적인 최대 바이트 길이나 허용 문자 목록은 없습니다. 중복/매칭 제약 검증은 별개입니다 128 캐릭터
노드 유형별 속성 노드 타입에 명시적인 최대 속성 수는 없으며; 중복된 부동산 이름은 거부됩니다. 정확성 검증만 가능합니다 256
엣지 타입별 속성 엣지 타입에 명시적으로 최대 속성 수가 없으며; 중복된 부동산 이름은 거부됩니다. 정확성 검증만 가능합니다 256
노드 유형별 라벨 노드 유형에 명시적인 최대 라벨 수가 없으며; 중복 라벨은 거부됩니다. 정확성 검증만 가능합니다 64
간선 유형별 라벨 엣지 타입에 명시적으로 최대 레이블 수가 없으며; 중복된 라벨은 거부되며; 엣지 추가된 라벨은 거부됩니다. 정확성 검증만 가능합니다 64
제약 조건별 주요 속성 노드 또는 엣지 키 제약 조건에서 명시적인 최대 키 속성 수는 없으며; 개별 부동산 이름은 비어 있을 수 없습니다. 정확성 검증만 가능합니다 16

런타임 값

런타임 값 유형 백킹 표현 / 범위 명시적 가치 수준 제한? 권장
BOOL 불; 참/거짓 값 네, 고정 도메인입니다
INT64 부호가 있는 64비트 정수 네, 고정 폭입니다
UINT64 부호 없는 64비트 정수 네, 고정 폭입니다
DOUBLE C++/protobuf double / Arrow DoubleScalar (IEEE-754 binary64); 비유한 값은 거부되지 않습니다 Value::FromProto 유한 검증은 없습니다
DECIMAL128 화살표 Decimal128Scalar; 실행 시간 검증은 정밀도 1..38과 스케일 0..정밀도를 허용하며; 최대 38자리 소수점까지 가능합니다 네, 체크된 구성/프로토에서 가능합니다
STRING std::string: ValueProto.string_value 무가치 제한 4MB
BYTES std::string 바이트 컨테이너로 사용; ValueProto.bytes_value 무가치 제한 스트링 리밋
VERTEX_ID uint64는 랩 처리 VertexId되어 생성된 ID는 48비트 샤드 로컬 ID를 사용하며 0을 유효하지 않음으로 예약합니다 Raw Proto는 어떤 uint64도 받아들입니다; 생성된 ID는 제약이 있습니다
EDGE_ID uint64는 랩 처리 EdgeId되어 생성된 ID는 48비트 샤드 로컬 ID를 사용하며 0을 유효하지 않음으로 예약합니다 Raw Proto는 어떤 uint64도 받아들입니다; 생성된 ID는 제약이 있습니다
ZONED_DATE_TIME absl::Time 플러스 타임스존; Unix 에포크부터 int64밀리초로 직렬화되었으며, int32 UTC 오프셋 초를 더했습니다. 밀리초 범위는 [-9,223,372,036,854,775,808, 9,223,372,036,854,775,807]이며, -29227505-05-16T16:47:04.192+00:00에서 292278994-08-17T07:12:55.807+00:00까지의 UTC 순간으로 문서화됩니다. 시간 범위 기록; 오프셋은 int32이며 범위 검사를 받지 않습니다 Value::FromProto
기간 absl::Duration; int64 밀리초로 시리얼링되었습니다. 일련번호 최소/최대 시간은 -9,223,372,036,854,775,808 ms에서 9,223,372,036,854,775,807 ms(약 +/-292,277,024.6 년)입니다. ISO 파서는 더 엄격합니다: +/-9,223,372,035초(약 +/-292.277년). 프로토 경로는 int64 밀리초 필드를 모두 수용합니다; 파서는 명시적 제한이 더 좁습니다
NULL / 타입 null std::monostate 또는 타입 null 래퍼
타이핑된 리스트 std::vector<std::optional<T>>; LIST_NULL 저장 수단 a size_t; LIST_ANY 상점 std::vector<Value> 기본 가치 상한선 없음
중첩된 목록 일반적인 중첩 리스트는 프로토 계약서에서 지원되지 않습니다; 런타임은 특별한 중첩 LIST_INT64 처리를 가집니다 기본 깊이/길이 할당량은 없습니다
경로 벡터 내에서 정점/간선/정점 uint64 ID를 번갈아 사용; 유효한 경로 형태는 홀수 요소 수를 가집니다. 경로 길이 할당량이 없음
레코드 absl::flat_hash_map<std::string, Value> / 프로토부프 지도 필드 수, 키 길이, 중첩 깊이 할당량이 없습니다
ANY Value::DataType() 반환될 TYPE_ANY것으로 기대되지 않습니다; 동적 값은 특히 Arrow 내부 LIST_ANY 에서 구체적 값으로 전달됩니다. 확장 저장소 크기나 깊이 할당량은 없습니다

기타 제한

  • 식별자는 밑줄로 시작할 수 없습니다.
  • 정수 리터럴은 기본적으로 부호 있는 정수로 취급됩니다.
  • ANY 및 레코드 유형 반품은 지원되지 않습니다. 임시 해결책은 .json TO_JSON_STRING화하는 것입니다.
  • 최대 문자열 속성 길이는 65535입니다. 64 KiB 이상의 데이터는 디직렬라이저에 접근할 수 없으며; 전체 버퍼는 여전히 RocksDB에 기록되어 있습니다.
  • 속성 내 List<T> 최대 요소 수는 65535입니다. 70,000 요소의 INT64 LIST는 4,464 요소로 직렬 해제됩니다.
  • 최대 쿼리 응답 크기(바이트 단위)는 64MB입니다.