По мере того, как приложения, основанные на ИИ, переходят от экспериментов к системам производства в режиме реального времени, ожидания по поиску векторного сходства продолжают резко расти.Команды теперь должны поддерживать миллиарды наборов данных, высокую параллельность, строгие бюджеты задержки p99 и уровень оперативной простоты, который уменьшает архитектурную перегрузку, а не добавляет ее. ScyllaDB Vector Search была построена с учетом этих ограничений.Он предлагает унифицированный двигатель для хранения структурированных данных наряду с неструктурированными встраиваниями, и он достигает производительности, которая продвигает границы того, что управляемая система баз данных может обеспечить в масштабе.Результаты нашего недавнего высокомасштабного 1 миллиарда векторного эталона показывают, что ScyllaDB демонстрирует как сверхнизкую задержку, так и высокопредсказуемое поведение при нагрузке. Архитектура на один взгляд Для достижения низкой производительности в миллисекундном диапазоне в массивных наборах векторов ScyllaDB использует архитектуру, которая отделяет обязанности по хранению и индексированию, сохраняя при этом систему единой с точки зрения пользователя. Узлы ScyllaDB хранят как структурированные атрибуты, так и встраивания векторов в одной и той же распределенной таблице. Между тем, специальный сервис Vector Store – реализованный в Rust и поддерживаемый двигателем USearch, оптимизированный для поддержки предсказуемых однозначных задержек в миллисекундном диапазоне ScyllaDB – потребляет обновления от ScyllaDB через CDC и создает индексы приблизительного соседства (ANN) в памяти. SELECT … ORDER BY vector_column ANN_OF ? LIMIT k; Затем они внутренне перенаправляются в Векторный магазин, который выполняет поиск сходства и возвращает кандидатурные строки.Эта конструкция позволяет каждому слою масштабировать самостоятельно, оптимизируя для своих собственных характеристик рабочей нагрузки и устраняя помехи ресурсу. Бенчмаркинг 1 млрд векторов Чтобы оценить производительность в реальном мире, ScyllaDB запустил используя общедоступный набор данных yandex-deep_1b, который содержит 1 миллиард векторов 96 измерений. Настройка состояла из шести узлов: трех узлов ScyllaDB, работающих на инстанциях i4i.16xlarge, каждая оснащенная 64 vCPU, и трех узлов Vector Store, работающих на инстанциях r7i.48xlarge, каждая с 192 vCPU. Эта аппаратная конфигурация отражает реалистичные развертывания производства, где уровни индексации базы данных и векторов предусмотрены различными профилями ресурсов. Строгий бенчмарк Полный архитектурный глубокий погружение, включая диаграммы, компромиссы производительности и расширенные результаты эталонов для более крупных наборов данных, можно найти в техническом блоге. Эти дополнительные результаты следуют той же схеме, что и в 96-мерных тестах: исключительно низкая задержка, высокая пропускная способность и стабильность в широком диапазоне профилей одновременной нагрузки. Создание поисковой системы с низкой задержкой для ScyllaDB Создание поисковой системы с низкой задержкой для ScyllaDB Сценарий No1 — Ультранизкая задержка с умеренным отзывом Первый сценарий был разработан для рабочих нагрузок, таких как двигатели рекомендаций и системы персонализации в режиме реального времени, где основная цель - чрезвычайно низкая задержка и отзыв может быть умеренно расслаблен. При приблизительно 70% отзывов и при 30 одновременных поисках система поддерживала задержку p99 всего в 1,7 миллисекунд и p50 всего в 1,2 миллисекунд, поддерживая 25 000 запросов в секунду. При расширении окна пропускной способности (все еще сохраняя задержку p99 ниже 10 миллисекунд), кластер достиг 60 000 QPS для k = 100 с задержкой p50 4,5 миллисекунд, и 252 000 QPS для k = 10 с задержкой p50 2,2 миллисекунд. Сценарий #2 — Высокий отзыв с немного более высокой задержкой Второй сценарий нацелен на системы, требующие почти идеального вызова, включая семантический поиск высокой верности и производственные трубопроводы с увеличением вызова. Здесь параметры индекса значительно увеличились до m = 64, ef-construction = 512, и ef-search = 512. Эта конфигурация повышает вычислительные требования, но значительно улучшает вызов. При 50 одновременных поисках и вызовах, приближающихся к 98%, ScyllaDB поддерживала задержку p99 ниже 12 миллисекунд, а p50 около 8 миллисекунд при одновременном предоставлении 6500 QPS. При смещении фокуса до максимальной устойчивой пропускной способности при сохранении задержки p99 ниже 20 миллисекунд и p50 ниже 10 миллисекунд система достигла 16 600 QPS. Даже при этих настройках задержка оставалась заметно стабильной в пределах значений k от 10 до 100, демонстрируя предсказуемое поведение в средах, где пределы запросов динамически варьируются. Подробные результаты Ниже приведенная таблица представляет собой резюме результатов для некоторых представительных уровней конвергенции. Унифицированный векторный поиск без сложности Большое преимущество интеграции Vector Search с ScyllaDB заключается в том, что он обеспечивает значительные преимущества по производительности и себестоимости сетей. Векторный магазин находится рядом с данными всего с одним сетевым переходом между метаданными и встраиваемым хранилищем в той же зоне доступности. Эта локация, в сочетании с моделью выполнения Shard-per-Core ScyllaDB, позволяет системе обеспечивать задержку в реальном времени и массивную пропускную способность даже при большой нагрузке. Помимо того, что он быстрый в масштабе, Vector Search ScyllaDB также проще в эксплуатации. Его ключевым преимуществом является его способность объединять структурированное и неструктурированное поиск в рамках одного набора данных. Это означает, что вы можете хранить традиционные атрибуты и встраивания векторов бок о бок и выражать запросы, которые сочетают семантический поиск с обычным поиском. Например, вы можете попросить базу данных «найти пять наиболее похожих документов, но только те, которые принадлежат этому конкретному клиенту и были созданы в течение последних 30 дней». Это также означает, что нет дрейфа ETL и нет риска двойного написания. Вместо того чтобы отправлять встраивания в отдельную векторную базу данных при сохранении метаданных в транзакционном хранилище, ScyllaDB консолидирует все в одну систему. Единственный трубопровод, который вам нужен, это вычислительный шаг, который генерирует встраивания с использованием вашей предпочтительной модели LLM или ML. После написания данные остаются последовательными без дополнительной координации, загрузки или сложных потоковых работ. В операционном плане ScyllaDB упрощает весь набор изысканий. Поскольку она построена на проверенной распределенной архитектуре ScyllaDB, система является высокодоступной, горизонтально масштабируемой и устойчивой по зонам и регионам доступности.Вместо того, чтобы использовать две или три различные технологии – каждая с собственным мониторингом, конфигурациями безопасности и режимами сбоев – вы управляете только одним. Дорожная карта Продукт в настоящее время находится в режиме общей доступности. Это включает облачный портал, расчет по запросу, полный спектр типов инстанций и дополнительную оптимизацию производительности. Самообслуживание планируется на Q1. К концу Q1 мы введем возможности врожденного фильтрации, позволяя векторным поисковым запросам сочетать результаты ANN с традиционными предсказаниями для более точного гибридного поиска. Глядя дальше, дорожная карта включает в себя поддержку скалярной и бинарной квантизации для уменьшения использования памяти, функциональность TTL для автоматизации жизненного цикла векторных данных и интегрированный гибридный поиск, объединяющий ANN с BM25 для унифицированной лексической и семантической актуальности. Заключение ScyllaDB продемонстрировала, что она способна обеспечить ведущую в отрасли производительность для векторного поиска в массивном масштабе, обрабатывая набор данных в 1 млрд векторов с задержкой p99 до 1,7 миллисекунд и пропускной способностью до 252 000 QPS. Эти результаты подтверждают ScyllaDB Vector Search как единое высокопроизводительное решение, которое упрощает операционную сложность приложений ИИ в реальном времени путем совместного расположения структурированных данных и неструктурированных встраиваний. Текущие показатели показывают текущее состояние масштабируемости ScyllaDB. С запланированными усовершенствованиями в предстоящей дорожной карте, включая скалярную квантизацию и шарддинг, эти пределы производительности должны увеличиться в следующем году.