Повышение эффективности потока данных: Zilliz представляет Upsert, Kafka Connector и интеграцию с Airbyte
В современной среде, основанной на данных, эффективная загрузка данных и надежные конвейеры данных формируют основу любой мощной системы баз данных. В Zilliz наши недавние улучшения в этих областях — в частности, внедрение Upsert, Kafka Connector и интеграции с Airbyte — подчеркивают нашу приверженность предоставлению разработчикам векторной базы данных, которая отличается высокой производительностью, универсальностью и простотой интеграции. Мы разработали эти новые дополнения, чтобы упростить обработку данных, обеспечивая бесшовную интеграцию и расширенный контроль над потоком данных, тем самым позволяя разработчикам сосредоточиться на создании инновационных приложений без необходимости управлять сложными процессами загрузки данных.
Оптимизация обновлений данных с помощью Upsert
В предыдущих версиях Milvus обновление данных во многих пользовательских сценариях включало двухэтапный процесс: удаление, затем вставка. Этот метод, хотя и был функциональным, имел заметные недостатки, главным образом невозможность обеспечить атомарность данных и операционное удобство. Осознавая эти проблемы, мы внедрили Upsert в Milvus 2.3, что фундаментально изменило подход к обработке обновлений данных. Мы рады, что Upsert теперь доступен в Zilliz Cloud в статусе Public Preview.
Upsert упрощает процесс обновления: если данных нет в системе, он их вставляет; если они существуют, он их обновляет. Этот подход построен вокруг важнейшей концепции атомарности, гарантируя, что операции Upsert воспринимаются извне как единое действие, независимо от того, включают ли они вставку или удаление.
Внутри этот метод нетрадиционен, но очень эффективен — сначала мы вставляем данные, а затем удаляем. Такая последовательность является ключом к сохранению видимости данных во время операции, особенно в такой системе, как Milvus, где вставки и удаления обрабатываются в разных сегментах.
Более того, Upsert специально разработан для обработки изменений первичного ключа с тщательным учетом особенностей. Столбец первичного ключа нельзя изменить во время обновления, что соответствует тому, как Milvus управляет данными между шардами на основе хэша первичного ключа. Это ограничение позволяет избежать сложностей и потенциальных несогласованностей операций между шардами.
Использование Upsert просто и во многом аналогично операции Insert. Разработчики могут легко интегрировать Upsert в свои существующие рабочие процессы с минимальными изменениями. Например, в SDK, таких как Pymilvus, команду Upsert можно вызвать аналогично Insert, обеспечивая бесшовный опыт для тех, кто знаком с платформой.
При выполнении Upsert предоставляет обратную связь об успешности операции и количестве затронутых строк, что повышает удобство использования для разработчиков. Такая простота использования в сочетании с надежностью операции делает Upsert ценным инструментом в арсенале управления данными. Более подробную информацию можно найти в документации по Upsert.
Однако важно учитывать определенные особенности Upsert.
Ограничение AutoID: Upsert требует, чтобы AutoID был установлен в значение false. Операции Upsert нельзя выполнять, если в схеме коллекции AutoID установлен в значение true. Это ограничение существует потому, что Upsert, будучи операцией обновления, требует передачи первичного ключа для обновления соответствующего пакета данных. Возможен конфликт, если предоставленный пользователем первичный ключ совпадет с первичным ключом, назначенным AutoID, что приведет к перезаписи данных. Поэтому коллекции с включенным AutoID пока не могут поддерживать Upser. Однако в будущих итерациях это ограничение может быть снято.
Накладные расходы на производительность: Upsert может приводить к затратам производительности. Milvus использует архитектуру Write-Ahead Logging (WAL), и чрезмерное количество удалений может привести к снижению производительности. Это связано с тем, что операции удаления в Milvus не стирают данные немедленно. Вместо этого они помечают данные записью об удалении. Эта запись обрабатывается, а данные удаляются только во время последующего процесса уплотнения. Поэтому частые удаления могут привести к раздуванию данных и повлиять на производительность. Для оптимальной производительности рекомендуется не злоупотреблять Upsert и не использовать его неправильно.
По мере нашего дальнейшего развития будут выпускаться новые функции, такие как Upsert, в рамках наших постоянных усилий по совершенствованию и развитию возможностей управления данными, чтобы разработчики были обеспечены инструментами, необходимыми для эффективной и результативной работы с данными.
Расширение возможностей решений для данных в реальном времени с помощью Kafka Connector
Недавно мы анонсировали Kafka Sink Connector с открытым исходным кодом Milvus и Zilliz Cloud. Эта разработка обеспечивает бесшовную потоковую передачу векторных данных в реальном времени из Confluent/ Kafka в векторные базы данных Milvus или Zilliz. Эта интеграция имеет ключевое значение для использования возможностей неструктурированных данных и расширения возможностей Generative AI в реальном времени, особенно с продвинутыми моделями, такими как GPT-4 от OpenAI.
Сотрудничество между Zilliz и Confluent представляет собой значительный шаг вперед в управлении и использовании постоянно растущего объема неструктурированных данных, которые сейчас составляют более 80% новой создаваемой информации. Обеспечивая потоковую передачу векторных данных в реальном времени, мы предоставляем надежное решение для эффективного хранения, обработки и удобного поиска по этим данным.
Примеры сценариев использования этого коннектора включают:
Улучшение Generative AI: Предоставление актуальных векторных данных для приложений GenAI обеспечивает более точные и своевременные инсайты. Это особенно полезно в таких секторах, как финансы и медиа, где потоковые векторные embeddings из различных источников данных имеют решающее значение.
Оптимизация рекомендаций в электронной коммерции: Благодаря обновлениям запасов и поведения клиентов в реальном времени платформы электронной коммерции могут динамически корректировать свои рекомендации, улучшая пользовательский опыт.
Начать работу с этой интеграцией просто:
Загрузите Kafka Sink Connector из GitHub или Confluent Hub.
Настройте свои учетные записи Confluent и Zilliz, обеспечив совпадение имен полей на обеих платформах.
Загрузите и настройте Connector, следуя подробным инструкциям в нашем репозитории GitHub.
Запустите Connector и оцените потоковую передачу данных в реальном времени из Kafka в Zilliz.
Для подробного руководства по настройке, сценариям использования и пошаговым инструкциям мы рекомендуем посетить наш репозиторий GitHub и изучить нашу страницу интеграции Confluent.
Обеспечение эффективной интеграции данных с помощью Airbyte Integration
Недавно мы сотрудничали с командой Airbyte, чтобы интегрировать Airbyte в Milvus, преобразовав прием и использование данных в больших языковых моделях (LLM) и векторных базах данных. Эта интеграция улучшает хранение, индексирование и поиск высокоразмерных векторных данных, что критически важно для таких приложений, как ответы генеративного чата и рекомендации продуктов.
Ключевые особенности интеграции:
Эффективная передача данных: Airbyte беспрепятственно передает данные из различных источников в Milvus/ Zilliz, обеспечивая расчет векторных эмбеддингов на лету и оптимизируя обработку данных.
Расширенная функциональность поиска: Эта интеграция усиливает возможности семантического поиска в векторных базах данных. Используя эмбеддинги, система может автоматически выявлять и представлять тесно связанный контент на основе семантического сходства, что бесценно для приложений, которым требуется эффективное извлечение из неструктурированных данных.
Простой процесс настройки: Настройка кластера Milvus и конфигурация Airbyte для синхронизации данных просты, как и создание приложений с использованием Streamlit и API эмбеддингов OpenAI при необходимости.
Эта интеграция оптимизирует передачу и обработку данных и открывает новые возможности для приложений реального времени на базе ИИ. Например, в системах поддержки клиентов интеграция этой технологии может создавать интеллектуальные формы поддержки с использованием семантического поиска. Это позволяет системе мгновенно предоставлять пользователям релевантную информацию, снижая необходимость прямого вмешательства агентов поддержки и улучшая общий пользовательский опыт.
Обратитесь к нашему блогу о релизе за подробным примером практического применения, например использованием Zendesk в качестве источника данных. Этот пример демонстрирует, как применять интеграцию в реальных сценариях, улучшая управление тикетами поддержки и доступность базы знаний.
Интеграция Airbyte и Milvus представляет собой значительный шаг вперед в области ИИ и управления данными, предоставляя эффективное решение для управления векторными данными. Она создает новые возможности для разработчиков и компаний, стремящихся использовать весь потенциал ИИ в своей деятельности.
Заключение
Постоянная разработка и интеграция таких инструментов, как Upsert, Kafka Connector и Airbyte, с векторной базой данных Zilliz подчеркивают нашу приверженность развитию технологий управления неструктурированными данными. Эти улучшения предназначены для повышения производительности поиска и оптимизации всего конвейера данных, делая его более эффективным и удобным для разработчиков.
В перспективе мы планируем дальше расширять наш набор функций для приема данных и конвейеров. Следите за обновлениями, поскольку мы продолжаем внедрять инновации и предоставлять инструменты, отвечающие меняющимся потребностям обработки неструктурированных данных и приложений на базе ИИ.
Мы высоко ценим отзывы и идеи сообщества разработчиков и стремимся к постоянному совершенствованию. Ваш опыт и предложения крайне важны на нашем пути к развитию этих технологий. Мы будем рады услышать ваше мнение. Присоединяйтесь к нашему сообществу GitHub или отправьте свой отзыв напрямую, создав тикет здесь.
Читать далее

Zilliz Cloud On-Demand Compute: Pay Only for What You Use
The customer case behind Zilliz Cloud On-Demand: how a $10K vector search bill came down to under $500, and the engineering changes that made it possible.

How to Install and Run OpenClaw (Previously Clawdbot/Moltbot) on Mac
Turn your Mac into an AI gateway for WhatsApp, Telegram, Discord, iMessage, and more — in under 5 minutes.

Milvus WebUI: A Visual Management Tool for Your Vector Database
Explore Milvus WebUI to monitor, manage, and optimize your vector database with real-time insights, performance tracking, and system health monitoring.


