Améliorer l’efficacité des flux de données : Zilliz présente Upsert, Kafka Connector et l’intégration Airbyte
Dans le paysage actuel axé sur les données, une ingestion de données efficace et des pipelines de données robustes constituent l’épine dorsale de tout système de base de données puissant. Chez Zilliz, nos récentes améliorations dans ces domaines — en particulier l’introduction de Upsert, de Kafka Connector et de l’intégration Airbyte — soulignent notre engagement à fournir aux développeurs une base de données vectorielle qui excelle en performance, en polyvalence et en facilité d’intégration. Nous avons conçu ces nouveaux ajouts pour simplifier la gestion des données, en offrant une intégration transparente et un contrôle renforcé du flux de données, permettant ainsi aux développeurs de se concentrer sur la création d’applications innovantes sans la charge liée à la gestion de processus complexes d’ingestion de données.
Simplifier les mises à jour de données avec Upsert
Dans les versions précédentes de Milvus, la mise à jour des données dans de nombreux scénarios utilisateur impliquait un processus en deux étapes : supprimer, puis insérer. Cette méthode, bien que fonctionnelle, présentait des inconvénients notables, principalement l’incapacité à garantir l’atomicité des données et la commodité opérationnelle. Conscients de ces défis, nous avons introduit Upsert dans Milvus 2.3, changeant fondamentalement la manière dont les mises à jour de données sont gérées. Nous sommes ravis qu’Upsert soit désormais en aperçu public dans Zilliz Cloud.
Upsert simplifie le processus de mise à jour : si les données n’existent pas dans le système, il les insère ; si elles existent, il les met à jour. Cette approche repose sur le concept crucial d’atomicité, garantissant que les opérations Upsert sont perçues comme une seule action en externe, qu’elles impliquent une insertion ou une suppression.
En interne, cette méthode est non conventionnelle mais très efficace - nous insérons d’abord, puis supprimons. Cette séquence est essentielle pour maintenir la visibilité des données pendant l’opération, en particulier dans un système comme Milvus, où les insertions et les suppressions sont gérées dans différents segments.
De plus, Upsert est spécifiquement conçu pour gérer les modifications de clé primaire avec une attention particulière. La colonne de clé primaire ne peut pas être modifiée lors d’une mise à jour, ce qui correspond à la manière dont Milvus gère les données entre les shards en fonction du hachage de la clé primaire. Cette contrainte évite les complexités et les incohérences potentielles des opérations inter-shards.
L’utilisation d’Upsert est simple et reflète l’opération Insert à bien des égards. Les développeurs peuvent facilement intégrer Upsert à leurs workflows existants avec des ajustements minimes. Par exemple, dans des SDK comme Pymilvus, la commande Upsert peut être invoquée de manière similaire à Insert, offrant une expérience transparente à ceux qui connaissent la plateforme.
Lorsqu’il est exécuté, Upsert fournit un retour sur la réussite de l’opération et le nombre de lignes affectées, ce qui renforce la facilité d’utilisation pour les développeurs. Cette simplicité d’utilisation, associée à la robustesse de l’opération, fait d’Upsert un outil précieux dans l’arsenal de gestion des données. Pour plus de détails, vous pouvez consulter la documentation d’Upsert.
Cependant, il est important de reconnaître certaines considérations spécifiques avec Upsert.
Contrainte AutoID : Upsert nécessite que AutoID soit défini sur false. Les opérations Upsert ne peuvent pas être effectuées si le schéma d’une collection a AutoID défini sur true. Cette limitation existe parce qu’Upsert, une opération de mise à jour, nécessite de soumettre une clé primaire pour mettre à jour le lot de données correspondant. Il existe un risque de conflit si une clé primaire fournie par l’utilisateur entre en collision avec une clé primaire attribuée par AutoID, ce qui entraîne l’écrasement des données. Par conséquent, les collections avec AutoID activé ne peuvent pas prendre en charge Upser pour le moment. Toutefois, de futures itérations pourraient supprimer cette restriction.
Surcharge de performances : Upsert peut entraîner des coûts de performance. Milvus utilise une architecture Write-Ahead Logging (WAL), et des suppressions excessives peuvent entraîner une dégradation des performances. En effet, les opérations de suppression dans Milvus n’effacent pas immédiatement les données. Elles marquent plutôt les données avec un enregistrement de suppression. Cet enregistrement n’est traité, et les données ne sont supprimées, que lors d’un processus de compaction ultérieur. Par conséquent, des suppressions fréquentes peuvent entraîner un gonflement des données et avoir un impact sur les performances. Il est conseillé de ne pas surutiliser ou mal utiliser Upsert afin d’obtenir des performances optimales.
À mesure que nous avançons, davantage de nouvelles fonctionnalités comme Upsert seront publiées dans le cadre de nos efforts continus pour affiner et faire progresser nos capacités de gestion des données, afin de garantir que les développeurs disposent des outils nécessaires pour une gestion des données efficace et efficiente.
Donner plus de puissance aux solutions de données en temps réel avec Kafka Connector
Nous avons récemment annoncé le Kafka Sink Connector avec Milvus open source et Zilliz Cloud. Cette évolution permet la diffusion fluide et en temps réel de données vectorielles depuis Confluent/ Kafka vers les bases de données vectorielles Milvus ou Zilliz. Cette intégration est essentielle pour exploiter la puissance des données non structurées et renforcer les capacités de l’IA générative en temps réel, en particulier avec des modèles avancés comme GPT-4 d’OpenAI.
La collaboration entre Zilliz et Confluent représente une avancée significative dans la gestion et l’utilisation du volume toujours croissant de données non structurées, qui représente désormais plus de 80 % des informations nouvellement créées. En permettant la diffusion de données vectorielles en temps réel, nous fournissons une solution robuste pour stocker, traiter et rendre ces données facilement consultables de manière efficace.
Voici des exemples de cas d’utilisation avec ce connecteur :
Amélioration de l’IA générative : Fournir des données vectorielles à jour pour les applications GenAI permet d’obtenir des informations plus précises et plus opportunes. Cela est particulièrement bénéfique dans des secteurs comme la finance et les médias, où la diffusion d’embeddings vectoriels provenant de diverses sources de données est cruciale.
Optimisation des recommandations e-commerce : Avec des mises à jour en temps réel de l’inventaire et du comportement des clients, les plateformes e-commerce peuvent ajuster dynamiquement leurs recommandations, améliorant ainsi l’expérience utilisateur.
Démarrer avec cette intégration est simple :
Téléchargez le Kafka Sink Connector depuis GitHub ou Confluent Hub.
Configurez vos comptes Confluent et Zilliz, en veillant à ce que les noms de champs correspondent sur les deux plateformes.
Chargez et configurez le Connector, en suivant les instructions détaillées dans notre dépôt GitHub.
Lancez le Connector et découvrez la diffusion de données en temps réel de Kafka vers Zilliz.
Pour un guide approfondi sur la configuration, les cas d’utilisation et les instructions étape par étape, nous vous encourageons à consulter notre dépôt GitHub et à explorer notre page d’intégration Confluent.
Faciliter une intégration efficace des données avec Airbyte Integration
Nous avons récemment collaboré avec l’équipe Airbyte pour intégrer Airbyte à Milvus, transformant l’ingestion et l’utilisation des données dans les grands modèles de langage (LLMs) et les bases de données vectorielles. Cette intégration améliore le stockage, l’indexation et la recherche de données vectorielles de grande dimension, ce qui est crucial pour des applications comme les réponses de chat génératives et les recommandations de produits.
Points clés de l’intégration :
Transfert de données efficace : Airbyte transfère de manière fluide les données de diverses sources vers Milvus/ Zilliz, permettant le calcul à la volée des vector embeddings et simplifiant le traitement des données.
Fonctionnalité de recherche améliorée : Cette intégration renforce les capacités de recherche sémantique au sein des bases de données vectorielles. En utilisant des embeddings, le système peut automatiquement identifier et présenter du contenu étroitement lié sur la base de la similarité sémantique, ce qui est inestimable pour les applications nécessitant une récupération efficace à partir de données non structurées.
Processus de configuration simple : La mise en place d’un cluster Milvus et la configuration d’Airbyte pour la synchronisation des données sont simples, tout comme la création d’applications à l’aide de Streamlit et de l’API d’embedding OpenAI si souhaité.
Cette intégration simplifie le transfert et le traitement des données et ouvre de nouvelles possibilités pour des applications en temps réel pilotées par l’IA. Par exemple, dans les systèmes de support client, l’intégration de cette technologie peut créer des formulaires de support intelligents utilisant la recherche sémantique. Cela permet au système de fournir instantanément des informations pertinentes aux utilisateurs, réduisant le besoin d’intervention directe des agents de support et améliorant l’expérience utilisateur globale.
Consultez notre blog de publication pour un exemple détaillé d’application pratique, comme l’utilisation de Zendesk comme source de données. Cet exemple montre comment appliquer l’intégration dans des scénarios réels, en améliorant la gestion des tickets de support et l’accessibilité de la base de connaissances.
L’intégration d’Airbyte et de Milvus représente une avancée significative dans l’IA et la gestion des données, en fournissant une solution efficace pour gérer les données vectorielles. Elle crée de nouvelles opportunités pour les développeurs et les entreprises qui cherchent à exploiter tout le potentiel de l’IA dans leurs opérations.
Conclusion
Le développement continu et l’intégration d’outils comme Upsert, Kafka Connector et Airbyte avec la base de données vectorielle de Zilliz soulignent notre engagement à faire progresser les technologies de gestion des données non structurées. Ces améliorations sont conçues pour améliorer les performances de recherche et rationaliser l’ensemble du pipeline de données, le rendant plus efficace et plus convivial pour les développeurs.
À l’avenir, nous prévoyons d’élargir davantage notre suite de fonctionnalités d’ingestion de données et de pipeline. Restez à l’écoute de ces mises à jour tandis que nous continuons à innover et à fournir des outils qui répondent aux besoins évolutifs du traitement des données non structurées et des applications pilotées par l’IA.
Nous accordons une grande importance aux retours et aux éclairages de la communauté des développeurs et nous nous consacrons à l’amélioration continue. Vos expériences et suggestions sont cruciales dans notre parcours pour faire progresser ces technologies. Nous serions ravis d’avoir de vos nouvelles. N’hésitez pas à rejoindre notre communauté GitHub ou à soumettre directement vos commentaires en créant un ticket ici.
Continuer à lire

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.

VidTok: Rethinking Video Processing with Compact Tokenization
VidTok tokenizes videos to reduce redundancy while preserving spatial and temporal details for efficient processing.

Zilliz Cloud BYOC Upgrades: Bring Enterprise-Grade Security, Networking Isolation, and More
Discover how Zilliz Cloud BYOC brings enterprise-grade security, networking isolation, and infrastructure automation to vector database deployments in AWS


