deep-100m-batch-update-eval
收藏资源简介:
deep-100m-batch-update-eval是一个专门用于评估向量数据库批量更新性能的基准测试数据集。该数据集基于deep-100m-static-search-eval静态数据集构建,包含1亿个96维的float32向量,使用L2距离度量。数据集的初始状态包含前8000万个向量,标记为集合A。所有向量的更新顺序通过一个种子为42的排列预先定义。数据集提供了三种典型的更新工作负载轨迹:insert-20从初始状态开始,分20个批次(每批100万向量)插入剩余的2000万向量;delete-20从完整的1亿向量状态开始,分20个批次删除相同的2000万向量;mixed-replace-100则在100轮更新中保持8000万活动向量,每轮循环删除一个100万向量的切片并插入新的向量,其中前20轮使用后2000万向量源,后续轮次使用前8000万向量源。数据集包含初始的HNSW索引、重新排列的向量源文件、以紧凑格式描述的批量更新操作文件、以及通过过滤静态源真值生成的地面真值标签。该数据集适用于向量索引系统在动态数据环境下的插入、删除和混合替换操作的性能评估与基准测试。
deep-100m-batch-update-eval is a benchmark dataset specifically designed for evaluating the batch update performance of vector databases. It is built upon the deep-100m-static-search-eval static dataset, containing 100 million 96-dimensional float32 vectors using L2 distance metric. The initial state of the dataset includes the first 80 million vectors, labeled as set A. The update order for all vectors is predefined by a permutation with seed 42. The dataset provides three typical update workload trajectories: insert-20 starts from the initial state and inserts the remaining 20 million vectors in 20 batches (1 million vectors per batch); delete-20 starts from the full 100 million vector state and deletes the same 20 million vectors in 20 batches; mixed-replace-100 maintains 80 million active vectors over 100 update rounds, with each round cyclically deleting one slice of 1 million vectors and inserting new vectors, where the first 20 rounds use the latter 20 million vector source and subsequent rounds use the former 80 million vector source. The dataset includes the initial HNSW index, reordered vector source files, batch update operation files described in a compact format, and ground truth labels generated by filtering the static source ground truth. It is suitable for performance evaluation and benchmarking of vector index systems in dynamic data environments for insertion, deletion, and mixed replacement operations.
数据集概述
- 数据集名称:
deep-100m-batch-update-eval - 生成来源: 源自
deep-100m-static-search-eval - 向量数量: 1亿
- 维度: 96
- 数据类型: float32
- 距离度量: L2
- 初始更新索引: 8000万个向量,外部标签等于
A = P[0:80M] - 更新顺序: 由种子42生成的源ID排列文件
update_order.u32,覆盖源ID[0, 100M) - 插入向量来源: 文件
base_permuted.fbin,其中第j行等于base.fbin[P[j]]
更新轨迹(Traces)
-
insert-20
- 从初始集合
A开始,分20批插入P[80M:100M],每批100万个向量。
- 从初始集合
-
delete-20
- 从静态的1亿向量状态开始,分20批删除
P[80M:100M],每批100万个向量。
- 从静态的1亿向量状态开始,分20批删除
-
mixed-replace-100
- 保持8000万个活跃向量,进行100轮操作;每轮删除一个循环的100万源ID切片,并插入
base_permuted.fbin中的行范围:- 第1-20批使用行范围
80M:100M - 第21-100批使用行范围
0:80M - 插入的外部ID:前20轮使用现有
P[80M:100M]标签,后续轮次使用新标签范围[100,000,000, 180,000,000)
- 第1-20批使用行范围
- 保持8000万个活跃向量,进行100轮操作;每轮删除一个循环的100万源ID切片,并插入
- 批处理JSON文件使用紧凑描述符(
range、u32_slice和u32_cyclic_slice),而非内联百万ID数组。插入external_ids字段表示用户可见的源ID,插入vector_refs字段为重新排序的插入源中的行范围,需从base_permuted.fbin读取。
地面真值(Ground Truth)
- 检查点地面真值通过按源距离顺序过滤静态源地面真值及检查点所有者映射生成。
- 文件仅在每个查询从静态源GT深度保留至少10个活跃候选时,才提供精确的前10结果。
- 若检查点无法为所有查询提供前10结果,则写入对应的
.invalid.json标记文件(而非填充)。
文件列表
workload.json: 工作负载合约static-workload-reference.json: 不可变的静态搜索评估参考source_manifest.json: 生成清单update_order.u32: 种子42源ID排列文件initial/index_80m_m32_efc500: 基于base[A]构建的HNSW索引,标签为Agroundtruth/active_80m.bin: 初始8000万检查点地面真值,或active_80m.invalid.jsoninitial/layout-sidecar/index_80m_m32_efc500.*: 初始HNSW索引的可选运行时布局侧车initial/pq/pq_m<M>.*: 初始8000万PQ工件,按initial/index_80m_m32_efc500内部ID重新排序initial_pq_manifest.json: 源静态PQ文件及重新排序的初始PQ工件验证样本base_permuted.fbin: 重新排序的插入向量源,在插入vector_refs为行范围时存在reordered_insert_manifest.json:base_permuted.fbin的源、公式、大小及样本检查清单traces/*/trace.json: 轨迹元数据traces/*/batches/*.json: 紧凑批处理描述符traces/*/groundtruth/*: 检查点地面真值或无效标记checksums.sha256: 生成包文件的校验和
其他说明
- 静态PQ码本和元数据被重复使用。
initial/pq/pq_m<M>.pqcodes仅包含8000万行,并按初始HNSW内部ID排序,可直接与initial/index_80m_m32_efc500配合使用。





