За пределами PGVector: когда вашей векторной базе данных нужен апгрейд до Формулы-1
Postgres, тяжеловес мира реляционных баз данных, верно служит разработчикам уже более 28 лет. С появлением своего расширения pgvector Postgres сделал шаги к поддержке векторных эмбеддингов, предлагая удобную отправную точку для базового поиска по векторной схожести.
Однако, хотя pgvector предоставляет практичную отправную точку, он всё же уступает специализированным векторным базам данных, таким как Milvus, особенно при работе с крупномасштабными приложениями и сложными требованиями к поиску. Полагаться исключительно на Postgres с pgvector для ресурсоёмких рабочих нагрузок векторного поиска — всё равно что пытаться участвовать в гонке «Формулы-1» на прокачанном семейном седане: это шаг вперёд, но он просто не создан для такого уровня конкуренции.
По мере взрывного роста популярности AI-приложений разработчики сталкиваются с болезнями роста. То, что начинается как удобное решение с pgvector, быстро становится раздражающим узким местом по мере роста данных и усложнения требований к поиску. Качество поиска снижается, обновления индексов затягиваются, а разочарование растёт, пока вы пытаетесь удовлетворить требования своего приложения.
В этом блоге рассматривается, почему Postgres с его надстройкой для векторного поиска, pgvector, хорошо подходит для небольших проектов и более простых сценариев использования, но достигает своих пределов при крупномасштабном векторном поиске. Мы также обсудим, почему специализированные векторные базы данных, такие как Milvus, незаменимы для решения уникальных задач этой быстро развивающейся области.
Узкое место Postgres и Pgvector
Postgres можно представить как седан: он существует уже много лет и работает, но не позволит вам быть экстремально быстрым. Хотя pgvector добавляет в Postgres хранение векторов и базовые возможности поиска по схожести, он наследует фундаментальные ограничения:
- Производительность в масштабе: pgvector поддерживает только два метода индексирования: HNSW и IVF_FLAT. Хотя HNSW — популярный алгоритм, он имеет существенные компромиссы, включая длительное время индексирования и более высокие требования к памяти. С другой стороны, IVF_FLAT обеспечивает более быстрое построение индекса, но с трудом поддерживает производительность запросов по мере масштабирования набора данных. Отсутствие поддержки дисковых индексов, таких как DiskANN, или типов индексов на базе GPU ещё больше ограничивает его производительность и гибкость при работе с крупномасштабными наборами данных.
- Высокоразмерные эмбеддинги: Pgvector не может обрабатывать высокоразмерные векторные эмбеддинги из-за архитектурных ограничений. Он использует фиксированные страницы размером 8 КБ для хранения данных, что принципиально ограничивает количество измерений, которое может вместить вектор. Поскольку каждое измерение требует 4 байта для хранения float, а метаданные также занимают место, эффективное индексирование высокоразмерных векторов становится невозможным. В отличие от этого, специализированные базы данных, такие как Milvus, разработаны так, чтобы легко обрабатывать высокоразмерные эмбеддинги. Хотя в pgvector существуют обходные пути, такие как квантование, они часто требуют компромиссов в точности.
- Отсутствие продвинутых функций: pgvector не обладает полным набором функций, предоставляемым специализированными векторными базами данных. Например, Milvus поддерживает расширенный поиск с фильтрацией метаданных, более широкий набор метрик расстояния помимо L2 и скалярного произведения, гибридный разреженный и плотный поиск и даже полнотекстовый поиск (доступен в Milvus 2.5).
- Проблемы масштабируемости: Масштабирование pgvector для обработки больших наборов данных и высокой нагрузки запросов нетривиально. Оно часто требует значительных усилий для реализации шардинга и управления индексами на нескольких узлах, что добавляет дополнительную сложность и операционные накладные расходы. Специализированные векторные базы данных проектируются с учётом масштабируемости, обеспечивая стабильную производительность даже по мере роста наборов данных и требований к запросам.
Milvus: Формула-1
Milvus — это векторная база данных с открытым исходным кодом, с нуля спроектированная для удовлетворения специфических требований поиска векторного сходства в масштабе. Представьте ее как болид Формулы-1, тщательно созданный для скорости и производительности в мире векторных данных с высокими ставками.
Вот как Milvus превосходит Postgres с pgvector:
- Молниеносно быстрый поиск: Milvus поддерживает 11 современных алгоритмов индексирования, включая FLAT, HNSW, DiskANN, CAGRA, и ускорение на GPU, чтобы обеспечивать непревзойденную производительность поиска даже при десятках миллиардов векторов.
- Легкая масштабируемость: Milvus имеет распределенную и Kubernetes-native архитектуру. Она обеспечивает бесшовное горизонтальное масштабирование, позволяя обрабатывать массивные наборы данных и высокую пропускную способность запросов без сложностей ручного шардирования.
- Всеобъемлющий набор функций: Milvus предлагает всеобъемлющий набор функций, включая фильтрацию по метаданным, поддержку различных метрик расстояния, полнотекстовый поиск, гибридный поиск и гибкие варианты индексирования, чтобы адаптировать стратегию поиска к вашим конкретным потребностям.
- Оптимизирован для будущего данных: Milvus предназначен для работы с масштабом и сложностью постоянно растущего объема неструктурированных данных, представленных в виде векторов, что делает его идеальным решением для следующего поколения AI-приложений.
- Непрерывные инновации: Подобно тому как команда Формулы-1 постоянно расширяет границы производительности, Milvus непрерывно развивается благодаря передовым алгоритмам индексирования, поддержке аппаратного ускорения и оптимизациям на основе машинного обучения.
Правильный выбор: когда что использовать
Хотя Postgres с pgvector, возможно, и не является болидом Формулы-1, ему все равно есть место в гараже. Давайте рассмотрим, когда использовать каждое решение:
Выбирайте pgvector, когда:
- Вы создаете proof of concept или MVP с малыми или средними наборами данных.
- Ваши потребности в векторном поиске просты и не требуют сложной фильтрации.
- Ваши embedding models создают векторы с размерностью ниже ограничений размера страницы Postgres.
- Вам нужны соответствие ACID и строгие транзакционные гарантии.
Выбирайте Milvus, когда:
- Вы работаете с крупномасштабными наборами данных (от миллионов до миллиардов векторов).
- Вам нужны высокоразмерные embeddings за пределами ограничений pgvector.
- Производительность запросов критически важна для вашего приложения.
- Вам требуются расширенные функции, такие как разнообразные варианты индексирования или ускорение на GPU.
- Вы ожидаете быстрого роста и нуждаетесь в решении, которое масштабируется горизонтально.
Перенос ваших векторов в Milvus с помощью нашего сервиса миграции
Если вы используете PGVector и сталкиваетесь с проблемами, мы предлагаем инструмент миграции с открытым исходным кодом под названием VTS (сокращение от Vector Transport Service), который поможет перенести ваши векторы и неструктурированные данные в Milvus или его managed service в Zilliz Cloud.
Созданный на основе Apache Seatunnel, VTS предлагает:
- Богатые, расширяемые коннекторы
- Унифицированную потоковую и пакетную обработку для синхронизации в реальном времени и офлайн-пакетных импортов
- Поддержку распределенных снимков для согласованности данных
- Высокую производительность, низкую задержку и масштабируемость
- Мониторинг в реальном времени и визуальное управление
Помимо pgvector, VTS поддерживает миграцию векторных данных из различных источников, включая Elasticsearch, Pinecone, Qdrant и Tencent Cloud VDB, в специализированные векторные базы данных, такие как Milvus. Он также обеспечивает бесшовную миграцию векторов между open-source Milvus и Zilliz Cloud в обоих направлениях.
Чтобы упростить процесс миграции, VTS автоматически выполняет преобразование схем, устраняя необходимость в сложной настройке и разработке. В 2025 году VTS расширит свои возможности для поддержки миграции данных из дополнительных источников, таких как MongoDB и Weaviate. Будущие версии также добавят возможность генерировать векторные эмбеддинги на лету, позволяя легко преобразовывать неструктурированные данные и переносить их в векторные базы данных для ускоренного поиска приближённых ближайших соседей (ANN). Следите за этими захватывающими обновлениями!
Как работает VTS
Путь вперёд
Ландшафт векторных баз данных продолжает развиваться вместе с быстрым прогрессом технологий ИИ. Хотя pgvector предоставляет удобную точку входа, требования AI-приложений промышленного масштаба часто требуют специализированных решений.
Выбор между pgvector и Milvus — это не просто техническое решение. Это стратегическая инвестиция в будущую масштабируемость вашего приложения. Подобно тому как команда Formula 1 выбирает своё оборудование исходя из требований к производительности, организациям необходимо оценивать свои потребности в векторном поиске в контексте траектории роста.
С такими инструментами, как VTS, упрощающими процесс миграции, компании могут уверенно переносить свои возможности векторного поиска, когда их требования перерастают возможности pgvector. Независимо от того, проектируете ли вы новые приложения или масштабируете существующие, раннее рассмотрение требований к векторному поиску поможет избежать технического долга и обеспечить устойчивый рост.
Нам важно ваше мнение!
Если вам понравилась эта публикация в блоге, пожалуйста, рассмотрите возможность:
- ⭐ Поставить нам звезду на GitHub
- 💬 Присоединиться к нашему сообществу Milvus в Discord, чтобы поделиться своим опытом или если вам нужна помощь с переходом с pgvector
- 🔍 Изучить наш репозиторий Bootcamp с примерами приложений, использующих Milvus
Читать далее

The AWS Outage Was a Wake-Up Call for Vector Database Cross-Region Disaster Recovery
Zilliz Cloud Had the Answer Before the Crisis. Zilliz Cloud is the world's first vector database with native cross-region disaster recovery.

Zilliz Cloud Enterprise Vector Search Powers High-Performance AI on AWS
Zilliz Cloud on AWS powers secure, scalable, ultra-fast vector search for enterprise AI apps, with BYOC, sub-10ms latency, and zero-DevOps simplicity.

Expanding Our Global Reach: Zilliz Cloud Launches in Azure Central India
Zilliz Cloud expands to Azure Central India. This new region helps customers meet compliance, reduce latency, and optimize cloud costs when building AI applications.



