
제목: MariaDB 혁신: 벡터 인덱스 성능
요약:
- 벡터 검색 벤치마크에서 MariaDB 12.3이 11.8보다 우수하고, Postgres의 pgvector 0.8.1보다도 성능이 높다. 대형 데이터셋에서 차이가 더 크게 나타나며, 쿼리당 CPU 사용량이 더 적어 성능이 개선됐다고 한다.
- 이 연구는 Small Datum LLC가 수행하고 MariaDB Foundation이 후원했다. 벤치마크는 ann-benchmarks를 이용했다.
- dbpedia-openai-angular 데이터셋의 100k, 500k, 1000k 버전에서 테스트를 진행했고, 하드웨어는 Hetzner ax162-s 서버(48코어, 128GB RAM, Ubuntu 22.04, HW RAID 10, 2 NVMe)로 구성됐다.
- 12.3이 모든 케이스에서 최상의 결과를 보였고, 11.8 대비 차이는 데이터셋 크기에 따라 다르게 나타난다.
자세한 내용:
- 연구 개요: 벡터 검색 성능을 ann-benchmarks로 벤치마크하고, MariaDB 11.8.5와 12.3.0 버전 간의 차이를 비교했다. Postgres 18.2와 pgvector 0.8.1도 함께 비교 대상으로 포함했다. 두 데이터베이스 모두 소스에서 컴파일되었고, Postgres의 경우 halfvec(float16) 여부에 따라 테스트를 수행했다.
- 설정과 방법: 이번 벤치마크는 1세션으로 수행했고, 내 fork의 ann-benchmarks를 사용했다. MariaDB용과 Postgres용 ann-benchmarks 구성 파일을 각각 사용했고, 100k/500k/1000k 규모의 dbpedia-openai-angular 테스트를 적용했다.
- 하드웨어 및 소프트웨어: Hetzner ax162-s 서버, 48코어 CPU, 128GB RAM, Ubuntu 22.04, HW RAID 10, 2개 NVMe 디바이스. MariaDB는 11.8.5와 12.3.0, Postgres는 18.2로 구성했고 모두 소스에서 컴파일했다.
- 벤치마크 실행 명령: 벤치마크를 실행하기 위한 명령은 다음과 같다.
- bash rall.batch.sh v1dbpedia-openai-100k-angular c32r128
- bash rall.batch.sh v1dbpedia-openai-500k-angular c32r128
- bash rall.batch.sh v1dbpedia-openai-1000k-angular c32r128
- 데이터셋별 결과 요약:
- dbpedia-openai-100k-angular: MariaDB 12.3이 최상위이며, 12.3 vs 11.8의 차이는 500k/1000k 케이스보다 작다.
- dbpedia-openai-500k-angular: MariaDB 12.3이 최상위이며, 12.3과 11.8의 차이가 100k 케이스보다 크다.
- dbpedia-openai-1000k-angular: MariaDB 12.3이 최상위이며, 12.3과 11.8의 차이가 100k/500k 케이스보다 크다.
- 추가 메모: 벤치 중 ps와 vmstat를 실행해 저장소 읽기가 없음을 확인했고, 데이터가 MariaDB와 Postgres에서 캐시되어 읽기가 줄어든 상태로 측정됐다.
원문 링크: http://smalldatum.blogspot.com/2026/02/mariadb-innovation-vector-index.html