database - 包含( float ,整数)元组的 100 万个向量的高效比较

标签 database algorithm math comparison performance

我正在从事化学/生物学项目。我们正在构建一个网络应用程序,用于将用户的实验数据与引用数据库中的预测数据进行快速匹配。引用数据库将包含多达一百万个条目。一个条目的数据是一个元组列表(向量),包含一个介于 0.0 和 20.0 之间的浮点值和一个介于 1 和 18 之间的整数值。例如 (7.2394 , 2) 、 (7.4011, 1) 、 (9.9367, 3) 、 ... ETC。 用户将输入类似的元组列表,然后网络应用程序必须返回 - 让我们说 - 前 50 个最匹配的数据库条目。

有一点至关重要:搜索算法必须考虑到查询数据和引用数据之间的差异,因为两者都可能包含浮点值(不是整数值)中的小错误。(查询数据可能包含错误,因为它来自现实生活中的实验,而引用数据可能包含错误,因为它是预测的结果。)

编辑 - 将文本移动到答案 -

我们如何才能对 100 万条记录中的 1 个查询进行有效排名?

最佳答案

你应该在项目中添加一位物理学家 :-) 这是比较函数的一个非常常见的问题,例如看这里:

在第一个链接中,您可以阅读:“用于分析质谱的 SEQUEST 算法结合使用自相关和互相关来对观察到的光谱与代表肽的理想化光谱的相似性进行评分。

关于database - 包含( float ,整数)元组的 100 万个向量的高效比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2310872/

相关文章:

MYSQL 自动创建索引时

algorithm - 包含从 1 到 N 的所有数字的最小多集

algorithm - Raycast 播放器到网格交叉点的距离

python - 我将如何编写 NumPy argmode()?

c++ - 您如何判断图片中物体的(现实世界)距离?

sql - 什么时候应该使用save()的高级参数呢?

database - 将唯一的 Redis 实例推送到中央 Redis?

mysql - 从 MySql 导出到 sql 文件时如何自动转义内容中的引号?

c++ - 使用平方根计算质数和算法构建查询

c - N 个数的二次和 : implementation in C