Spanner Graph 시각화에는 쿼리에서 반환한 그래프 요소나 그래프 스키마 요소가 표시됩니다. 시각화를 사용하면 데이터 포인트(노드)가 연결되는 방식(에지)을 파악할 수 있습니다. 데이터 포인트 수백 개로 구성된 테이블을 해석하기 어려울 수 있지만 그래프 시각화를 사용하면 패턴, 종속 항목, 이상치를 파악할 수 있습니다.
Spanner Graph 쿼리 결과 시각화
Spanner Studio에서 Spanner Graph 쿼리 결과를 시각화하려면 쿼리에서 SAFE_TO_JSON 또는 TO_JSON 함수를 사용하여 JSON 형식의 그래프 요소를 반환해야 합니다. 노드와 에지를 개별적으로 반환하는 대신 그래프 경로를 반환하는 것이 좋습니다. 경로를 반환하면 다음과 같은 이점이 있습니다.
경로에는 노드와 에지의 전체 데이터가 포함됩니다. 개별 노드와 에지를 반환하면 복잡한 쿼리의 시각화에서 일부 중간 노드와 에지를 사용할 수 없게 될 수 있습니다.
경로를 반환하면
RETURN문은 노드와 에지를 개별적으로 반환하는 경우보다 덜 복잡해질 수 있습니다.
다음 샘플 쿼리에서는 시각화할 수 있는 계정 이전 경로를 반환합니다.
GRAPH FinGraph
MATCH result_paths = (account:Account {is_blocked: True})-[:Transfers]->(dest_account:Account)
RETURN SAFE_TO_JSON(result_paths) AS result_paths
쿼리를 실행하면 쿼리 결과 영역에 시각화가 표시됩니다. 세부정보 패널에는 노드 라벨과 에지 라벨의 요약과 각 라벨 수가 표시됩니다. 다음 스크린샷과 같이 노드 또는 에지를 클릭하여 그래프를 탐색하고 속성, 이웃, 연결을 봅니다. 또는 쿼리 결과를 테이블로 보거나 기본 그래프 스키마 시각화로 전환할 수 있습니다.
자세한 내용은 그래프 요소를 JSON으로 반환을 참조하세요.
Spanner Graph 시각화 레이아웃 선택
시각화 패널의 메뉴에서는 다음과 같은 레이아웃 옵션을 제공합니다.
강제 레이아웃(기본값): 노드를 연결된 노드가 서로 당기는 동안에 서로 밀어내는 점으로 표시하여 물리력을 시뮬레이션해 시각적으로 직관적인 레이아웃을 만듭니다.
계층적: 연결을 기반으로 시각적 계층 구조가 생성되도록 노드를 배치합니다.
순차: 연결을 기반으로 시각적 시퀀스가 생성되도록 노드를 배치합니다.
라벨 표시: 모든 확대/축소 수준에서 그래프에 모든 노드 라벨과 에지 라벨을 표시합니다.
Spanner Graph 스키마 시각화
노드, 에지, 라벨, 속성과 같은 Spanner Graph의 구조는 그래프 요소를 Spanner 테이블의 데이터에 매핑하는 스키마에 의해 정의됩니다. 그래프 정의는 입력 테이블을 사용하여 만든 스키마에 저장되거나 스키마 없는 데이터 관리를 사용할 때 데이터에서 명확하게 드러납니다.
스키마로 만든 그래프 또는 스키마 없는 데이터 관리를 사용하는 그래프를 시각화할 수 있습니다. 스키마를 시각화하면 포함된 노드 및 에지의 유형과 연결 방식을 비롯한 그래프의 구조를 이해하는 데 도움이 됩니다. 이는 복잡한 그래프에 유용하며 DDL 문만으로는 추론하기 어려울 수 있는 관계를 명확하게 보여줍니다.
다음 중 하나를 수행하여Google Cloud 콘솔에서 Spanner Graph 스키마의 시각화를 확인할 수 있습니다.
Spanner Graph 쿼리 결과의 시각화를 보는 경우 쿼리 결과 패널의 결과 탭에서 스키마 보기로 전환을 클릭합니다.
탐색기 창에서 Spanner Graph의 스키마 보기를 클릭합니다.
Google Cloud 콘솔에서 Spanner 페이지를 엽니다.
목록에서 인스턴스를 선택합니다.
데이터베이스를 선택합니다.
탐색 메뉴에서 Spanner 스튜디오를 클릭합니다. 탐색기 창에 데이터베이스의 객체 목록이 표시됩니다.
Spanner Graph에서 작업 보기를 클릭한 다음 스키마 보기를 클릭합니다.
Spanner Graph 시각화 문제 해결
다음은 Spanner Graph 시각화 문제와 동작을 해결하고 이해하는 데 도움이 됩니다.
Spanner Graph 쿼리에 시각화가 표시되지 않음
문제: Spanner Graph 쿼리를 실행하면 쿼리가 테이블 형식으로만 표시됩니다.
원인: 쿼리에서 JSON 형식의 그래프 요소를 반환하지 않습니다. 예를 들면 다음과 같습니다.
- 다음 쿼리는 노드 식별자와 에지 식별자를 반환하므로 시각화될 수 없습니다.
GRAPH FinGraph
MATCH (person:Person {name: "Dana"})-[owns:Owns]->(account:Account)
RETURN person.id as person_id, account.id as account_id
- 다음 쿼리는 속성 값을 반환하므로 시각화될 수 없습니다.
GRAPH FinGraph
MATCH (person:Person {name: "Dana"})-[owns:Owns]->(account:Account)
RETURN owns.create_time, account.nick_name
추천 솔루션:
SAFE_TO_JSON 또는 TO_JSON을 사용하여 그래프 요소를 JSON 형식으로 반환합니다. 자세한 내용은 Spanner Graph 쿼리 결과 시각화를 참조하세요.
Spanner Graph 쿼리 결과가 부분적으로 시각화됨
문제: 쿼리 결과 시각화에 쿼리 결과 일부만 표시됩니다.
원인: 쿼리가 10MB가 넘는 데이터를 반환합니다. 쿼리 시각화는 최대 10MB까지의 데이터를 표시할 수 있습니다.
추천 솔루션: 10MB 미만의 데이터가 반환되도록 쿼리를 간소화합니다.
Spanner Graph 시각화에 예상치 못한 라벨이 있는 노드 또는 에지가 포함됨
문제: Spanner Graph 시각화의 노드나 에지에 예상치 못한 라벨이 표시됩니다.
원인: 노드나 에지에 라벨이 여러 개 있습니다. Spanner Graph 시각화는 노드와 에지마다 라벨 하나를 표시할 수 있습니다. 노드 또는 에지에 라벨이 두 개 이상 있으면 첫 번째 라벨이 시각화에 표시됩니다.
추천 솔루션: 없습니다. 표시되는 라벨을 변경할 수 없습니다.
일부 그래프 요소가 Spanner Graph 시각화에 표시되지 않음
문제: 시각화에 반환된 모든 노드와 에지가 포함되지만 일부 그래프 요소가 표시되지 않습니다.
원인: Spanner Graph 시각화를 만드는 데 사용된 쿼리에서 그래프 경로 대신 개별 노드와 에지를 반환합니다.
추천 솔루션: 그래프 경로가 반환되도록 쿼리를 업데이트합니다.
다음 단계
- Spanner Graph 설정 및 쿼리 방법 알아보기
- Spanner Graph 쿼리 알아보기
- Spanner Graph 스키마 알아보기
- Spanner Graph 시각화 통합 알아보기