Searching with a small memory footprint

In large-scale scenarios, the memory requirement for graph-based methods grows quickly. To reduce the memory footprint we recommend:

  1. Use vector compression for search. The supported vector compression, LVQ, reduces the memory footprint and improves performance.

  2. Build the graph with a small graph_max_degree (e.g., 32). SVS optimizations enable very high search performance even in graphs built with small graph_max_degree (see Search with Reduced Memory Footprint).

  3. Use vector compression for graph building. The supported vector compression, LVQ, enables graph building with compressed vectors with almost no degradation in search accuracy compared to a graph built with full precision vectors [ABHT23].