Neue Extension released: InDatabase

Die neue InDatabase Extension von Old World Computing ist da!

We’re proud to present: Die neue InDatabase Extension von Old World Computing. Die Erweiterung für RapidMiner macht die Arbeit mit relationalen Datenbanken zum Klacks – doch nicht nur das: sie bringt Transaktionssicherheit in das Data-Science-Tool. Dabei orientieren sich die enthaltenen Operatoren an etablierten Datenbankabfragesprachen, ohne explizite Fachkenntnisse vorauszusetzen.

Die Idee dahinter

In unseren Kundenprojekten arbeiten wir häufig mit Datenbankensystemen verschiedenster Art. In RapidMiner gab es bisher keine Möglichkeit, mit dem bestehenden Datenbankoperationen oder Erweiterungen Transaktionssicherheit herzustellen. Da wir für unsere Projekte diesen wesentlichen Bestandteil eines Datenbanksystems aber oft benötigen, um die Sicherheit der Ergebnisse zu gewährleisten, haben wir dies kurzerhand von unserem Entwicklerteam erarbeiten lassen. Für uns war es dann nur folgerichtig, die neuen Features auch der Öffentlichkeit zur Verfügung zu stellen.

Weiterhin wird das Arbeiten mit relationalen Datenbanken grundlegend vereinfacht, da mit der InDatabase Extension automatisch generierte IDs zurückgeliefert werden können, die im Weiteren direkt in RapidMiner verarbeitet werden können.

Für wen eignet sich die InDatabase Extension?

Diese Erweiterung eignet sich für alle, die Transaktionssicherheit bei der Verwendung von Datenbanken in ihren Data-Science-Projekten benötigen. Außerdem bietet sie den Vorteil, dass sie nah an bekannten Abfragesprachen wie SQL arbeitet und das Arbeiten mit relationalen Datenbanken vereinfacht. Das Besondere ist, dass es dem Nutzer freisteht, den SQL-Code manuell einzugeben oder die Abfrage mithilfe der bereitgestellten Operatoren aufzubauen, und so ohne tiefergehende Fachkenntnisse unkompliziert und schnell arbeiten zu können.

Die Zielgruppe sind daher sowohl „Techniker“, die schon Hintergrundwissen zu Datenbanken haben und die Expertenfunktionen nutzen möchten, als auch RapidMiner-Nutzer, die einfach und komfortabel mithilfe von Operatoren Datenbankabfragen zusammenbauen wollen. Darüber hinaus benötigt man unserer Erfahrung nach in nahezu allen Projekten, bei denen Datenbanken eingesetzt werden, irgendwann Transaktionssicherheit. Daher ist diese Extension für praktisch all diese Data-Science-Projekte von Relevanz.

Transaktionssicherheit: das Was und Warum

Transaktionssicherheit ist wesentlicher Bestandteil von Datenbanksystemen. Sie gewährleistet, dass die Daten in einem konsistenten Zustand hinterlassen werden. Um dies zu ermöglichen, wird bei einem schreibendem Zugriff auf die Datenbank diese vor anderen gleichzeitigen Transaktionen, also einen Überschreiben der Daten, gesperrt.

Weiterhin werden bei fehlerhaften Transaktionen, etwa bei einem unerwarteten Abbruch oder bei Konflikten, die Daten in ihren ursprünglichen – konsistenten – Zustand zurückversetzt.

Zu welchen Problemen kann fehlende Transaktionssicherheit führen?

Bei fehlender Transaktionssicherheit kann es zu Unregelmäßigkeiten in den Datenbeständen kommen. Somit muss man fehlerhafte Daten, überschriebene Daten und sich gegenseitig beeinflussende Operationen in Kauf nehmen. Besonders bei Datenbanksystemen, auf denen in sehr kurzen Abständen gelesen und geschrieben wird, ist dies problematisch.

Behelfen wir uns hier doch eines Beispiels: In einer Fabrik senden die Maschinen Daten bezüglich der Anzahl der gefertigten Produkte, Anzahl der Betriebsdurchläufe usw. Diese werden in regelmäßigen Abständen in eine Datenbank geschrieben. Während einer dieser Schreibvorgänge kommt es zu einem Stromausfall: die Anzahl der Betriebsdurchläufe ist bereits eingetragen, jedoch nicht, wie viele Produkte gefertigt wurden.

Wenn man ohne Transaktionssicherheit den Schreibvorgang nach Neustart schlichtweg wiederholt, kommt es zu falschen Werten in der Datenbank: Die Durchläufe werden sich verdoppeln, da bereits ein Wert eingetragen ist. So kann es beispielsweise zu scheinbaren Fehlbeständen kommen, da nun nur halb so viele Produkte da sind, wie in der angezeigten Anzahl an Durchläufen hätten gefertigt werden müssen, oder zu verfrühten Wartungen oder unnötigem Austauschen von Verschleißteilen. Solche Fehler in der Datenbank können also Kosten nach sich ziehen.

Transaktionssicherheit in diesem Falle bedeutet, dass der unvollständige, durch den Stromausfall abgebrochene Schreibvorgang keine falschen Eintragungen nach sich zieht, sondern komplett rückgängig gemacht wird – streng nach Ganz-oder-gar-nicht-Mentalität. Die Werte werden dann neu und korrekt in die Datenbank geschrieben.

Wie kann ich mit dieser Extension Transaktionen konkret durchführen?

Die Extension kommt mit drei Operatoren für Transaktionen: Start Transaction, Commit Transaction und Rollback Transaction, dabei fungiert der Start Transaction Operator als Subprozess für die im innern stattfindenden Schreibvorgänge.

Start Transaction ist der grundlegendste der Transaktionsoperatoren: jegliche Schreibvorgänge, die in seinem Subprozess ausgeführt werden, unterliegen der Transaktionssicherheit. Commit und Rollback Transaction sind innerhalb des Start Transaction Operators einsetzbar und bieten dem Nutzer noch genauere Eingriffsmöglichkeiten, indem so einzelne Teiltransaktionen bereits abgeschlossen oder auch zurückgenommen werden können.

Weitere Operatoren

Neben den bekannten Datenbankstandardfunktionen, wie z. B. Drop Table, Truncate Table, Write Table und Update Table, bietet die InDatabase Extension die Möglichkeit, Abfragen mithilfe von Operatoren zu definieren und diese, wenn gewünscht, auch batchwise auszuführen.

Weiterhin kommt oft der Fall auf, dass man Daten in eine relationale Datenbank einfügen möchte und man zur Weiterarbeit die automatisch generierte ID benötigt, die den eingefügten Zeilen zugeordnet wurde. Bisher konnte man nur mit komplizierten und umständlichen Abfragekonstrukten die ID auslesen. Mit der InDatabase Extension kann durch einen Klick die automatisch generierte ID zurückgeliefert werden.

Sollte man doch mal das Verlangen haben, echte SQL-Abfragen zu schreiben, dann unterstützt die InDatabase Extension den Nutzer, indem zwischen den zahllosen Quotierungsstandards der gängigen Datenbanksysteme durch Universal Quoting Kompatiblität gewährleistet wird.

Dann kann es jetzt ja losgehen…

Die neue InDatabase Exentsion gibt es ab jetzt im RapidMiner Marketplace oder in unserem Shop.