Monitoring & Metrics

1. 그래프 정의 및 생성 상태 조회

1.1 그래프 정의 리스트 확인

-- 모든 그래프 정의 리스트 출력
-- 각 그래프 정의에 대해, 그래프의 생성 여부, 생성된 그래프와 현재 그래프 정의 간의 일치 여부를 확인 가능
SELECT * FROM akasicdb.list_graph_definition();

주요 컬럼 설명

컬럼명 타입 설명
graph_name name 그래프 이름
is_created boolean 그래프 생성 여부
match_with_graph_definition boolean (그래프가 생성되었다면) 현재 그래프 정의와 일치 여부

1.2 그래프 정의 상세 확인

-- 그래프 정의 'retail_graph'의 세부(그래프 정의에 포함된 정점/간선 정의) 출력
-- 그래프 생성 여부, 생성된 그래프와 현재 그래프 정의와의 일치 여부도 포함해서 출력
SELECT * FROM akasicdb.show_graph_definition('retail_graph');

함수 인자 설명

akasicdb.show_graph_definition(
    graph_name -- 확인할 그래프 정의의 이름
);

주요 컬럼 설명

컬럼명 타입 설명
entity_type name 개체 타입 (vertex 또는 edge)
label name 정점/간선 레이블
vertex_table name (정점의 경우) 정점 정의에 사용된 테이블
ID_column name (정점의 경우) vertex_table에서 정점의 식별자로 사용된 컬럼
src_label name (간선의 경우) 출발 정점의 레이블
src_table name (간선의 경우) query에서 출발 정점에 해당하는 테이블
dst_label name (간선의 경우) 도착 정점의 레이블
dst_table name (간선의 경우) query에서 도착 정점에 해당하는 테이블
query name 정점/간선 정의에 사용된 SQL 질의

1.3 생성된 그래프 리스트 확인

-- 현재 생성된 모든 그래프 리스트 출력
-- 각 그래프에 대해, 현재 그래프 정의와의 일치 여부, 그래프 정의의 삭제 여부를 확인 가능
SELECT * FROM akasicdb.list_graph();

주요 컬럼 설명

컬럼명 타입 설명
graph_name name 그래프 이름
match_with_graph_definition boolean 현재 그래프 정의와의 일치 여부
undefined_graph boolean 그래프 정의의 삭제 여부

2. 벡터 인덱스 상태 조회

다음 SQL을 실행하여 vectoron_index_stat 뷰를 조회하세요:

SELECT
  tablename,
  indexname,
  idx_status,
  idx_indexing,
  idx_tuples,
  idx_size
FROM
  vectoron_index_stat;
  • tablename: 테이블 이름
  • indexname: 인덱스 이름
  • idx_status: NORMAL 또는 UPGRADE
  • idx_indexing: true 일 때 백그라운드 병합 진행 중
  • idx_tuples: 총 벡터 개수
  • idx_size: 인덱스의 전체 바이트 크기

2.1 주요 컬럼 설명

컬럼명 타입 설명
tablerelid oid 테이블의 내부 OID
indexrelid oid 인덱스의 내부 OID
tablename name 테이블 이름
indexname name 인덱스 이름
idx_status text 인덱스 상태 (NORMAL 또는 UPGRADE)
idx_indexing bool 백그라운드 인덱싱 중인 경우 true
idx_tuples int8 현재까지 인덱싱된 벡터 개수
idx_sealed int8[] 완료된 세그먼트별 벡터 개수 배열
idx_growing int8[] 성장 중인 세그먼트별 벡터 개수 배열
idx_write int8 쓰기 버퍼에 남은 벡터 개수
idx_size int8 모든 세그먼트의 총 바이트 크기
idx_options text 인덱스 생성 옵션 설정

2.2 모니터링 절차

  1. 뷰 조회 idx_indexing, idx_tuples, idx_size 등을 포함해 주기적으로 뷰를 조회합니다.
  2. 진행 상태 확인

    • idx_indexing = true → 백그라운드 병합 작업 중
    • idx_indexing = false → 인덱싱 완료
  3. 세부 메트릭 관찰

    • idx_sealed, idx_growing, idx_write 배열을 통해 세그먼트별 진행률 파악
    • idx_size 로 메모리·디스크 사용량 확인
  4. 자동화 및 알림 필요시 스크립트나 모니터링 도구에 이 뷰를 연동해, 특정 기준(예: 병합 지연, 메모리 초과) 발생 시 알림을 받을 수 있습니다.

위 절차를 통해 AkasicDB의 그래프와 벡터 인덱스의 상태를 실시간으로 확인하고, 안정적인 운영을 지원할 수 있습니다.


This site uses Just the Docs, a documentation theme for Jekyll.