Sie sind hier: Home

velacon - Axel Becker | Technologieberater und Softwareentwickler

 

„Java meets Oracle”

Eine javabasierte Anwendung besteht fast immer aus der objektorientierten „Javawelt” und der relationalen „Datenbankwelt”.

Javaentwickler haben häufig sehr gute Javakenntnisse mit etwas SQL Know-How angereichert. Sie verlassen sich all zu oft auf das, von dem OR-Mapper generierte SQL.
Alternative Zugriffsstrategien, Optimierungen von Datenzugriffen werden häufig vernachlässigt und sind aus Sicht eines Javaentwicklers oft das „Problem” der Datenbankadministratoren.
Datenbankadministratoren wiederum haben zumeist sehr viele Datenbanken zu betreuen und können aus Zeitgründen nicht jede Anwendung individuell betreuen. Sie besitzen kein anwendungsspezifisches Know-How und möchten in der Regel die Datenbanken nach firmenweiten Standards administrieren.
Suboptimale SQLs und eine unüberschaubare Anzahl generierter SQLs sind aus Sicht eines Datenbankadministrators nicht nachvollziehbar und fallen für sie in die Zuständigkeit der Javaentwickler.

 

Für die Qualität der SQLs fühlt sich niemand zuständig!

Performante Anwendungen benötigen performante Datenbankzugriffe. Deren Implementierung setzt detaillierte Kenntnisse über

  1. die Datenverteilung,
  2. die zu erwartende Ergebnismengen,
  3. die Häufigkeit von Datenänderungen im Verhältnis zu Lesezugriffen
  4. die Mengengerüste, welche den Zugriffspfad des Oracle Optimizers beeinflussen werden.
  5. alternative Zugriffsstrategien des OR-Mappers (hibernate)
  6. alternative Technologien zu SQL (PLSQL, Views, Materialized Views, Trigger...)

voraus.

Für dauerhafte Performance ist eine Kombination von Fachwissen, anwendungsspezifischen Technologiewissen (Architektur) und Datenbankwissen notwendig.

Was kann ich für Sie tun?

Mit meinem sehr guten Java-, SQL- und Oraclekenntnissen fülle ich diese oft vernachlässigte Projektrolle und kann sowohl javaseitig wie auch datenbankseitig eingesetzt werden.
Für Ihr Projekt hat meine Mitarbeit in Bezug auf obiges Problem die Vorteile:

  1. Ohne Schaffung einer neuen Position haben Sie einen Mitarbeiter mit Know-How beider „Welten”. Negative Performanceüberraschungen können somit von vornherein vermieden werden.
  2. Ich fühle mich in der Javawelt genauso zu Hause wie in der Datenbankwelt und kann je nach Bedarf eine beliebige Rolle einnehmen oder zwischen den „Welten” als Schnittstelle agieren.