🚀 Testen Sie Zilliz Cloud, die vollständig verwaltete Milvus, kostenlos – erleben Sie 10x schnellere Leistung! Jetzt testen>>

milvus-logo
LFAI
Home
  • Über Milvus

Hinweise zur Veröffentlichung

Finden Sie heraus, was es Neues in Milvus gibt! Auf dieser Seite werden neue Funktionen, Verbesserungen, bekannte Probleme und Fehlerbehebungen in jeder Version zusammengefasst. In diesem Abschnitt finden Sie die Versionshinweise für jede veröffentlichte Version nach v2.5.0. Wir empfehlen Ihnen, diese Seite regelmäßig zu besuchen, um sich über Updates zu informieren.

v2.5.4

Veröffentlichungsdatum: Januar 23, 2025

Milvus-VersionPython SDK-VersionNode.js SDK-VersionJava SDK-Version
2.5.42.5.42.5.42.5.4

Wir freuen uns, die Veröffentlichung von Milvus 2.5.4 ankündigen zu können, die wichtige Leistungsoptimierungen und neue Funktionen wie PartitionKey-Isolierung, Sparse Index mit DAAT MaxScore und verbesserte Sperrmechanismen enthält. Diese Version behebt auch mehrere Fehler, die die allgemeine Stabilität und Zuverlässigkeit verbessern. Wir ermutigen Sie, diese neueste Version zu aktualisieren oder auszuprobieren, und wir freuen uns auf Ihr Feedback, das uns hilft, Milvus kontinuierlich zu verbessern!

