Re:Vector database is not a separate database category
by mattashii on Tuesday October 03, 2023 @05:39AM
(#37749696)
r*-trees work doesn't work well when the number of dimensions stored in the index is much higher than the logarithm of the number of indexed entries, and this is a prevailing property of divide-and-conquer spatial index types when the keyspace is divided based on a single dimension at a time.
As vectors regularly have 100+ dimensions, normal spatial indexing methods applied to vectors wouldn't be very efficient for anything with much less than 2^100 index entries; which is quite suboptimal for most datasets that you would want to have indexed.
Re:Vector database is not a separate database category
by KirillPanov on Tuesday October 03, 2023 @06:22AM
(#37749962)
Also the distance metric for r*-trees is just plain wacky for anything other than low-dimensional Euclidean space.
Even if you could make it perform well, it would not do what you want.
Re:Vector database is not a separate database category
by modulovalue on Tuesday October 03, 2023 @08:47AM
(#37751139)
Are you saying this because r-trees expect a proper metric space, and people have the need to index datasets over non-metric spaces?
Re:Vector database is not a separate database category
by pornel on Tuesday October 03, 2023 @09:20AM
(#37751464)
The curse of dimensionality creates a seemingly paradoxical situation where you have a vast vast search space, but everything is incredibly close to each other. Space subdivision algorithms become ineffective.
Re:Vector database is not a separate database category
by jpcapdevila on Tuesday October 03, 2023 @08:57AM
(#37751241)
Here is a SQLite extension that uses Faiss under the hood.
https://github.com/asg017/sqlite-vss
Not associated with the project, just love SQLite and find it very useful.
[0] https://www.sqlite.org/rtree.html