我目前正在尝试将许多特征向量存储在数据库中,以便根据要求将传入的特征向量与存储在数据库中的许多其他(如果不是全部)进行比较。我需要计算余弦距离,并且只返回例如前 10 个最接近的匹配项。这样的向量的大小约为 1000 左右。
每个请求都会有一个特征向量,并且需要与属于 db 中的一个子集的所有特征向量进行比较(在最坏的情况下,这很可能是每个子集的数千个条目)。
哪个数据库提供了有效运行此类查询的灵活性?
我研究了 postgres,但我想知道是否有更适合这个问题的替代方案。不确定这很重要,但我很可能会使用 Python。
我发现这篇文章是关于在 SQL 中做的。
编辑:我对不一定与 SQL 相关的这个问题的替代解决方案持开放态度。