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 모니터링 절차
- 뷰 조회
idx_indexing,idx_tuples,idx_size등을 포함해 주기적으로 뷰를 조회합니다. -
진행 상태 확인
idx_indexing = true→ 백그라운드 병합 작업 중idx_indexing = false→ 인덱싱 완료
-
세부 메트릭 관찰
idx_sealed,idx_growing,idx_write배열을 통해 세그먼트별 진행률 파악idx_size로 메모리·디스크 사용량 확인
- 자동화 및 알림 필요시 스크립트나 모니터링 도구에 이 뷰를 연동해, 특정 기준(예: 병합 지연, 메모리 초과) 발생 시 알림을 받을 수 있습니다.
위 절차를 통해 AkasicDB의 그래프와 벡터 인덱스의 상태를 실시간으로 확인하고, 안정적인 운영을 지원할 수 있습니다.