Oracle Database Cloud Services im Überblick
Zum Zeitpunkt der Erstellung dieses Artikels existieren insgesamt vier Möglichkeiten, Datenbanken in der Oracle-Cloud zu betreiben bzw. als "Database-as-a-Service" betreiben zu lassen. Dieser Artikel versucht daher, einen Überblick über die Vielfalt der entsprechenden Angebote zu geben und die nicht immer auf den ersten Blick ersichtlichen Unterschiede herauszuarbeiten. Um den Rahmen nicht zu sprengen, geht es dabei ausschließlich um die "klassische" Oracle-Datenbank als RDBMS. Ebenfalls verfügbare und/oder angekündigte Oracle-Cloud-Dienste deren Implementierung auf anderen Datenhaltungssysteme basiert (MySQL, NoSQL, Big Data) finden hier also keine Berücksichtigung.
Kategorisierung und Grundlagen von Database-as-a-Service Angeboten in der Oracle-Cloud
Zum besseren Verständnis und zur Einordung der verschiedenen DBaaS-Möglichkeiten in der Oracle-Cloud bietet es sich an, diese in zwei Dimensionen zu unterscheiden:
Zum einen nach der Art der Administration des Dienstes ("managed" vs. "automated" vs. "non-managed"), zum anderen nach der Ausprägung des Dienstes, die sich in verschiedenen Feature Sets und Größenordnungen niederschlägt. Betrachten wir zunächst den ersten Aspekt:
- Mit "Non-Managed" ist ein Dienst gemeint, der dem Nutzer bzw. DBA sämtliche Administrationsaspekte komplett überlässt. Abgesehen von der initialen Bereitstellung der Datenbank in der Oracle-Cloud (sowie zu deren Betrieb notwendigen Ressourcen in Form einer VM) hat der Nutzer hier zwar einerseits die volle Kontrolle über jegliche Konfigurations- und Administrationsaspekte seiner Oracle-Datenbank, muss sich aber – genau wie "on premise" (also im heimischen Rechenzentrum) – auch um alles selbst kümmern: Insbesondere Patching sowie Backup/Recovery.
- Die Bezeichnung "Automated" taucht zwar in den offiziellen Beschreibungen und Dokumentationen der Oracle Database Cloud Services nicht auf, beschreibt aber am ehesten, welche "mittlere" Administrationsstufe damit gemeint ist: Mittels sogenanntem "Cloud Tooling" kann auch ein "Gelegenheits-DBA" automatisierte Backups seiner Datenbank einrichten oder z. B. automatisch vorgeschlagene Patches einspielen. Kenntnisse der zugrundeliegenden Datenbankwerkzeuge (konkret also z. B. RMAN oder OPatch) sind hierfür nicht erforderlich. Die Wahl, ob dieses Cloud Tooling genutzt wird (und somit auch die Verantwortung dafür, ob z. B. überhaupt Backups angefertigt werden) liegt aber immer noch beim Anwender.
- Ein "Managed"-Service bezeichnet, wie der Name schon vermuten lässt, einen Dienst, dessen Administrationsaspekte weitgehend vom Cloud-Betreiber (also Oracle) übernommen werden. Zum einen bedeutet dies, dass z. B. automatisch Patches eingespielt und Backups angefertigt werden. Im Gegenzug hat man als Nutzer aber auch weniger Einflussmöglichkeiten bzw. steigt "weiter oben ein" (im Sinne eines Schichtenmodels) als bei den zuvor erwähnten Varianten.
Bei den Ausprägungen der Datenbank-Cloud-Dienste schließlich kann man folgende Unterscheidungsmerkmale feststellen:
- Unabhängig von der reinen Rechenleistung die einem als Cloud-Nutzer zur Verfügung steht, spielt es natürlich auch eine Rolle, auf welcher Art von Plattform der Datenbankdienst bereitgestellt wird. Bei den meisten Cloud-Anbietern stehen ausschließlich "generische" Umgebungen im Sinne eines "Shared Environment" zur Verfügung. Zwar wird durch Isolation und Abstraktion der Eindruck einer "eigenen" Umgebung erweckt, technisch gesehen kann und wird diese aber gleichzeitig von vielen verschiedenen Cloud-Kunden genutzt werden. Für viele Anwendungsfälle ist dies durchaus in Ordnung bzw. fällt im normalen Betrieb einer durchschnittlich ausgelasteten Datenbank nicht auf. Für Anwendungen bzw. Projekte, welche aber z. B. eine konstante I/O-Leistung benötigen und diese nicht mit "Nachbarn" auf dem zugrundeliegenden System teilen wollen, bietet Oracle auch eine Variante des Database Cloud Service an, in der man als Kunde die unterliegende Hardware exklusiv nutzt.
- Verwendbare Features – Einer der Vorteile eines Oracle RDBMS ist die große Auswahl an Editionen (z. B. Enterprise Edition) und Optionen (z. B. InMemory DB oder RAC). Da diese sich im Lizenz-Preis bzw. in der Cloud im Preis des Dienstes niederschlagen, macht es natürlich Sinn, auch hierbei verschiedene Varianten bzw. "Bundles" anzubieten. Je nach Bedarf können somit in der Oracle-Cloud auch kurzfristig Datenbanken mit Optionen betrieben werden, für die man "normalerweise" (im eigenen RZ) gar keine Lizenz hat und/oder auch gar nicht dauerhaft haben möchte. Ideal ist diese Möglichkeit auch zum Testen von neuen Features und Optionen, ohne dafür zuerst umfangreiche Investitionen zu tätigen.
Verfügbare Database-as-a-Service-Angebote und deren Besonderheiten
Nach der vorangegangenen Kategorisierung kommen wir nun zu den derzeit konkret verfügbaren DBaaS-Ausprägungen in der Oracle-Cloud.
- Oracle Database Cloud Service: Der Database Cloud Service stellt quasi die "Standard-Variante" für DBaaS in der Oracle-Cloud dar: Auf Basis von Oracle Linux-VMs wird wahlweise eine lauffähige 11g- oder 12c-Datenbank zur Verfügung gestellt. Diese steht grundsätzlich in einer "Non-Managed"-Variante mit dem Namenszusatz "Virtual Image" zur Verfügung, oder aber als Variante mit entsprechendem "Cloud Tooling" (s. Kategorie "Automated" im vorigen Abschnitt). Letzteres sorgt dafür, dass man über wenige Mausklicks ein nächtlich laufendes automatisiertes Backup erhält, welches wahlweise in einen separaten Cloud Storage ("Database Backup Cloud Service") und/oder in die zugrundeliegende VM selbst Sicherungen anfertigt (s. dazu auch die entsprechenden Felder im Screenshot von Abb.1). Ebenso wird dadurch das Einspielen der quartalsweise angebotenen DB Patches direkt durch einen Button in der Cloud-Oberfläche ermöglicht.
Da dieser Dienst technisch gesehen auf der Oracle Compute Cloud basiert, stehen als zugrundeliegende Rechenleistungs-Größenordnungen die dort definierten "Shape Sizes" (=VM-Größen) zur Verfügung. Platz für Datenbank-Storage und -Backup wird bei diesem Dienst separat erworben und abgerechnet.
Die Leistungsmerkmale der gewünschten Database Cloud Service-Instanz werden beim Anlegen durch die Wahl von entweder Standard Edition, Enterprise Edition (EE), EE High Performance oder EE Extreme Performance bestimmt. Bei den letzten beiden handelt es sich letztlich um "Bundles" aus EE und verschiedenen DB-Optionen. In der größten Ausprägung (EE Extreme Performance) ist auch das automatische Anlegen eines Zwei-Knoten-RAC Clusters möglich. Ebenso wird das Anlegen einer zweiten DB-Instanz (auf einer separaten VM) als Standby mittels Data Guard unterstützt.
Der Zugriff auf die Datenbank erfolgt mit allen gewohnten Mechanismen bzw. Datenbank-Clients – wie z. B. SQL*Plus, SQL-Developer oder auch beliebigen anderen/eigenen Programmen, z. B. per JDBC. Der Netzwerkverkehr ist dabei standardmäßig verschlüsselt – wahlweise über die native SQL*Net-Verschlüsselung oder über einen SSH-Tunnel. Ebenso werden die Daten in User Tablespaces verschlüsselt (über TDE – Transparent Data Encryption) und zwar ohne Aufpreis in allen angebotenen Bundles/Ausprägungen (selbst bei der Standard Edition).
- Oracle Database Exadata Cloud Service: Für den Exadata Cloud Service gilt sinngemäß das Gleiche, was gerade bereits über den Database Cloud-Service geschrieben wurde. Im Unterschied zu Letzterem, erhält man hier jedoch einen exklusiv nutzbaren Teil einer virtualisierten Exadata. Sämtliche Features dieses Engineered Systems (wie z. B. "Smart Scan" durch intelligenten Storage) sowie die entsprechende Performance stehen dabei zur Verfügung. Die Einstiegsgröße liegt bei 16 OCPUs (also 16 Cores) eines Quarter Racks, welches dann inkl. dem dazugehörigen Storage exklusiv für Kunden des Dienstes reserviert ist. Entsprechend stehen auch Half- und Full-Rack-Ausprägungen des Exadata Cloud Services zur Verfügung. Innerhalb der jeweilig gebuchten grundsätzlichen Größe des Dienstes kann über ein sogenanntes "Bursting" die CPU-Leistung temporär erhöht werden (z. B. von 16 auf 32 Cores.) Die Abrechnung für dieses Bursting erfolgt stundenweise.
- Oracle Database Schema Cloud Service – Managed: Dieser Dienst stellt eine Lösung für Nutzer dar, die eigentlich gar keine "ganze" Datenbank benötigen, sondern lediglich ein Schema zur Ablage von Daten einer Anwendung. Der Zugriff erfolgt hier im Gegensatz zu den beiden zuvor genannten Varianten nicht direkt über SQL*Net, sondern lediglich über eine REST-basierte Schnittstelle oder über das mitinstallierte Application Express (APEX.) Da es sich hier um einen "managed" Dienst handelt, liegen sämtliche administrative Aspekte der Datenbank, wie z. B. Backup oder Patching, in der Verantwortung von Oracle. Zugriff auf einzelne Datenbankparameter oder gar auf das Betriebssystem gibt es prinzipbedingt ebenfalls nicht. Technisch gesehen handelt sich hier also um ein "Shared Environment" wie in der Einleitung beschrieben.
Als nutzbare Größen (für eigene Daten) stehen wahlweise 5, 20 oder 50 GB Storage zur Verfügung. - Oracle Database Exadata Express Cloud Service – Managed: Dieses jüngste Mitglied der Database Cloud Service-Familie wurde auf der Oracle Open World 2016 veröffentlicht und stellt in folgender Hinsicht eine Besonderheit dar:
Es vereint gewissermaßen die Vorteile des "normalen" Database Cloud Service mit den "Managed"-Aspekten des Schema Cloud Service. Im Gegensatz zu Letzterem ist die zur Verfügung gestellte Einheit hier aber nicht nur ein einziges DB-Schema, sondern eine Pluggable Database (PDB) – ebenso ist hier auch der vollwertige SQL*Net-Zugriff möglich.
Die letzten beiden Aspekte machen den Dienst besonders für Test- und Entwicklungszwecke interessant, zumal "on premise" vorhandene bzw. erstellte PDBs einfach mit Werkzeugen wie dem SQL Developer in die Cloud "verschoben" (und ggf. auch wieder zurückgeholt) werden können.
Die zur Verfügung stehenden Storage-Größenordnungen sind 20 und 50 GB – Letzteres auch in einer Variante, welche die Nutzung von Oracle In-Memory DB erlaubt.
Ausblick auf zukünftige Database Cloud Services
Oracle plant in Zukunft auch einen Database Cloud Service auf Basis eines "Bare Metal Infrastruktur-Dienstes" (Bare Metal Compute Service) anzubieten. Ähnlich wie beim Exadata Cloud Service wird man als Kunde hier eine Umgebung und deren Leistung exklusiv zur Verfügung haben – allerdings nicht wie dort basierend auf einer virtualisierten Exadata, sondern, wie der Name schon andeutet, ohne Hypervisor direkt in einem auf der Hardware installierten Linux-System.
Es ist geplant diesen Dienst in zwei Größenordnungen zur Verfügung zu stellen: Eine mit 12,8 TB und eine mit 28,8 TB Storage. Dieser extrem schnelle, lokal angebundene Flash (NVMe)-Storage stellt "netto" durch eine dreifache Spiegelung der Daten 4,2 TB bzw. 9,6 TB für die Datenbank bereit. Beide Varianten verfügen über 36 Cores und 512GB RAM. Da auf diesen Systemen keine Virtualisierung verwendet wird, sind zur Ausnutzung der Kapazität hier auch mehrere Datenbanken (und Oracle Homes) innerhalb einer Instanz des Bare Metal Cloud Database Service möglich.
Fazit
Wie wir gesehen haben, stehen mittlerweile für nahezu jeden denkbaren Einsatzzweck einer Oracle-Datenbank entsprechende Dienste in der Oracle-Cloud zur Verfügung: Von günstigen "Einstiegslösungen" wie dem Schema-Service oder dem Exadata Express-Service über flexible Standard-DBaaS-Angebote mit verschiedenen DB-Optionen bis hin zur exklusiv nutzbaren Lösung auf Basis einer Oracle Exadata.