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