Does the Timescale vector index limit the number of results you can return? Does that impact speed of indexing or search? I wrote a blog about our somewhat niche requirements, which includes that we need to return ~10K or more results. If curious: https://medium.com/earthrisemedia/finding-a-vector-database-...
Interested in whether that would be a possibility with Timescale.
That's all to say -- Yes we've solved this, there are no arbitrary limits on the number of results returned.
Our index building process is significantly faster than pgvector on hnsw because we can utilize all the cores, whereas pgvector can only use one core. And for the filter support, we do support pre-filtering, which will guarantee enough results no matter the condition is.
Personally, without a way to run it locally, I'd look at either using pgvector or something like ChromaDB.
Totally fair about cloud-only. Many developers prefer developing on cloud, but some prefer local dev. YMMV.
By the way timescale vector offers pgvector as well so it's easy to test and compare. (Note: I work for Timescale)
According to the single-threaded QPS experiments, your DiskANN solution should clock in at about 4.5ms latency (1000ms/224QPS) whereas pgvector is about 5.8ms latency (1000ms/173QPS). How is that possible? My (very shallow) knowledge of DiskANN vs HNSW tells me that DiskANN should generally have higher latency than HNSW — DiskANN needs to touch the SSD while HNSW only touches RAM.
Also, compared to pgvector and HNSWPQ in faiss, how much less RAM does your DiskANN-based solution use?
To your question about RAM usage, we provide a graph of index size. When enabling PQ, our new index is 10x smaller than pgvector HNSW. We don't have numbers for HNSWPQ in FAISS yet.