Was versteht man unter einer Containerdatenbank?

8. August 2023

Seit der Veröffentlichung von Oracle Database 23ai im Jahr 2024 ist die „Containerdatenbank“ ein wesentliches Feature. Außerdem ist seit Oracle Database 23ai eine mandantenfähige Containerdatenbank die einzige unterstützte Architektur. Wie eine „integrierbare Datenbank“ macht sie im Wesentlichen Daten zugänglicher und portabel. Der Begriff integrierbar bedeutet dabei, dass die Datenbank an verschiedene Container angeschlossen werden kann. Containerdatenbanken fügen mehrere Datenbanken zusammen, um gemeinsame Funktionen zu nutzen. Konkret: „Ein Container ist eine Sammlung von Schemata, Objekten und verwandten Strukturen in einer mehrmandantenfähigen Containerdatenbank (CDB). Innerhalb einer CDB hat jeder Container eine eindeutige ID und einen Namen.“ Eine CDB umfasst also null, eine oder viele vom Kunden erstellte integrierbare Datenbanken (PDBs) und Anwendungscontainer.

Innerhalb einer CDB befinden sich zwei Datenbanken, Root und Seed. Root enthält einige Benutzerinformationen und Oracle Metadaten. Seed ist die integrierbare Datenbank innerhalb der CDB, die als eine Art Vorlage für die Erstellung weiterer PDBs dient. Wie jede normale Datenbank enthält eine PDB Objekte, Daten und Schemata, die es Ihnen ermöglichen, eine Verbindung zur Datenbank herzustellen und mit ihr zu arbeiten, indem Sie eine IDE (Integrated Development Environment) verwenden.

Warum gibt es mehrere Datenbanken innerhalb einer CDB? Das mag zwar komplizierter erscheinen, führt aber zu mehr Flexibilität und einer effizienteren Nutzung der Ressourcen. Durch die Bündelung dieser Ressourcen wird es einfacher, Daten und Code dorthin zu verschieben, wo sie benötigt werden, ohne den Overhead der Verwaltung mehrerer Datenbanken auf mehreren virtuellen Maschinen. Wie Entwickler bei Projekten wie Kubernetes festgestellt haben, bietet der Einsatz von Containern in verschiedenen Kontexten deutliche Vorteile – Ähnliches gilt auch für Containerdatenbanken.

Zu den wichtigsten Vorteilen gehören:

  • effizientere Ressourcennutzung,
  • leichtere Vervielfältigung und leichterer Zugang zu allen Ressourcen,
  • Portabilität,
  • einfachere Verwaltung, einschließlich Benutzer- und Verwaltungskontrolle.

Auf Container- und integrierbare Datenbanken wird nach wie vor wie auf herkömmliche Datenbanken zugegriffen, und Entwickler können viele vertraute IDEs wie SQL Developer verwenden, um die CDB/PDB zu verbinden und zu verwalten. Entwickler verbinden sich weitgehend mit einer integrierbaren Datenbank innerhalb der CDB, um ihre Daten nach Bedarf zu verwalten.

Weitere Informationen über die in Oracle Database 23ai eingeführten Datenbankkonzepte und die Unterschiede zwischen CDBs und PDBs finden Sie auf der Seite Oracle Database Concepts. Oracle Database 23ai baut auf früheren Innovationen auf und präsentiert eine Fülle neuer Funktionen, darunter JSON Relational Duality, die Unterstützung von Microservices und SQL-Verbesserungen.