다음을 통해 공유


그래프 데이터베이스란?

비고

이 기능은 현재 공개 미리 보기로 제공됩니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며 프로덕션 워크로드에는 사용하지 않는 것이 좋습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

그래프 데이터베이스는 연결된 엔터티 및 관계의 네트워크로 데이터를 모델화합니다. 가장 일반적으로 사용되는 그래프 데이터베이스 형식은 레이블이 지정된 속성 그래프 모델을 구현합니다. 엔터티(노드) 및 관계(에지)에는 레이블과 속성(키-값 쌍)이 있을 수 있습니다. 이 유연한 모델을 사용하면 스키마 선택적 디자인과 스키마 기반 디자인을 모두 사용할 수 있으며 풍부한 의미 체계를 표현할 수 있습니다. 연결은 명시적으로 에지로 저장되므로 쿼리는 쿼리 시간에 비용이 많이 드는 조인을 계산하는 대신 에지를 따라 관계를 트래버스합니다.

중요합니다

이 글은 오직 소셜 네트워크 예시 그래프 데이터셋만을 사용합니다.

그래프 데이터베이스 핵심 개념

  • 노드는 사람, 제품 또는 장소와 같은 항목을 나타냅니다. 노드에는 특성을 설명하는 레이블과 속성이 있을 수 있습니다.
  • 에지는 FRIENDS_WITH, PURCHASED 또는 LOCATED_IN 같이 이러한 항목이 연결된 방식을 나타냅니다. 에지는 관계 메타데이터를 인코딩하기 위해 속성 및 레이블을 전달할 수도 있습니다.
  • 속성은 노드 및 에지에 세부 정보를 연결합니다(예: 사람의 이름 또는 날짜 이후의 에지). 관계는 명시적으로 에지로 저장되므로 쿼리는 쿼리 시 계산하지 않고 연결을 따라 그래프를 탐색합니다.

쿼리 관계의 작동 방식

그래프 쿼리는 시작 노드에서 인접 노드, 인접 노드 등으로 트래버스하여 연결된 정보를 검색합니다. 순회 과정의 노력은 데이터 세트의 총 크기가 아니라 탐색 경로에서 만나는 가장자리 수, 즉 로컬 영역에 관련이 있습니다. 이렇게 하면 연결, 패턴 및 경로에 대한 질문, 예를 들어 '친구의 친구', 최단 경로 또는 다중 홉 종속성 같은 질문이 자연스럽고 효율적으로 표현됩니다.

그래프 데이터베이스는 점점 더 많이 채택되는 GQL(그래프 쿼리 언어)과 같은 패턴 기반 쿼리 언어를 사용하여 이러한 순회를 간결하게 설명합니다. GQL은 SQL(ISO/IEC 39075)을 감독하는 동일한 국제 작업 그룹에 의해 표준화되고 있으며, 그래프 쿼리를 설정된 데이터베이스 표준에 맞춥니다.

예제(GQL과 패턴 일치):

MATCH (p:Person {firstName: "Annemarie"})-[:knows]->(friend)-[:likes]->(c:Comment)
RETURN c
ORDER BY c.creationDate
LIMIT 100

이 패턴은 Annemarie의 Person 노드에서 시작하여 각 친구에게 :knows 에지를 따라가고, 관련 :Comment 노드로 이동한 후, 100개의 최신 댓글을 반환합니다.

모델링 및 스키마

그래프 데이터 모델은 스키마 선택 사항입니다. 강력한 거버넌스가 필요할 때 고정 스키마로 작업하거나 새 노드 형식, 관계 또는 속성이 표시되면 모델을 발전할 수 있습니다. 이 방법을 사용하면 데이터 중복에 대한 필요성이 줄어들고 팀이 사전 재설계 없이 여러 원본의 데이터를 통합할 수 있습니다.

그래프 데이터베이스에 대한 일반적인 사용

그래프 데이터베이스는 연결이 소셜 네트워크, 지식 그래프, 권장 시스템, 사기 및 위험 네트워크, 네트워크 및 IT 토폴로지, 공급망 종속성 분석과 같은 가치를 구동하는 도메인과 긴밀하게 일치합니다. 이러한 시나리오에서는 단일 레코드에 대한 질문이 적고, 여러 홉을 통해 얼마나 많은 엔터티가 관련되고 상호 작용하는지에 대한 질문이 더 많습니다.

그래프 데이터베이스를 고려해야 하는 경우

기본 질문에 연결된 데이터의 경로, 지역 및 패턴이 포함된 경우 그래프 데이터베이스를 선택합니다. 홉 수가 변수이거나 미리 알려지지 않은 경우 또는 서로 다른 데이터 세트 간에 관계를 결합하고 탐색해야 하는 경우 반복적으로 대답해야 하는 질문인 경우 그래프 모델은 자연스럽게 적합합니다.

ETL에 대한 정보

데이터를 그래프로 나타내고 별도의 독립 실행형 그래프 데이터베이스에 저장하면 ETL 및 거버넌스 오버헤드가 발생하는 경우가 많습니다. 반면, Microsoft Fabric의 그래프는 OneLake에서 직접 작동하므로 별도의 ETL 파이프라인 및 데이터 중복이 감소하거나 필요하지 않습니다. 다음과 같은 절충을 고려하세요.

  • 데이터 이동 및 중복: 독립 실행형 그래프 데이터베이스에는 일반적으로 ETL(추출, 변환 및 로드)이 필요하므로 복잡성이 증가하고 중복된 데이터 세트가 발생할 수 있습니다. Microsoft Fabric의 그래프는 OneLake에서 작동하므로 연결된 데이터를 이동하지 않고도 모델링하고 쿼리할 수 있습니다.
  • 운영 비용: 독립 실행형 그래프 스택은 별도의 클러스터 또는 서비스로 실행되며 종종 유휴 용량 요금을 부과합니다. 패브릭의 그래프 워크로드는 자동 스케일 다운 및 중앙 집중식 메트릭을 사용하여 풀링된 CPU(용량 단위)를 사용하므로 작업이 간소화되고 비용이 절감될 수 있습니다.
  • 확장성: 일부 독립 실행형 그래프 데이터베이스는 확장 또는 공급업체별 클러스터링에 따라 달라집니다. Microsoft Fabric의 그래프는 대규모 그래프용으로 설계되었으며 여러 작업자의 스케일 아웃 분할을 사용하여 빅 데이터 워크로드를 효율적으로 처리합니다.
  • 도구 및 기술: 공급업체별 그래프 시스템에는 특수 언어와 별도의 분석 프레임워크가 필요할 수 있습니다. Microsoft Fabric의 그래프는 통합 모델링, GQL(표준 기반 쿼리), 기본 제공 그래프 분석 알고리즘, BI 및 AI 통합 및 로우/노 코드 예비 도구를 제공하므로 광범위한 사용자 집합이 연결된 데이터를 사용할 수 있습니다.
  • 거버넌스 및 보안: 별도의 그래프 배포에는 독립적인 거버넌스 및 보안 설정이 필요합니다. Microsoft Fabric의 Graph는 OneLake 거버넌스, 계보 및 작업 영역 RBAC(역할 기반 액세스 제어)를 사용하므로 규정 준수, 감사 및 권한은 나머지 패브릭 환경과 일관되게 유지됩니다.