支持快速近似最近邻查询的数据库

标签 database algorithm nearest-neighbor

<分区>

有没有支持高维向量空间快速近似最近邻查询的数据库?

我正在寻找适合以下用例的数据库:

  • 为数百万积分工作
  • 适用于数十万个维度
  • 可能使用覆盖树或局部敏感散列法进行索引

是否存在对此的稳健实现?

最佳答案

ANN库,它非常适合高维大型数据集,但它不是一个完整的“数据库”,也不是一个分布式解决方案。

有一家名为 SpaceCurve(与我无关)的初创公司致力于商业空间数据库,因此根据您的需求和预算,他们可能值得研究。

作为一条建议:当您谈论“数十万维”时,您应该深入思考“最近邻”的真正含义。如果在 20 维立方体中取一百万个随机点,则任意两个最近邻点之间的平均距离已经约为立方体边长的一半。

随着维度的增加,这种情况只会呈指数级恶化。一旦你谈到数百个维度,如果它们分布均匀,你真的需要大量的点(比如 > 1030);如果它们的分布不同,您最好使用其他分类方法。

关于支持快速近似最近邻查询的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18818011/

相关文章:

python - Django 模型管理器是否需要 using=self._db

用于显示动态表的Java模式?

database - Google 的 Fusion Tables 真的是 "paradigm shift?"

algorithm - 变半径圆覆盖算法

string - 在 O(n) 中使用哈希表在字符串 S 中查找包含字符串 T 中所有字符的最小长度子字符串

php - 如何使用 PHP 执行 SQL 文件并将数据插入数据库表

python - 仅着色形状的内部

nearest-neighbor - 最近邻 - 局部敏感哈希劣势

java - KD-Tree 点重复并给我错误的输出

nearest-neighbor - 如果大多数评级为 5/被动过滤建议,KNN 是否有值(value)