Sammlung erklärt
In Milvus können Sie mehrere Sammlungen erstellen, um Ihre Daten zu verwalten, und Ihre Daten als Entitäten in die Sammlungen einfügen. Sammlungen und Entitäten sind vergleichbar mit Tabellen und Datensätzen in relationalen Datenbanken. Diese Seite hilft Ihnen dabei, etwas über Sammlungen und verwandte Konzepte zu lernen.
Sammlung
Eine Sammlung ist eine zweidimensionale Tabelle mit festen Spalten und variablen Zeilen. Jede Spalte steht für ein Feld und jede Zeile für eine Entität.
Das folgende Diagramm zeigt eine Sammlung mit acht Spalten und sechs Entitäten.
Sammlung erklärt
Schema und Felder
Bei der Beschreibung eines Objekts werden in der Regel seine Attribute, wie Größe, Gewicht und Position, genannt. Sie können diese Attribute als Felder in einer Sammlung verwenden. Jedes Feld hat verschiedene einschränkende Eigenschaften, wie z. B. den Datentyp und die Dimensionalität eines Vektorfelds. Sie können ein Sammlungsschema erstellen, indem Sie die Felder anlegen und ihre Reihenfolge festlegen. Mögliche anwendbare Datentypen finden Sie unter Schema erklärt.
Sie sollten alle schema-definierten Felder in die einzufügenden Entitäten aufnehmen. Um einige von ihnen optional zu machen, sollten Sie
Machen Sie sie löschbar oder setzen Sie Standardwerte
Einzelheiten dazu, wie Sie ein Feld löschbar machen oder den Standardwert festlegen, finden Sie unter Löschbar & Standard.
Aktivieren eines dynamischen Felds
Einzelheiten zur Aktivierung und Verwendung des dynamischen Feldes finden Sie unter Dynamisches Feld.
Primärschlüssel und AutoId
Ähnlich wie das Primärfeld in einer relationalen Datenbank hat eine Sammlung ein Primärfeld, um eine Entität von anderen zu unterscheiden. Jeder Wert im Primärfeld ist global eindeutig und entspricht einer bestimmten Entität.
Wie im obigen Diagramm dargestellt, dient das Feld mit der Bezeichnung id als Primärfeld, und die erste ID 0 entspricht einer Entität mit dem Titel Die Sterblichkeitsrate des Coronavirus ist nicht wichtig. Es wird keine andere Entität geben, die das Primärfeld 0 hat.
Ein Primärfeld kann nur ganze Zahlen oder Zeichenketten enthalten. Beim Einfügen von Entitäten sollten Sie die Werte des Primärfelds standardmäßig einschließen. Wenn Sie jedoch AutoId bei der Erstellung der Sammlung aktiviert haben, wird Milvus diese Werte beim Einfügen der Daten generieren. In einem solchen Fall sollten Sie die Werte des Primärfeldes aus den einzufügenden Entitäten ausschließen.
Weitere Informationen finden Sie unter Primärfeld & AutoID.
Index
Die Erstellung von Indizes für bestimmte Felder verbessert die Sucheffizienz. Es wird empfohlen, Indizes für alle Felder zu erstellen, auf die Ihr Dienst angewiesen ist, wobei Indizes für Vektorfelder obligatorisch sind.
Entität
Entitäten sind Datensätze, die in einer Sammlung denselben Satz von Feldern verwenden. Die Werte in allen Feldern der gleichen Zeile bilden eine Entität.
Sie können so viele Entitäten in eine Sammlung einfügen, wie Sie benötigen. Mit der Anzahl der Entitäten steigt jedoch auch die benötigte Speichergröße, was die Suchleistung beeinträchtigt.
Weitere Informationen finden Sie unter Schema erklärt.
Laden und Freigeben
Das Laden einer Sammlung ist die Voraussetzung für die Durchführung von Ähnlichkeitssuchen und Abfragen in Sammlungen. Wenn Sie eine Sammlung laden, lädt Milvus alle Indexdateien und die Rohdaten in jedem Feld in den Speicher, um schnell auf Suchen und Abfragen zu reagieren.
Suchvorgänge und Abfragen sind speicherintensive Operationen. Um Kosten zu sparen, sollten Sie die derzeit nicht genutzten Sammlungen freigeben.
Weitere Einzelheiten finden Sie unter Laden und Freigeben.
Suche und Abfrage
Sobald Sie Indizes erstellt und die Sammlung geladen haben, können Sie eine Ähnlichkeitssuche starten, indem Sie einen oder mehrere Abfragevektoren eingeben. Wenn Sie zum Beispiel die Vektordarstellung Ihrer Abfrage in einer Suchanfrage erhalten, verwendet Milvus den angegebenen Metrik-Typ, um die Ähnlichkeit zwischen dem Abfragevektor und den Vektoren in der Zielsammlung zu messen, bevor es diejenigen zurückgibt, die der Abfrage semantisch ähnlich sind.
Sie können auch Metadatenfilterung in Suchvorgänge und Abfragen integrieren, um die Relevanz der Ergebnisse zu verbessern. Beachten Sie, dass die Bedingungen für die Filterung von Metadaten in Abfragen obligatorisch, in Suchen jedoch optional sind.
Einzelheiten zu den anwendbaren Metrik-Typen finden Sie unter Metrik-Typen.
Weitere Informationen über Suchen und Abfragen finden Sie in den Artikeln des Kapitels Suchen & Reranken, darunter die grundlegenden Funktionen.
Darüber hinaus bietet Milvus auch Erweiterungen zur Verbesserung der Suchleistung und -effizienz. Diese sind standardmäßig deaktiviert, und Sie können sie je nach Ihren Serviceanforderungen aktivieren und verwenden. Diese sind
Partition
Partitionen sind Teilmengen einer Sammlung, die denselben Feldsatz wie die übergeordnete Sammlung haben und jeweils eine Teilmenge von Entitäten enthalten.
Durch die Zuweisung von Entitäten in verschiedene Partitionen können Sie Entitätsgruppen erstellen. Sie können Suchen und Abfragen in bestimmten Partitionen durchführen, damit Milvus Entitäten in anderen Partitionen ignoriert und die Sucheffizienz verbessert.
Details finden Sie unter Verwalten von Partitionen.
Scherben
Shards sind horizontale Abschnitte einer Sammlung. Jeder Shard entspricht einem Dateneingabekanal. Jede Sammlung verfügt standardmäßig über einen Shard. Sie können die entsprechende Anzahl von Shards beim Erstellen einer Sammlung auf der Grundlage des erwarteten Durchsatzes und des Volumens der in die Sammlung einzufügenden Daten festlegen.
Einzelheiten zum Festlegen der Shard-Anzahl finden Sie unter Sammlung erstellen.
Alias
Sie können Aliasnamen für Ihre Sammlungen erstellen. Eine Sammlung kann mehrere Aliasnamen haben, aber Sammlungen können keinen Alias gemeinsam nutzen. Wenn eine Anfrage für eine Sammlung eingeht, sucht Milvus die Sammlung anhand des angegebenen Namens. Wenn die Sammlung mit dem angegebenen Namen nicht existiert, fährt Milvus mit der Suche nach dem angegebenen Namen als Alias fort. Sie können Sammlungs-Aliase verwenden, um Ihren Code an verschiedene Szenarien anzupassen.
Weitere Details finden Sie unter Aliase verwalten.
Funktion
Sie können Funktionen für Milvus festlegen, um Felder bei der Erstellung der Sammlung abzuleiten. Die Volltextsuchfunktion verwendet beispielsweise die benutzerdefinierte Funktion, um ein Sparse-Vektor-Feld aus einem bestimmten Varchar-Feld abzuleiten. Weitere Informationen zur Volltextsuche finden Sie unter Volltextsuche.
Konsistenzebene
Verteilte Datenbanksysteme verwenden in der Regel die Konsistenzstufe, um die Gleichheit der Daten über Datenknoten und Replikate hinweg zu definieren. Sie können separate Konsistenzstufen festlegen, wenn Sie eine Sammlung erstellen oder Ähnlichkeitssuchen innerhalb der Sammlung durchführen. Die anwendbaren Konsistenzstufen sind Strong, Bounded Staleness, Session und Eventually.
Einzelheiten zu diesen Konsistenzstufen finden Sie unter Konsistenzstufe.
Beschränkungen
Informationen über Grenzen und Beschränkungen für Sammlungen finden Sie unter Grenzen und Beschränkungen.