관계형 데이터를 Microsoft Fabric 그래프 모델로 변환하면 반복되는 조인을 작성하는 대신 직접 연결을 쿼리할 수 있습니다. 이 문서에서는 관계형 테이블을 노드 형식 및 에지 형식에 매핑한 다음, 크기를 조정하기 전에 모델의 유효성을 검사하기 위한 실제 변환 워크플로를 제공합니다.
그래프가 워크로드에 적합한지 여부를 아직 결정하는 경우 먼저 그래프와 관계형 데이터베이스 비교를 검토합니다.
이 문서를 변환 검사 목록으로 사용합니다. 자세한 모델링 규칙은 그래프 스키마 디자인을 참조하세요.
사전 요구 사항
- 항목을 만들 수 있는 권한이 있는 Fabric 작업 영역.
- 원본 관계형 테이블을 포함하는 레이크하우스 입니다.
- 테넌트에 대해 사용하도록 설정된 그래프 이며 해당 지역에서 사용할 수 있습니다.
- 그래프 모델 편집기를 잘 알고 있습니다. 그래프를 접하는 경우 자습서: 그래프 소개로 시작합니다.
변환 워크플로
관계형 데이터를 변환할 때 다음 시퀀스를 사용합니다.
- 원본 테이블을 살펴보고 데이터의 엔터티(고객, 제품, 주문), 각 행을 고유하게 식별하는 방법 및 테이블이 서로 연결되는 방법을 식별합니다.
- 그래프에서 노드 형식이 되는 엔터티와 각 엔터티를 고유하게 식별하는 열을 결정합니다.
- 에지 형식이 되는 테이블 연결과 해당 연결이 이동하는 방향(예:
Customer구매)을 결정합니다Order. - 테이블 구조(일대다, 다대다, 포함된 값 또는 관련 테이블의 체인)에 따라 올바른 매핑 패턴을 적용합니다.
- 그래프 모델 편집기에서 모델을 빌드하고 노드 형식 및 에지 형식이 예상대로 표시되는지 확인합니다.
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단계: 일반적인 관계형 그래프 패턴 적용
변환하는 동안 이러한 패턴을 사용한 다음, 자세한 구현을 위해 연결된 가이드를 따릅니다. 전체 패턴 설명은 일반적인 테이블 형식-그래프 패턴을 참조하세요.
- 일대다: 자식 테이블은 부모 키를 참조합니다(예: 고객을 참조하는 주문). 자습서: 그래프에 에지 형식 추가를 참조하세요.
- 다 대 다: 접합 테이블은 두 엔터티(예: 제품 및 주문을 연결하는 SalesOrderDetail 테이블)를 연결합니다. 자습서: 그래프에 에지 형식 추가를 참조하세요.
-
포함된 엔터티: 열 값은 통과 가능한 노드 형식이 되어야 합니다(예: 노드 형식으로
CountryCountry승격). 자습서: 하나의 원본 테이블에서 여러 노드 및 에지 형식을 추가합니다. - 계층 구조: 부모-자식 체인은 여러 수준(예: 직원 보고 구조)에 걸쳐 있습니다. 자습서: 그래프에 에지 형식 추가를 참조하세요.
5단계: 그래프 모델 빌드 및 유효성 검사
매핑을 완료한 후 편집기에서 그래프 모델을 빌드하고 유효성을 검사합니다.
노드 형식을 추가하고 키 열에서 ID를 구성합니다.
에지 형식을 추가하고 원본 및 대상 열을 매핑합니다.
저장을 선택하여 모델을 확인하고 데이터를 로드합니다.
캔버스에 예상되는 노드 형식 및 에지 형식 레이블이 표시되는지 확인합니다.
유효성 검사 쿼리를 실행하여 관계 및 카디널리티를 확인합니다. 다음은 그 예입니다.
MATCH (c:Customer)-[:purchases]->(o:Order) RETURN c.CustomerID_K, COUNT(o) AS orderCount ORDER BY orderCount DESC스키마와 일치하도록 레이블을 업데이트합니다. 각 에지 형식이 결과를 반환하고 해당 개수가 올바르게 표시되는지 확인합니다.
예상 에지가 누락된 경우 원본 테이블에서 조인 열 값 및 데이터 형식을 확인합니다.
일반적인 변환 문제 해결
- 에지가 생성되지 않음: 원본 및 대상 매핑 열이 노드 키 값 및 데이터 형식과 일치하는지 확인합니다.
- 중복 노드: 노드 키 열이 고유한지 확인하거나 복합 키로 전환합니다.
- 과도하게 모델링된 그래프: 엔터티로 탐색할 필요가 없는 한 서술적 필드를 속성으로 유지합니다.
- 모델링되지 않은 그래프: 관계 기반 분석이 필요할 때 노드 형식에 공유 열을 추출합니다.