> du -sh storage.sqlite
2.0G storage.sqlite
--------------------------------------
> sqlite3 storage.sqlite
--------------------------------------
> sqlite> PRAGMA table_info(points);
0|id|TEXT|0||1
1|point|BLOB|0||0
--------------------------------------
> sqlite> select count(*) from points;
1000000
--------------------------------------
> sqlite> select * from points limit 1;
gARLAS4=|��,
--------------------------------------
We have updated the post to clarify that Qdrant is being evaluated in local mode.
1. Many database back up their data in a sqlite database. Some even push vectors into sqlite, but others store vectors in their own format.
2. Qdrant has higher client connection and index initialization time that can shadow its benefit on fast and accurate vector search.
Based on your statements, like
> Qdrant stores both the vectors and the metadata in a sqlite database.
It looks like you have benchmarked local mode of qdrant. It doesn't even use vector indexes and is not designed for any kind of production usage.
For anyone reading this article, I urge you to do your own benchmarks and not rely on claims that do not have open source code attached to them to replicate the results
We went with the local mode as several Python AI apps are using Qdrant in that mode based on the suggestion here: https://qdrant.tech/documentation/quick-start/.
We also believe in open-sourced benchmark code. Please find the code here: https://github.com/jiashenC/vectordb-benchmark-and-optimize/....