Multitenant Database oder lieber noch nicht
„Multitenant Database oder lieber noch nicht“, so lautete der Titel des „Battles“ auf der diesjährigen DOAG-Konferenz in Nürnberg. Ein Format mit viel Unterhaltungswert und sicher auch dem ein oder anderen technischen Aha-Erlebnis.
Und mit etwas Abstand kann man die im Battle aufgeworfenen Fragen und Stichpunkte auch etwas detaillierter beantworten.
Multitenant ist teuer
Diese Aussage beruht auf einem Mißverständnis und einer nicht ganz glücklichen Namensgebung von Oracle. Das Produkt heißt „Multitenant“, die Datenbank-Architektur „Multitenant-Architektur“ und die Option der Enterprise Edition der Datenbank heißt „Multitenant Option“. Und nur letztere ist (lizenz-)kostenpflichtig. Also viel zu viel „Multitenant“ für unterschiedliche Dinge.
Um diese Begriffsvielfalt etwas zu entwirren bevorzuge ich auch den Begriff „CDB-Architektur“ anstelle von „Multitenant-Architektur“, zumal ja die klassische Datenbank-Architektur „Non-CDB-Architektur“ heißt. Und die Vorteile der CDB-Architektur kann man auch ohne die kostenpflichtige Multitenant Option nutzen, denn seit Oracle 19c sind in allen Datenbank-Editionen (SE2 und EE) 3 Pluggable Databases (PDBs) kostenfrei möglich.
„Multitenant ist teuer“ – stimmt so also nicht.
Multitenant ist kompliziert
Der Eindruck Multitenant sei kompliziert, kann natürlich entstehen. Insbesondere wenn man die Single-Tenant-Variante, d.h. die CDB-Variante mit nur einer PDB betrachtet. In diesem Fall ist der Root-Container CDB$ROOT nur eine Zwischenebene, d.h. eine weitere Komplexitätsebene.
Andererseits bringt Multitenant – wenn man es zur Konsolidierung nutzt und mehrere Datenbanken als PDBs in einer CDB zusammenfasst auch Vereinfachungen. Stichwort: „Manage many as one“ – z.B. beim Backup. Mit einem rman-Job sichert man alle PDBs.
Und ja, diese „neue“ Architektur bedarf sicher einiger Einarbeitung. Aber die klassische Non-CDB-Architektur ist abgekündigt, Oracle Database 19c ist die letzte Version, die diese Architektur noch unterstützt. Und für die Version 19c endet – Stand jetzt – der Premier Support Ende 2029, der Extended Support 2032.
Und ja, es gibt einige wenige Dinge, die komplizierter sind und man wird die über Jahre gereifte Skriptsammlung sicher an der ein oder anderen Stelle überarbeiten müssen.
Aber wenn wir uns der Herausforderung Multitenant sowieso irgendwann mal stellen müssen, dann besser früher als später. Und wenn man mit den unkritischen Systemen anfängt und sich dann vorarbeitet, dann verliert Multitenant auch seine Schrecken und seine vermeintliche Komplexität.
Multitenant funktioniert nicht
Sehr pauschal. Und ja, natürlich gibt es Bugs im Multitenant-Umfeld. Und ja, es gibt sicher auch Bugs, die bei Non-CDBs nicht auftreten.
Aber die Ideen und Konzepte hinter der Multitenant-Architektur, wie z.B. schnelle Bereitstellung von Datenbanken, „Manage many as one“ etc., die funktionieren sehr wohl.
„Multitenant ist für uns nicht einsetzbar“
Auch das ist eine sehr pauschale Aussage, die man dann natürlich auch nur pauschal beantworten kann: In vielen Fällen beruht diese Aussage erfahrungsgemäß auf Unkenntnis.
Die Anwendung kann kein Multitenant
Es gibt immer noch die alten Schätzchen, die auf alten Server laufen, bei denen es die Entwicklungsfirma oder den Entwickler nicht mehr gibt und die irgendwie „unternehmenskritisch“ sind. Und da sind auch Applikationen dabei, die mit einem Oracle 8-Client auf einem 32-bit-Windows arbeiten, die inzwischen in irgendeine virtuelle Infrastruktur migriert wurden.
Multitenant gibt es seit 2013 und soll – Stand jetzt – Ende 2032 Geschichte sein (jedenfalls, was den Support betrifft) – knapp 20 Jahre Übergangsfrist sind recht lang. Und in dieser Zeit kann man dann auch die Alt-Anwendungen auf einen aktuellen Technologie-Stand gebracht haben. Oder man lebt bewusst mit den Risiken einer nicht mehr unterstützen Technologie. Auch dafür gibt es interessante Beispiele (Eier-Sortiermaschine mit Windows 95).
Multitenant ist toll
Wieder mal sehr pauschal. Multitenant ist eine neue Architektur mit neuen Möglichkeiten und wenn man sich darauf einlässt, dann hat man am Anfang sicher die ein oder andere Hürde zu überwinden und das ein oder andere Skript umzuschreiben, aber ist dieser Schritt abgeschlossen und man kann anfangen,die neuen Möglichkeiten und Vorteile dieser Architektur wirklich zu nutzen.
Und da wir ohnehin irgendwann mal alle auf Multitenant migrieren müssen, ist meine Meinung: besser früher als später!
Foto von frank mckenna auf Unsplash