Repository navigation
cli for elastic - #662
Merged
Merged
cli for elastic#662
Conversation
alwayslove2013
approved these changes
Dec 2, 2025
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: alwayslove2013, Denise2004 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
Akhil-Pathivada
pushed a commit
to Akhil-Pathivada/VectorDBBench
that referenced
this pull request
Dec 5, 2025
shaharuk-yb
added a commit
to yugabyte/VectorDBBench
that referenced
this pull request
Aug 3, 2026
* fix: Unable to run vebbench and cli
fix: remove comma of logging str
fix cli unable to run #444
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* enhance: Unify optimize and remove ready_to_load
PyMilvus used to be the only client that uses ready_to_load.
Not it'll load the collection when creating it, so
this PR removes `ready_to_load` from the client.API
Also this PR enhance optimize and remove the optimize_with_size
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* add mongodb client
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
* add mongodb client in readme
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
* add some risk warnings for custom dataset
- limit the number of test query vectors.
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* Bump grpcio from 1.53.0 to 1.53.2 in /install
Bumps [grpcio](https://github.com/grpc/grpc) from 1.53.0 to 1.53.2.
- [Release notes](https://github.com/grpc/grpc/releases)
- [Changelog](https://github.com/grpc/grpc/blob/master/doc/grpc_release_schedule.md)
- [Commits](https://github.com/grpc/grpc/compare/v1.53.0...v1.53.2)
---
updated-dependencies:
- dependency-name: grpcio
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* add mongodb config
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
* Opensearch interal configuration parameters (#463)
* Added the configuration parameters to create Opensearch dynamically with right replicas, shards and other opensearch related configurations.
Added the feature to create OS index with 0 replica and once the data is loaded update the replicas according to the parameter.
* Updated the readme for config parameters
---------
Co-authored-by: xavrathi <xavrathi@amazon.com>
* ui control num of concurrencies
Signed-off-by: siqi.an <ansiqi_7777@163.com>
* Update README.md
* environs version should <14.1.0
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* Support GPU_BRUTE_FORCE index for Milvus (#476)
Signed-off-by: Rachit Chaudhary <rachit.chaudhary@outlook.com>
Co-authored-by: Signed-off-by: Rachit Chaudhary - r0c0axe <Rachit.Chaudhary@walmart.com>
* Add table quantization type
* Support MariaDB database (#375)
MariaDB introduced vector support in version 11.7, enabling MariaDB
Server to function as a relational vector database.
https://mariadb.com/kb/en/vectors/
Now add support for MariaDB server, verified against MariaDB server
of version 11.7.1:
- Support MariaDB vector search with HNSW algorithm, support filter
search.
- Support index and search parameters:
- storage_engine: InnoDB or MyISAM
- M: M parameter in MHNSW vector indexing
- ef_search: minimal number of result candidates to look for in the
vector index for ORDER BY ... LIMIT N queries.
- max_cache_size: Upper limit for one MHNSW vector index cache
- Support CLI of `vectordbbench mariadbhnsw`.
* Add TiDB backend (#484)
* Add TiDB backend
Signed-off-by: Wish <breezewish@outlook.com>
* Fix
Signed-off-by: Wish <breezewish@outlook.com>
* Fix
Signed-off-by: Wish <breezewish@outlook.com>
* Improve error handling
Signed-off-by: Wish <breezewish@outlook.com>
---------
Signed-off-by: Wish <breezewish@outlook.com>
* CLI fix for GPU index (#485)
* Support GPU_BRUTE_FORCE index for Milvus
Signed-off-by: Rachit Chaudhary <rachit.chaudhary@outlook.com>
* MilvusGPUBruteForceTypedDict addition
Signed-off-by: Rachit Chaudhary <rachit.chaudhary@outlook.com>
---------
Signed-off-by: Rachit Chaudhary <rachit.chaudhary@outlook.com>
Co-authored-by: Signed-off-by: Rachit Chaudhary - r0c0axe <Rachit.Chaudhary@walmart.com>
* remove duplicated code
* feat: initial commit
* Add vespa integration
* remove redundant empty_field config check for qdrant and tidb
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* reformat all
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* fix cli crush
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* downgrade streamlit version
* add more milvus index types: hnsw sq/pq/prq; ivf rabitq
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* add more milvus index types: ivf_pq
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* Add HNSW support for Clickhouse client (#500)
* feat: add hnsw support
* refactor: minor fixes
* feat: reformat code
* fix: remove sql injections, reformat code
* fix bugs when use custom_dataset without groundtruth file
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* fix: prevent the frontend from crashing on invalid indexes in results
* fix ruff warnings
* Fix formatting
* Add lancedb
* Add --task-label option for cli (#517)
* Add --task-label option for cli
* Fix lint issues
* Add qdrant cli
* Update README.md
* Fixing Bugs in Benchmarking ClickHouse with vectordbbench (#523)
* Update cli.py
* Update clickhouse.py
* Update clickhouse.py
* Update cli.py
* Update config.py
* remove space
* Add --concurrency-timeout option to avoid long time waiting (#521)
* Add --concurrency-timeout option to avoid long time waiting, by default, it's 3600s.
* Fix lint error
* Update README.md, add --concurrency-timeout option
* add alias: VDBBench
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* LanceDB: Improve serial latency by only selecting id
* add --num-shards option for milvus performance test case (#526)
* add --num-shards option for milvus performance test case
* fix lint warning
* Add a batch cli to support the batch execution of multiple cases. (#530)
* Add a batch cli to support the batch execution of multiple cases.
* Add how to use
* Fixing bugs in aws opensearch client and added fp16 support (#529)
* Fixing bugs in aws opensearch client
Signed-off-by: Navneet Verma <navneev@amazon.com>
* Added fp16 quantization type for aws_opensearch
Signed-off-by: Navneet Verma <navneev@amazon.com>
---------
Signed-off-by: Navneet Verma <navneev@amazon.com>
* Bugfix: add num_shards option to MilvusHNSW
* BugFix: An error occurs when the password option is not passed.
* Add support for Qdrant local setup (#533)
* Add Qdrant local
* Add support for local setup without authentication api-key for weaviate
* Expose HSNW index parameters to cli for weaviate
* Add hnsw-ef parameter to Qdrant local
---------
Co-authored-by: Min Tian <min.tian.cn@gmail.com>
* Fix python import in MemoryDB client
The incorrect import is a result of previous duplicate import of the same class name and recent refactoring.
https://github.com/zilliztech/VectorDBBench/commit/032515f9f066398a8fc6c31c0e8c33ed43a0f446#diff-1638e273a6d7eee7b4412bf79bda9112da86d53e18d1b650b8b80a2e1df4f7e6R15
* upgrade ruff / black, reformat all
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* change lancedb vector type to float32
* add num_shards to MilvusConfig.to_dict()
* expose lancedb index parameters to the cli interface (#537)
* expose lancedb index parameters to the cli interface
* fix formatting issues
* Add parameters of aws opensearch, support hnsw engine options, support multi-client load data (#527)
* fix error of OpenSearch frontend:Validation error for AWSOpenSearchIndexConfig index_thread_qty_during_force_merge
* add parameters of aws opensearch in frontend.
* fiexd issue of opensearch ui and add multi-client indexing, add parameters of hnsw engine and metric-type.
* fiexd issue of opensearch ui and add multi-client indexing, add parameters of hnsw engine and metric-type.
* fiexd issue of opensearch ui and add multi-client indexing, add parameters of hnsw engine and metric-type.
* clean logs
* clean comments
* clean logs
* clean comments
* fixed some issue, add warmup before search test only.
* fixed some issue of create index and mulit-client
* support faiss fp16
* clear comment
* recover some code format
* recover some code format
* recover some code format
* recover some code format
* recover some code format
* resolved conflict with pr: #529
* Add OceanBase Database Support to VectorDBBench (#540)
* support oceanbase
* fix bug
* fix bug
* support IP
* support multiple zone
* support filter case
* support ivf
* support hnsw_bq and extra info
* optimized formatting
* optimized formatting
* Revert dbCaseConfigs.py to match remote main branch
* resolve review comments
* Update __init__.py
* Addressed review comments
* Fixed code style issues
* VectorDBBench 1.0 (#543)
This commit marks the milestone release of VectorDBBench 1.0, introducing a wide range of new features, major enhancements, and updated benchmarks.
Key changes include:
- UI: Introduce a brand new homepage and navigation bar. The new design integrates powerful front-end pages for intuitive test result analysis and visualization.
- Cases: Add new label-filter test cases. This allows testing search performance with metadata filters using expressions like color == "red". Initial support includes Milvus, Zilliz Cloud, Elasticsearch Cloud, Qdrant Cloud, Pinecone, and OpenSearch (AWS).
- Cases: Implement new streaming test cases. These cases are designed to measure search performance while data is actively being inserted, simulating real-world "read-while-writing" scenarios.
- Dataset: Add the new BioASQ dataset. This dataset is 1024-dimensional and comes in 1M and 10M sizes, enriching the diversity of our test data.
- Custom Dataset: Enhance the custom dataset functionality. Users now have more flexible configuration options to simulate their own data distributions and schemas better.
- New Results: Re-run and update all benchmark results for `Milvus`, `ZillizCloud`, `ElasticCloud`, `QdrantCloud`, `Pinecone`, and `OpenSearch(AWS)` to reflect their latest performance on the new test cases.
* generate leaderboard_v2 data
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* update some docs
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* fix bug: set default num_shards to 1
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* update elastic_cloud results
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* Fix: Correct typos in README.md (#550)
* fix bugs: remove None from download_files
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* upgrade aliyun opensearch client (#552)
Co-authored-by: hust-xing <chind_dyx@163.com>
* add ivf rabitq for command #553 (#554)
Signed-off-by: zhaopeng.charles <zhaopeng.charles@bytedance.com>
* Fixed the issue where the welcome page image could not be loaded. (#556)
* Fixed the issue where the welcome page image could not be loaded.
The current method of reading images only works when running in the root directory of the project. If the package is installed via pip and then initialized with init_bench, it cannot be used.
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
* format and lint
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
---------
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
* Fix return to result page error (#557)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
* Fix run tidb will return error (#559)
Signed-off-by: JaySon-Huang <tshent@qq.com>
* feat: Add OSS OpenSearch client support (#562)
* Add OSS OpenSearch Client
* Update cli.py with OSSOpenSearch
* add ossopensearch cli command
* rollback num_per_batch to 100
* feat: test client for aws s3 vectors
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* upgrade black/ruff and fix lint issues
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* s3vectors standard test results
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* add int filter (#545)
- add new int filter to run tests with multiple filter rate values like[0.001,0.02,0.3,...,0.7,0.98,0.999] instead of just 0.01 and 0.99
- achieve compatibility for int filter case between new and old versions
- add int filter performance page
* fix(oss-opensearch): Resolve streaming crashes and improve code reliability (#568)
* Fix OSS OpenSearch insertion retry crash in streaming tests
* make refresh interval configurable in UI
* normalize vectors for cosine function
* fix: correct OS _id field extraction for recall calculation
* refactor(oss-opensearch): extract helper classes and improve code organization
* fix: lint issues
* feat: Add P95 latency metrics alongside P99 system-wide (#573)
* feat: Add P95 latency metrics alongside P99 system-wide
* fix serial_runner context manager protocol error
* fix: lint issues
* update the max level from 3 to 10 for zillizcloud
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* Add S3vector Engine for AWS OpenSearch, fixed some bugs of AWS OpenSearch cli parameters (#569)
* add s3vector engine for aws opensearch, fixed some bugs of cli parameters.
* add s3vector engine for aws opensearch, fixed some bugs of cli parameters.
* Trigger GitHub Actions
* Fix missing assets (#575)
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
* Add nbits parameter to IVF_PQ index and adapt new filter logic (#576)
* support oceanbase
* fix bug
* fix bug
* support IP
* support multiple zone
* support filter case
* support ivf
* support hnsw_bq and extra info
* optimized formatting
* optimized formatting
* Revert dbCaseConfigs.py to match remote main branch
* resolve review comments
* Update __init__.py
* Addressed review comments
* Fixed code style issues
* Add nbits parameter to IVF_PQ index and adapt new filter logic
* Added support for Product Quantization in pg_diskann (#579)
* Added support for PQ in pgdiskann
Update list of allowed reranking metric
Update list of allowed reranking metric
* Run formatter
* update leaderboard: add s3vectors results; add streaming results
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* update leaderboard data: use 90p search stage results as streaming performance
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* fix(rate_runner): ensure thread safety for pgvector in concurrent inserts (#585)
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* add env parameters of dataset download from AWS S3 Or Aliyun OSS (#583)
1. add env parameters of dataset download from AWS S3 Or Aliyun OS
2. cli add num-shards of zilliz cloud
3. Modify the OpenSearch cluster parameter configuration method to be compatible with opensearch-py 3.0
* optimize:milvus add replica-number parameter (#588)
Co-authored-by: liyunqiu <liyunqiu@bytedance.com>
* Added Alibaba Cloud Hologres support to VectorDBBench. (#591)
* add hologres client
* add hologres client, supports reorder index
* add hologres client, search parameter ef_search
* add hologres client, support prepared query with limit
* add hologres client, optimize query order by
* add hologres client, use psycopg auto prepare
* add hologres client, query with auto commit
* add hologres client, support replica
* add hologres client, update hologres name
* add hologres client, query with binary parameter
* add hologres client, set replica count for non-warehouse mode
* add hologres client, format code
* add hologres client, format code
* add hologres client, clean code
* add hologres client, update README.md
---------
Co-authored-by: biao.zhoub <biao.zhoub@alibaba-inc.com>
* fix: fix the arguments missing for `LanceDB::insert_embeddings` (#592)
1. fix the arguments missing for `LanceDB::insert_embeddings`
* Add: CLI support for --dataset-with-size-type and --filter-rate in NewIntFilterPerformanceCase (#593)
Signed-off-by: pitiless0514 <pitiless0514@foxmail.com>
* update hologres client, use hybrid index (#594)
Co-authored-by: biao.zhoub <biao.zhoub@alibaba-inc.com>
* bugfix: remove metric_type from GPUBruteForceConfig (#595)
Signed-off-by: hckex <33862757+hckex@users.noreply.github.com>
* Optimize the Hologres test execution method in the README document. (#597)
* fix ruff lint issue
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* feat(pgvector): add new label/int-filter support and refactor client
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* Add S3vectors cli support (#600)
* Add s3vectors cli support
* Last commit.
Co-authored-by: Enrique enrique.molina@urv.cat
Co-authored-by: Octavio octaviohoracio.iacoponelli@urv.cat
* Fix linting with ruff --fix and black.
Co-authored-by: Enrique enrique.molina@urv.cat
Co-authored-by: Octavio octaviohoracio.iacoponelli@urv.cat
* fix: remove psycopg dependency from rate_runner (#606)
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* Update cli.py fix bug (#608)
The engine parameter is defined repeatedly.
* Update cli.py fix bug (#607)
The key obtained by the efSearch parameter is written incorrectly.
* Update cli.py (#609)
The parameter index_thread_qty_during_force_merge was omitted
Co-authored-by: Min Tian <min.tian.cn@gmail.com>
* Do not store vector data in source, fixed compatible issue of latest version of opensearch-py (#613)
* feat: Add concurrency duration configuration
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* feat: Add more configurable parameters for Aliyun Elasticsearch
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* add qps&recall line (#603)
* improve qps_recall chart (#618)
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* fixing README.md file to update pip install command (#622)
Co-authored-by: Fayaz, Towfeeq <towfeeq.fayaz@rakuten.com>
* aws opensearch added ondisk mode and binary quantization 32x compression (#625)
* aws opensearch support on disk
* add binary quantization 32x compression
* modified readme for aws opensearch
* format refine
* cli support run LabelFilterPerformanceCase (#626)
* cli support LabelFilterPerformanceCase
* fix format
---------
Co-authored-by: egolearner <egolearner@outlook.com>
* feat(oss-opensearch): Add replication type configuration option (#627)
* feat(oss-opensearch): Add replication type configuration option
* fix: format code with linting
* feat(oss-opensearch): Add version compatibility for 2.x and 3.x (#635)
* Add TencentES client (#623)
* add tencent es
* support tencent es
* Add support for TencentElasticsearch
* Fix argument order in Elasticsearch config
* Add Tencent ES installation command to README
* Fix tencent_es installation command in README
* Extends TencentElasticsearch client from ElasticCloud
---------
Co-authored-by: kanichen <kanichen@tencent.com>
Co-authored-by: KANI <yh_chan_kanio@163.com>
Co-authored-by: morningchen <morningchen@tencent.com>
* feat: add ujson dependency and fix lint issues
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* set default milvus-partition-key to false
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* [Feature] Add Alibaba Cloud RDS MySQL client (#636)
* Alibaba Cloud RDS MySQL introduced vector support in version 20251031
Co-authored-by: wangzihao.wzh <guguang.wzh@alibaba-inc.com>
* fix v1.0.13 (#644)
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* sup doris (#631)
* feat: Add CockroachDB vector database support (#630)
- UUID PRIMARY KEY for distributed write performance
- Connection pooling with 100+ base connections
- Comprehensive retry logic for transient errors (40001, 40003)
- C-SPANN vector index with tunable parameters
- CLI integration with full parameter support
Co-authored-by: Min Tian <min.tian.cn@gmail.com>
* feat: support turbopuffer client
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* fix(cockroachdb): Handle 30s timeout and ensure vector index usage (#647)
Two critical fixes for multi-node CockroachDB clusters:
1. Connection Timeout Handling:
On multi-node v25.4 clusters, CREATE VECTOR INDEX from subprocess
contexts experiences a 30-second connection timeout. The index
creation continues successfully in the background. This fix detects
the timeout and polls for completion (up to 5 minutes).
2. Vector Index Usage:
Fixed vector_search_beam_size not being set on pooled connections,
causing queries to use full table scan instead of the vector index.
Now configures every connection from the pool with proper beam size.
Testing:
- Single-node: Works without timeout (178s index creation)
- Multi-node: Successfully handles timeout and completes (131s total)
- Vector index: Now properly used for all searches (verified with EXPLAIN)
- Both achieve ~83% recall with good QPS
Fixes issues where:
- Benchmarks would fail despite successful index creation
- Searches were slow due to full table scans instead of index usage
* fix es quant & rescore settings
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* Update cli.py fix bug (#649) (#651)
* Several modifications to the AliSQL client (#657)
* [Bugfix] Several fixes to AliSQL
Summary
=======
1. Online users cannot directly `SET GLOBAL`
2. Online instances uses strict SQL mode by default, which can affect vector
insertion.
* [Feature] AliSQL supports custom db name
---------
Co-authored-by: wangzihao.wzh <guguang.wzh@alibaba-inc.com>
* feat(cockroachdb): Add complete UI configuration and cloud support (#655)
- Add frontend Streamlit UI configuration
- Logo, parameter types, and input configurations
- Loading and performance config for all index parameters
- Add SSL/TLS support for CockroachDB Cloud clusters
- Support verify-full, verify-ca, require, disable SSL modes
- CLI parameters: --sslmode, --sslrootcert
- SSL certificates passed to connection pool and optimize connections
- Optimize connection handling for multi-node clusters
- Connection pooling for concurrent searches (enables true parallelism)
- Settings in connection string to reduce per-connection overhead
- Dedicated connection without statement_timeout for index creation
- Handles background index creation with timeout detection and polling
- Handle CockroachDB-specific schema changes
- Cancel running schema jobs before DROP TABLE (prevents blocking)
- Transaction conflict retry logic for aborted transactions
- All linting checks passing
* cli for elastic (#662)
* feat(oss-opensearch): Add KNN derived source configuration option (#632)
* feat(aws_opensearch): Add some optimizations when load data into aws opensearch (#663)
* 1. Optimized logs output of load data
2. Modified create index dsl of on disk mode.
* refine format
* doris: update index properties (#664)
* feat: Add Custom Dataset support for Streaming Tests (#660)
* expose turbopuffer through CLI and make compatible with latest sdk (#667)
* Custom log file placement (#669)
* made log util use env vars for custom log file placement
* cleaned up log file config a bit
It doesn't seem necessary to split the configuration of log file into
log path and log name, but cleaner to just combine them.
* make collection name configurable (#671)
* feat(oss-opensearch): Add memory-optimized search configuration option (#673)
* feat: Add QPS-Latency tradeoff metrics for Streaming Tests (#670)
- Use HDR Histogram for memory-efficient latency tracking
- Collect p99, p95, avg latency at each concurrency level per stage
- Add Concurrent Search Performance UI with single-stage and multi-stage views
- Closes #638
* feat(oss-opensearch): Add Disk-based vector search support (#680)
* feat(milvus): add SCANN index support (#682)
- Add SCANN index type for Milvus
- Build params: nlist (default: 1024), with_raw_data (default: false)
- Search params: reorder_k (default: 100)
- Add UI configuration for SCANN index
Signed-off-by: JackLCL <chenglong.li@zilliz.com>
* feat(milvus): add nprobe parameter for SCANN index
- Add nprobe search parameter for SCANN index (default: 64)
- Enable nprobe UI configuration for SCANN_MILVUS index type
Signed-off-by: JackLCL <chenglong.li@zilliz.com>
* Fix: correct description for rbq-bits-query in milvus client. (#684)
* feat(oss-opensearch): Add Scalar Quantization support (#685)
* feat: add OceanBase UI config settings (#691)
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* support restful (#690)
Signed-off-by: min.tian <min.tian.cn@gmail.com>
* Add Chroma cli to VectorDBBench (#610)
* Add Chroma cli to VectorDBBench
* Fix lint issues
* Add password auth functionality to chroma CLI
---------
Co-authored-by: bpietrzak <>
* enhance: Change the Authors and Emails
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* feat: Update CockroachDB logo for better visibility
* enhance: fix coding styles
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* fix: update logging messages to reflect correct vector counts in Qdrant classes
Signed-off-by: miraili <miraishore11@gmail.com>
* Use SPDX license in pyproject.toml
* enhance: pickle the iterator if something failed
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* feat: add zvec support (#692)
* feat: support zvec
* update default m
* Added Endee Client Support (#711)
* Added Endee Client Support
* Reformatted 4 files with black
* Validated linting with ruff
* fix: Use StrEnum instead of str, Enum (#722)
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* Feat/endee version (#715)
* Added version compatible with pydantic<v2
* fix: Fix benchmark results display for paswordless AWS OpenSearch benchmarks (#721)
Fixes https://github.com/zilliztech/VectorDBBench/issues/716
Description:
When running a benchmark against AWS OpenSearch, username and password are optional and can we left empty so benchmark can use AWS authentiction tokens in environment variables. This works perfectly, and benchamrk runs and does the expected inserts and queries on the AWS OS cluster. But when trying to look at the benchmark results, http://localhost:8502/results displays this error:
```
pydantic.error_wrappers.ValidationError: 2 validation errors for AWSOpenSearchConfig user Empty string! (type=value_error) password Empty string!
(type=value_error)
File "/Users/jvegas/.cache/uv/archive-v0/DcT73OzatkvN3UXwJBtH_/lib/python3.12/site-packages/vectordb_bench/frontend/pages/results.py", line 62, in <module>
main()
File "/Users/jvegas/.cache/uv/archive-v0/DcT73OzatkvN3UXwJBtH_/lib/python3.12/site-packages/vectordb_bench/frontend/pages/results.py", line 29, in main
allResults = benchmark_runner.get_results()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jvegas/.cache/uv/archive-v0/DcT73OzatkvN3UXwJBtH_/lib/python3.12/site-packages/vectordb_bench/interface.py", line 106, in get_results
return ResultCollector.collect(target_dir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jvegas/.cache/uv/archive-v0/DcT73OzatkvN3UXwJBtH_/lib/python3.12/site-packages/vectordb_bench/backend/result_collector.py", line 18, in
collect
file_result = TestResult.read_file(json_file, trans_unit=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jvegas/.cache/uv/archive-v0/DcT73OzatkvN3UXwJBtH_/lib/python3.12/site-packages/vectordb_bench/models.py", line 331, in read_file
task_config["db_config"] = db.config_cls(**task_config["db_config"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "pydantic/main.py", line 364, in pydantic.main.BaseModel.__init__
```
Looks like during results loading the system is applying a more strict validation that does not allow empty username or password, which was allowed at test creation. This PR fixes validation to allow for empty username or password in both cases, resulting in viewables results for passwordless AWS OS benchmarks
* feat: add Pinecone cli support (#717)
* feat: add Pinecone cli support
* fix: replace deprecated search method
* chore: format cli.py
* ci: add workflow to auto-close stale issues (#730)
Auto-close issues where the last comment is from a team member
(zilliztech org) and has had no response for over 30 days.
Issues with the `keep-open` label are exempt from auto-closure.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* ci: add /keep-open comment command workflow
Allows team members to comment `/keep-open` on issues to automatically
add the `keep-open` label, preventing the stale issue bot from closing them.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* docs: add missing pgvector reranking CLI options to README (#726)
The pgvectorhnsw help section was missing --reranking, --reranking-metric,
and --quantized-fetch-limit options that are available in the CLI.
* feat: add support for Lindorm (#718)
* feat: add support for Lindorm
* feat:add retry and vector_number_of_regions setting
* feat:add description in pyproject.toml and README.md
Co-authored-by: ningshuo <zhangzongning.zzn@alibaba-inc.com>
* feat: add maintenance work memory and max parallel workers parameters to PgVectorIVFFlat (#736)
Enhanced the PgVectorIVFFlat function by including support for maintenance_work_mem and max_parallel_workers parameters. This improves performance tuning options for users. 🚀✨
Co-authored-by: edgar-p <edgar.p@kakaocorp.com>
* fix: pass timeout parameter to query_points in Qdrant clients (#725)
* enhance: Migrate PyMilvus orm to MilvusClient (#738)
* enhance: Migrate PyMilvus orm to MilvusClient
* chore: add .worktrees/ to .gitignore
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* feat: add support for PolarDB (#737)
- add PolarDB vector search client with FAISS_HNSW_FLAT, FAISS_HNSW_PQ, and FAISS_HNSW_SQ index types
- add CLI integration with hnswflat, hnswpq, and hnswsq benchmark commands
- add frontend (Streamlit) UI support with index type selection, HNSW/PQ/SQ parameter configuration
* Add concurrent insert in performence case (#741)
1. Fix concurrent insert memory and process cleanup
2. Add configurable load concurrency for performance cases
3. Make CLI Ctrl+C work by polling has_running() instead of blocking
on concurrent.futures.wait(), which swallows SIGINT.
4. Remove perf-case insert from SerialInsertRunner
5. Ignore S608 lint rule and fix formatting
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* fix: Add back ujson in the requirements (#744)
* fix: Add back ujson in the requirements
* fix the coding style
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* feat: add region parameter and fix SDK compatibility for turbopuffer client
- Add --region CLI parameter (required) for region-based API routing
- Change --api-base-url to optional override for private networking
- Rename write(columns=...) to write(upsert_columns=...) per current SDK
- Fix docstring referencing wrong database name
Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
* fix: turbopuffer client pickle/ID compatibility and add benchmark results
- Defer tpuf.Turbopuffer client creation to init() to avoid pickle
errors with ProcessPoolExecutor(spawn)
- Cast search result IDs to int for ground truth recall comparison
- Update leaderboard_v2.json with 20 TurboPuffer filter performance entries
Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
* feat: add consolidated turbopuffer results and update streaming leaderboard
Merge 22 individual TurboPuffer result files into single consolidated
result file. Add streaming benchmark entries (500/1000 rows/s) to
leaderboard_v2_streaming.json. Normalize TurboPuffer db_name and label
in both leaderboard files.
Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
* feat: add SQ4U scalar quantization type for Milvus HNSW index
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Update benchmark results: Milvus 2.6.14, ElasticCloud 8.17, ZillizCloud
Milvus results (16c64g, force_merge, v2.6.14):
- 1M Cohere: SQ4U+FP16 (sweep refine_k) + SQ8 (sweep ef), 8 points each
- 10M Cohere: SQ4U+FP16 + SQ8 (sweep ef), 8 points each
- Total 32 benchmark configurations
ElasticCloud and ZillizCloud results from standard benchmark runs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Unify result timestamps to standard_20260403
Rename ElasticCloud and ZillizCloud result files from 20260209 to 20260403
and update task_label to standard_20260403 for consistency with Milvus results.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: unify run_id across all result files
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: align streaming leaderboard labels with vector search results
Update db_name/label in leaderboard_v2_streaming.json to match
leaderboard_v2.json after force_merge became the default:
- Milvus: 16c64g-sq8 -> 16c64g-sq8-force_merge
- ElasticCloud: 8c60g -> 8c60g-force_merge
This fixes the website failing to associate streaming and vector
search results due to mismatched db_name keys.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: update ZillizCloud benchmark with Cardinal backend results
Replace ZillizCloud-8cu-perf case_id=4/5 data with new Cardinal backend
benchmark results (level 1-9, 1M and 10M datasets, v2026.4). Remove
force_merge entries as Cardinal uses unified 4-segment architecture for 10M.
New results show significant QPS improvement:
- 1M: 13,316 QPS (was 9,704) at recall 0.938
- 10M: 7,385 QPS (was 3,957) at recall 0.938
Sort all leaderboard entries by (db_name, dataset, filter_ratio, qps DESC)
to fix line chart rendering. Remove one SQ4U 1M outlier (recall=0.84).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: Upgrade pydantic to v2 (#750)
1. Upgrade pydantic to 2.x
2. Remove results/ from .gitignore, those files need to track
3. fix the coding styles in the results
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* fix: fill missing build durations in Milvus and ZillizCloud results (#751)
Populate insert_duration, optimize_duration, load_duration for all
entries in result_20260403 files. Previously only the first entry per
index had values while the rest were 0.0.
Milvus (re-measured on 2.6-opt-v2):
- 1M SQ4U: insert=129.8s, optimize=152.2s, load=282.0s
- 1M SQ8: insert=119.5s, optimize=235.9s, load=355.4s
- 10M SQ4U/SQ8: copied from existing first-entry values
ZillizCloud (from prior build runs):
- 1M: insert=246.7s, optimize=101.2s, load=347.9s
- 10M: insert=2450.8s, optimize=136.9s, load=2587.8s
Co-authored-by: Ubuntu <ubuntu@ip-10-15-14-123.us-west-2.compute.internal>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Introduce Intel SVS (#749)
Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
* fix: Skip compaction when encouters permission error (#753)
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* fix: refresh ZillizCloud build durations for 1M and 10M baselines (#754)
Update result_20260403_standard_zillizcloud.json to use the latest validated
build timings from recent reruns for case_id=5 (1M) and case_id=4 (10M),
including insert_duration, optimize_duration, and load_duration.
Co-authored-by: Ubuntu <ubuntu@ip-10-15-14-123.us-west-2.compute.internal>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat: add VectorChord benchmark support (#745)
* feat: add VectorChord support and VCHORDRQ index type
* feat: add VectorChordRQ command to CLI
* feat: add VectorChord support to README
* feat: add VectorChordGraph support and configuration
* feat: add max_scan_tuples parameter to VectorChordGraph
* feat: enhance VectorChord with improved type safety and search functionality
* feat: add vectorchord extension creation on connection
Co-authored-by: edgar-p <edgar.p@kakaocorp.com>
* fix(pgvector): normalize index_type to lowercase in _create_index to … (#760)
* fix(pgvector): normalize index_type to lowercase in _create_index to match PostgreSQL access method names
PostgreSQL pgvector extension registers index access methods in lowercase
(e.g. "hnsw", "ivfflat"), but the frontend passes IndexType.HNSW.value
which is uppercase "HNSW", causing "access method HNSW does not exist" error.
* Fix index type usage in pgvector.py
Replaced index_param['index_type'] with index_type_lower for consistency.
* add comment sign '#'
I have added the # before [FIX]
* feat: add Apache Pinot vector search client (#757)
Adds a complete Apache Pinot client for VectorDBBench.
Index types: HNSW (Lucene), IVF_FLAT, IVF_PQ, IVF_ON_DISK
Metrics: L2, IP, COSINE
Filters: NumGE, StrEqual
Optional dep: pip install "vectordb-bench[pinot]"
Parallel loading: thread_safe=True — each worker thread maintains its own
row buffer and flushes to Pinot via a fresh HTTP session. Since Pinot's
ingestFromFile is synchronous (blocks until HNSW index is built, ~6 min
per 100K×768D segment), concurrent flushes across threads reduce load time
significantly vs sequential flushing.
Benchmark results:
Small dataset (OpenAI 50K, 768D, L2):
HNSW: 798 QPS, recall=1.000
IVF_FLAT: 800 QPS, recall=1.000
IVF_PQ: 795 QPS, recall=1.000
IVF_ON_DISK: 691 QPS, recall=1.000
Large dataset (Cohere 1M, 768D, COSINE):
HNSW m=16: 74 QPS, recall=0.982
Filter benchmark (Cohere 1M, COSINE, HNSW m=32):
1% NumGE: 71 QPS, recall=0.977
99% NumGE: 97 QPS, recall=0.649
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: support self-hosted Elasticsearch via --host/--port in elasticcloud commands (#761)
* fix: support self-hosted Elasticsearch via --host/--port in elasticcloud commands
ElasticCloudConfig previously required cloud_id, so the elasticcloudhnsw*
subcommands could only target Elastic Cloud. Users benchmarking self-hosted
stock Elasticsearch had no working path: tencentelasticsearch accepts
host/port but forces Tencent's vsearch index_options type, which stock ES
rejects with "Unknown vector index options type [vsearch]".
Extend ElasticCloudConfig with scheme/host/port/user fields (mutually
exclusive with cloud_id) and expose them on all four ElasticCloudHNSW*
CLI subcommands. Existing cloud_id callers are unchanged.
Refs #758
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* style: apply black formatting to elastic_cloud/config.py
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* Fix: Map "ivf_flat" to "ivfflat" for pgvector index access method (#763)
* Fix: Map "ivf_flat" to "ivfflat" for pgvector index access method
- IndexType.IVFFlat.value="IVF_FLAT" → .lower()="ivf_flat" caused SQL to fail with "access method 'ivf_flat' does not exist"
- pgvector PostgreSQL extension expects "ivfflat" (no underscore), not "ivf_flat"
- Added explicit mapping after lowercase normalization: if index_type_lower == "ivf_flat": index_type_lower = "ivfflat"
* style(pgvector): fix comment wrapping and remove commented code
---------
Co-authored-by: rnagaraju <rnagaraju@zeomega.com>
* fix(pgvector): fix ConcurrentInsertRunner for non-thread-safe DBs (#764)
For non-thread-safe DBs (e.g. PgVector), ConcurrentInsertRunner clamps
max_workers to 1, so there is always exactly one worker thread. There is
no need to deepcopy self.db per thread — the single worker can use
self.db directly via the connection already opened by task()'s
`with self.db.init():`.
The original code called deepcopy(self.db) inside _get_thread_db() after
task() had already opened a live psycopg C-extension Connection on
self.db. C-extension objects cannot be deep-copied, causing:
TypeError: no default __reduce__ due to non-trivial __cinit__
Fix: remove the deepcopy branch entirely. All workers (thread-safe or
not) now use self.db directly; thread-safety is guaranteed for
non-thread-safe DBs by the max_workers=1 clamp.
Also clean up stale comments in pgvector.py left over from #760/#763.
Adds tests/test_pgvector.py with:
- unit test that reproduces the bug (fails on original, passes on fix)
- e2e regression test via ConcurrentInsertRunner + OpenAI 50K dataset
See also: #756
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* Feat: Add label filter support in pgdiskann client (#724)
* Add label filtering support to pgdiskann client
* Refactor pgdiskann filtering logic
* Refactor: remove unrelated function
* style: apply black formatting to pgdiskann.py
* fix: remove trailing whitespace and fix import sorting
* docs: add comments for label naming and vector storage optimization
* Revert "docs: add comments for label naming and vector storage optimization"
This reverts commit d10b296b612f6568f5c2abf043b0003d2f4ca8b4.
---------
Co-authored-by: Eesha Faisal <eesha.faisal@emumba.com>
* fix(ui): Run Test page error surfacing and streamlit upgrade (#766)
- Migrate DB config validators to pydantic v2; list all empty fields
instead of raising on first; consolidate via `_extra_empty_skip`.
- Surface missing client modules at config render time as
`{DB} needs `{module}` but it is not installed.`
- Replace streamlit-autorefresh with native `@st.fragment(run_every)`
so live progress does not block UI.
- Bump streamlit to 1.47+ (picks up streamlit#11890 fragment fix);
switch to native `st.switch_page`, drop `streamlit_extras`.
- Migrate deprecated `use_container_width=True` to `width="stretch"`.
- Patch tornado `write_message` to consume expected `WebSocketClosedError`
on tab-close races (streamlit#9787).
- Add contract test: each DB enum resolves config_cls/init_cls or
raises ModuleNotFoundError.
See also: #446
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* feat(loader): cap default insert workers to min(cpu, 4) (#767)
ConcurrentInsertRunner previously defaulted to mp.cpu_count(),
spawning one worker per CPU when load_concurrency was unset.
On high-core hosts this opens many parallel client connections,
saturating modest DBs / network paths and yielding worse
load throughput than a smaller, steadier worker count.
Cap the unset default to min(cpu_count, 4). Explicit
load_concurrency from CLI / config / submitTask still wins.
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* feat(seekdb): add SeekDB backend with HNSW index support (#770)
Add a new vector database backend for SeekDB, connecting via
mysql-connector-python over the MySQL wire protocol.
Key components:
- seekdb.py: VectorDB implementation with heap-organized table,
HNSW vector index, and version-aware optimize() that calls
dbms_index_manager.refresh() on SeekDB >= 1.3.0
- config.py: DBConfig with host/port/user/password/database and
SeekDBHNSWConfig with m/ef_construction/ef_search parameters
- cli.py: Click command `SeekDBHNSW` for command-line benchmarks
Registration:
- Add SeekDB to the DB enum in backend/clients/__init__.py with
lazy imports for init_cls, config_cls, and case_config_cls
- Register SeekDBHNSW CLI command in cli/vectordbbench.py
- Add seekdb optional dependency in pyproject.toml
(pip install vectordb-bench[seekdb])
Filter support:
- NonFilter and NumGE (id >= N) filters are supported
- StrEqual (label filter) is intentionally excluded since the
table schema only has id and embedding columns
Thread safety:
- mysql.connector is not thread-safe (thread_safe = False).
ConcurrentInsertRunner uses max_workers=1 accordingly
- rate_runner.py handles SeekDB specially: copies the db object,
resets the connection, and calls init() per worker thread
Co-authored-by: liuhao6741 <liuhaobupt@foxmail.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
* fix: Require pymilvus<3.0.0 and fix the overflow size (#781)
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
* feat(oceanbase): configurable index params, KEY partitioning, HNSW_BQ cosine support (#776)
* feat(oceanbase): configurable index params, KEY partitioning, HNSW_BQ cosine support
- Add --create-index-parallel CLI option (default 16)
- Add --extra-info-max-size CLI option (default 32, set 0 to omit)
- Add --partitions CLI option for KEY partitioning (default 0, no partition)
- HNSW_BQ: remove forced L2 for cosine, now supports cosine natively
- need_normalize_cosine returns False for all index types
- pyproject.toml: add pyyaml dependency, fix packages.find to include all subpackages
* fix(oceanbase): declare thread_safe=False to prevent cursor sharing across threads
* fix: restore seekdb dependency accidentally removed
* feat: Add VectorDBBench Cloud Leaderboard benchmark cases and client support (#775)
* yugabytedb support
* create_index_before_load, create_index_after_load cli support
* fix dataset_with_size_type enum input
* Add DEEP1B dataset support on top of vdb-05062026-yb (#17)
Ports the DEEP1B (Yandex Deep1B, 96-dim, 1B vectors) benchmarking support
from the older `deep1b-parquet` branch onto the latest `vdb-05062026-yb`
base, adapting to upstream's refactors (Pydantic v2 datasets, Filter-based
prepare(), list-valued test_data/gt_data, generate_normal_cases UI items).
What this adds:
- Deep1B dataset + Performance96D1B case (Dataset enum, cases, UI clusters,
display order) with 96-dim / L2 / 1B-vector LARGE size label.
- DatasetSource.Deep1BLocal / Deep1BS3 with Deep1BReader (HDF5 -> parquet,
percentage sampling) and Deep1BS3Reader (parallel S3 parquet downloads).
- deep1b_dataset_percentage + skip_load plumbed through DatasetManager.prepare,
TaskConfig, CaseRunner._pre_run, and the CLI --deep1b-dataset-percentage flag.
- Larger (1M) load batch size for Deep1B; download_file helper; h5py/requests deps.
- Standalone fbin/ibin -> parquet conversion script and reference docs.
Conflict resolutions vs the new base:
- Kept upstream's ClassVar[dict] _size_label, Filter API, and list-based
test_data/gt_data; Deep1B now extracts [field].to_list() instead of storing
DataFrames, and _read_file keeps returning polars (scalar_labels rely on it).
- Deep1B uses with_remote_resource=False and a dedicated reader branch in
prepare(); did not adopt old-base pgvector create_index default flips.
- Trimmed leftover debug logging in the CLI run() path.
Verified: all modified modules compile, the package imports, and
test_deep1b_integration.py passes (dataset/case/enum/type2case registration).
---
_automated · Claude Code (Opus 4.8)_
* pgvector: distribute connections across comma-separated host list (#18)
`host` may now be a comma-separated list of YugabyteDB nodes (perfservice passes
the full tserver-nodes list when load balancing is requested). Each concurrent
search worker is its own process opening one connection, so split the list and
random.choice a node per worker -- connections fan out across the cluster instead
of all hitting one node. A single host (no comma) is a no-op, so default runs are
unchanged.
Random (not least-connections): N independent worker processes have no shared
counter, so querying per-node load would herd them onto the same node; random
avoids that and is a strict improvement over one hot node.
Pipeline plumbing (load_balance flag, json_to_yaml host selection) lives in the
perf-devops repo on branch vdbbench-lb-tserver-nodes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
_automated · Claude Code (Opus 4.8 1M)_
* Vdbbench lb smart driver (#19)
* pgvector: use YugabyteDB psycopg3 smart driver for connection load balancing
Alternative to the comma-host client-side approach: install psycopg-yugabytedb
(a psycopg3 fork; import stays `psycopg`) and let the YB smart driver distribute
connections across the cluster instead of doing it ourselves.
- pyproject: pgvector extra -> psycopg-yugabytedb[binary]==3.3.4.1rc1 (binary
bundles libpq; the RC param load_balance_hosts=true needs the YB-patched libpq).
Note: cannot coexist with upstream psycopg in the same env; Python >=3.10.
- _create_connection: drop the client-side comma-split/random pick; when
load_balance is on, set load_balance_hosts=true (+ optional topology_keys) so
the driver discovers nodes via yb_servers() and load-balances. `host` is just a
bootstrap seed (single master-leader endpoint is fine).
- config.py / cli.py: add load_balance (default True) and topology_keys options.
Default-on so this branch exercises the smart driver out of the box. Caveat: each
search worker is a separate process opening ONE connection via a fresh driver
instance (zero-count view), so verify empirically whether the driver's per-instance
least-connections actually fans out in this model vs. pinning to the seed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
_automated · Claude Code (Opus 4.8 1M)_
* pgvector: install pure psycopg-yugabytedb (binary wheel not published for RC)
The [binary] extra resolves to psycopg-yugabytedb-binary==3.3.4.1rc1, which is
NOT published on PyPI (only the pure py3-none-any wheel exists) -> pip errors with
"No matching distribution". Drop the extra and install the pure wheel.
The smart-driver load-balancing logic is pure-Python (the dispatcher sits under
the pool), so a stock system libpq works -- no YB-patched libpq required. The pure
wheel just needs libpq.so.5 reachable at runtime.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
_automated · Claude Code (Opus 4.8 1M)_
* make postgres work along with yugabyte
* increase default batch size for data load from 100 to 10000
---------
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
Signed-off-by: min.tian <min.tian.cn@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: siqi.an <ansiqi_7777@163.com>
Signed-off-by: Rachit Chaudhary <rachit.chaudhary@outlook.com>
Signed-off-by: Wish <breezewish@outlook.com>
Signed-off-by: Navneet Verma <navneev@amazon.com>
Signed-off-by: zhaopeng.charles <zhaopeng.charles@bytedance.com>
Signed-off-by: JaySon-Huang <tshent@qq.com>
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Signed-off-by: pitiless0514 <pitiless0514@foxmail.com>
Signed-off-by: hckex <33862757+hckex@users.noreply.github.com>
Signed-off-by: JackLCL <chenglong.li@zilliz.com>
Signed-off-by: miraili <miraishore11@gmail.com>
Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
Co-authored-by: yangxuan <xuan.yang@zilliz.com>
Co-authored-by: zhuwenxing <wenxing.zhu@zilliz.com>
Co-authored-by: min.tian <min.tian.cn@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xavierantony1982 <xavierantony@gmail.com>
Co-authored-by: xavrathi <xavrathi@amazon.com>
Co-authored-by: siqi.an <ansiqi_7777@163.com>
Co-authored-by: Xiaofan <83447078+xiaofan-luan@users.noreply.github.com>
Co-authored-by: Rachit Chaudhary <65501028+Rachit-Chaudhary11@users.noreply.github.com>
Co-authored-by: Signed-off-by: Rachit Chaudhary - r0c0axe <Rachit.Chaudhary@walmart.com>
Co-authored-by: Luca Giacchino <luca.giacchino@intel.com>
Co-authored-by: Hugo Wen <46255328+HugoWenTD@users.noreply.github.com>
Co-authored-by: Wenxuan <breezewish@outlook.com>
Co-authored-by: yuyuankang <yuyuankang@hotmail.com>
Co-authored-by: Arseniy Ahtaryanov <mansoryaye@gmail.com>
Co-authored-by: nuvotex-tk <161840620+nuvotex-tk@users.noreply.github.com>
Co-authored-by: Polo Vezia <pauvezia@publicisgroupe.net>
Co-authored-by: MansorY <119126888+MansorY23@users.noreply.github.com>
Co-authored-by: Andreas Opferkuch <andreas.opferkuch@gmail.com>
Co-authored-by: LoveYou3000 <760583490@qq.com>
Co-authored-by: Yuyuan Kang <36235611+yuyuankang@users.noreply.github.com>
Co-authored-by: Navneet Verma <navneev@amazon.com>
Co-authored-by: ZebinRen <80635329+ZebinRen@users.noreply.github.com>
Co-authored-by: Christoph Koerner <koernech@amazon.com>
Co-authored-by: Zebin Ren <zebinren97@gmail.com>
Co-authored-by: Norris <33706975+norrishuang@users.noreply.github.com>
Co-authored-by: fan <37357096+wyfanxiao@users.noreply.github.com>
Co-authored-by: TripleChecker <197429080+triplechecker-com@users.noreply.github.com>
Co-authored-by: kevin <china_dyx@163.com>
Co-authored-by: hust-xing <chind_dyx@163.com>
Co-authored-by: Charles <charles.r.chiu@gmail.com>
Co-authored-by: JaySon <tshent@qq.com>
Co-authored-by: Akhil Pathivada <57298966+akhilpathivada@users.noreply.github.com>
Co-authored-by: Akhil Pathivada <akhil.pathivada.21@gmail.com>
Co-authored-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
Co-authored-by: Wahaj Ali <894764+wahajali@users.noreply.github.com>
Co-authored-by: liyunqiu666 <854484245@qq.com>
Co-authored-by: liyunqiu <liyunqiu@bytedance.com>
Co-authored-by: 渔夫 <xiaolanlianhua@gmail.com>
Co-authored-by: biao.zhoub <biao.zhoub@alibaba-inc.com>
Co-authored-by: TheR1sing3un <1955938454@qq.com>
Co-authored-by: pitiless0514 <143305155+pitiless0514@users.noreply.github.com>
Co-authored-by: biaozy <biaozy@qq.com>
Co-authored-by: Lee Taejun <33862757+lee-taejun@users.noreply.github.com>
Co-authored-by: Ye Ding <47961320+TimothyDing@users.noreply.github.com>
Co-authored-by: Albert Cañadilla <79637187+acanadil@users.noreply.github.com>
Co-authored-by: stitch <111570933+stitchWzc@users.noreply.github.com>
Co-authored-by: towfeeqfayaz11 <69567257+towfeeqfayaz11@users.noreply.github.com>
Co-authored-by: Fayaz, Towfeeq <towfeeq.fayaz@rakuten.com>
Co-authored-by: egolearner <45122959+egolearner@users.noreply.github.com>
Co-authored-by: egolearner <egolearner@outlook.com>
Co-authored-by: Akhil Pathivada <akhil.pathivada@freshworks.com>
Co-authored-by: morning-color <morning_color@163.com>
Co-authored-by: kanichen <kanichen@tencent.com>
Co-authored-by: KANI <yh_chan_kanio@163.com>
Co-authored-by: morningchen <morningchen@tencent.com>
Co-authored-by: Zihao Wang <47910959+JoeJRW@users.noreply.github.com>
Co-authored-by: wangzihao.wzh <guguang.wzh@alibaba-inc.com>
Co-authored-by: zhiqiang <hezhiqiang@selectdb.com>
Co-authored-by: Virag Tripathi <15679776+viragtripathi@users.noreply.github.com>
Co-authored-by: wangsl <48207171+WSL0809@users.noreply.github.com>
Co-authored-by: Denise2004 <3087753261@qq.com>
Co-authored-by: ivin <uchenily@qq.com>
Co-authored-by: Lanting Chiang <lanting.chiang@robinhood.com>
Co-authored-by: mottosen <46358530+mottosen@users.noreply.github.com>
Co-authored-by: Chenglong.li <2415654524@qq.com>
Co-authored-by: JackLCL <chenglong.li@zilliz.com>
Co-authored-by: Light-V <826254726@qq.com>
Co-authored-by: Bartosz Pietrzak <bartoszjaroslawpietrzak@gmail.com>
Co-authored-by: viragtripathi <virag.tripathi@gmail.com>
Co-authored-by: miraili <miraishore11@gmail.com>
Co-authored-by: Letu Ren <fantasquex@gmail.com>
Co-authored-by: egolearner <lijiliang@outlook.com>
Co-authored-by: MithunEndee <mithun@endee.io>
Co-authored-by: javiervegas <javiervegas@yahoo.com>
Co-authored-by: Pitrick <andy.yichenwang@gmail.com>
Co-authored-by: Li Liu <105927039+liliu-z@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Li Liu <li.liu@zilliz.com>
Co-authored-by: SongYoungUk <pidaoh@g.skku.edu>
Co-authored-by: Poisky <71500147+Poisky@users.noreply.github.com>
Co-authored-by: ningshuo <zhangzongning.zzn@alibaba-inc.com>
Co-authored-by: edgar-p <edgar.p@kakaocorp.com>
Co-authored-by: Mohamed Arbi <mohammedarbinsibi@gmail.com>
Co-authored-by: nanlongyu <yunanlongkoala@gmail.com>
Co-authored-by: jamesgao-jpg <james.gao@zilliz.com>
Co-authored-by: Ubuntu <ubuntu@ip-10-15-14-123.us-west-2.compute.internal>
Co-authored-by: ChenLiqing <yiwen.jiang@zilliz.com>
Co-authored-by: Alexander Guzhva <alexanderguzhva@gmail.com>
Co-authored-by: shaohuasong-fang <sungsasong@gmail.com>
Co-authored-by: Xiang Fu <xiangfu.1024@gmail.com>
Co-authored-by: B Nagaraju Reddy <107165377+NagarajuReddyBoggala@users.noreply.github.com>
Co-authored-by: rnagaraju <rnagaraju@zeomega.com>
Co-authored-by: EeshaaKhan <170761203+EeshaaKhan@users.noreply.github.com>
Co-authored-by: Eesha Faisal <eesha.faisal@emumba.com>
Co-authored-by: liuhao6741 <157583880+liuhao6741@users.noreply.github.com>
Co-authored-by: liuhao6741 <liuhaobupt@foxmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add CLI Support for Elastic Cloud
Summary
Adds command-line interface (CLI) support for Elastic Cloud, enabling users to run VectorDBBench tests via CLI commands for different Elastic Cloud index types.
Changes
ElasticCloudHNSW - Standard HNSW index
ElasticCloudHNSWInt8 - HNSW with Int8 quantization
ElasticCloudHNSWInt4 - HNSW with Int4 quantization
ElasticCloudHNSWBBQ - HNSW with BBQ quantization