Infrastruktur im Wandel
22.06.2020, 06:52 Uhr
Künstliche Intelligenz erobert die Datenbanken
KI erhält Einzug in Datenbanken. Damit werden die gespeicherten Informationen besser nutzbar und die tägliche Arbeit damit geht deutlich leichter von der Hand.
Lange Zeit ging die Euphorie rund um Künstliche Intelligenz (KI) an den Datenbank-Anbietern vorbei. Erst im vergangenen Jahr wendete sich das Blatt. Führende Datenbank-Hersteller hefteten sich plötzlich das angesagte KI-Fähnlein an ihre Produkte. In der Folge veränderte die Technologie auch den Datenbank-Markt - getreu dem Credo des Marktforschungshauses Gartner, nach dem Künstliche Intelligenz früher oder später in jeder etablierten Technologie Einzug halten wird.
Inzwischen übt KI auch bei Datenbanken einen beträchtlichen Einfluss aus. Vor allem die grossen Player - Microsoft, Oracle, IBM und SAP - sind auf den KI-Zug aufgesprungen. Sie machen ihre Systeme und das Arbeiten mit Daten intelligenter und einfacher nutzbar. Natürlichsprachliche Schnittstellen beispielsweise erlauben dem Nutzer die Abfrage von Daten in seiner Muttersprache. Und Anwender müssen sich nicht mehr auf exakte Suchbegriffe, Schlüsselsätze oder starre Masken verlassen, um die benötigten Informationen zu finden.
Grosse Auswirkungen hat Künstliche Intelligenz auch auf das Management und das Tuning von Datenbanken - Aufgaben also, die normalerweise ein Datenbank-Administrator erledigt. Statt solche Tasks unter hohem Zeit- und Ressourcen-aufwand manuell auszuführen, verwalten, patchen und optimieren sich intelligente Datenbanken selbst. KI-Software kann beispielsweise automatisch Fehlfunktionen und Schwachstellen erkennen und Ausfälle von Komponenten selbstständig kompensieren, ohne dass Performance-Einbussen auftreten.
Und das ist längst noch nicht das Ende der Fahnenstange. In der KI-Ära werden Datenbanken auch nicht mehr ausschliesslich als traditionelles System von Datensätzen oder Datenspeichern betrachtet. Zusehends werden Datenbanken enger an KI-Anwendungen gekoppelt, etwa um das Training der riesigen Datenmengen zu optimieren. Und im Extremfall verschmelzen Datenbanken sogar mit KI-Entwicklungswerkzeugen und bilden eine Art «holistische Einheit».
Mehr Intelligenz
Der Druck auf die Datenbank-Anbieter, KI-Funktionen zu integrieren, kommt vom Markt und von den Anwendern. «Heute sind die Erwartungen an die Datenbank höher», sagt Prasun Mahapatra, leitender Datenbank-Administrator beim Software-Haus Micro Focus. «Datenbanken müssen intelligenter sein.» Dafür gibt es mehrere Gründe. Wenn es um Daten und die sie verwaltenden Systeme geht, stehen Unternehmen vor der Herausforderung, die betriebliche Effizienz zu steigern und zugleich möglichst vielen Mitarbeitern einen besseren Datenzugriff zu ermöglichen. Schon aus Wettbewerbsgründen ist es entscheidend, alles, was KI zu bieten hat, voll auszuschöpfen. Unternehmen benötigen Datenverwaltungssysteme, die effizient und mit hoher Leistung laufen und exakte Ergebnisse liefern. Und genau das leistet KI, die in Datenbank-Systeme eingebettet wird - sie verbessert Genauigkeit und Leistung von Datenbank-Abfragen und optimiert Systemressourcen.
Hinzu kommt: Datenbanken und KI sind synergetisch. Unternehmensdaten müssen auch für Datenwissenschaftler zugänglich sein, damit sie KI-fähige Anwendungen produktiver und schneller entwickeln können. Unterstützen Datenbanken direkt KI-Tools und sind diese eng miteinander verzahnt, kann die Entwicklung von KI-basierten Anwendungen und der Aufbau komplexer Datenmodelle beschleunigt werden.
Eine 2019 durchgeführte Umfrage des US-amerikanischen Forschungs- und Beratungsunternehmens 451 Research zeigt, dass Unternehmen KI als kritische Aspekte ihrer Datenbank-Ausrichtung betrachten. Zwei Drittel aller Befragten sagten, dass KI und Machine Learning wichtige Komponenten ihrer Datenplattform- und Analyse-Initiativen seien. Dieser Anteil steigt bei stark datengetriebenen Unternehmen - also Unternehmen, bei denen fast alle strategischen Entscheidungen datenbasiert erfolgen - sogar auf 88 Prozent an.
Wo KI Datenbanken verbessert
Die Analysten von 451 Research sehen vor allem fünf Bereiche, in denen KI-basierte Datenbanken die Effizienz von Unternehmen steigern können.
Verbesserte Abfragen: Die Ergebnisse von Datenbank-Abfragen sind oft suboptimal, das heisst sie sind wenig genau und unzuverlässig. KI-optimierte Datenbank-Abfragen erhöhen die Genauigkeit und Zuverlässigkeit der Resultate. Durch die effizientere Ausführung von Queries können Anwender Datenbank-Abfragen beschleunigen und Geschäftsentscheidungen verbessern.
Demokratisierung: Eine der grössten Herausforderungen bei der Durchführung von Analysen liegt darin, die Technologie zu «demokratisieren», damit ein grösserer Personenkreis analysegesteuerte Entscheidungen treffen kann. KI-basierte Datenbank-Tools erlauben es, die Nutzung von Datenbanken und KI-Tools in die Hände von Anwendern, Domänenexperten und Entscheidungsträgern zu legen.
Operationale Effizienz: Unternehmen haben oft Schwierigkeiten, sicherzustellen, dass die Datenbank-Systeme effizient arbeiten. Abfragen, die das System überlasten, übermässige Ressourcen verbrauchen oder andere laufende Jobs beeinträchtigen, schmälern nicht nur die Leistung. Zur Behebung der Störungen sind meist auch manuelle Eingriffe notwendig. Die KI kann helfen, stabilere und zuverlässigere Systeme bereitzustellen und die manuelle Verwaltung und Überwachung der Datenbank zu reduzieren.
Automatisierte Administration: Laut den Marktforschern von IDC entfallen 75 Prozent der Gesamtkosten des Datenmanagements auf die Arbeitszeit. Durch die Automatisierung alltäglicher Datenbank-Admin-Tätigkeiten wie Datenbank-Bereitstellung und -Optimierung sparen Unternehmen Kosten. Administratoren können sich auf strategischere und anspruchsvollere Aufgaben wie Architekturplanung und Datensicherheit konzentrieren.
Analytische Produktivität: Umfragen zeigen, dass der mangelhafte Zugang zu Daten eine der wichtigsten Barrieren für die Einführung von Machine Learning ist. Eine KI-fähige Datenbank kann dazu beitragen, dieses Hindernis zu überwinden, indem sie die Datenexploration beschleunigt und die Entwicklungszeiten durch die Integration von Entwickler-Tools und Frameworks verkürzt.
Die wichtigsten Player
Fast alle grossen Datenbank-Anbieter beschäftigen sich inzwischen mit dem Thema Künstliche Intelligenz - sie setzen jedoch verschiedene Schwerpunkte. So startete Marktführer Oracle im vergangenen Jahr eine grosse Kampagne für seine Oracle Autonomous Database, die die Datenbank-Verwaltung und -Wartung mit maschinellem Lernen erleichtert und optimiert. Die KI-Verfahren übernehmen Aufgaben wie automatisches Upgrade, Fehlerbeseitigung und Tuning im laufenden Betrieb. Sie tragen damit dazu bei, die Komplexität, menschliche Fehler und den manuellen Verwaltungsaufwand zu verringern.
Microsoft wiederum vermarktet seinen SQL Server 2019 und das Cloud-Pendant Azure SQL an mehreren Stellen mit dem Schlagwort «intelligent». So überwacht und analysiert die automatische Optimierung die Datenbank fortlaufend, identifiziert potenzielle Verbesserungen oder stellt künftige mögliche Probleme fest. Unter dem Begriff «Intelligent Query Processing» hat Microsoft eine Reihe von Optimierungen bei der Verarbeitung von Abfragen eingeführt.
Und auch ERP-Riese SAP hat sich gross KI auf die Fahne geschrieben und seine gesamte Produktpalette mit KI-Features erweitert. Im Datenbank-Segment bietet beispielsweise SAP S/4 HANA Cloud-Anwendern intelligente, selbstlernende Mechanismen, die die Art und Weise, wie Aufgaben erledigt werden, verändern sollen.
«Wir setzen auf KI, um das Nutzererlebnis zu ändern, Prozesse zu automatisieren und direkten Mehrwert durch Kostensenkungen zu schaffen», sagte der ehemalige SAP-Präsident Franck Cohen in einem Interview. Ein Beispiel ist die Datenbank-Anwendung SAP Cash Application. Mit den SAP-Leonardo-Funktionen für maschinelles Lernen lernt SAP Cash Application aus den bisher manuellen Tätigkeiten der Buchhalter.
Vorreiter IBM
IBM profitierte bei der Integration von KI in Datenbank-Systeme von seinem KI-Know-how. «IBM war in den letzten Jahren führend in der Entwicklung einiger Technologien in diesen neuen Bereichen, insbesondere mit Watson», erklärt Gartner-Analyst und Vice President Merv Adrian. Mit der frühen Demonstration, was KI praktisch leisten kann, und dem relativen Erfolg des KI-Systems Watson im Hintergrund frischte IBM seine fast 40 Jahre alte relationale Datenbank Db2 im Sommer letzten Jahres mit KI-Features auf und platzierte sie in der Version 11.5 als «KI-Datenbank».
IBMs Db2 in der aktuellen Version 12 enthält eine ganze Reihe neuer Funktionen, die das Datenbank-Managementsystem noch weiter in das KI-Zeitalter bringen. Anwender können damit verschiedene Aspekte rund um die Datenbank optimieren - von den Datenstrukturen über Speicherinfrastrukturen bis hin zu komplexen Abfragen. «Datenbank-Administratoren werden in dreifacher Hinsicht entlastet», erläutert Andreas Weininger, Leading Technical Sales bei IBM Deutschland. «KI wird eingesetzt erstens zum Selbst-Tuning von Datenbank-Systemen, zweitens zur Selbstoptimierung von Datenbanken und drittens zum automatisierten Management der Systeme.»
“IBM war in den letzten Jahren führend in der Entwicklung einiger Technologien in diesen neuen Bereichen, insbesondere mit Watson.„
Merv Adrian, Analyst und Vice President bei Gartner
Ein Beispiel ist die Abfrageoptimierung - eine entscheidende Komponente der Leistung jeder Datenplattform, da selbst die schnellsten Datenbanken der Welt durch schlecht ausgeführte Abfragen verlangsamt werden können. Db2 reduziert mit maschinellem Lernen den Abstimmungsaufwand. Dies geschieht durch die Überwachung der SQL-Performance-Informationen im Zeitverlauf und deren Korrelation mit Abfragen. Algorithmen des maschinellen Lernens erstellen und optimieren Modelle für bestimmte SQL-Anweisungen.
Auch Endanwender profitieren von der optimierten IBM-Datenbank. Mit dem «Augmented Data Explorer» können Anwender die Datenbank in natürlicher Sprache abfragen. Antworten und Ergebnisse werden in Form von leicht verständlichen Datenvisualisierungen und Zusammenfassungen in natürlicher Sprache zurückgespielt. Ohne dass komplexe Suchanfragen oder umfangreiche Schulungen erforderlich sind, lassen sich interessante statistische Erkenntnisse über die Daten gewinnen.
Vorreiter Oracle
Neben IBM ist Oracle der zweite grosse Player, der seine Datenbank-Produkte früh mit KI-Features beworben hat. Oracle stellt dabei in allererster Linie die automatische Optimierung und Wartung seiner Datenbank in den Vordergrund. Die cloudbasierte Autonomous Database, die offiziell mit der Einführung eines Data-Warehouse-Service im März 2018 ihren Anfang nahm, soll die Tätigkeiten von Datenbank-Administratoren reduzieren und helfen, menschliche Fehler und Kosten zu verringern.
«Die Oracle Autonomous Database basiert auf einer Technologie, die so revolutionär wie das Internet ist», verkündet Oracle-Chairman und CTO Larry Ellison vollmundig. «Sie patcht, tunt und aktualisiert sich selbst.» Die Kombination aus Oracles Database mit maschinellen Lernalgorithmen und automatisierten Skripts kümmere sich um alle administrativen Abläufe. Auf diese Weise könne der Datenbank-Service ohne menschliches Zutun betrieben werden, verspricht Ellison.
Mit ihren Machine-Learning-Funktionen ist die Oracle Autonomous Database in der Lage, die Informationen, die sie benötigt, selbstständig zu verwalten und zu besorgen. Aufgaben wie die Gewährleistung von Sicherheit, Laufzeitoptimierung oder Problembeseitigung werden von der Software übernommen. Die Datenbank erledigt zudem Upgrades, führt das Patchen und Tuning während des Betriebs aus und passt sich eigenständig an veränderte Workloads und Datenvolumina an. Datenbank-Indizes zur Verbesserung der Anwendungsleistung werden ebenfalls automatisch erstellt.
“Die Oracle Autonomous Database basiert auf einer Technologie, die so revolutionär wie das Internet ist. Sie patcht, tunt und aktualisiert sich selbst.„
Larry Ellison Gründer, Executive Chairman und CTO von Oracle
Durch die Selbstwiederherstellungsfunktion werden Korrekturmassnahmen automatisch erkannt und angewendet. Dadurch kann ein unterbrechungsfreier Zugriff auf Daten gewährleistet werden. Insgesamt sollen Datenbanken damit weniger anfällig für menschliche Fehler sein, die zu Ausfällen, schlechter Performance und anderen kostspieligen Ereignissen führen.
Daten fürs Modell-Training
Die besseren Nutzungs- und Optimierungsmöglichkeiten von Databases sind aber nur ein Aspekt an der Schnittstelle KI und Datenbanken. Ein zweiter grosser Bereich, bei dem sich KI und Datenbanken nahekommen, ist das Training von KI-Modellen. Die «Big Challenges» bei Machine-Learning-Methoden wie Deep Learning sind die grossen Datenmengen und hohen Performance-Anforderungen. Daten plus Performance werden benötigt, um ein neuronales Netz beispielsweise auf komplexe Mustererkennung in Bereichen wie Bildklassifikation oder der Verarbeitung natürlicher Sprache zu trainieren. Und KI-Algorithmen und Daten müssen gut interagieren.
Bei diesem Zusammenspiel von Daten und KI-Algorithmen gibt es erheblichen Optimierungsbedarf. «Eine Datenbank, die im KI-Umfeld eingesetzt wird, sollte natürlich mit sehr grossen Datenmengen umgehen können», betont IBM-Experte Andreas Weininger. «Und sie sollte vor allem die Daten effizient in die KI-Algorithmen integrieren.» So müssen beispielsweise Daten und KI-Algorithmen näher zusammengebracht werden, um das Training schneller und effizienter zu gestalten. Die etablierten Datenbank-Anbieter integrieren deshalb zusätzlich zu den erwähnten Funktionen auch immer mehr Technologien, um den Lern- und Trainingsprozess der KI zu verbessern.
Joseph Sirosh, ehemaliger Vice President in Microsofts Data Group, nannte als zentrale Neuerungen schon bei der Einführung von SQL Server 2017 Fähigkeiten wie Bilderkennung, Sprachanalysen sowie andere KI-Aufgaben, die direkt in den Datenbank-Server integriert sind. Ziel sei es, Machine-Learning-Prozesse, die normalerweise ausserhalb der Datenbank in einem separaten System abgearbeitet werden, zu vereinfachen und zu beschleunigen. «Der SQL Server ist jetzt nicht mehr nur ein Datenbank-Managementsystem», resümierte Sirosh damals. Der SQL Server sei das erste relationale Database-Managementsystem, das Datenbank und KI in einem System verknüpfe, so der Microsoft-Manager.
“Der SQL Server ist das erste relationale Database-Managementsystem, das Datenbank und KI in einem System verknüpft.„
Joseph Sirosh, Früherer Vice President von Microsofts Data Group
Inzwischen wurden die KI-Fähigkeiten mit dem SQL Server 2019 weiter ausgebaut. Vorläufig als Preview steht Azure SQL Database Machine Learning zur Verfügung. Der Service gibt Datenbank-Spezialisten Tools an die Hand, um grosse Datenmengen in SQL-Datenbanken direkt für Machine Learning zu nutzen, ohne die Daten bewegen zu müssen.
«Big-Data-Cluster» für SQL Server, eine andere Innovation, flexibilisiert die Interaktion mit riesigen Datenmengen. Datenexperten können damit externe Datenquellen abfragen oder Daten aus mehreren externen Datenquellen über den Cluster nutzen. Die Daten lassen sich dann für KI, Machine Learning und andere Analyseaufgaben verwenden.
Ähnliche Ansätze gibt es bei IBM. «Wir positionieren IBM Db2 als die Datenbank der Wahl für KI-Anwendungsentwickler und Datenwissenschaftler», heisst es in einer IBM-Mitteilung. So gibt es in Db2 etwa Stored Procedures, die Machine-Learning-Verfahren parallel in einem Cluster auf allen Datenbanken anwenden können. «Mit dieser Methode kann man mit grossen Datenmengen speziell im KI-Umfeld gut arbeiten», erklärt IBM-Fachmann Andreas Weininger.
Durch eine Reihe neu integrierter Treiber für datenwissenschaftliche Open-Source-Programmiersprachen und Frameworks wie Go, Ruby, Python, PHP, Java, Node.js, Sequelize und Jupyter Notebook wird es für Entwickler auch einfacher, maschinelle Lernmodelle mit Db2 zu analysieren und in Anwendungen einzubauen. KI-Experten und Datenwissenschaftler können auch kognitive Anwendungen innerhalb von Db2 unter Verwendung von IBM Watson Studio erstellen und Modelle trainieren - unabhängig davon, ob sich die Daten vor Ort mit Db2 oder in der Cloud mit Db2 on Cloud befinden.
GPUs als Turbo
Neben den Datensystemen der «alten Datenbankhasen», die bereits jahrelang auf dem Markt sind und nun um KI-Features erweitert werden, entsteht in jüngster Zeit eine ganz neue Klasse von dedizierten «echten KI-Datenbanken». Diese KI-Datenbanken sind speziell zur Beschleunigung des Machine-Learning-Modelltrainings und Inferencings konstruiert. Sie werben damit, KI-Anwendungen zu optimieren, indem sie Daten und Rechenoperationen für das Training und Inferencing von Deep-Learning-Modellen zusammenbringen und mit Hilfe von GPUs massiv parallelisieren.
Das Verlagern von KI-Workloads in eine GPU-beschleunigte KI-Datenbank bringt den Anbietern zufolge erhebliche Vorteile. Normalerweise werden die KI-Trainingsdaten in die spezialisierten GPU-Systeme transferiert, was mit Aufwand und Komplexität verbunden ist. Die extra angepassten KI-Datenbanken hingegen brächten die Algorithmen direkt zu den Daten. Das helfe, die Herausforderungen in Bezug auf die komplexe Datenverwaltung, die mit dem Machine-Learning-Training verbunden sind, besser in den Griff zu bekommen, und so Zeit zu sparen und Ressourcen zu optimieren.
Ein Beispiel für so einen Anbieter ist Kinetica. Das in San Francisco ansässige Start-up-Unternehmen hat eine verteilte SQL-Datenbank mit massiv paralleler Verarbeitung entwickelt, die für die schnelle Aufnahme und Analyse von Daten optimiert ist. Jeder Knoten verfügt dabei über Daten, CPU und GPU, die sich gemeinsam im Speicher befinden.
Über ein Funktions-Framework kann benutzerdefinierter Code direkt auf den Daten innerhalb der Datenbank ausgeführt werden. Dieser Code kann die Vorteile der parallelen Berechnung auf der GPU nutzen. Die Datenbank ist auch in der Lage, verteilte Berechnungen auf mehreren Rechnern durchzuführen. Algorithmen können in Sprachen wie Python geschrieben werden, die Datenwissenschaftlern vertraut sind und in Deep-Learning-Bibliotheken wie TensorFlow, Caffe und Torch aufgerufen werden.
Ob solche hochoptimierten, ausschliesslich auf KI-Belange ausgerichteten KI-Datenbanken eine Zukunft haben, ist allerdings ungewiss. Die Vergangenheit zeigte, dass Datenbank-Technologien, die für einen bestimmten Bereich optimiert waren, oft in die klassischen Technologien integriert wurden. Ob und wie dies bei KI-Datenbanken mit massiv paralleler Verarbeitung möglich ist, muss abgewartet werden.
Im Gespräch mit Andreas Weininger von IBM Deutschland
Andreas Weininger, Leading Technical Sales bei IBM Deutschland, beschäftigt sich als Experte für Information Architecture mit allen Themen und Techniken, die mit der effizienten Speicherung und Analyse von Daten zusammenhängen. Im Interview mit com! professional erläutert er die Bedeutung von KI-Techniken für Natural Language Processing und Datenvisualisierung.
Computerworld: Welche Rolle spielt KI im Datenbank-Bereich?
Andreas Weininger: KI ist aus unserer Sicht in zweierlei Hinsicht wichtig für den Datenbank-Sektor. Zum einen verbessert sie die Nutzung von Datenbanken selbst, und zum anderen können Datenbanken die Daten für KI-Anwendungen ganz gezielt und optimal zur Verfügung stellen.
Computerworld: Bei der Verbesserung der Datenbank-Nutzung dürfte die natürlichsprachliche Interaktion ein wichtiger Aspekt sein …
Weininger: Ja, KI-basierte Datenbanken können mit natürlichsprachlichen Schnittstellen - also Natural Language Processing (NLP-)Interfaces - die Bedienung vereinfachen. Der Nutzer muss keine SQL-Befehle kennen und kann die Daten einfach in seiner Muttersprache abfragen. Er braucht nicht einmal den exakten Tabellennamen zu wissen, sondern kann einfach den fachlichen Begriff benutzen, der im Tabellennamen vorkommt.
Computerworld: Werden NLP-Interfaces dedizierte Abfragesprachen wie SQL verdrängen?
Weininger: Das denke ich nicht. NLP-Interfaces sind nicht für jeden das optimale Werkzeug. Nutzer mit guten SQL-Kenntnissen wie Programmierer und Datenbank-Admins werden sicher weiter SQL verwenden. Schliesslich können sie damit präzise formulieren, was sie haben möchten. NLP-Interfaces sind eher für Anwender interessant, die kein Know-how haben, um komplexe SQL-Statements schreiben zu können. Also Anwender, die von der Business-Seite kommen oder gelegentliche Nutzer, die nur wenig Datenbank-Recherchen machen. Diese Gruppen können mit natürlichsprachlichen Abfragen eine ähnliche Flexibilität erreichen wie Experten mit SQL-Queries. Ohne NLP-Interfaces sind Business-User bei der Datenbank-Interaktion auf starre Bildschirmmasken beschränkt.
Computerworld: Wie profitieren Endanwender noch von der KI?
Weininger: Mit Tools für NLP-Interfaces wie unserem Augmented Data Explorer gibt es weitere Möglichkeiten wie die Datenvisualisierung. Damit bekommt man einen schnellen Überblick über die Daten. Das kann auch für erfahrene Anwender eine Motivation sein, solche Tools zu verwenden. Auch können Datenbank-Nutzer beispielsweise mit Hilfe der KI die Ressourcen der Datenbank besser nutzen. So können etwa KI-Techniken verwendet werden, um die Daten besser komprimieren und effizienter speichern zu können.
Computerworld: KI hilft auch bei der Datenbank-Optimierung. Wie sieht das konkret aus?
Weininger: KI kann Datenbank-Administratoren bei den verschiedensten Tuning-Massnahmen unterstützen. Ein Beispiel ist das optimale Anlegen von Indizes zur Abfrageoptimierung, ein anderes die Partitionierung der Daten zur Steigerung der Zugriffseffizienz. Für diese in der Praxis nicht so einfachen Prozeduren werden die Datenbank-Admins schon längere Zeit von Advisoren unterstützt. Die alten Index- und Partition-Advisoren sind allerdings alle starr regelbasiert. Hier bringen KI-Tools einen deutlichen Fortschritt. Ein KI-basierter Index-Advisor beispielsweise analysiert die Query-Workloads in einer Datenbank und leitet selbstständig die Indizes ab, die benötigt werden, um Queries effizient auszuführen. Ein KI-basierter Ansatz kann, wenn er mit der Query-Workload trainiert wird, auch eine gute Lösung für Fälle finden, für die im Vorfeld keine passende Regel angelegt war.
Computerworld: Welche Rolle spielt Machine Learning bei der Datenbank-Optimierung?
Weininger: Solche Verfahren lassen sich inzwischen gut bei der Datenbank-Optimierung einsetzen. Unser ML Optimizer nutzt beispielsweise Machine Learning, um bessere Query-Pläne zu generieren. Ein Optimierer will ja immer möglichst gute Query-Pläne erzeugen, damit sie effizient ablaufen. Dabei ergibt sich aber das Problem, dass man zwar in vielen Fällen einen guten Query-Plan bekommt, aber es immer einige Query-Pläne gibt, die nicht optimal sind. Das liegt typischerweise daran, dass man die Grösse von Zwischenergebnissen falsch abschätzt. Aus Statistiken der Basistabellen abgeleitete Schätzungen helfen dabei, sie liegen aber auch oft daneben, wenn Standardannahmen wie die Unabhängigkeit von Prädikaten nicht zutreffen. Hier lässt sich Machine Learning nutzen, um während des Ablaufs von Queries zu lernen, was gute Query-Pläne sind. Damit bekomme ich künftig bessere Pläne.
Computerworld: Sie sagten eingangs, die Datenbanken seien auch für die KI selbst wichtig?
Weininger: Bis jetzt haben wir nur darüber gesprochen, wie KI helfen kann, die Datenbank-Technologie zu verbessern. Aber es gibt natürlich noch den anderen Bereich mit dem Problem, wie man eine Datenbank optimal für KI-Anwendungen bereitstellt. Oder präziser gesagt: Wie stellt man für KI durch die Datenbank optimal Daten zur Verfügung? Das Problem ist ja: KI-Modelle werden in der Regel mit sehr grossen Datenmengen trainiert, um bessere Ergebnisse zu erzielen. Die Nutzung grosser Datenmengen war ja auch einer der Gründe für den Durchbruch der KI in den letzten zehn Jahren. Eine Datenbank, die im KI-Umfeld eingesetzt wird, sollte dann natürlich mit sehr grossen Datenmengen umgehen können. Und sie sollte vor allem die Daten effizient in die KI-Algorithmen integrieren. In Db2 gibt es etwa Stored Procedures, die Machine-Learning-Verfahren parallel in einem Cluster auf allen Datenbanken anwenden können. Ich muss also im Endeffekt die Daten nicht mehr zu den Algorithmen bringen, sondern ich bringe meine Algorithmen zu den Daten. Das nennt man Function-Shipping. Mit dieser Methode kann man mit grossen Datenmengen speziell im KI-Umfeld gut arbeiten.
Computerworld: Wie wichtig sind Schnittstellen von Datenbanken zu KI-Werkzeugen?
Weininger: Sehr wichtig. Es gibt inzwischen massenweise Bibliotheken für Machine Learning, die an Datenbanken angebunden werden müssen. Um die Vorteile einer Datenbank ausnutzen zu können, ist es notwendig, diese skalierbar zu machen. Spark beispielsweise ist ein sehr verbreitetes Framework, mit dem sich Daten auch parallel verarbeiten lassen. Viele Datenbank-Anbieter - wir auch - bieten eine Schnittstelle dafür an. Damit kann man collocated auf jedem Datenbank-Server mit jedem Spark-Worker sprechen. Und man kann die ganzen Bibliotheken, wie sie für Machine Learning bei Spark zur Verfügung stehen, nutzen. Im Endeffekt braucht man keine Daten mehr über ein Netzwerk zu schicken.
Computerworld: Einige Datenbank-Anbieter werben mit hochspezialisierten Datenbanken ausschliesslich für KI. Was halten Sie davon?
Weininger: Das sind Datenbanken für ganz spezielle Zwecke, ideal für sehr spezifische Probleme. Diese Datenbank-Anbieter kommen oft aus dem Open-Source-Bereich, machen aber ziemlich ähnliche Dinge wie wir. Sie versuchen eine Collocation zwischen Machine Learning und Datenspeicherung hinzubekommen. Sie versuchen Stored Procedures zu nutzen, um die Verfahren direkt zu den Daten zu bekommen. Und sie nutzen User-defined Functions, um Modelle anzuwenden. KI-Anwender müssen sich allerdings die Frage stellen, welche Art von Datenbank besser ist: eine reine KI-Datenbank oder eine Datenbank, die auch für andere Anwendungen geeignet ist.
Computerworld: Vergleichbare Dilemmata gab es in der Vergangenheit schon häufiger …
Weininger: Die Situation ist ähnlich wie vor einigen Jahren, als die NoSQL-Datenbanken aufgekommen sind. NoSQL-Datenbanken waren für bestimmte Anwendungszwecke und Probleme optimiert. Wenn ich nur ein von NoSQL lösbares Problem habe, dann ist eine NoSQL-Datenbank sicher eine gute Lösung. Der reine NoSQL-Ansatz wird aber aktuell häufig durch Multi-Model-Databases ersetzt, die versuchen, möglichst viele Modelle zu kombinieren. Gerade für analytische Zwecke möchten Anwender ja meist über verschiedenste Datenmodelle hinweg Analysen betreiben. Hier hat dieser allgemeinere Ansatz zweifellos Vorteile. Und ich glaube, dies wird auch das Los der spezialisierten KI-Datenbanken sein.