最近在做 4bit PQ(Accelerated Nearest Neighbor Search with Quick ADC) , 直觉上的话 4bit PQ 能比 8bit PQ 快很多,不过到完整实现这个东西后才发现坑还挺大的……Product Quantization从 PQ 说起,PQ 就...
分类:技术
8 篇文章TL;DR这篇论文首先是引入了 relaxed monotonicity 的概念,然后基于对向量索引的 relaxed monotonicity 性质的观察:ANN 的检索过程中会有两个阶段,第一阶段中会快速向目标向量靠近,第二阶段向量整体上会逐渐远离目标向量。论文中给出了判定查询已经进入第二阶段的...
目前向量化执行引擎在执行过滤操作时会有这样一些策略:用一个 bitset 来标记哪些数据是被过滤选中的用一个 vector 存储被命中的数据的下标将命中的数据复制后传递到下一个算子这篇文章主要讨论了前两种,文章里称之为 Bitmap(BM) 和 Seleteced Vector (SV)。第三种策略...
前段时间购置了一个显示器,规格是 2K@240Hz,用起来之后感觉比 144Hz 流畅很多,但是很快我就发现这个显示器有一个问题。当我进行全屏游戏的时候,如果这个时候切回到桌面,显示器会短暂黑屏一段时间,并且弹出 OSD 显示显示器目前的状态。因为我需要经常切出游戏做别的事情,这个黑屏带来的体验太差...
datafusionDataFrameDataFrame 是最终结果数据集的一个视图,并不持有数据,也没有执行。当调用一些 action 方法后才会开始真正执行查询。下面以 collect() 方法为例,过一下整个执行的流程: pub async fn collect(self) -> ...
Linux 的 swap,cache 与 mmap众所周知,Milvus 需要把数据全部加载到内存中后才能执行查询。这会对 Milvus 中的查询节点有很高的内存需求,但对于离线场景,用户对查询性能不敏感,可以接受性能降级。这里常规的解决方案是做一个 buffer pool,查询时按需地的将数据加载...
MIT 6.824 Lab2 Raft最近突然想再刷一下 6.824,想试试自己现在做会不会容易得多。上次做已经是大二的时候了,对之前的代码已经毫无记忆了(而且也写得不咋样)。因为 Lab1 没什么难度,我这次就跳过了,直接从 Lab2 开始。Lab2 是实现 Raft,在继续看下面的内容之前,你至...
使用 VS Code 开发 MilvusMilvus 的开发环境在最近半年里有过很多变化,目前的 Milvus 如果直接 clone 下来用 VS Code 打开的话会有不少 Error(不过并不影响编译)。主要是 CMake 和 CGO 调用的地方会报错,运气不好的话可能没法用查找引用的功能。这篇...