Microsoft Fabric 관계형 데이터를 그래프 모델로 변환

관계형 데이터를 Microsoft Fabric 그래프 모델로 변환하면 반복되는 조인을 작성하는 대신 직접 연결을 쿼리할 수 있습니다. 이 문서에서는 관계형 테이블을 노드 형식 및 에지 형식에 매핑한 다음, 크기를 조정하기 전에 모델의 유효성을 검사하기 위한 실제 변환 워크플로를 제공합니다.

그래프가 워크로드에 적합한지 여부를 아직 결정하는 경우 먼저 그래프와 관계형 데이터베이스 비교를 검토합니다.

이 문서를 변환 검사 목록으로 사용합니다. 자세한 모델링 규칙은 그래프 스키마 디자인을 참조하세요.

사전 요구 사항

변환 워크플로

관계형 데이터를 변환할 때 다음 시퀀스를 사용합니다.

  1. 원본 테이블을 살펴보고 데이터의 엔터티(고객, 제품, 주문), 각 행을 고유하게 식별하는 방법 및 테이블이 서로 연결되는 방법을 식별합니다.
  2. 그래프에서 노드 형식이 되는 엔터티와 각 엔터티를 고유하게 식별하는 열을 결정합니다.
  3. 에지 형식이 되는 테이블 연결과 해당 연결이 이동하는 방향(예: Customer구매)을 결정합니다Order.
  4. 테이블 구조(일대다, 다대다, 포함된 값 또는 관련 테이블의 체인)에 따라 올바른 매핑 패턴을 적용합니다.
  5. 그래프 모델 편집기에서 모델을 빌드하고 노드 형식 및 에지 형식이 예상대로 표시되는지 확인합니다.

1단계: 원본 관계형 테이블의 프로파일링

원본 테이블에서 다음 항목을 확인합니다.

  • 고객, 제품 또는 주문과 같은 고유한 항목을 나타내는 기본 엔터티입니다.
  • 각 엔터티 행을 고유하게 식별하는 키 열(예: CustomerID, OrderID또는 ProductSKU.
  • 테이블 간의 관계를 정의하는 외래 키 열로, CustomerID 열이 Orders 테이블의 Customers 테이블을 참조합니다.
  • 엔터티가 포함될 수 있는 열(예: Country 또는 Department)이 있습니다.

엔터티, 키, 속성 및 매핑 제약 조건에 대한 자세한 의사 결정 조건은 그래프 스키마 디자인을 참조하세요.

2단계: 노드 형식에 엔터티 매핑

각 엔터티를 노드 형식에 매핑합니다.

관계형 요소 그래프 매핑 예시
엔터티 테이블 노드 유형 Customers table ->Customer 노드 유형
기본 키 노드 키(ID) CustomerID_K
설명 열 노드 속성 FirstName, LastName, EmailAddress

안정적이고 고유한 값이 있는 키 열을 사용합니다. 하나의 열이 고유하지 않은 경우 복합 키를 구성합니다.

디자인 지침은 그래프 스키마 디자인을 참조하세요.

3단계: 에지 형식에 관계 매핑

각 관계 경로를 지시된 에지 형식에 매핑합니다.

관계형 요소 그래프 매핑 예시
외래 키 관계 에지 유형 purchases
테이블 참조 Edge 소스 테이블 adventureworks_orders
부모/자식 조인 열 원본 및 대상 매핑 CustomerID_FK: >CustomerID_K

쿼리에서 명확하게 읽히는 동사 구, 예를 들어 purchases, contains, 그리고 belongsTo와 같은 에지 레이블을 선택하십시오.

에지 매핑 요구 사항은 에지 유형 선택을 참조하세요. UI 단계는 자습서: 그래프에 에지 형식 추가를 참조하세요.

4단계: 일반적인 관계형 그래프 패턴 적용

변환하는 동안 이러한 패턴을 사용한 다음, 자세한 구현을 위해 연결된 가이드를 따릅니다. 전체 패턴 설명은 일반적인 테이블 형식-그래프 패턴을 참조하세요.

5단계: 그래프 모델 빌드 및 유효성 검사

매핑을 완료한 후 편집기에서 그래프 모델을 빌드하고 유효성을 검사합니다.

  1. 노드 형식을 추가하고 키 열에서 ID를 구성합니다.

  2. 에지 형식을 추가하고 원본 및 대상 열을 매핑합니다.

  3. 저장을 선택하여 모델을 확인하고 데이터를 로드합니다.

  4. 캔버스에 예상되는 노드 형식 및 에지 형식 레이블이 표시되는지 확인합니다.

  5. 유효성 검사 쿼리를 실행하여 관계 및 카디널리티를 확인합니다. 다음은 그 예입니다.

    MATCH (c:Customer)-[:purchases]->(o:Order)
    RETURN c.CustomerID_K, COUNT(o) AS orderCount
    ORDER BY orderCount DESC
    

    스키마와 일치하도록 레이블을 업데이트합니다. 각 에지 형식이 결과를 반환하고 해당 개수가 올바르게 표시되는지 확인합니다.

예상 에지가 누락된 경우 원본 테이블에서 조인 열 값 및 데이터 형식을 확인합니다.

일반적인 변환 문제 해결

  • 에지가 생성되지 않음: 원본 및 대상 매핑 열이 노드 키 값 및 데이터 형식과 일치하는지 확인합니다.
  • 중복 노드: 노드 키 열이 고유한지 확인하거나 복합 키로 전환합니다.
  • 과도하게 모델링된 그래프: 엔터티로 탐색할 필요가 없는 한 서술적 필드를 속성으로 유지합니다.
  • 모델링되지 않은 그래프: 관계 기반 분석이 필요할 때 노드 형식에 공유 열을 추출합니다.