Implementieren Sie Multi-Tenancy

In Milvus bedeutet Multi-Tenancy, dass mehrere Kunden oder Teams - als Tenants bezeichnet -denselben Cluster gemeinsam nutzen und dabei isolierte Datenumgebungen beibehalten.

Milvus unterstützt vier Multi-Tenancy-Strategien, die jeweils einen anderen Kompromiss zwischen Skalierbarkeit, Datenisolierung und Flexibilität bieten. Dieser Leitfaden führt Sie durch jede Option und hilft Ihnen, die für Ihren Anwendungsfall am besten geeignete Strategie zu wählen.

Mehrmandantenstrategien

Milvus unterstützt Multi-Tenancy auf vier Ebenen: Datenbank, Sammlung, Partition und Partitionsschlüssel.

Mehrmandantenfähigkeit auf Datenbankebene

Bei der Mandantenfähigkeit auf Datenbankebene erhält jeder Mandant eine entsprechende Datenbank, die eine oder mehrere Sammlungen enthält.

Database Level Multi Tenancy Mehrmandantenfähigkeit auf Datenbankebene

  • Skalierbarkeit: Die Multi-Tenancy-Strategie auf Datenbankebene unterstützt standardmäßig bis zu 64 Mandanten.

  • Datenisolierung: Die Daten in den einzelnen Datenbanken sind vollständig voneinander getrennt und bieten eine Datenisolierung auf Unternehmensniveau, die sich ideal für regulierte Umgebungen oder Kunden mit strengen Compliance-Anforderungen eignet.

  • Flexibel: Jede Datenbank kann Sammlungen mit unterschiedlichen Schemata enthalten, was eine äußerst flexible Datenorganisation ermöglicht und jedem Mandanten sein eigenes Datenschema zur Verfügung stellt.

  • Andere: Diese Strategie unterstützt auch RBAC und ermöglicht eine fein abgestufte Kontrolle des Benutzerzugriffs pro Mandant. Darüber hinaus können Sie Daten für bestimmte Mandanten flexibel laden oder freigeben, um heiße und kalte Daten effektiv zu verwalten.

Multi-Tenancy auf Sammlungsebene

Bei der Mandantenfähigkeit auf Sammlungsebene wird jedem Mandanten eine Sammlung zugewiesen, die eine starke Datenisolierung bietet.

Collection Level Multi Tenancy Multi-Mandantenschaft auf Sammlungsebene

  • Skalierbarkeit: Da ein Cluster standardmäßig bis zu 65.536 Sammlungen aufnehmen kann, kann diese Strategie die gleiche Anzahl von Mandanten innerhalb des Clusters aufnehmen.

  • Datenisolierung: Die Sammlungen sind physisch voneinander isoliert. Diese Strategie bietet eine starke Datenisolierung.

  • Flexibel: Bei dieser Strategie kann jede Sammlung ihr eigenes Schema haben, so dass Tenants mit unterschiedlichen Datenschemata untergebracht werden können.

  • Andere: Diese Strategie unterstützt auch RBAC und ermöglicht eine granulare Zugriffskontrolle für Mandanten. Außerdem können Sie Daten für bestimmte Mandanten flexibel laden oder freigeben, um heiße und kalte Daten effektiv zu verwalten.

Multi-Tenancy auf Partitionsebene

Bei der Mandantenfähigkeit auf Partitionsebene wird jeder Mandant einer manuell erstellten Partition innerhalb einer gemeinsamen Sammlung zugewiesen.

Partition Level Multi Tenancy Multimandantenfähigkeit auf Partitionsebene

  • Skalierbarkeit: Eine Sammlung kann bis zu 1.024 Partitionen pro Sammlung enthalten, wobei die gleiche Anzahl von Tenants in der Sammlung möglich ist.

  • Datenisolierung: Die Daten der einzelnen Mandanten sind physisch durch Partitionen getrennt.

  • Flexibel: Bei dieser Strategie müssen alle Tenants dasselbe Datenschema verwenden. Und Partitionen müssen manuell erstellt werden.

  • Andere: RBAC wird auf Partitionsebene nicht unterstützt. Tenants können entweder einzeln oder über mehrere Partitionen hinweg abgefragt werden, wodurch sich dieser Ansatz gut für Szenarien mit aggregierten Abfragen oder Analysen über Tenant-Segmente hinweg eignet. Außerdem können Sie Daten für bestimmte Tenants flexibel laden oder freigeben, um Hot- und Cold-Data effektiv zu verwalten.

Mehrmandantenfähigkeit auf Partitionsschlüssel-Ebene

