Skip to content

Vector 저장 TPS 및 JDBC Batch Size 비교 지원 추가 구현 #155

Description

@Gimini-3

배경

DocGrid는 vector(1024)와 HNSW 검색 성능을 검증했지만, Vector 저장 경로에서 데이터 규모와 JDBC Batch Size가 처리량에 미치는 영향은 정량화되지 않았습니다.

실제 PostgreSQL 17 + pgvector 0.8.1 환경에서 HNSW 온라인 갱신과 Transaction Commit을 포함한 저장 TPS를 비교해 대량 인덱싱의 Batch 기준선을 확보합니다.

작업 범위

  • 1,000·10,000·100,000건 저장 규모 비교
  • JDBC Batch Size 1·100·500·1,000 비교
  • 실제 vector(1024) 저장과 HNSW 온라인 인덱스 갱신 포함
  • Vector 생성 비용을 제외하고 Bind부터 Commit까지 측정
  • Row 수·Vector 차원·HNSW·Batch 실행 횟수 자동 검증
  • 전용 Gradle 성능 테스트 작업 추가
  • 설계, 원본 JSON, 측정 결과와 해석 기록
  • 일반 테스트에서 장시간 성능 태그 분리

완료 조건

  • 12개 Profile을 실제 PostgreSQL에서 측정
  • Profile별 TPS·저장 시간·Batch 호출·저장 공간 기록
  • 저장 Row 수와 1024차원 계약 검증
  • Batch 실패와 부분 저장 없음
  • 전용 스모크 테스트와 전체 일반 회귀 테스트 성공

측정 경계

포함:

  • PreparedStatement Bind와 addBatch()
  • executeBatch()
  • pgvector 저장과 HNSW 온라인 갱신
  • Transaction Commit

제외:

  • BGE-M3 추론과 HTTP
  • Chunk 생성
  • Vector 생성과 문자열 직렬화
  • 신규 HNSW 일괄 구축 시간

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions