我正在寻找一个轻量级的Java库,它支持Locality Sensitive Hashing的最近邻搜索,用于在具有数十万个数据点的高维(在我的情况下为32)数据集中几乎均匀分布的数据.
将查询中的所有条目都放入存储桶中就足够了.考虑到我的问题包括的一些过滤器参数,我可以以不同的方式处理我真正需要的那些.
我已经发现了可能性,但希望有一些更小的东西,而不需要任何其他工具(如可爱的情况下的Apache Hadoop).
我正在考虑使用反向代理将API请求分发给REST API的多个node.js实例.像这样,应该可以实现更好的整体性能,因为多处理器系统可以在每个(或类似)一个核心上完美地运行多个实例.
在多个节点实例上分配请求的常见解决方案是什么?需要注意哪些要点?
我有一个oracle SQL查询,它选择当天的条目,如下所示:
SELECT [fields]
FROM MY_TABLE T
WHERE T.EVT_END BETWEEN TRUNC(SYSDATE)
AND TRUNC(SYSDATE) + 86399/86400
AND T.TYPE = 123
Run Code Online (Sandbox Code Playgroud)
而该EVT_END领域是类型的DATE,T.TYPE是一个NUMBER(15,0).
我确信随着表数据(和持续时间)的大小增加,日期约束将使结果集减少比类型约束大得多的因子.(因为类型非常有限)
所以出现的基本问题是,选择在当前日期选择更快的最佳指标是什么.我特别想知道函数索引对TRUNC(T.EVT_END)正常索引的优缺点是什么T.EVT_END.使用功能索引时,查询看起来像这样:
SELECT [fields]
FROM MY_TABLE T
WHERE TRUNC(T.EVT_END) = TRUNC(SYSDATE)
AND T.TYPE = 123
Run Code Online (Sandbox Code Playgroud)
因为其他查询使用提到的日期约束而没有额外的类型选择(或者可能包含其他一些字段),因此多列索引对我没有多大帮助.
谢谢,我很感激你的提示.
我在慢跑期间获得了两个瞬时步进频率的数据源:
我试图将两者结合起来进行直观的比较.当前曲线如下所示(步幅传感器为橙色,算法为蓝色):

您可以看到,计算出的数据总是具有正确的(90°)角度,并且不会将实际数据点与线性函数连接起来.这准确地反映了当您查看当前步频时您会看到的内容.每次更新时,该值立即更改为新值.它看起来是这样的,因为我故意将两个具有相同x坐标(时间戳)的数据点放入我的数据集中.这看起来类似于以下代码:
% on new cadence
c(i) = [t old_cadence];
c(i+1) = [t new_cadence];
Run Code Online (Sandbox Code Playgroud)
所以我想让步幅传感器线图看起来和我自己的数据一样.即,它应该只包括垂直和水平连接线.在绘图功能中是否有一种模式可以自动执行此操作或者我将如何执行此操作?(我显然想要比循环元素更好的东西)
提前感谢任何提示!