How-to: Wer sollte ETL-Anwendungen prĂĽfen?
Nach jahrelanger Arbeit an der Entwicklung von ETL-Anwendungen kann ich sagen, dass sie ĂĽblicherweise schlechter als Transaktionssysteme geprĂĽft werden.
Handfestes Know-how, Tipps & Tricks und die Insights unserer Daten- und KI-Profis findest Du hier in unseren Blogbeiträgen



Im Zeitalter von Agentic AI entscheidet die Qualität des Retrievals oft darüber, wie zuverlässig ein System arbeitet. Anhand eines AI-Staffing Use Cases zeigen wir, wie sich Retrieval mit Late Interaction Retrieval, Cross-Encodern und LLM-basierten Verfahren gezielt verbessern lässt.

Nach jahrelanger Arbeit an der Entwicklung von ETL-Anwendungen kann ich sagen, dass sie ĂĽblicherweise schlechter als Transaktionssysteme geprĂĽft werden.
Noch einmal möchte ich mich mit dem Thema Speichernutzung auseinandersetzen. In anderen Blogartikeln wie „SAP HANA – kein Speicher mehr? Bewusster Early Unload!“ ist bereits die Relevanz der korrekten Einstellung der SAP-BW-Objekte für die vorgesehene Nutzung aufgezeigt worden. Zusammengefasst: Immer alles frühzeitig aus dem Speicher schieben, was nicht immer und sofort für Abfragen benötigt wird. Gesteuert wird dies über die „Early Unload Priority“, die in der HANA-Datenbank auf Tabellenebene gesetzt wird. Da diese Einstellungen nicht im ABAP-Transportwesen (CTS) enthalten sind, muss der Entwickler oder der Betrieb sicherstellen, dass diese Einstellung immer korrekt gesetzt ist. Ansonsten liegen nur für das Staging benötigte Daten aus dem „Data Acquisition Layer“ sehr performant im RAM, was unnötig teuer ist und das System belastet.
In dem vorhergehenden Artikel dieser Serie wurde ein praxisnaher und effektiver Ansatz zur Nutzung von Partition Pruning eingehend erläutert. Mit Hilfe dieser einfach umzusetzenden Methode können die Abfragezeiten deutlich optimiert werden. Um jedoch die effiziente und effektive Nutzung der vorgestellten Methode zu gewährleisten, müssen, wie so häufig, einige Details beachtet werden. In diesem Aspekt halten wir es mit Theodor Fontane, der schon im 19. Jahrhundert festgehalten hat, dass der Zauber immer im Detail steckt.
In Zeiten der Digitalisierung ist es besonders wichtig, auf verlässliche Datenbanken zurückgreifen zu können, um Fehlerquellen auszuschließen und zielstrebiges und exaktes Arbeiten zu ermöglichen. Die Staging-Area stellt für diese Art von Anforderungen in der heutigen Zeit eine Lösung bereit. Designer und Architekten unterschätzen häufig die Notwendigkeit einer Staging-Area in der Datenbanklandschaft, da sie dies für eine Verschwendung von Platz, Leistung und Entwicklungszeit halten. Sicher ist für den Aufbau von Staging Platz und Anstrengung erforderlich, doch diese zahlt sich über den gesamten Lebenszyklus der Datenbank aus.
Nachdem im ersten Beitrag dieser Blogreihe die herkömmlichen Wege zur Aufbewahrung historischer Daten dargestellt wurden, möchte ich in diesem zweiten Teil eine weitere, effektivere Möglichkeit zur Partitionierung einer historischen Tabelle vorstellen.
R ist eine der populärsten Open-Source-Programmiersprachen für Predictive Analytics. Ihr großer Vorteil ist das Comprehensive R Archive Network (CRAN) mit über 10.000 Paketen für verschiedenste Modelllösungen. Ein Hindernis ihrer Anwendung besteht jedoch in der häufig paketspezifischen Syntax (im Gegensatz zu z. B. Python). Das Paket Caret versucht, durch ein einheitliches Interface auf verschiedene Trainings- und Vorhersagefunktionen den Modellierungsprozess zu vereinfachen. Durch seine Datenvorbereitungs-, Merkmalsselektions- und Modell-Tuning-Funktionalität erleichtert Caret die Bildung und Evaluierung von prädiktiven Modellen. Dieser Blogeintrag zeigt auf, wie wir mit Caret verschiedenen Herausforderungen des Modellierungsprozesses begegnen können, insbesondere bei der Selektion und dem Tuning von Modellen.
Die Automatisierung von immer wiederkehrenden Aufgabenstellungen gehört zu den grundlegendsten Prinzipien der modernen Welt. Bereits Henry Ford erkannte daraus resultierende Vorteile, wie sinkende Fehleranfälligkeit, kürzere Fertigungszyklen und eine gleichbleibende, einheitliche Qualität. Eben diese Vorteile lassen sich bei Data-Warehouse-Initiativen anwenden.
Wir wissen jetzt, wie wir die Daten richtig selektieren, welche Tabellenart wir bei Lookups nutzen sollten und wie wir sicherstellen können, dass wir nur relevante Datensätze durchlesen.
In der Praxis ist es aber oft so, dass man erstmals eine größere und/oder nicht eindeutige Datenmenge von der Datenbank selektieren muss, die dann nach bestimmten Regeln fürs performante Nachlesen aggregiert werden sollte.
Der Oracle Data Integrator (ODI) bietet eine eingebaute Lösung, um Daten mit der SCD-Methodik (Slowly Changing Dimension) zu historisieren. Bei näherer Betrachtung und der praktischen Beladung einer Integrationsmenge in eine Zieltabelle mithilfe des Integration Knowledge Modules (IKM) SCD fällt auf, dass der ODI gewisse "Default Values" für das Gültigkeitsende des Datensatzes verwendet.
Data Warehouses nehmen im Zuge der digitalen Transformation von Unternehmen eine immer zentralere Rolle ein. Denn im Zuge der Entscheidungsfindung hält ein gutes Data Warehouse für jegliche Fragestellung entscheidungsrelevante Informationen bereit. Ein DWH kann also als ein strategisches Management-Instrument gesehen werden, dessen reibungslose Funktionsweise essentiell für den zukünftigen Unternehmenserfolg ist. In diesem Blogbeitrag wird auf eines der wichtigsten Performancefeatures eingegangen, das Partition Pruning.
Nachdem wir uns mit relevanten Selektionstechniken und mit den unterschiedlichen Arten von internen Tabellen auseinandergesetzt haben, sind die wichtigsten Performanceoptimierungen für die Lookups in unseren BW-Transformationen zunächst einmal sichergestellt.
Hiermit ist das Thema jedoch nicht komplett abgedeckt. Denn bis jetzt sind wir davon ausgegangen, dass nur die relevanten Informationen in unseren Lookup-Tabellen durchsucht werden. Wie können wir dies aber sicherstellen?
Die gute Performance einer HANA-Datenbank kommt von der konsequenten Orientierung auf eine hauptspeicherbasierte Datenhaltung sowie durch die Nutzung moderner Kompressions- und ColumnStore-Algorithmen. Somit muss die Datenbank bei Aggregationen über große Datenmengen vergleichsweise wenige Daten lesen und kann dies im Hauptspeicher auch noch außerordentlich schnell erledigen. Jedoch kann bei einem suboptimalen Design des Datenmodells einer dieser Vorteile sehr schnell hinfällig werden. So gehen sowohl der HANA-Datenbank als auch den Anwendern große Vorteile hinsichtlich der Laufzeit und Agilität während der Nutzung verloren.