Database-Award von CIO und Computerwoche: Frist verlängert

Datenbanken-Projekte: Die fünf größten Fehler

13.04.2010
Ima Buxton arbeitet als freie Redakteurin in München. Sie schreibt schwerpunktmäßig zu Strategie- und Trendthemen.

Mehr als nur reine Datenhaltung

Was bedeutet das für die Arbeitsweise einer Datenbank?

Grust: Datenbanksysteme arbeiten mengenorientiert, das heißt sie verarbeiten die Daten nicht Schritt für Schritt, sondern generieren Mengen gleichartiger Antworten, was wesentlich effizienter ist. So geschieht die Datenverarbeitung wirklich in der Nähe der Daten. Generell gilt: eine Datenbank kann mehr leisten als nur die reine Datenhaltung. Applikationsentwickler sollten das Datenbanksystem stärker in seiner Funktion als Datenprozessor wahrnehmen.

Und welche Vorteile bringt diese Arbeitsweise?

Grust: Eine Datenbank, die derart mengenorientiert arbeitet, ermöglicht unter anderem eine wesentlich effizientere Kommunikation. Der Roundtrip - die Zeit vom Absenden einer Anfrage bis zum Erhalt der Antwort - ist deutlich schneller und ist deutlich seltener notwendig. Das spart nicht nur Zeit, sondern auch Energie. Dasselbe gilt für die Architektur der konzeptuellen Schicht: Bei einer hohen Anzahl von Applikationen, kommen die vielen notwendigen Kontextwechsel zwischen den Applikationen und dem Datenbanksystem teuer zu stehen. Auch die Entwicklung der Datenbankapplikationen selbst profitiert übrigens, weil mengenorientierte Abfragen oft viel natürlicher zu formulieren sind. Die Formulierung mengenorientierter Anfragen bedarf, zugegebenermaßen, eine gewisse Übung. Der resultierende Applikationscode ist aber oft kompakter und so gut wie immer deutlich effizienter.

Was sind die häufigsten Fehler, die bei Datenbankprojekten gemacht werden?

Grust: Es gibt wenigstens die folgenden fünf Aspekte, die ein Datenbankprojekt beeinträchtigen können:

  1. Ein Problem ist die Repräsentation von Daten in Form von so genannten BLOBs (Binary Large Object Blocks), die beliebige Applikationsobjekte aufnehmen können. Die interne Struktur eines BLOBs bleibt der Datenbank allerdings verborgen, was die Anfrageverarbeitung ineffizient macht: das Datenbanksystem kann den BLOB-Inhalt lediglich unreflektiert reproduzieren. Die verwendete Datenbanktechnologie muss genauer auf die Struktur der Applikationsobjekte abgestimmt werden.

  2. Funktionen des Datenbanksystems, wie die Rollenverwaltung oder Integritätstests, werden in der Applikation nachgebaut. Sie gehören aber in die Nähe der Daten.

  3. Die Applikationsschicht betreibt das Datenbanksystem lediglich als passiven Datenbankspeicher. Die Leistungsfähigkeit des Anfrageprozessors wird nicht ausgenutzt.

  4. Weiterhin ist es problematisch, ein Datenbanksystem auszuwählen, dessen Datendarstellung nicht zu den Daten des Projektes passt. In solchen Fällen wir dann häufig mit aufwändigen und verlustbehafteten Konvertern gearbeitet.

  5. Bisweilen fehlen Dokumentationen über die Abbildung der modellierten Mini-Welt. Statt dessen bestehen die Dokumentationen aus einer Unmenge an SQL-DDL-Statements, die die Struktur der Datenbank nur unzureichend widergeben.

Zur Startseite