- BrainTools - https://www.braintools.ru -
Мы в Beeline Cloud [1] подготовили новую подборку по теме векторных СУБД, в которой собрали примечательные инструменты по теме: например, решение, позволяющее хранить эмбеддинги в «видеоформате», а также расширение для SQLite, добавляющее поиск по векторам.
Zvec [2] — это легковесная СУБД на основе открытой векторной поисковой системы Proxima [3], представленная специалистами из open source-подразделения Alibaba. Ее первая версия была выложена в открытый доступ в 2025 году под лицензией Apache 2.0, и с тех пор проект набрал больше 9 тыс. звезд на GitHub. Среди преимуществ Zvec авторы выделяют высокую скорость поиска. Они провели серию тестов на бенчмарке VectorDBBench [4], предназначенном для оценки векторных СУБД на реальных сводах данных. Zvec оказалась на первом месте по максимальному количеству запросов, обрабатываемых за секунду (на наборе из десяти миллионов 768-мерных векторов). Для сравнения, второе место заняла платформа Zilliz Cloud с показателем в 3,9 тыс. запросов, а третье — OpenSearch с результатом 1,6 тыс. запросов.
К слову, производительность Zvec подтверждают тесты. В начале года проект привлек внимание [5] резидентов Hacker News; тематический тред [6] на площадке набрал две сотни плюсов и десятки комментариев. Один из участников обсуждения протестировал [7] СУБД, сравнив Zvec с LanceDB и Qdrant при работе с датасетом из трех коллекций (по 10 тыс. элементов в каждой). Проект Alibaba показал самую высокую скорость обработки данных — 0,8 мс. Для сравнения, у LanceDB эта цифра составила 5,9 мс, а у Qdrant — 21,1 мс. Впрочем, как отмечает автор теста, успех Zvec во многом был обусловлен локальным высокопроизводительным диском. Еще одним преимуществом Zvec для локальной работы является простота развертывания.
Векторную СУБД Valori [8] представил индийский инженер в 2025 году. Она полностью написана на Python и поддерживает семантический поиск. История рождения проекта довольно банальна: автор работал над инструментом для генерации документации docgen.dev и ему потребовалось реализовать функцию поиска по базе знаний. Он перебрал несколько готовых решений, но по разным причинам они ему не подошли, — требовали Docker или большое количество зависимостей. Так что он написал под свои нужды Valori. Решение избавляет от необходимости работать со сторонними API и готовить YAML-конфигурации. Небольшая демонстрация того, как выглядит команда поиска в этой СУБД, представлена [9] на сайте проекта.
Разработчик считает, что его решение пригодится для построения RAG [10]-приложений — например, чат-ботов — с функцией поиска по документам. Еще его можно использовать для интерактивной навигации по репозиториям и построения корпоративных баз знаний. Valori умеет работать с «офисными» документами и PDF, а в качестве одного из парсеров используется открытая библиотека Docling [11]. Valori не требует долгой настройки и, по сути, готова к работе после развертки, поскольку содержит необходимые системы логирования, мониторинга и обработки ошибок. Руководства по этой СУБД можно найти в репозитории [8], там же описаны ее основные компоненты. Автор планирует подготовить инструкции для установки с помощью менеджера пакетов uv [12], а также сделать некоторые зависимости опциональными.
Векторное хранилище с гибридным поиском comet [13] написано на Go и имеет лицензию MIT. Его представил разработчик из компании Couchbase, развивающей открытую нереляционную базу данных. Comet позволяет проводить полнотекстовый поиск с алгоритмом ранжирования BM25 [14]. Можно использовать фильтрацию по метаданным с помощью структур данных Roaring Bitmap [15] и bitslice-индексов. Что касается индексирования, поддерживаются механизмы HNSW, IVF, комбинация IVF + PQ [16] и другие. В README-файле репозитория разработчик расписал несколько возможных сценариев использования comet — разумеется, с примерами. Среди потенциальных юзкейсов: рекомендательные системы для маркетплейсов, вопросно-ответные системы и семантический поиск по документам. Все в том же репозитории [17] comet можно найти и инструкции по установке, описание компонентов. В официальной документации [18] чуть больше подробностей: есть описание архитектуры, ключевых концепций, обзор лучших практик, рекомендации по оптимизации производительности и не только.
Comet — не единственный проект этого разработчика. В его портфолио есть и другие решения для работы с векторами, а также поисковые движки. Например, Tinkerbird [19] является браузерной векторной СУБД, использующей в качестве слоя хранения данных IndexedDB [20]. А Blaze [21] представляет собой Go-движок для полнотекстового поиска. Он поддерживает ранжирование по алгоритму BM25 [22], инвертированное индексирование, булевы запросы и так далее.
Очевидно, что существуют не только векторные СУБД, но и расширения, добавляющие такую функциональность в классические реляционные СУБД. Одним из таких является SQLite Vector [23], который позволяет SQLite реализовать векторный поиск. Плагин написали специалисты из американской компании SQLite AI, разрабатывающей расширения для этой СУБД (например, упрощающие развертку в облаке). SQLite Vector был опубликовано в середине 2025 года под лицензией Elastic License 2.0 с дополнительными условиями [24] для открытых разработок [продукт можно использовать или изменять без ограничений, но только в случаях, когда оно применяется в рамках проекта с лицензией, одобренной OSI]. Специалисты строили это решение с расчетом, что оно найдет применение в сфере мобильных и периферийных устройств, так как на них бывает трудно работать с подобными системами.
Разработчики отмечают, что прочие векторные расширения полагаются на сложные алгоритмы индексации, например, HNSW или IVF, зачастую требующие предварительной подготовки БД. В случае с SQLite Vector такая подготовка не нужна, поскольку она работает напрямую со столбцами BLOB, предназначенными для хранения больших объемов неструктурированных бинарных данных. SQLite Vector занимает около 30 МБ оперативной памяти [25]. Расширение мультиплатформенное — работает на Windows, Linux и macOS, на мобильных iOS и Android (также можно скачать версию SQLite для WebAssembly). Инструкции по работе с расширением есть в репозитории. Там же можно найти справочник по API [26] и примеры использования.
Последний инструмент в нашей подборке позволяет реализовать альтернативный (и даже экспериментальный) подход к хранению данных. Вместо того чтобы размещать эмбеддинги в СУБД, Memvid [27] предлагает хранить векторы, индексы и WAL [28]-журналы в едином файле видеоформата .mv2. Решение было опубликовано независимым разработчиком под лицензией Apache 2.0 — и с момента релиза в 2025 году Memvid получило на GitHub более 13 тыс. звезд.
Memvid стал «побочным» продуктом личного проекта автора. Он писал [29] свою RAG-систему, однако она получалась тяжеловесной — на один только поиск нужных PDF-файлов уходило восемь гигабайт оперативной памяти. Тогда ему в голову пришла неожиданная идея: «Если современным видеокодекам десятилетиями оптимизировали алгоритмы сжатия, то почему бы ими не воспользоваться». Основу Memvid составляют смарт-фреймы — неизменяемые единицы данных, хранящие не только само содержимое, но и его временные метки, контрольные суммы и метаданные. Также Memvid поддерживает встроенную функцию упреждающей записи, позволяющую проводить автоматическое восстановление после сбоев и обеспечивать целостность данных.
В качестве эксперимента [29] разработчик преобразовал текст из 10 тыс. PDF-файлов в QR-коды, а затем их закодировал — тысячи документов превратились в один видеофайл размером 1,4 ГБ. И если до этого поиск в векторной СУБД автора проекта занимал 8 ГБ оперативной памяти, то с таким подходом энтузиасту удалось уменьшить расход RAM до 200 МБ, тогда как индексирование замедлилось всего на 10%. Как считает [30] разработчик, Memvid может оказаться полезным при построении корпоративных баз знаний и автономных систем ИИ, а также для написания персональных ИИ-помощников и нейросетевых агентов.
Документация [31] довольно подробная, в ней можно найти как базовые инструкции по работе с Memvid, так и перечень [32] поддерживаемых моделей от разных поставщиков (с руководствами по настройке). Еще автор проекта подготовил справочник [33] по всем CLI-командам для Memvid. При желании на официальном сайте можно изучить архитектуру Memvid с пояснениями о том, как разработчику взаимодействовать с инструментом.
Beeline Cloud [1] — разрабатываем облачные решения, чтобы вы предоставляли клиентам лучшие сервисы.
О чем еще рассказываем в нашем блоге на Хабре и на нашем DIY-медиа:
Автор: beeline_cloud
Источник [38]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/30893
URLs in this post:
[1] Beeline Cloud: https://cloud.beeline.ru/?utm_source=owned_media&utm_medium=habr&utm_campaign=beeline_cloud&utm_term=embednew
[2] Zvec: https://github.com/alibaba/zvec
[3] Proxima: https://github.com/alibaba/proxima
[4] VectorDBBench: https://github.com/zilliztech/VectorDBBench
[5] внимание: http://www.braintools.ru/article/7595
[6] тематический тред: https://news.ycombinator.com/item?id=47000535
[7] протестировал: https://news.ycombinator.com/item?id=47128891
[8] Valori: https://github.com/varshith-Git/valori
[9] представлена: https://valori-python-vector-db.lovable.app/#code-demo
[10] RAG: https://en.wikipedia.org/wiki/Retrieval-augmented_generation
[11] Docling: https://github.com/docling-project/docling
[12] uv: https://github.com/astral-sh/uv
[13] comet: https://github.com/wizenheimer/comet
[14] BM25: https://en.wikipedia.org/wiki/Okapi_BM25
[15] данных Roaring Bitmap: https://www.roaringbitmap.org/about/
[16] HNSW, IVF, комбинация IVF + PQ: https://machinelearningmastery.com/vector-databases-explained-in-3-levels-of-difficulty/
[17] репозитории: https://github.com/wizenheimer/comet?tab=readme-ov-file%23use-cases
[18] документации: https://pkg.go.dev/github.com/wizenheimer/comet%23pkg-functions
[19] Tinkerbird: https://github.com/wizenheimer/tinkerbird
[20] IndexedDB: https://en.wikipedia.org/wiki/IndexedDB
[21] Blaze: https://github.com/wizenheimer/blaze
[22] BM25: https://en.wikipedia.org/wiki/Okapi_BM25?ysclid=mobwhv2c74407021933
[23] SQLite Vector: https://github.com/sqliteai/sqlite-vector
[24] дополнительными условиями: https://github.com/sqliteai/sqlite-vector/blob/main/LICENSE.md
[25] памяти: http://www.braintools.ru/article/4140
[26] API: https://github.com/sqliteai/sqlite-vector/blob/main/API.md
[27] Memvid: https://github.com/memvid/memvid
[28] WAL: https://en.wikipedia.org/wiki/Write-ahead_logging
[29] писал: https://news.ycombinator.com/item?id=44123033
[30] считает: https://github.com/memvid/memvid?tab=readme-ov-file#use-cases
[31] Документация: https://docs.memvid.com/introduction/welcome
[32] перечень: https://docs.memvid.com/concepts/embedding-models
[33] справочник: https://docs.memvid.com/cli
[34] Десятки «кораблей Тесея» уже готовы, еще тысячи на подходе! Новый спор вокруг применения ИИ в опенсорсе: https://habr.com/ru/companies/beeline_cloud/articles/1019600/
[35] «Просто данных» больше недостаточно для обучения ИИ: https://vaiti.io/prosto-dannyh-bolshe-nedostatochno-dlya-obucheniya-ii/
[36] Организация безопасного доступа к закрытым данным для ИИ: от заявок до федеративного обучения: https://vaiti.io/organizacziya-bezopasnogo-dostupa-k-zakrytym-dannym-dlya-ii-ot-zayavok-do-federativnogo-obucheniya/
[37] Как не надо внедрять биометрическую аутентификацию в мобильных приложениях и как сделать это правильно: https://vaiti.io/kak-ne-nado-vnedryat-biometricheskuyu-autentifikacziyu-v-mobilnyh-prilozheniyah-i-kak-sdelat-eto-pravilno/
[38] Источник: https://habr.com/ru/companies/beeline_cloud/articles/1040100/?utm_campaign=1040100&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.