본문으로 건너뛰기

스키마 그래프

스키마 그래프

스키마 그래프는 ArangoDB 그래프 데이터베이스에 저장된 테이블/컬럼 간의 관계를 시각화하고 Text-to-SQL의 정확도를 높이는 데 활용됩니다.

주요 기능

  • 스키마 동기화: Trino 카탈로그의 메타데이터를 ArangoDB 그래프로 동기화합니다
  • 관계 그래프 조회: 테이블 간 FK 관계, 조인 경로를 그래프 형태로 조회합니다
  • Text-to-SQL 보강: AI가 SQL을 생성할 때 테이블 관계 정보를 참조하여 정확한 JOIN을 구성합니다
  • 카탈로그 필터링: 특정 카탈로그의 스키마 그래프만 조회할 수 있습니다

스키마 동기화

스키마 동기화를 실행하면 Trino의 카탈로그/스키마/테이블/컬럼 메타데이터가 ArangoDB 그래프에 반영됩니다. 동기화 후 새로 추가된 테이블이나 변경된 컬럼이 Text-to-SQL에 반영됩니다.

그래프 구조

사용 방법

  1. AI > 스키마 그래프 메뉴에서 그래프를 조회합니다
  2. Catalog 드롭다운에서 대상 카탈로그를 선택합니다
  3. Schema 드롭다운에서 스키마를 선택합니다 (예: public)
  4. 그래프에서 테이블 노드를 클릭하면 컬럼 목록이 확장됩니다
  5. FK 관계는 테이블 간 엣지(화살표)로 표시됩니다
  6. 새 테이블이 추가되면 동기화 버튼을 클릭하여 ArangoDB에 최신 메타데이터를 반영합니다

sourcedb 카탈로그 예시

실제 업무 데이터가 있는 sourcedb.public 카탈로그를 선택하면 12개 테이블과 FK 관계를 확인할 수 있습니다.

sourcedb 스키마 그래프

accounts → customers, credit_assessments → customers 등 FK 관계가 엣지로 표시됩니다.

AI Agent Chat에서 스키마 확인

스키마 그래프를 시각적으로 볼 수 없는 환경에서도 AI Agent Chat을 통해 테이블 구조를 확인할 수 있습니다.

사용자: "sourcedb.public.customers 테이블의 컬럼과 타입을 알려줘"
AI: [get_columns 도구 호출]
customer_id(varchar), name(varchar), phone(varchar), email(varchar),
address(varchar), birth_date(varchar), gender(varchar), credit_score(bigint),
annual_income(bigint), customer_grade(varchar), is_active(boolean), ...
사용자: "sourcedb.public의 테이블 목록 보여줘"
AI: [get_tables 도구 호출]
accounts, app_events, consultations, credit_assessments, customer_segments,
customers, fraud_labels, marketing_consents, merchants, orders, products, transactions

AI Agent Chat에서 get_columns, get_tables 도구를 활용하면 그래프 UI 없이도 스키마 정보를 빠르게 확인할 수 있습니다. 자세한 내용은 AI Agent Chat을 참조하세요.

API 엔드포인트

MethodPathDescription
GET/api/v1/ai/schema/graph스키마 그래프 조회
POST/api/v1/ai/schema/sync스키마 동기화 실행

관련 문서