Bei dieser Strategie teilen sich alle Tenants eine einzige Sammlung und ein einziges Schema, aber die Daten jedes Tenants werden automatisch auf der Grundlage des Partitionsschlüsselwerts in 16 physisch isolierte Partitionen geleitet. Obwohl jede physische Partition mehrere Tenants enthalten kann, bleiben die Daten der verschiedenen Tenants logisch getrennt.

Partition Key Level Multi Tenancy Partition Key Level Multi Tenancy

  • Skalierbarkeit: Die Strategie auf Partitionsschlüssel-Ebene bietet den am besten skalierbaren Ansatz, der Millionen von Mandanten unterstützt.

  • Datenisolierung: Diese Strategie bietet eine relativ schwache Datenisolierung, da sich mehrere Mandanten eine physische Partition teilen können.

  • Flexibel: Da alle Mandanten dasselbe Datenschema verwenden müssen, bietet diese Strategie eine begrenzte Datenflexibilität.

  • Sonstiges: RBAC wird auf der Partitionsschlüssel-Ebene nicht unterstützt. Tenants können entweder einzeln oder über mehrere Partitionen hinweg abgefragt werden, wodurch sich dieser Ansatz gut für Szenarien mit aggregierten Abfragen oder Analysen über Tenant-Segmente hinweg eignet.

Die Wahl der richtigen Multi-Tenancy-Strategie

Die folgende Tabelle bietet einen umfassenden Vergleich zwischen den vier Ebenen von Mandantenstrategien.

Datenbankebene

Sammlungsebene

Partitionsebene

Partitionsschlüssel-Ebene

Datenisolierung

Physisch

Physisch

Physisch

Physisch + Logisch

Maximale Anzahl von Mietern

Standardmäßig 64. Sie können sie erhöhen, indem Sie den Parameter maxDatabaseNum in der Konfigurationsdatei Milvus.yaml ändern.

Standardmäßig 65.536. Sie können diesen Wert durch Ändern des Parameters maxCollectionNum in der Konfigurationsdatei Milvus.yaml erhöhen.

Bis zu 1.024 pro Sammlung.

Millionen

Flexibilität des Datenschemas

Hoch

Mittel

Niedrig

Niedrig

RBAC-Unterstützung

Ja

Ja

Nein

Nein

Leistung der Suche

Stark

Stark

Mittel

Mittel

Unterstützung der mandantenübergreifenden Suche

Nein

Nein

Ja

Ja

Unterstützung für den effektiven Umgang mit heißen und kalten Daten

Ja

Ja

Ja

Nein Derzeit nicht unterstützt für die Partition Key-Level-Strategie.

Bei der Wahl der Multi-Tenancy-Strategie in Milvus sind mehrere Faktoren zu berücksichtigen.

  1. Skalierbarkeit: Partitionsschlüssel > Partition > Sammlung > Datenbank

    Wenn Sie erwarten, eine sehr große Anzahl von Mandanten (Millionen oder mehr) zu unterstützen, verwenden Sie die Strategie auf Partitionsschlüssel-Ebene.

  2. Starke Anforderungen an die Datenisolierung: Datenbank = Sammlung > Partition > Partitionsschlüssel

    Wählen Sie Strategien auf Datenbank-, Sammel- oder Partitionsebene, wenn Sie strenge Anforderungen an die physische Datenisolierung haben.

  3. Flexibles Datenschema für die Daten der einzelnen Mandanten: Datenbank > Sammlung > Partition = Partitionsschlüssel

    Strategien auf Datenbank- und Sammlungsebene bieten volle Flexibilität bei den Datenschemata. Wenn die Datenstrukturen Ihrer Mandanten unterschiedlich sind, wählen Sie die Multi-Tenancy-Strategie auf Datenbank- oder Sammlungsebene.

  4. Andere

    1. Leistung: Die Suchleistung wird durch verschiedene Faktoren bestimmt, darunter Indizes, Suchparameter und Maschinenkonfigurationen. Milvus unterstützt auch Performance-Tuning. Es wird empfohlen, die tatsächliche Leistung zu testen, bevor Sie eine Multi-Tenancy-Strategie wählen.

    2. Effektive Handhabung von heißen und kalten Daten: Gegenwärtig unterstützen die Strategien auf Datenbank-, Sammlungs- und Partitionsebene alle die Behandlung von heißen und kalten Daten.

    3. Mandantenübergreifende Suche: Nur die Strategien auf Partitionsebene und Partition-Key-Ebene unterstützen mandantenübergreifende Abfragen.

Try Managed Milvus for Free

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

Get Started
Feedback

War diese Seite hilfreich?