Merkmale

  • Unterstützt PartitionKey-Isolierung zur Verbesserung der Leistung bei mehreren Partitionsschlüsseln(#39245). Weitere Informationen finden Sie unter Partitionsschlüssel verwenden.
  • Sparse Index unterstützt jetzt DAAT MaxScore knowhere/#1015. Weitere Informationen finden Sie unter Sparse Vector.
  • Unterstützung für is_null in Ausdrücken hinzugefügt(#38931)
  • Root-Rechte können angepasst werden(#39324)

Verbesserungen

  • Zwischengespeicherte Delta-Informationen von Segmenten zur Beschleunigung des Query Coordinators(#39349)
  • Gleichzeitiges Lesen von Metadaten auf der Sammlungsebene zur Beschleunigung der Fehlerbehebung(#38900)
  • Verfeinerte Sperrgranularität in QueryNode(#39282),(#38907)
  • Vereinheitlichung des Stils durch die Verwendung von CStatus zur Behandlung von NewCollection CGO-Aufrufen(#39303)
  • Überspringen der Generierung des Partitionsbegrenzers, wenn keine Partition gesetzt ist(#38911)
  • Mehr RESTful API Unterstützung hinzugefügt(#38875)(#39425)
  • Unnötige Bloom-Filter in QueryNode und DataNode wurden entfernt, um die Speichernutzung zu reduzieren(#38913)
  • Beschleunigung des Datenladens durch Beschleunigung der Aufgabenerstellung, -planung und -ausführung in QueryCoord(#38905)
  • Reduzierte Sperrung in DataCoord, um Lade- und Einfügeoperationen zu beschleunigen(#38904)
  • Hinzufügen von Primärfeldnamen in SearchResult und QueryResults (#39222)
  • Verwendet sowohl die Binlog-Größe als auch die Index-Größe als Standard für die Festplatten-Quoten-Drosselung(#38844)
  • Optimierte Speichernutzung für die Volltextsuche knowhere/#1011
  • Versionskontrolle für skalare Indizes hinzugefügt(#39236)
  • Die Geschwindigkeit des Abrufs von Sammlungsinformationen aus RootCoord wurde verbessert, indem unnötige Kopien vermieden wurden(#38902)

Fehlerbehebungen

  • Langsame Abfrage-Probleme behoben, die durch grobe Sperr-Granularität beim Laden mehrerer Spalten verursacht wurden(#39255)
  • Es wurde ein Problem behoben, bei dem die Verwendung von Aliasen dazu führen konnte, dass ein Iterator die falsche Datenbank durchlief(#39248)
  • Suchfehler für Primärschlüssel mit Indizes behoben(#39390)
  • Möglicher Datenverlust durch gleichzeitigen Neustart von MixCoord und Flushing behoben(#39422)
  • Fehler bei der Aktualisierung von Ressourcengruppen beim Ändern der Datenbank behoben(#39356)
  • Sporadisches Problem behoben, bei dem der tantivy-Index Indexdateien während der Freigabe nicht löschen konnte(#39434)
  • Es wurde ein Fehler beim Löschen behoben, der durch falsche Gleichzeitigkeit zwischen Statistik-Tasks und L0-Kompaktierung nach MixCoord-Neustarts ausgelöst wurde(#39460)
  • Langsame Indexierung behoben, die durch zu viele Threads verursacht wurde(#39341)
  • Es wurde ein Problem behoben, das verhinderte, dass Festplattenkontingentprüfungen während des Massenimports übersprungen wurden(#39319)
  • Freeze-Probleme, die durch zu viele Message-Queue-Konsumenten verursacht werden, wurden durch Begrenzung der Gleichzeitigkeit behoben(#38915)
  • Behobene Abfrage-Timeouts, verursacht durch MixCoord-Neustarts während großer Verdichtungen(#38926)
  • Skalare invertierte Index-Inkompatibilität beim Upgrade von 2.4 auf 2.5 behoben(#39272)
  • Probleme mit dem Kanalgleichgewicht, verursacht durch Knoten-Ausfallzeiten, wurden behoben(#39200)
  • Es wurde ein Problem behoben, das dazu führen konnte, dass die Kanalbalance stecken blieb.(#39160)
  • Es wurde ein Problem behoben, bei dem RBAC-Privilegienprüfungen für benutzerdefinierte Gruppen unwirksam wurden(#39224)
  • Es wurde ein Fehler beim Abrufen der Anzahl von Zeilen in leeren Indizes behoben(#39210)
  • Falsche Speicherabschätzung für kleine Segmente behoben(#38909)

v2.5.3

Veröffentlichungsdatum: Januar 13, 2025

Milvus-VersionPython SDK-VersionNode.js SDK-VersionJava SDK-Version
2.5.32.5.32.5.32.5.4

Milvus 2.5.3 bietet kritische Fehlerbehebungen und Leistungsverbesserungen zur Verbesserung der allgemeinen Stabilität, Zuverlässigkeit und Benutzerfreundlichkeit. Diese Version verfeinert die Gleichzeitigkeitsbehandlung, verbessert die Indizierung und den Abruf von Daten und aktualisiert mehrere Schlüsselkomponenten, um die Benutzerfreundlichkeit zu erhöhen.

Fehlerbehebungen

  • Es wurde ein Problem behoben, bei dem die Verwendung eines IN Filters auf einem VARCHAR Primärschlüssel leere Ergebnisse liefern konnte.(#39108)
  • Es wurde ein Gleichzeitigkeitsproblem zwischen Abfrage- und Löschoperationen behoben, das zu falschen Ergebnissen führen konnte.(#39054)
  • Es wurde ein Fehler behoben, der durch iteratives Filtern verursacht wurde, wenn ein expr in einer Abfrage leer war.(#39034)
  • Es wurde ein Problem behoben, bei dem ein Festplattenfehler während Konfigurations-Updates zur Verwendung von Standard-Konfigurationseinstellungen führte.(#39072)
  • Ein möglicher Verlust von gelöschten Daten aufgrund von Clustering-Kompaktierung wurde behoben.(#39133)
  • Eine fehlerhafte Textabgleichsabfrage in wachsenden Datensegmenten wurde behoben.(#39113)
  • Es wurden Abruffehler behoben, die dadurch verursacht wurden, dass der Index nicht die Originaldaten für spärliche Vektoren enthielt.(#39146)
  • Es wurde eine mögliche Spaltenfeld-Race-Bedingung behoben, die durch gleichzeitiges Abfragen und Laden von Daten verursacht wurde.(#39152)
  • Bulk-Insert-Fehler wurden behoben, wenn nullable oder default_value Felder nicht in den Daten enthalten waren.(#39111)

Verbesserungen

  • Hinzufügen einer Ressourcengruppen-API für die RESTful-Schnittstelle.(#39092)
  • Optimierte Abrufleistung durch Nutzung von Bitset SIMD Methoden.(#39041)
  • Der MVCC-Zeitstempel wird nun als Garantiezeitstempel verwendet, wenn er angegeben ist.(#39019)
  • Fehlende Lösch-Metriken wurden hinzugefügt.(#38747)
  • Etcd auf Version v3.5.16 aktualisiert.(#38969)
  • Neues Go-Paket zur Verwaltung von Protos erstellt.(#39128)

v2.5.2

Veröffentlichungsdatum: Januar 3, 2025

Milvus-VersionPython SDK-VersionNode.js SDK-VersionJava SDK-Version
2.5.22.5.32.5.32.5.3

Milvus 2.5.2 unterstützt die Änderung der maximalen Länge für VARCHAR-Spalten und behebt mehrere kritische Probleme im Zusammenhang mit Gleichzeitigkeit, Partitionsabbrüchen und der Behandlung von BM25-Statistiken beim Import. Wir empfehlen dringend ein Upgrade auf diese Version, um die Stabilität und Leistung zu verbessern.

Verbesserungen

  • Festplattennutzungsprotokolle werden nur noch erzeugt, wenn der angegebene Pfad nicht existiert.(#38822)
  • Es wurde ein Parameter zur Einstellung der maximalen VARCHAR-Länge hinzugefügt und das Limit auf 65.535 zurückgesetzt(#38883).
  • Unterstützt die Konvertierung von Parametertypen für Ausdrücke.(#38782)

Fehlerbehebungen

  • Mögliche Deadlocks in Gleichzeitigkeitsszenarien wurden behoben.(#38863)
  • Die index_null_offset-Datei wurde nur für Felder erzeugt, die Nullwerte unterstützen.(#38834)
  • Die Verwendung des Abrufplans nach dem Freigeben in der Reduzierungsphase wurde korrigiert.(#38841)
  • Erkennung von Ausdrücken mit großgeschriebenem AND und OR.(#38928)
  • Erlaubt erfolgreiche Partitionsdrops, auch wenn das Laden fehlgeschlagen ist.(#38874)
  • Probleme bei der Registrierung von BM25-Statistikdateien während des Imports wurden behoben.(#38881)

v2.5.1

Veröffentlichungsdatum: Dezember 26, 2024

Milvus-VersionPython SDK-VersionNode.js SDK-VersionJava SDK-Version
2.5.12.5.22.5.22.5.2

Milvus 2.5.1 konzentriert sich auf eine Reihe von Fehlerkorrekturen, die sich mit dem Laden von Speicher, RBAC-Listen, dem Ausgleich von Abfrageknoten und der versiegelten Segmentindizierung befassen und gleichzeitig die Web-UI und die Interceptoren verbessern. Wir empfehlen dringend, auf 2.5.1 zu aktualisieren, um die Stabilität und Zuverlässigkeit zu verbessern.

Verbesserung

  • Aktualisierung der Web-UI-Sammlungs- und Abfrageseiten.(#38701)

Fehlerbehebungen

  • Behebung von OOM-Problemen durch Hinzufügen eines Speicherfaktors zu Ladeschätzungen.(#38722)
  • Die Erweiterung von Berechtigungsgruppen bei der Auflistung von Richtlinien in RootCoord wurde korrigiert.(#38760)
  • Es wurden Probleme bei der Auflistung von Berechtigungsgruppen und Sammlungen behoben.(#38738)
  • Der Balancer wurde korrigiert, um eine wiederholte Überlastung des gleichen Abfrageknotens zu vermeiden.(#38724)
  • Unerwartete Ausgleichsaufgaben, die nach dem Neustart von QueryCoord ausgelöst wurden, wurden behoben.(#38725)
  • Es wurde behoben, dass Aktualisierungen der Ladekonfiguration nicht auf Ladesammlungen angewendet wurden.(#38737)
  • Null-Lesezähler beim Datenimport behoben.(#38695)
  • Die Unicode-Dekodierung für JSON-Schlüssel in Ausdrücken wurde korrigiert.(#38653)
  • Korrigierter Interceptor DB-Name für alterCollectionField in 2.5. (#38663)
  • Korrigierte leere Index-Parameter für versiegelte Segmente bei der Verwendung von BM25 Brute-Force-Suche.(#38752)

v2.5.0

Veröffentlichungsdatum: Dezember 23, 2024

Milvus-VersionPython SDK-VersionNode.js SDK-VersionJava SDK-Version
2.5.02.5.12.5.22.5.2

Milvus 2.5.0 bringt bedeutende Fortschritte zur Verbesserung der Benutzerfreundlichkeit, Skalierbarkeit und Leistung für Benutzer, die mit Vektorsuche und umfangreicher Datenverwaltung zu tun haben. Mit dieser Version integriert Milvus leistungsstarke neue Funktionen wie die begriffsbasierte Suche, Clustering-Kompaktierung für optimierte Abfragen und vielseitige Unterstützung für spärliche und dichte Vektorsuchmethoden. Verbesserungen in den Bereichen Cluster-Management, Indizierung und Datenhandling sorgen für ein neues Maß an Flexibilität und Benutzerfreundlichkeit und machen Milvus zu einer noch robusteren und benutzerfreundlicheren Vektordatenbank.

Wesentliche Merkmale

Milvus 2.5 unterstützt die mit Sparse-BM25 implementierte Volltextsuche! Diese Funktion ist eine wichtige Ergänzung zu den starken semantischen Suchfähigkeiten von Milvus, insbesondere in Szenarien, die seltene Wörter oder technische Begriffe beinhalten. In früheren Versionen unterstützte Milvus Sparse-Vektoren, um bei der Stichwortsuche zu helfen. Diese spärlichen Vektoren wurden außerhalb von Milvus durch neuronale Modelle wie SPLADEv2/BGE-M3 oder statistische Modelle wie den BM25-Algorithmus erzeugt.

Milvus 2.5 basiert auf Tantivy und verfügt über eingebaute Analysatoren und Sparse-Vektor-Extraktion, wodurch die API nicht mehr nur Vektoren als Eingabe erhält, sondern auch direkt Text akzeptiert. Die statistischen BM25-Informationen werden in Echtzeit aktualisiert, wenn Daten eingefügt werden, was die Benutzerfreundlichkeit und Genauigkeit erhöht. Darüber hinaus bieten spärliche Vektoren, die auf ANN-Algorithmen (Approximate Nearest Neighbour) basieren, eine bessere Leistung als Standard-Schlüsselwortsuchsysteme.

Einzelheiten finden Sie unter Analyzer-Übersicht und Volltextsuche.

Cluster Management WebUI (Beta)

Um massive Daten und umfangreiche Funktionen besser zu unterstützen, umfasst das ausgeklügelte Design von Milvus verschiedene Abhängigkeiten, zahlreiche Knotenrollen, komplexe Datenstrukturen und mehr. Diese Aspekte können eine Herausforderung für die Nutzung und Wartung darstellen.

Milvus 2.5 führt eine integrierte Cluster Management WebUI ein, die die Schwierigkeiten bei der Systemwartung reduziert, indem sie die komplexen Informationen der Milvus-Laufzeitumgebung visualisiert. Dazu gehören Details zu Datenbanken und Sammlungen, Segmenten, Kanälen, Abhängigkeiten, Knotenstatus, Aufgabeninformationen, langsame Abfragen und vieles mehr.

Einzelheiten finden Sie unter Milvus WebUI.

Textabgleich

Milvus 2.5 nutzt die Analyse- und Indizierungsfunktionen von Tantivy für die Textvorverarbeitung und den Aufbau von Indizes und unterstützt den präzisen Abgleich von Textdaten in natürlicher Sprache auf der Grundlage bestimmter Begriffe. Diese Funktion wird in erster Linie für die gefilterte Suche nach bestimmten Bedingungen verwendet und kann skalare Filterung zur Verfeinerung von Abfrageergebnissen einbeziehen, was eine Ähnlichkeitssuche innerhalb von Vektoren ermöglicht, die skalare Kriterien erfüllen.

Weitere Informationen finden Sie unter Analyzer Overview und Text Match.

Bitmap-Index

Ein neuer skalarer Datenindex wurde der Milvus-Familie hinzugefügt. Der BitMap-Index verwendet ein Array von Bits, dessen Länge der Anzahl der Zeilen entspricht, um die Existenz von Werten darzustellen und die Suche zu beschleunigen.

Bitmap-Indizes haben sich traditionell für Felder mit niedriger Kardinalität bewährt, die nur eine geringe Anzahl unterschiedlicher Werte aufweisen, z. B. eine Spalte mit Geschlechtsinformationen, die nur zwei mögliche Werte enthält: männlich und weiblich.

Weitere Informationen finden Sie unter Bitmap-Index.

Nullbar & Standardwert

Milvus unterstützt jetzt das Festlegen von löschbaren Eigenschaften und Standardwerten für skalare Felder mit Ausnahme des Primärschlüsselfeldes. Bei skalaren Feldern, die als nullable=True markiert sind, können Benutzer das Feld beim Einfügen von Daten auslassen; das System behandelt es als Nullwert oder Standardwert (falls gesetzt), ohne einen Fehler zu verursachen.

Standardwerte und löschbare Eigenschaften bieten Milvus mehr Flexibilität. Benutzer können diese Funktion für Felder mit unsicheren Werten bei der Erstellung von Sammlungen nutzen. Es vereinfacht auch die Datenmigration von anderen Datenbanksystemen zu Milvus, indem es die Handhabung von Datensätzen mit Nullwerten unter Beibehaltung der ursprünglichen Standardwerteinstellungen ermöglicht.

Einzelheiten finden Sie unter Nullable & Default Value.

Faiss-basierte HNSW SQ/PQ/PRQ

Durch die enge Zusammenarbeit mit der Faiss-Gemeinschaft konnte der HNSW-Algorithmus in Faiss sowohl in Bezug auf die Funktionalität als auch auf die Leistung erheblich verbessert werden. Aus Gründen der Stabilität und Wartungsfreundlichkeit hat Milvus 2.5 seine Unterstützung für HNSW offiziell von hnswlib nach Faiss verlagert.

Basierend auf Faiss unterstützt Milvus 2.5 mehrere Quantisierungsmethoden für HNSW, um den Anforderungen verschiedener Szenarien gerecht zu werden: SQ (Scalar Quantizer), PQ (Product Quantizer) und PRQ (Product Residual Quantizer). SQ und PQ sind häufiger anzutreffen; SQ bietet eine gute Abfrageleistung und Aufbaugeschwindigkeit, während PQ bei gleichem Komprimierungsverhältnis eine bessere Wiedererkennung bietet. Viele Vektordatenbanken verwenden in der Regel eine binäre Quantisierung, die eine einfache Form der SQ-Quantisierung darstellt.

PRQ ist eine Verschmelzung von PQ und AQ (Additive Quantizer). Im Vergleich zu PQ sind längere Erstellungszeiten erforderlich, um einen besseren Recall zu erzielen, insbesondere bei hohen Komprimierungsraten, wie bei der binären Komprimierung.

Clustering-Verdichtung (Beta)

Milvus 2.5 führt die Clustering Compaction ein, um die Suche zu beschleunigen und die Kosten in großen Sammlungen zu reduzieren. Durch die Angabe eines skalaren Feldes als Clustering-Schlüssel werden die Daten nach Bereichen umverteilt, um die Speicherung und den Abruf zu optimieren. Diese Funktion funktioniert wie ein globaler Index und ermöglicht es Milvus, Daten bei Abfragen auf der Grundlage von Clustering-Metadaten effizient zu beschneiden und die Suchleistung zu verbessern, wenn skalare Filter angewendet werden.

Einzelheiten finden Sie unter Clustering Compaction.

Andere Funktionen

Streaming-Knoten (Beta)

Mit Milvus 2.5 wird eine neue Komponente namens Streaming Node eingeführt, die WAL-Dienste (Write-Ahead Logging) bereitstellt. Dadurch ist Milvus in der Lage, vor und nach dem Lesen und Schreiben von Kanälen einen Konsens zu erzielen, wodurch neue Merkmale, Funktionen und Optimierungen freigeschaltet werden. Diese Funktion ist in Milvus 2.5 standardmäßig deaktiviert und wird in Version 3.0 offiziell verfügbar sein.

IPv6-Unterstützung

Milvus unterstützt jetzt IPv6, was eine erweiterte Netzwerkkonnektivität und Kompatibilität ermöglicht.

CSV-Bulk-Import

Zusätzlich zu den JSON- und Parquet-Formaten unterstützt Milvus jetzt auch den direkten Massenimport von Daten im CSV-Format.

Expression Templates zur Abfrage-Beschleunigung

Milvus unterstützt jetzt Ausdrucksvorlagen, die die Effizienz des Ausdrucks-Parsing verbessern, insbesondere in Szenarien mit komplexen Ausdrücken.

Einzelheiten finden Sie unter Filtervorlagen.

GroupBy-Verbesserungen

  • Anpassbare Gruppengröße: Es wurde Unterstützung für die Angabe der Anzahl von Einträgen hinzugefügt, die für jede Gruppe zurückgegeben werden.
  • Hybride GroupBy-Suche: Unterstützt die hybride GroupBy-Suche basierend auf mehreren Vektoren.

Iterator-Erweiterungen

  • MVCC-Unterstützung: Dank der Multi-Version Concurrency Control (MVCC) können Benutzer jetzt Iteratoren verwenden, ohne von nachfolgenden Datenänderungen wie Einfügungen und Löschungen betroffen zu sein.
  • Persistenter Cursor: Milvus unterstützt jetzt einen persistenten Cursor für QueryIterator, so dass Benutzer die Iteration nach einem Neustart von Milvus an der letzten Position wieder aufnehmen können, ohne den gesamten Iterationsprozess neu starten zu müssen.

Verbesserungen

Optimierung des Löschens

Verbesserte Geschwindigkeit und verringerter Speicherverbrauch bei umfangreichen Löschvorgängen durch Optimierung der Sperrenverwendung und der Speicherverwaltung.

Upgrade der Abhängigkeiten

Upgrade auf ETCD 3.5.16 und Pulsar 3.0.7 LTS, wobei bestehende CVEs behoben und die Sicherheit verbessert wurde. Hinweis: Das Upgrade auf Pulsar 3.x ist nicht mit früheren 2.x-Versionen kompatibel.

Benutzer, die bereits eine funktionierende Milvus-Installation haben, müssen die ETCD- und Pulsar-Komponenten aktualisieren, bevor sie die neuen Features und Funktionen nutzen können. Einzelheiten finden Sie unter Upgrade von Pulsar von 2.x auf 3.x

Lokale Speicherung V2

In Milvus 2.5 wurde ein neues lokales Dateiformat eingeführt, das die Lade- und Abfrageeffizienz für skalare Daten verbessert, den Speicher-Overhead reduziert und die Grundlage für künftige Optimierungen schafft.

Optimierung des Ausdrucks-Parsing

Verbessertes Parsen von Ausdrücken durch Implementierung von Caching für wiederholte Ausdrücke, Aktualisierung von ANTLR und Optimierung der Leistung von NOT IN Klauseln.

Verbesserte DDL-Gleichzeitigkeitsleistung

Die Gleichzeitigkeitsleistung von Data Definition Language (DDL)-Operationen wurde optimiert.

Angleichung der RESTful-API-Funktionen

Angleichung der Funktionen der RESTful-API an andere SDKs zur Gewährleistung der Konsistenz.

Aktualisierungen für Sicherheit und Konfiguration

Unterstützung von TLS zur Sicherung der Kommunikation zwischen Knoten in komplexeren oder Unternehmensumgebungen. Details finden Sie unter Sicherheitskonfiguration.

Leistungsverbesserungen bei der Komprimierung

Die maximale Segmentbegrenzung bei der gemischten Komprimierung wurde aufgehoben und kleinere Segmente werden nun zuerst priorisiert, wodurch die Effizienz verbessert und Abfragen bei großen oder fragmentierten Datensätzen beschleunigt werden.

Score-basierter Channel-Ausgleich

Es wurde eine Richtlinie eingeführt, die die Lasten dynamisch über die Kanäle hinweg ausgleicht und so die Ressourcennutzung und die Gesamtstabilität in groß angelegten Implementierungen verbessert.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

War diese Seite hilfreich?