System Design Space
Граф знанийНастройки

Обновлено: 4 мая 2026 г. в 15:52

Qdrant: векторная база данных и архитектура

средний

Векторная база данных для семантического и гибридного поиска: коллекции и точки, HNSW, фильтры по атрибутам, шарды, реплики и RAG-сценарии.

Qdrant полезно понимать не как магическую векторную базу данных, а как одну из опор слоя извлечения контекста, где качество поиска зависит от HNSW, векторных представлений, фильтров и схемы обновления индекса.

В реальных AI- и поисковых сценариях эта глава помогает проектировать векторное хранилище как часть полноценного контура извлечения контекста: с версионированием моделей, переиндексацией, фильтрацией и компромиссами между качеством, задержкой и стоимостью.

В интервью и инженерных обсуждениях она особенно сильна там, где нужно объяснить, почему векторная база данных не решает поиск по смыслу сама по себе и как она встраивается в RAG или семантическую поисковую систему.

Практическая польза главы

Проектирование извлечения

Проектируйте слой извлечения контекста как отдельный контур: векторные представления, фильтры и повторное ранжирование должны работать согласованно.

Жизненный цикл эмбеддингов

Планируйте версионирование моделей векторных представлений и переиндексацию без простоя поиска.

Гибридный контроль качества

Комбинируйте векторные и лексические сигналы, чтобы удерживать точность и полноту выдачи под задачу.

Формулировка рисков

На интервью описывайте компромиссы качества, стоимости и задержки в RAG и семантическом поиске.

Источник

Qdrant

Официальный сайт Qdrant: позиционирование векторной базы данных, продуктовые возможности и модели развёртывания.

Открыть сайт

Документация

Qdrant Docs: Overview

Ключевые концепции: коллекции, точки, фильтры по атрибутам, распределённый режим, согласованность и настройка производительности.

Открыть документацию

Qdrant — векторная база данных для семантического поиска и RAG-систем. В системном дизайне её обычно ставят как отдельный слой извлечения контекста рядом с транзакционным источником истины: Qdrant хранит векторные представления, применяет фильтры по атрибутам, поддерживает гибридный поиск и возвращает самые близкие результаты с низкой задержкой.

В этой главе рассматривается через , , и . Для архитектуры важны , , , , репликация и качество выдачи по и .

История и контекст

2021Проект

Появление Qdrant

Идея выросла из задачи поиска похожих неструктурированных объектов: после оценки готовых библиотек команда начала собственный движок векторного поиска на Rust.

6 апреля 2021v0.2.0

Первые возможности базы

Ранний релиз добавляет индексирование полезной нагрузки для числовых и строковых полей — первые практические элементы фильтруемого векторного поиска.

8 июня 2022v0.8.0

Появление распределённого режима

После раннего одноузлового этапа Qdrant получает режим распределённого кластера с шардированием и репликами для промышленных нагрузок.

8 февраля 2023v1.0.0

Стабилизация API и промышленное внедрение

Формируется стабильный API и экосистема SDK; Qdrant всё чаще используют как слой извлечения контекста в AI/ML-системах.

8 декабря 2023v1.7.0

Разреженные векторы и управляемое шардирование

Появляются разреженные векторы и более гибкое управление распределением данных между шардами.

1 июля 2024v1.10.0

Мультивекторы и более гибкое извлечение контекста

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

17 ноября 2025v1.16.0

ACORN и улучшение строгой фильтрации

Улучшается строгая фильтрация при обходе HNSW-графа, что важно для поиска с большим числом условий.

Ключевые архитектурные элементы

Коллекции, точки и полезная нагрузка

Базовая модель — коллекции с точками: каждая точка содержит векторы и атрибуты для фильтрации.

Фильтруемый векторный поиск

Поиск сочетает HNSW и фильтрацию по атрибутам, чтобы учитывать и смысловую близость, и бизнес-ограничения.

Надёжность хранения и раскладка данных

Журнал предзаписи и сегменты защищают запись, а хранение на диске, отображение в память и квантование помогают управлять стоимостью.

Кластерный режим

Шарды и реплики масштабируют пропускную способность, а настройки согласованности и порядка записи задают компромисс между скоростью и безопасностью.

Векторная модель данных и фильтрация

Ниже показано, как Qdrant моделирует данные: плотные и разреженные векторы, мультивекторы, именованные векторы, фильтры по атрибутам и параметры хранения, влияющие на задержку и стоимость.

Модель данных Qdrant: больше, чем хранилище векторов

Qdrant хранит точки с векторами и атрибутами, поддерживает плотные, разреженные и мультивекторные схемы, а также фильтруемый поиск.

Почему Qdrant — это не только поиск по одному вектору

  • Точка может содержать векторы и структурированные атрибуты для фильтрации и бизнес-условий.
  • Плотные и разреженные представления можно комбинировать в гибридных сценариях поиска.
  • Именованные векторы и мультивекторы позволяют хранить несколько пространств представления для одного объекта.
  • Индексы и параметры хранения на диске или с квантованием помогают управлять задержкой и стоимостью.

Плотные векторы

