Table of Contents
Fetching ...

Scalable Disk-Based Approximate Nearest Neighbor Search with Page-Aligned Graph

Dingyi Kang, Dongming Jiang, Hanshen Yang, Hang Liu, Bingzhe Li

TL;DR

PageANN tackles the scalability bottlenecks of disk-based ANNS by co-designing a page-node graph that aligns with SSD I/O granularity, a disk layout that stores necessary topological and vector data within single pages, and a memory management strategy that dynamically coordinates in-memory caches with disk data. This page-level approach reduces I/O operations, minimizes read amplification, and enables efficient search across diverse memory budgets without sacrificing recall. Empirical results show 1.85x–10.83x higher throughput and 51.7%–91.9% lower latency across datasets and budgets, with robust performance on billion-scale datasets. The work provides a practical, open-source solution for scalable vector search in large-scale VectorDBs, balancing accuracy, speed, and resource usage.

Abstract

Approximate Nearest Neighbor Search (ANNS), as the core of vector databases (VectorDBs), has become widely used in modern AI and ML systems, powering applications from information retrieval to bio-informatics. While graph-based ANNS methods achieve high query efficiency, their scalability is constrained by the available host memory. Recent disk-based ANNS approaches mitigate memory usage by offloading data to Solid-State Drives (SSDs). However, they still suffer from issues such as long I/O traversal path, misalignment with storage I/O granularity, and high in-memory indexing overhead, leading to significant I/O latency and ultimately limiting scalability for large-scale vector search. In this paper, we propose PageANN, a disk-based approximate nearest neighbor search (ANNS) framework designed for high performance and scalability. PageANN introduces a page-node graph structure that aligns logical graph nodes with physical SSD pages, thereby shortening I/O traversal paths and reducing I/O operations. Specifically, similar vectors are clustered into page nodes, and a co-designed disk data layout leverages this structure with a merging technique to store only representative vectors and topology information, avoiding unnecessary reads. To further improve efficiency, we design a memory management strategy that combines lightweight indexing with coordinated memory-disk data allocation, maximizing host memory utilization while minimizing query latency and storage overhead. Experimental results show that PageANN significantly outperforms state-of-the-art (SOTA) disk-based ANNS methods, achieving 1.85x-10.83x higher throughput and 51.7%-91.9% lower latency across different datasets and memory budgets, while maintaining comparable high recall accuracy.

Scalable Disk-Based Approximate Nearest Neighbor Search with Page-Aligned Graph

TL;DR

PageANN tackles the scalability bottlenecks of disk-based ANNS by co-designing a page-node graph that aligns with SSD I/O granularity, a disk layout that stores necessary topological and vector data within single pages, and a memory management strategy that dynamically coordinates in-memory caches with disk data. This page-level approach reduces I/O operations, minimizes read amplification, and enables efficient search across diverse memory budgets without sacrificing recall. Empirical results show 1.85x–10.83x higher throughput and 51.7%–91.9% lower latency across datasets and budgets, with robust performance on billion-scale datasets. The work provides a practical, open-source solution for scalable vector search in large-scale VectorDBs, balancing accuracy, speed, and resource usage.

Abstract

Approximate Nearest Neighbor Search (ANNS), as the core of vector databases (VectorDBs), has become widely used in modern AI and ML systems, powering applications from information retrieval to bio-informatics. While graph-based ANNS methods achieve high query efficiency, their scalability is constrained by the available host memory. Recent disk-based ANNS approaches mitigate memory usage by offloading data to Solid-State Drives (SSDs). However, they still suffer from issues such as long I/O traversal path, misalignment with storage I/O granularity, and high in-memory indexing overhead, leading to significant I/O latency and ultimately limiting scalability for large-scale vector search. In this paper, we propose PageANN, a disk-based approximate nearest neighbor search (ANNS) framework designed for high performance and scalability. PageANN introduces a page-node graph structure that aligns logical graph nodes with physical SSD pages, thereby shortening I/O traversal paths and reducing I/O operations. Specifically, similar vectors are clustered into page nodes, and a co-designed disk data layout leverages this structure with a merging technique to store only representative vectors and topology information, avoiding unnecessary reads. To further improve efficiency, we design a memory management strategy that combines lightweight indexing with coordinated memory-disk data allocation, maximizing host memory utilization while minimizing query latency and storage overhead. Experimental results show that PageANN significantly outperforms state-of-the-art (SOTA) disk-based ANNS methods, achieving 1.85x-10.83x higher throughput and 51.7%-91.9% lower latency across different datasets and memory budgets, while maintaining comparable high recall accuracy.

Paper Structure

This paper contains 20 sections, 2 equations, 12 figures, 5 tables, 2 algorithms.

Figures (12)

  • Figure 1: Impact of memory ratio on query latency for state-of-the-art disk-based ANN schemes (i.e., DiskANN diskann, SPANN spann, Starling starling, and PipeANN pipeann) on the SIFT dataset. The memory ratio represents the proportion of the dataset size that is available in host memory. (Due to the minimum memory requirement, PipeANN and SPANN cannot run with the memory ratio below 30%.)
  • Figure 2: Query latency breakdown analysis for SOTA schemes.
  • Figure 3: Overall structure of PageANN.
  • Figure 4: Main idea of page-node graph.
  • Figure 5: Disk layout of PageANN based on the graph example in Figure \ref{['fig:page-graph']}.
  • ...and 7 more figures