Table of Contents
Fetching ...

Updatable Balanced Index for Stable Streaming Similarity Search over Large-Scale Fresh Vectors

Yuhui Lai, Shixun Huang, Sheng Wang

TL;DR

The paper addresses the challenge of real-time, updatable vector search on large-scale fresh data by focusing on streaming updates for cluster-based indices. It introduces UBIS, an Updatable Balanced Index that uses fine-grained concurrency control and a balance-aware update mechanism to avoid contention and distribution imbalance during high-frequency updates. Empirical results show UBIS achieving up to 77% higher recall and 45% higher update throughput on streaming workloads, and about 16% higher recall and 52% TPS on full updates, compared with state-of-the-art baselines. This work enables more reliable and scalable real-time vector search in dynamic environments such as autonomous driving, e-commerce, and social media where fresh data are continuously flowing.

Abstract

As artificial intelligence gains more and more popularity, vectors are one of the most widely used data structures for services such as information retrieval and recommendation. Approximate Nearest Neighbor Search (ANNS), which generally relies on indices optimized for fast search to organize large datasets, has played a core role in these popular services. As the frequency of data shift grows, it is crucial for indices to accommodate new data and support real-time updates. Existing researches adopting two different approaches hold the following drawbacks: 1) approaches using additional buffers to temporarily store new data are resource-intensive and inefficient due to the global rebuilding processes; 2) approaches upgrading the internal index structure suffer from performance degradation because of update congestion and imbalanced distribution in streaming workloads. In this paper, we propose UBIS, an Updatable Balanced Index for stable streaming similarity Search, to resolve conflicts by scheduling concurrent updates and maintain good index quality by reducing imbalanced update cases, when the update frequency grows. Experimental results in the real-world datasets demonstrate that UBIS achieves up to 77% higher search accuracy and 45% higher update throughput on average compared to the state-of-the-art indices in streaming workloads.

Updatable Balanced Index for Stable Streaming Similarity Search over Large-Scale Fresh Vectors

TL;DR

The paper addresses the challenge of real-time, updatable vector search on large-scale fresh data by focusing on streaming updates for cluster-based indices. It introduces UBIS, an Updatable Balanced Index that uses fine-grained concurrency control and a balance-aware update mechanism to avoid contention and distribution imbalance during high-frequency updates. Empirical results show UBIS achieving up to 77% higher recall and 45% higher update throughput on streaming workloads, and about 16% higher recall and 52% TPS on full updates, compared with state-of-the-art baselines. This work enables more reliable and scalable real-time vector search in dynamic environments such as autonomous driving, e-commerce, and social media where fresh data are continuously flowing.

Abstract

As artificial intelligence gains more and more popularity, vectors are one of the most widely used data structures for services such as information retrieval and recommendation. Approximate Nearest Neighbor Search (ANNS), which generally relies on indices optimized for fast search to organize large datasets, has played a core role in these popular services. As the frequency of data shift grows, it is crucial for indices to accommodate new data and support real-time updates. Existing researches adopting two different approaches hold the following drawbacks: 1) approaches using additional buffers to temporarily store new data are resource-intensive and inefficient due to the global rebuilding processes; 2) approaches upgrading the internal index structure suffer from performance degradation because of update congestion and imbalanced distribution in streaming workloads. In this paper, we propose UBIS, an Updatable Balanced Index for stable streaming similarity Search, to resolve conflicts by scheduling concurrent updates and maintain good index quality by reducing imbalanced update cases, when the update frequency grows. Experimental results in the real-world datasets demonstrate that UBIS achieves up to 77% higher search accuracy and 45% higher update throughput on average compared to the state-of-the-art indices in streaming workloads.
Paper Structure (21 sections, 1 equation, 9 figures, 4 tables, 1 algorithm)

This paper contains 21 sections, 1 equation, 9 figures, 4 tables, 1 algorithm.

Figures (9)

  • Figure 1: A real-world scenario: trajectories of vehicles $V_i$ are embedded as feature vectors $v_i$ with timestamp $t_i$, where similarity search and update are performed concurrently. A real-time updatable index requires receiving fresh vectors in time such that the query vector $v_1$ can access the latest $v_2$.
  • Figure 2: SPANN index structure.
  • Figure 3: The overall architecture of Ubis. The red texts mean there are three branches for the third step, the decision depends on status in version manager.
  • Figure 4: An example of in-place update in SPFresh.
  • Figure 5: The posting distribution of different update batches in SPFresh. The merge threshold is set to 10, and the split threshold is set to 80. The test dataset is the Argoverse 2 motion forecasting dataset Argoverse2.
  • ...and 4 more figures