Классический поиск ближайших соседей по векторному представлению фиксированной размерности, например 768 или 1024.

Ключевые элементы

схема векторов коллекцииобновление точекпервые k результатовметрика: Cosine/Dot/Euclid

Типичные сценарии

  • семантический поиск
  • извлечение контекста для RAG
  • рекомендации

Пример

"vectors": { "size": 768, "distance": "Cosine" }

Архитектура Qdrant по слоям

Ниже показан типовой контур Qdrant в продуктовой системе: API, приём данных, коллекции и шарды, векторные индексы, фильтры, журнал предзаписи, сегменты и кластерная эксплуатация.

Клиенты и API
HTTP + gRPCSDKOpenAPIпакетное обновление
переход слоя
Коллекции и шарды
коллекцииточкимаршрутизация шардовкоэффициент репликации
переход слоя
Векторные индексы
HNSWразреженный индексиндекс атрибутовфильтруемый поиск
переход слоя
Хранение
WALсегментыдиск / memmapверсии обновлений
переход слоя
Кластер и согласованность
Raft для топологиисогласованность чтенияфактор записипорядок записи
переход слоя
Эксплуатация
снимкиквантованиеоптимизатормониторинг

системный взгляд

Qdrant обычно работает как отдельный слой векторного поиска рядом с транзакционным источником истины.

Возможности поиска

плотные векторыразреженные векторымультивекторы и именованные векторы

RAG и фильтры

фильтры по атрибутамгибридные запросыранжирование с учётом атрибутов

Цена эксплуатации

полнота против задержкистоимость записи в репликибаланс памяти и диска

Пути записи и чтения через компоненты

Диаграмма объединяет путь записи и путь чтения: как Qdrant принимает обновления и поисковые запросы, обновляет индексы и возвращает наиболее близкие результаты в одном узле и в распределённом кластере.

Пути записи и чтения

Интерактивный разбор того, как операции с векторами проходят через компоненты Qdrant.

1
Обновление от клиента
points wait=true
2
WAL
журнал записи
3
Обновление сегмента
точки и атрибуты
4
Обновление индексов
HNSW / атрибуты
5
Подтверждение реплик
согласованность
Путь записи: обновление проходит через журнал WAL и сегменты, обновляет индексы и подтверждается по настройкам реплик и согласованности.

Путь записи

  1. Клиент отправляет операции `upsert`/`set-payload` в коллекцию Qdrant.
  2. Запись проходит через WAL, затем попадает в сегменты и индексные структуры.
  3. В распределённом режиме изменения расходятся по репликам шарда с учётом настроек согласованности.
  4. `wait=true` и настройки согласованности записи влияют на момент подтверждения операции клиенту.

Когда выбирать Qdrant

Хорошо подходит

  • Семантический поиск и RAG, где нужно хранить векторные представления и фильтровать результаты по атрибутам.
  • Гибридный поиск, когда важны и смысловая близость, и лексический сигнал.
  • Каталоги и контентные системы с фильтрами по арендатору, категории, дате и другим бизнес-условиям.
  • Промышленный слой векторного поиска с репликацией, снимками состояния и контролем задержки и полноты выдачи.

Стоит избегать

  • Сценарии с тяжёлыми реляционными JOIN и транзакционной бизнес-логикой в основной СУБД.
  • Чисто аналитические нагрузки с массовыми агрегатами по колоночным данным.
  • Команды, не готовые настраивать параметры HNSW и проверять качество выдачи по точности и полноте.
  • Системы, где нужен универсальный SQL-движок вместо специализированного слоя векторного поиска.

Практика: DDL и DML

Ниже практические примеры Qdrant API: операции над структурой коллекций и индексов, а также команды для обновления точек, поисковых запросов и изменения полезной нагрузки.

Примеры DDL и DML в Qdrant

DDL управляет коллекциями и индексами, DML работает с точками, атрибутами и поисковыми запросами.

DDL в Qdrant — это операции над структурой коллекций: схема векторов, шардирование, репликация и индексы атрибутов.

Создание коллекции под плотный и разреженный поиск

PUT /collections/products

Определяем векторную схему, параметры распределения и режим хранения атрибутов.

PUT /collections/products
{
  "vectors": {
    "size": 768,
    "distance": "Cosine"
  },
  "sparse_vectors": {
    "text": {}
  },
  "shard_number": 3,
  "replication_factor": 2,
  "write_consistency_factor": 1,
  "on_disk_payload": true
}

Индекс атрибутов для фильтруемого поиска

PUT /collections/products/index

Индексируем поле category, чтобы фильтры работали с более предсказуемой задержкой.

PUT /collections/products/index
{
  "field_name": "category",
  "field_schema": "keyword"
}

Настройка HNSW и квантования

PATCH /collections/products

Настраиваем индекс и сжатие под профиль полноты, задержки и стоимости.

PATCH /collections/products
{
  "vectors": {
    "": {
      "hnsw_config": {
        "m": 32,
        "ef_construct": 256
      },
      "quantization_config": {
        "scalar": {
          "type": "int8",
          "always_ram": true
        }
      }
    }
  }
}

Источники

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки