PlanetScale, облачная MySQL-совместимая база данных с расширенными возможностями масштабирования, теперь дополнена векторным хранением и поиском.
Основными преимуществами PlanetScale являются горизонтальное чередование и неблокируемое изменение схемы. Добавление векторных возможностей делает ее еще более надежным и гибким решением для баз данных.
Для справки: векторные вложения берут кусок текста и создают его числовое представление. Текст с похожим содержанием будет иметь похожие векторы в этом числовом пространстве. Это позволяет нам сравнивать эти векторы и находить похожие фрагменты текста.
Добавление векторной поддержки в базу данных имеет два аспекта: хранение векторов и их использование для поиска. Обычно для хранения векторов требуется специальная база данных, например ChromaDB. Теперь это не так, поскольку, как мы рассмотрели в статье «Превращение PostgreSQL в хранилище векторов», расширение pg_vector превращает Postgres в жизнеспособную альтернативу специализированным хранилищам векторов, полностью заменяя их. Главное в том, что теперь вы можете без проблем хранить векторные данные вместе с реляционными данными вашего приложения.
Эта возможность позволяет выполнять такие операции, как семантический поиск, рекомендации или обнаружение аномалий, быстрее и проще, чем когда-либо прежде - и без значительных изменений в приложении.
Теперь PlanetScale делает то же самое, но для MySQL, с некоторыми особенностями.
Реализация поддерживает следующие возможности:
- Предварительная и постфильтрация
- Полный синтаксис SQL - включая JOIN, WHERE и подзапросы
- соответствие ACID
для этого используется новый, более продвинутый алгоритм векторного поиска, расширяющий SPFresh от Microsoft,
который, как утверждается, работает лучше, чем HNSW и DiskANN.
Это так, потому что вышеупомянутые алгоритмы требуют периодического перестроения индекса с базовыми векторными данными, а SPFresh обеспечивает синхронизацию векторных вкраплений в реальном времени с последними изменениями данных, что позволяет избежать зависания, а также имеет дополнительный бонус в виде поддержки транзакций. Это свойство позволяет разработчикам использовать Mysql в качестве мани-инструмента для создания приложений с поддержкой искусственного интеллекта.
Чтобы включить поддержку векторов (на момент написания статьи это бета-версия) в своем управляемом экземпляре, вам нужно из главной панели перейти на страницу настроек базы данных, затем нажать «Бета-функции», найти «Векторы» и нажать «Включить». После этого вы получите масштабируемую, надежную и постоянную базу данных с полным набором векторных возможностей.