Minimal RAM you need to serve a million vectors
Blog post from Qdrant
Exploring the memory consumption of Qdrant, a vector database, the text delves into accurately measuring RAM usage beyond conventional tools like htop, which can misrepresent actual needs due to factors like pre-allocated memory and shared processes. The article presents a series of experiments to determine the minimal RAM required to efficiently serve one million vectors, employing both in-memory and memory-mapped file (mmap) approaches. Tests revealed that while approximately 1.2GB of RAM suffices for in-memory storage without speed degradation, a combination of mmap for vectors and HNSW graphs can reduce RAM usage to 135MB, though at the cost of slower search speeds. The impact of disk speed on performance was scrutinized using fio tool benchmarks, highlighting that faster local SSDs significantly enhance search speeds, suggesting a potential for further performance gains with advanced SSD configurations. The study underscores Qdrant's adaptability in balancing RAM usage with search efficiency, encouraging users to explore its capabilities for managing large datasets.