Implementierung von Mandantenfähigkeit
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.
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.
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: Mit 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.
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 durch Partitionen physisch 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
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 |
Standardmäßig 65.536. Sie können diesen Wert durch Ändern des Parameters |
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.
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.
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.
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.
Andere
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.
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.
Mandantenübergreifende Suche: Nur die Strategien auf Partitionsebene und Partition-Key-Ebene unterstützen mandantenübergreifende Abfragen.