Exqutor
No description available
Install / Use
/learn @BDAI-Research/ExqutorREADME
<div align="center">
<h1>
Exqutor: Extended Query Optimizer for Vector-augmented Analytical Queries (ICDE'26)
</h1>
</div>
Exqutor is an extended query optimizer designed to improve vector-augmented analytical queries (VAQs) by enhancing cardinality estimation in vector search operations. With the rise of Retrieval-Augmented Generation (RAG) and table-augmented generation, modern analytical workloads increasingly integrate structured relational data with vector similarity searches. However, existing database optimizers struggle with inaccurate cardinality estimation for vector search operations, leading to inefficient query execution plans.
System Design
- Exact Cardinality Query Optimization (ECQO): Leverages vector indexes (e.g., HNSW, IVF) to retrieve exact cardinality estimates during query planning.
- Adaptive Sampling-Based Cardinality Estimation: Dynamically adjusts the sample size to improve accuracy for queries without vector indexes.
- Seamless Integration: Implemented in PostgreSQL and DuckDB, demonstrating performance improvements of up to three orders of magnitude in vector-augmented analytical queries.
- Optimized for Vector-Augmented SQL Analytics: Supports complex joins, aggregations, and filters alongside vector similarity search.
Getting Started
Download datasets
cd Vector-augmented_SQL_analytics
./download_dataset.sh
Execution
pgvector + Exqutor
- Install pgvector + Exqutor
cd PostgreSQL/pgvector
./apply_patch.sh
./build.sh
- Setup Vector-augmented_SQL_analytics
tpc-h
cd Vector-augmented_SQL_analytics/tpc-h
./insert_data_pgvector.sh
- Execute queries
cd Vector-augmented_SQL_analytics/tpc-h/codes
python query_pgvector.py
VBASE + Exqutor
- Install VBASE + Exqutor
cd PostgreSQL/VBASE
./apply_patch.sh
./build.sh
- Setup Vector-augmented_SQL_analytics
cd Vector-augmented_SQL_analytics/tpc-h
./insert_data_vbase.sh
- Execute queries
cd Vector-augmented_SQL_analytics/tpc-h/codes
python query_vbase.py
DuckDB
- Install DuckDB-VSS
cd DuckDB/duckdb-vss
make
- Setup Vector-augmented_SQL_analytics
cd Vector-augmented_SQL_analytics/tpc-h
./insert_data_duckdb.sh
- Execute queries
cd DuckDB/duckdb-vss/build/release
./duckdb ./tpch
