Technologieaustausch

Multi-Tenant-Hive-Data-Warehouse

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Konzept

Multi-Tenant-Funktionalität entspricht Single-Tenant-Funktionalität. Der Schwerpunkt dieses Artikels liegt auf der Single-Tenant-Funktionalität.

1.1 Mandantenfähigkeit

Multi-Tenant-Technologie oder Multi-Tenant-Technologie, auch SaaS genannt, ist eine Software-Architekturtechnologie, die realisiert, wie dieselben System- oder Programmkomponenten in einer Mehrbenutzerumgebung gemeinsam genutzt werden können (Mehrbenutzer sind hier im Allgemeinen für Unternehmensbenutzer gedacht). und kann die Isolierung von Daten zwischen Benutzern gewährleisten. Einfach ausgedrückt: Eine einzelne Anwendungsinstanz läuft auf einem Server und bedient mehrere Mandanten (Kunden). Aus der Definition können wir verstehen:Mandantenfähigkeit ist eine Architektur, die darauf abzielt, mehreren Benutzern die Verwendung derselben Programmgruppe zu ermöglichen und die Datenisolation zwischen Benutzern sicherzustellen.

1.2 Einzelmieter

Der Unterschied zwischen Single-Tenant- und Multi-Tenant-Architekturen besteht darin, dass Single-Tenant-Architekturen separate Softwareanwendungen und unterstützende Umgebungen für jeden Benutzer erstellen. Single-Tenant-SaaS wird häufig in Anwendungen genannt, bei denen Kunden Anpassungen unterstützen müssen, sei es aufgrund der geografischen Lage oder weil sie höhere Sicherheitskontrollen benötigen. Durch das Single-Tenant-Modell verfügt jeder Kunde über eine Kopie der Datenbank und des Betriebssystems, die auf einem unabhängigen Server oder in einer durch starke Sicherheitsmaßnahmen isolierten virtuellen Netzwerkumgebung abgelegt wird.

1.3 Der Unterschied zwischen Single-Tenant und Multi-Tenant

  1. Es gibt verschiedene Ebenen der Sicherheitskontrolle. In mandantenfähigen Datenbanken werden Daten von mehreren unabhängigen Mandanten gespeichert. Obwohl eine Sicherheitsisolation eingerichtet ist, ist die Sicherheitskontrolle immer noch höher als bei einem einzelnen Mandanten. Da ein einzelner Mandant über eine unabhängige Software- und Hardwareumgebung verfügt und die Datenbank nur die Daten eines Mandanten speichert, ist die Möglichkeit eines Datenlecks technisch ausgeschlossen. Die Single-Tenant-Architektur eignet sich manchmal besser für bestimmte Branchen, die eine Sicherheitskontrolle erfordern oder sogar gesetzliche Compliance-Anforderungen.
  2. Datensicherungen sind unterschiedlich komplex. Ein einzelner Mandant verfügt über eine unabhängige Datenbank und die Sicherung und Wiederherstellung von Kundendatenbanken ist sehr einfach. Mehrere Mandanten teilen sich eine Datenbank und Mandantendaten werden sowohl isoliert als auch gemeinsam genutzt. Das System kann nicht jeden Tag automatisch unabhängige Sicherungen des Unternehmens durchführen.
  3. Die Zeiten für die Steuerungsaktualisierung variieren. Die Wartungskosten für Multi-Tenant-Systeme sind gering, und wenn ein Multi-Tenant-System aktualisiert wird, muss es nur einmal aktualisiert werden. Das Wartungspersonal muss nicht jeden Benutzer aktualisieren, was eine Menge Betriebs- und Wartungskosten spart. Dies ist nützlich für Systeme, bei denen alle Clients dasselbe tun. Wenn die Systemaktualisierung jedoch zu einem Zeitpunkt erfolgt, an dem das Unternehmen besonders ausgelastet ist, hat dies unweigerlich Auswirkungen auf die Unternehmensbenutzer.

Anwendungsszenarien: Die Mehrmandantenfähigkeit eignet sich für mehrere verschiedene Unternehmen (Abteilungen) unter derselben Gruppe (Firma). Selbst wenn die Daten durchgesickert sind, werden sie nicht nach außen weitergegeben.

2. Mandantenfähige Datenisolationslösung

  • unabhängige Datenbank
  • Gemeinsame Datenbank, unabhängiges Schema
  • Gemeinsame Datenbank, gemeinsames Schema, gemeinsame Datentabelle

