Künstliche Intelligenz erobert die Datenbanken
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.