Puzzleteil zur Visualisierung von Integration

Einlesen großer Dateien mit Camel

Wissensbeitrag

Wenden wir uns einmal der Situation zu, dass eine relativ große Datei über eine simple Java Anwendung zerlegt und die so gewonnen Daten in eine Datenbank geschrieben werden sollen. Dazu gibt es verschiedene Ansätze, die sowohl Vor- als auch Nachteile aufweisen.

Möglichkeit 1: plain Java

Java bietet hierzu eine relativ simple Möglichkeit: Den FileReader. Mit diesem FileReader wird die Datei in das Java Programm eingelesen, in welchem dann verschiedene Bearbeitungsschritte vorgenommen werden können. Zum Schluss wird die Datei in die Datenbank geschrieben. Einen Haken hat diese einfache Prozedur allerdings: Der FileReader lädt die gesamte Datei in den Puffer. Dadurch entstehen – je nach Dateigrößen – immens große Laufzeiten. Im Worst-Case führt dieses Verfahren sogar zu einem Programmabsturz und wird damit vollständig unbrauchbar.

Tippen auf Tastatur

Ein Workaround für dieses Problem besteht darin, jeweils nur einzelne Zeilen mit Hilfe des Java-Integrierten Scanner Tools auszulesen und zu bearbeiten. So wird ein geringerer Anteil an Speicher auf einmal benötigt. Nun ergibt sich jedoch das Problem, dass diese Anwendung nachträgliche Anpassungen oder Erweiterungen deutlich schwierig gestaltet. Ein weiterer Nachteil besteht darin, dass erst immer eine komplette Zeile bearbeitet werden muss bevor die nächste Zeile eingelesen wird:

Zeile auslesen -> Bearbeitung und Daten herausfiltern -> Datenbank füllen

Der gesamte Vorgang muss außerdem an einem Stück passieren, da zwischendurch nicht einfach pausiert werden kann.

Plain Java eignet sich somit eher dafür, kleinere Dateien zu verarbeiten. Für größere Dateien empfehle ich andere Varianten – wie zum Beispiel über ActiveMQ und Camel, Open Source-Techniken.

Möglichkeit 2: Open Source (Apache ActiveMQ & Camel)

Rechner mit Programmiercode

Mit Apache Camel besteht in Verbindung mit ActiveMQ die Möglichkeit, oben angesprochene Thematik in zwei „Routen“ zu teilen und diese gleichzeitig laufen zu lassen. „Routen“ sind dabei Handlungsstränge in Camel, welche zum Beispiel eine Datei von A nach B schieben und zwischendurch noch andere Bearbeitungsschritte durchführen:

– Route 1 liest die Zeilen einzeln aus und schreibt diese auf eine Queue

– Route 2 nimmt sich die Messages aus der Queue und schreibt die gewollten Daten in die Datenbank

Ein Vorteil hierbei ist, dass die Routen simultan bearbeitet werden. Das bedeutet, dass Route 2 dauerhaft auf die Queue achtet. Sobald von Route 1 eine Message auf die Queue geschrieben wird, wird diese dadurch von Route 2 bearbeitet. Die fertig bearbeiteten Daten wandern im Anschluss direkt in die Datenbank.

Ein zweiter Vorteil dieser Variante: Asynchronität. Sollte Route 2 zum Beispiel einmal nicht auf die Queue lauschen, kann Route 1 trotzdem noch Messages in die Queue einreihen. Sobald Route 2 wieder verfügbar ist, holt sie sich die bereits vorhandenen Messages einfach ab. Letztlich kann diese Lösung noch durch Transaktionssicherheit ergänzt werden (ein weiterer Vorteil, den Camel von Haus aus bietet), sodass bei einem Ausfall die Daten trotzdem erhalten bleiben.

Ebenso ermöglicht diese Variante eine deutlich einfachere, nachträgliche Anpassung bzw. Erweiterung um zum Beispiel weitere Anbindungen, wie: Die Daten nicht nur in eine Datenbank schreiben, sondern verschiedene Daten zusätzlich noch an andere Stellen weiterzuleiten um beispielsweise eine Stückzahl einer Bestellung ans Lager weiterzugeben.

Welche Varianten nutzen Sie zum Einschreiben von Dateien in Datenbanken? Ich freue mich auf Ihre Erfahrungen, Meinungen und – selbstverständlich – auch Fragen zu diesem Thema.

Services für Apache Camel
Technologie

Services für Apache Camel

Opensource Framework um Integrationslösungen nach den Enterprise Integration Patterns umzusetzen. Zur Umsetzung wird der FUSE Mediation Router eingesetzt – eine ausgeführlich getestete Version von Apache Camel.

Webinar on demand

Provisionierung in großen Entwicklungsumgebungen

In dem Webinar on demand wird ein zentrales Administrationssystem für Entwicklungsergebnisse auf Basis von Jira Service Management vorgestellt.

Blog 29.03.22

Interview mit Dagmar Groß-Böker

