DiskANN в Digital Q.DataBase: обрабатывайте миллиарды векторов без роста оперативки
DiskANN в Digital Q.DataBase: обрабатывайте миллиарды векторов без роста оперативки Уважаемые подписчики, сегодня мне бы хотелось напомнить Вам о поддержке индекса DiskANN в нашей СУБД — это востребовано для векторного поиска, RAG и рекомендательных систем. Часто используемый в таких случаях HNSW хорош, но только пока данные помещаются в RAM. Для 1024-мерных векторов он требует около 4 КБ памяти на вектор, поэтому на сотнях миллионов и миллиардах векторов масштабирование тупо упрется в железо. Решение простое: DiskANN — графовый алгоритм, оптимизированный под использование SSD. Основная структура индекса хранится на диске, а в памяти остаются только сжатые компактные представления векторов для навигации. Мы добавили поддержку такого индекса в нашу СУБД этим летом, чтобы векторный поиск масштабировался на миллиарды векторов без лавинообразного роста памяти. Немного цифр: HNSW использует около 4 КБ на вектор в RAM, даёт задержку меньше 10 мс и комфортно работает примерно до 10–50 млн векторов на узел. DiskANN требует около 128 байт в RAM плюс около 4 КБ на SSD на вектор, показывает задержку порядка 5–15 мс и позволяет одному узлу работать с корпусом от 1 до 100 млрд векторов. Таким образом при сопоставимой задержке DiskANN радикально снижает требования к оперативной памяти и снимает потолок масштаба. Хотите попробовать — напишите нам, расскажем, как включить и настроить.