Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Node.js: Milvus, vector database, open source, ANN search, distributed architecture

Чем Milvus отличается от других векторных баз данных и почему он популярен как open source решение?

Вопрос проверяет понимание особенностей векторной базы данных Milvus, её архитектуры и причин популярности среди open-source решений для работы с векторными представлениями.

Короткий ответ

Milvus — это open-source векторная база данных, оптимизированная для хранения и поиска векторных представлений. В отличие от других решений, она поддерживает распределённую архитектуру, гибридный поиск (векторный + скалярный) и множество индексов для приближённого поиска ближайших соседей (ANN). Популярность обусловлена высокой производительностью, масштабируемностью и активным сообществом.

Длинный ответ

Что такое Milvus и его ключевые отличия

Milvus — это open-source векторная база данных, предназначенная для эффективного хранения, индексации и поиска векторных представлений (embeddings), которые генерируются моделями машинного обучения. Её главное отличие от других векторных БД (например, Pinecone, Weaviate, Qdrant) — это архитектура, основанная на разделении хранения и вычислений, что позволяет горизонтально масштабироваться. Milvus поддерживает несколько типов индексов для приближённого поиска ближайших соседей (ANN), включая IVF, HNSW, DiskANN, и может работать как с GPU, так и с CPU.

Архитектура и гибридный поиск

Milvus использует модель "log-structured merge-tree" (LSM) для записи данных и поддерживает гибридный поиск, который комбинирует векторный поиск с фильтрацией по скалярным полям (например, метаданным). Это позволяет выполнять запросы вида: "найди 10 похожих изображений, где тег = 'кошка'". В отличие от Pinecone, который является проприетарным, Milvus полностью open-source и может быть развёрнут локально.

Пример использования

from pymilvus import connections, Collection, FieldSchema, CollectionSchema, DataType

# Подключение к Milvus
connections.connect(host='localhost', port='19530')

# Определение схемы
fields = [
    FieldSchema(name="id", dtype=DataType.INT64, is_primary=True),
    FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=128),
    FieldSchema(name="category", dtype=DataType.VARCHAR, max_length=50)
]
schema = CollectionSchema(fields, description="Image search")
collection = Collection(name="images", schema=schema)

# Вставка данных
import numpy as np
vectors = np.random.random([10, 128]).tolist()
ids = list(range(10))
categories = ["cat"] * 5 + ["dog"] * 5
collection.insert([ids, vectors, categories])

# Поиск с фильтром
collection.load()
query_vector = np.random.random([1, 128]).tolist()
results = collection.search(
    data=query_vector,
    anns_field="embedding",
    param={"metric_type": "L2", "params": {"nprobe": 10}},
    limit=3,
    expr="category == 'cat'"
)
print(results)

Почему Milvus популярен

  • Open-source: бесплатный, с активным сообществом и регулярными обновлениями.
  • Производительность: поддержка GPU-ускорения и различных ANN-индексов.
  • Масштабируемость: распределённая архитектура с возможностью добавления узлов.
  • Гибридный поиск: комбинация векторного и скалярного поиска.
  • Экосистема: интеграция с популярными фреймворками (LangChain, Hugging Face).

Вывод: Milvus стоит применять, когда требуется высокопроизводительный поиск по векторным представлениям в масштабируемой open-source системе, особенно в задачах рекомендательных систем, поиска изображений или семантического поиска.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • Node.js

    Node.js

  • SQL

Ключевые слова

#Milvus

#vector database

#open source

#ANN search

#distributed architecture

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.