„Hybride Arbeitsmodelle haben wir Corona zu verdanken“ Corona hat eine Vielzahl von Unternehmen stark gebeutelt, sowohl aus Sicht der Mitarbeiter, als auch aus der Perspektive der Organisationsleitung. Doch die Pandemie habe auch ihre gute Seite, sagt die HR-Expertin Dagmar Groß-Böker. Im Gespräch mit Joubin Rahimi, Geschäftsführer der synaigy GmbH, erzählt sie, welchen Nutzen ihrer Meinung nach Corona für die Zukunft der Arbeit gebracht hat und woran es Führungskräften in unsicheren Zeiten oft noch mangelt.

Presse 14.10.22

Fachbeitrag: Ereignisgesteuerte Architekturen - Großes Event

Mit Ereignisgesteuerte Architekturen lassen sich Daten asynchron und in Echtzeit verarbeiten. Mehr dazu in unserem Fachbeitrag im IT-Administrator.

Wissen

Message Broker: Kleines Fixpack mit großer Wirkung

Anfang Oktober 2012 wurde Fixpack 1 für WebSphere Message Broker Version 8 veröffentlicht. Der folgende Blogeintrag beschäftigt sich mit einigen der Neuerungen, die andeuten könnten, wohin sich der Message Broker in Zukunft entwickelt.

Event 06.05.20

Webcast: Versicherung und Data Science

Marc Bastian zeigt Ihnen ein Beispiel einer analytischen Infrastruktur für KI Anwendungsfälle, praktische Projekterfahrung und Erfolgsfaktoren.

Event

Webcast: Cloud Transformation & "run your App"

Lernen Sie mit Jochen Schneider die Cloud 1.0 (Cloud 1.0 (Lift&Shift), Cloud 2.0 (Microservices, Big Data) und Cloud 3.0 (Multi Cloud Management, Big Compute) kennen.

Event

Webcast: Das kognitive Versicherungsunternehmen

Lernen Sie von Dr. Jürgen Huschens das Konzept des Kognitive Enterprise kennen, die Adaption auf die Versicherungsindustrie und vieles mehr.

Event

Webcast: Smarte Erkennung von Kostennoten

Unsere Speaker Madeline Jolk und Frank Trila von der TIMETOACT berichten Ihnen alles rund um das Thema Erkennung von Kostennoten.

Event

Webcast: Regresspotenziale nutzbar mit KI

André Ullrich von der Roland Rechtsschutz AG erzählt Ihnen in einem Praxisbericht, wie Regresspotenziale mit KI nutzbar gemacht werden können.

Event

Webcast: VA-IT Anforderungen umsetzen

Unsere Experten Kerstin Gießer und Carsten Hufnagel von der TIMETOACT berichten Ihnen, wie VA-IT-Anforderungen schnell und Modular umgesetzt werden können.

Articifial Intelligence & Data Science
Service

Artificial Intelligence & Data Science

Aus strukturierten und unstrukturierten Daten wertvolle Informationen extrahieren — das verbirgt sich hinter Data Science.

Analytics und Business Intelligence
Service

Analytics & Business Intelligence

Analytics & Business Intelligence hat in den vergangenen Jahren zunehmend an Bedeutung gewonnen.

Icon Atlassian Jira Software
Produkt 09.08.22

Jira Software

Planung, Nachverfolgung und Releases von Software für agile Teams

Referenz

Expletus nutzt Freshdesk: Automatisierte Ticketoptimierung!

CLOUDPILOTS optimierte die Ticketbearbeitung bei Expletus durch eine maßgeschneiderte App, die automatisierte Kontaktupdates ermöglichte.

Blog 30.05.22

Brand Experience und Strategie

Als Unternehmen und Marke lässt man ungern Margen bei Händler liegen, das gilt für die analoge und digitale Welt gleichermaßen. Als Marke willst du logischerweise direkt zum Endkunden.

Blog 03.11.22

Start-ups und die Suche nach Investoren

Unternehmerin, Buchautorin, Keynote Speakerin, Hochschuldozentin und noch einiges mehr – Ruth Cremer auf ein Profil festzunageln, ist so gut wie unmöglich. Spätestens mit ihrem Buch „Die Höhle des Löwen“ machte sich die Rheinländerin in der hiesigen Gründerszene einen Namen. Wir haben sie heute für unseren insights!-Podcast vor das Mikrofon geladen. Bei dieser Gelegenheit erzählt Ruth Cremer, inwiefern auch Investoren von Start-ups profitieren können, dass es letztlich immer um das Lösen von Problemen geht und dass Frauen in manchen Belangen gegenüber Männern einfach die Nase vorn haben.

Header zum Expertenbericht Self-Sovereign Identity 3
Blog 06.10.21

Self-Sovereign Identity Teil 3: Eine neue Ära

Die selbstsouveräne Identität ist eine Ausprägung eines ID- oder Identitätssystems, bei dem jeder Einzelne als Dateneigentümer die Kontrolle darüber behält, wann, gegenüber wem, wie und wie lange die eigenen Identitätsdaten freigegeben und verwendet werden dürfen.

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!