콘텐츠로 이동

Configuration

AkasicDB를 안정적으로 운영하기 위한 주요 설정과 관리 방법을 정리합니다.

그래프 모듈 관련 GUC 파라미터

AkasicDB graph GUC parameter로 graph query planning을 조정합니다.

파라미터 설명 기본값
enable_graphplan 쿼리 플래너의 그래프 특화 연산자 사용 여부 (true/false) false
-- 예시: 세션 단위로 그래프 특화 연산자 사용 여부 조정
SET enable_graphplan = on;

AkasicDB에서 제공하는 그래프 특화 연산자의 효율성은 그래프 질의의 복잡도와 데이터의 규모, 그리고 데이터의 특성에 따라 달라질 수 있습니다.

벡터 모듈 관련 GUC 파라미터

AkasicDB vector GUC 파라미터는 query planning이나 query execution에 적용됩니다. 인덱스 생성 옵션은 CREATE INDEX ... WITH (options = ...)에서 지정하며, GUC로 바뀌지 않습니다.

파라미터 일람

파라미터 설명 기본값
vectoron.enable_index 쿼리 플래너의 벡터 인덱스 사용 여부 (true/false) true
vectoron.hnsw_ef_search HNSW 검색 중 후보 탐색 폭 100
vectoron.ivf_nprobe IVF 검색 시 스캔할 cluster 수 10
vectoron.pgvector_compatibility pgvector 호환 모드 활성화 (true/false) false
vectoron.search_mode 검색 모드 ("vbase" 또는 "basic") "vbase"
vectoron.vamana_l_search Vamana 검색 중 후보 탐색 폭 100
-- 세션 단위 HNSW 검색 폭
SET vectoron.hnsw_ef_search = 100;

한 쿼리에만 적용하려면 transaction 안에서 SET LOCAL을 사용합니다.

BEGIN;
SET LOCAL vectoron.vamana_l_search = 200;

SELECT id
  FROM items
 ORDER BY embedding <-> '[0.1,0.2,0.3]'::vector
 LIMIT 10;
COMMIT;

Search-time Parameters

파라미터 적용 대상 비고
vectoron.hnsw_ef_search HNSW query execution HNSW 검색 중 후보 탐색 폭입니다. 값을 키우면 recall이 좋아질 수 있지만 latency와 CPU 비용도 늘 수 있습니다.
vectoron.vamana_l_search Vamana query execution Vamana 검색 중 후보 탐색 폭입니다. 값을 키우면 recall이 좋아질 수 있지만 latency와 CPU 비용도 늘 수 있습니다. build-time indexing.vamana.l_search와 다릅니다.
vectoron.ivf_nprobe IVF query execution query에서 scan할 IVF cluster 수입니다. 값을 키우면 recall이 좋아질 수 있지만 I/O와 latency가 늘 수 있습니다. build-time indexing.ivf.nlist와 다릅니다.

운영 환경에 적용하기 전 실제 filter 조건과 데이터 분포에 가까운 query set으로 recall과 latency를 확인하시기 바랍니다.