Софт

PlanetScale участвует в векторном поиске

PlanetScale участвует в векторном поиске

PlanetScale, облачная MySQL-совместимая база данных с расширенными возможностями масштабирования, теперь дополнена векторным хранением и поиском.

Основными преимуществами PlanetScale являются горизонтальное чередование и неблокируемое изменение схемы. Добавление векторных возможностей делает ее еще более надежным и гибким решением для баз данных.

Для справки: векторные вложения берут кусок текста и создают его числовое представление. Текст с похожим содержанием будет иметь похожие векторы в этом числовом пространстве. Это позволяет нам сравнивать эти векторы и находить похожие фрагменты текста.

Добавление векторной поддержки в базу данных имеет два аспекта: хранение векторов и их использование для поиска. Обычно для хранения векторов требуется специальная база данных, например ChromaDB. Теперь это не так, поскольку, как мы рассмотрели в статье «Превращение PostgreSQL в хранилище векторов», расширение pg_vector превращает Postgres в жизнеспособную альтернативу специализированным хранилищам векторов, полностью заменяя их. Главное в том, что теперь вы можете без проблем хранить векторные данные вместе с реляционными данными вашего приложения.

Эта возможность позволяет выполнять такие операции, как семантический поиск, рекомендации или обнаружение аномалий, быстрее и проще, чем когда-либо прежде - и без значительных изменений в приложении.

Теперь PlanetScale делает то же самое, но для MySQL, с некоторыми особенностями.
Реализация поддерживает следующие возможности:

  • Предварительная и постфильтрация
  • Полный синтаксис SQL - включая JOIN, WHERE и подзапросы
  • соответствие ACID

для этого используется новый, более продвинутый алгоритм векторного поиска, расширяющий SPFresh от Microsoft,
который, как утверждается, работает лучше, чем HNSW и DiskANN.
Это так, потому что вышеупомянутые алгоритмы требуют периодического перестроения индекса с базовыми векторными данными, а SPFresh обеспечивает синхронизацию векторных вкраплений в реальном времени с последними изменениями данных, что позволяет избежать зависания, а также имеет дополнительный бонус в виде поддержки транзакций. Это свойство позволяет разработчикам использовать Mysql в качестве мани-инструмента для создания приложений с поддержкой искусственного интеллекта.

Чтобы включить поддержку векторов (на момент написания статьи это бета-версия) в своем управляемом экземпляре, вам нужно из главной панели перейти на страницу настроек базы данных, затем нажать «Бета-функции», найти «Векторы» и нажать «Включить». После этого вы получите масштабируемую, надежную и постоянную базу данных с полным набором векторных возможностей.

Читайте также