Wissenschaftliches Rechnen innerhalb von Datenbanken

Viterbi-Algorithmus

Zusammenfassung

Bei der Überwachung und Steuerung von Systemen kommen häufig Sensoren zum Einsatz, die durch Messung physikalischer Größen Zustände quantitativ erfassen. Eine Analyse der Messergebnisse ermöglicht es, in geeigneter Weise auf Zustandsänderungen zu reagieren oder Zusammenhänge bzw. Ausreißer zu erkennen. Dieser Prozess produziert zum Teil große Datenmengen, die selektiert, aggregiert, gespeichert und analysiert werden sollen. Dafür kommen meist Datenbanken zur Speicherung und Verfahren des maschinellen Lernens und des Data-Minings zur Analyse zum Einsatz.

Da für die Vorhersage von Events oder Handlungen sowie der Erkennung von Clustern oder Muster durch Algorithmen (Machine Learning) oft Minimierungsverfahren und Statistik Anwendung finden, sind für viele dieser Analyse-Verfahren und auch anderer Operationen wissenschaftlichen Rechnens Vektorraumoperationen notwendig.

Eine Verarbeitung der Daten direkt im Datenbanksystem bietet gegenüber anderen Lösungen einige Vorteile. Dazu zählt die Nachhaltigkeit von SQL als „intergalactic dataspeak“. Ferner ist durch die Standardisierung von SQL als Anfragesprache zu erwarten, dass die Anfragen sowohl weitgehend unabhängig vom verwendeten Datenbanksystem sind, als auch in absehbarer Zukunft noch funktionieren werden. Als ein weiterer Vorteil kann die Sicherheit der Daten betrachtet werden, da die Daten das Datenbanksystem zur Analyse nicht verlassen müssen. Allerdings ist SQL als mengenorientierte und deklarative Sprache untypisch für Vektorraumoperationen, was möglicherweise zu einem Abbildungsproblem der Algorithmen in die Sprache oder einem Performanz-Verlust gegenüber etablierten Umgebungen für wissenschaftliches Rechnen, Machine Learning und Big Data wie beispielsweise R, TensorFlow oder Hadoop-basierten Systemen wie Apache Flink oder Apache Spark führen kann. Frühere Untersuchungen zeigten bereits, dass Datenbanken den speziellen Tools nicht prinzipiell unterlegen sind.

In dieser Arbeit möchte ich einen Überblick über die mathematischen Grundlagen (Kapitel 2), Technologien (Kapitel 3) sowie einige konkrete Systeme (Kapitel 4) geben.

Weiter
Zurück