2.1 Unabhängige Datenbank

Dies ist die erste Lösung, ein Mandant und eine Datenbank.Diese Lösung bietet das höchste Maß an Benutzerdatenisolierung und die beste Sicherheit, ist jedoch mit höheren Kosten verbunden.

  • Vorteile: Die Bereitstellung unabhängiger Datenbanken für verschiedene Mandanten vereinfacht das Erweiterungsdesign des Datenmodells und erfüllt die individuellen Anforderungen verschiedener Mandanten. Im Falle eines Fehlers ist es relativ einfach, die Daten wiederherzustellen.
  • Nachteile: Erhöht die Anzahl der Datenbankinstallationen, was zu höheren Wartungskosten und Anschaffungskosten führt.

Diese Lösung ähnelt der herkömmlichen Lösung mit einem Kunden, einem Datensatz und einem Bereitstellungssatz. Der einzige Unterschied besteht darin, dass die Software einheitlich beim Betreiber bereitgestellt wird. Wenn Sie es mit Mietern wie Banken und Krankenhäusern zu tun haben, die eine sehr hohe Datenisolation benötigen, können Sie dieses Modell wählen, um den Mietpreis zu erhöhen. Wenn die Preisgestaltung niedrig ist und das Produkt einen Niedrigpreisweg einschlägt, ist diese Lösung für Betreiber in der Regel unbezahlbar.

2.2 Gemeinsame Datenbank, unabhängiges Schema

Dies ist die zweite Lösung, das heißt, mehrere oder alle Mandanten teilen sich die Datenbank, aber jeder Mandant verfügt über ein Schema (auch als Benutzer bezeichnet). Die zugrunde liegenden Bibliotheken sind beispielsweise: DB2, ORACLE usw. Unter einer Datenbank können mehrere SCHEMAs vorhanden sein.

  • Vorteile: Bietet ein gewisses Maß an logischer Datenisolation für Mandanten mit höheren Sicherheitsanforderungen, aber keine vollständige Isolation. Jede Datenbank kann eine größere Anzahl von Mandanten unterstützen.
  • Nachteile: Wenn ein Fehler auftritt, ist die Datenwiederherstellung schwierig, da die Wiederherstellung der Datenbank die Daten anderer Mandanten umfasst. Wenn mandantenübergreifende Statistiken erforderlich sind, treten gewisse Schwierigkeiten auf.

2.3 Gemeinsame Datenbank, gemeinsames Schema, gemeinsame Datentabelle

Dies ist die dritte Option, Das heißt, Mandanten nutzen die gleiche Datenbank und das gleiche Schema, fügen der Tabelle jedoch das mandantenfähige Datenfeld „TenantID“ hinzu.Dies ist der Modus mit dem höchsten Grad an Teilen und dem niedrigsten Grad an Isolation
Das heißt, jedes Mal, wenn ein Datenelement eingegeben wird, ist eine Kunden-ID erforderlich. Auf diese Weise können die Daten verschiedener Kunden in derselben Tabelle unterschieden werden.

  • Vorteile: Vergleich von drei Optionen,Die dritte Option hat die geringsten Wartungs- und Anschaffungskosten und ermöglicht die größte Anzahl an Mandanten pro Datenbank.
  • Nachteile: Die niedrigste Isolationsstufe und die niedrigste Sicherheit erfordern eine stärkere Sicherheitsentwicklung während des Entwurfs und der Entwicklung. Die Datensicherung und -wiederherstellung ist am schwierigsten und erfordert eine tabellenweise Sicherung und Wiederherstellung.Diese Lösung eignet sich am besten, wenn Sie die meisten Mandanten mit den wenigsten Servern bedienen möchten und die Mandanten im Gegenzug für geringere Kosten einen Verzicht auf die Isolationsstufe akzeptieren.

2.4 Zusammenfassung

Während des SaaS-Implementierungsprozesses gibt es einen offensichtlichen Überlegungspunkt, nämlich wie Anwendungsdaten so gestaltet werden sollen, dass sie mehrere Mandanten unterstützen. Die Idee dieses Designs besteht darin, ein Gleichgewicht zwischen Datenfreigabe, Sicherheitsisolation und Leistung zu finden.Die Eigenschaften der drei Modi lassen sich in einem Bild zusammenfassen

Multi-Tenant Hive Data Warehouse Multi-Tenant Saas_Multi-Tenant