Vorwort | 6 |
Inhaltsverzeichnis | 8 |
Abbildungs- und Tabellenverzeichnis | 13 |
1 Einleitung | 15 |
2 Grundlagen | 18 |
2.1 Zentrale Anwendungsklassen | 18 |
2.1.1 Datenbankanwendungen | 18 |
2.1.2 Information-Retrieval- und Webanwendungen | 20 |
2.2 Datenbearbeitungsanweisungen | 22 |
2.2.1 Sprachen für Datenbearbeitungsanweisungen | 22 |
2.2.2 Einbettung von Datenbearbeitungsanweisungen | 24 |
2.2.3 Komplexität von Datenbearbeitungsanweisungen | 25 |
2.3 Entwicklungsprozesse für Anwendungsprogramme | 26 |
2.3.1 Phasen der Softwareentwicklung | 26 |
2.3.2 Erstellungszeitpunkt der Datenbearbeitungsanweisungen | 27 |
2.4 Systemarchitekturen | 29 |
2.4.1 Datenbankanwendungen | 29 |
2.4.2 Webanwendungen | 30 |
2.4.3 Information-Retrieval-Anwendungen | 34 |
2.4.4 Service-Orientierte Architekturen | 36 |
2.5 Anfragegenerierende Systeme | 36 |
2.5.1 Begriffsklärung und allgemeines Systemmodell | 37 |
2.5.2 Abgrenzung zu anderen Systemklassen | 38 |
2.5.3 Generierung von Datenbearbeitungsanweisungen | 39 |
2.6 Zusammenfassung | 40 |
3 Verwendung anfragegenerierender Systeme | 41 |
3.1 Motivation für die Verwendung anfragegenerierender Systeme | 41 |
3.1.1 Flexibilität in der Reaktion auf Eingaben | 42 |
3.1.2 Flexibilität in der Anpassung an die Datenverarbeitungskomponente | 43 |
3.1.3 Komplexitätsreduktion | 43 |
3.1.4 Anpassbarkeit und Wartbarkeit | 44 |
3.2 Fragestellungen anfragegenerierender Systeme im Überblick | 45 |
3.2.1 Systemklassifikation | 45 |
3.2.2 Generierungsansätze | 46 |
3.2.3 Optimierungsansätze | 47 |
3.3 Zusammenfassung | 47 |
4 Szenarien und Systembeispiele | 49 |
4.1 Business Intelligence | 49 |
4.1.1 Systemarchitektur | 50 |
4.1.2 Generierung von Datenbearbeitungsanweisungen | 52 |
4.2 Datenmanagement in datenintensiven Workflows | 52 |
4.2.1 Systemarchitektur | 55 |
4.2.2 Generierung von Datenbearbeitungsanweisungen | 56 |
4.3 Generierung eines Repositories | 57 |
4.3.1 Systemarchitektur | 57 |
4.3.2 Generierung von Datenbearbeitungsanweisungen | 58 |
4.4 Generierung datenintensiver Webanwendungen | 59 |
4.4.1 Systemarchitektur | 59 |
4.4.2 Generierung von Datenbearbeitungsanweisungen | 60 |
4.5 Semantische Suche | 61 |
4.5.1 u38 | 61 |
4.5.2 EXPOSE | 63 |
4.6 Zusammenfassung | 67 |
5 Klassifikation anfragegenerierender Systeme | 68 |
5.1 Klassifikationskriterien | 68 |
5.1.1 Generierungszeitpunkt | 68 |
5.1.2 Anfragesprache | 70 |
5.1.3 Zusammenhang der Anfragen | 71 |
5.1.4 Variabilität der Anfragen | 72 |
5.1.5 Komplexität der Anfragen | 73 |
5.1.6 Klassifikationsschema | 73 |
5.2 Einordnung der Systembeispiele | 74 |
5.2.1 Business Intelligence | 74 |
5.2.2 Datenmanagement in datenintensiven Workflows | 75 |
5.2.3 Generierung eines Repositories | 76 |
5.2.4 Generierung datenintensiver Webanwendungen | 76 |
5.2.5 Semantische Suche | 77 |
5.3 Zusammenfassung | 77 |
6 Ansätze zur Generierung von Datenbearbeitungsanweisungen | 79 |
6.1 Bewertungskriterien | 80 |
6.2 Parametrisierung | 82 |
6.2.1 Vorgehensweise | 82 |
6.2.2 Bewertung | 84 |
6.3 Template-basierte Ansätze | 85 |
6.3.1 Vorgehensweise | 85 |
6.3.2 Bewertung | 87 |
6.4 Algorithmen-basierte Ansätze | 88 |
6.4.1 Vorgehensweise | 88 |
6.4.2 Bewertung | 89 |
6.5 Zusammenfassende Bewertung der Generierungsansätze | 90 |
6.6 Abgrenzung zu anderen Ansätzen der Code- Generierung | 92 |
6.7 Einordnung der Systembeispiele | 94 |
6.7.1 Business Intelligence | 94 |
6.7.2 Datenmanagement in datenintensiven Workflows | 94 |
6.7.3 Generierung eines Repositories | 95 |
6.7.4 Generierung datenintensiver Webanwendungen | 96 |
6.7.5 Semantische Suche | 96 |
6.8 Zusammenfassung | 96 |
7 Ansätze zur Optimierung generierter Datenbearbeitungsanweisungen | 98 |
7.1 Überblick | 98 |
7.2 Analyse des Optimierungsbedarfs | 99 |
7.3 Klassifikation der Optimierungsansätze | 100 |
7.4 Optimierung bei der Anwendungsentwicklung und in der Applikation | 102 |
7.4.1 Einzeloptimierung | 103 |
7.4.1.1 Parametrisierung als Generierungsansatz | 103 |
7.4.1.2 Template-basierte Anfragegenerierung | 104 |
7.4.1.3 Algorithmen-basierte Anfragegenerierung | 105 |
7.4.2 Homogene Optimierung | 105 |
7.4.2.1 Parametrisierung als Generierungsansatz | 105 |
7.4.2.2 Template- und algorithmen-basierte Anfragegenerierung | 106 |
7.4.3 Heterogene Optimierung | 106 |
7.5 Optimierung durch das Datenmanagementsystem | 106 |
7.5.1 Einzeloptimierung | 107 |
7.5.2 Homogene Optimierung | 108 |
7.5.3 Heterogene Optimierung | 108 |
7.6 Optimierung durch eine separate Komponente | 109 |
7.6.1 Einzeloptimierung | 109 |
7.6.2 Homogene Optimierung | 110 |
7.6.3 Heterogene Optimierung | 110 |
7.7 Zuordnung der Optimierungsansätze | 111 |
7.8 Zusammenfassung | 115 |
8 Vertiefung und Bewertung ausgewählter Optimierungsansätze | 117 |
8.1 Anfrageoptimierung in Datenbanksystemen | 118 |
8.2 Multi-Query-Optimierung in Datenbanksystemen | 121 |
8.2.1 Einsatzgebiete und Weiterentwicklungen | 122 |
8.2.2 Anwendbarkeit für anfragegenerierende Systeme | 124 |
8.3 CGO-Ansatz zur Optimierung von Anfragesequenzen | 125 |
8.3.1 Voraussetzungen und Ziele | 125 |
8.3.2 Optimierungsansatz | 128 |
8.3.3 Klassifikation der Optimierungsregeln | 131 |
8.3.3.1 Regelklasse 1 | 131 |
8.3.3.2 Regelklasse 2 | 133 |
8.3.3.3 Regelklasse 3 | 134 |
8.3.4 Heuristischer CGO-Ansatz | 136 |
8.3.5 Kostenbasierter CGO-Ansatz | 138 |
8.3.5.1 Kostenberechnung im CGO-Ansatz | 140 |
8.3.5.2 Histogrammpropagation | 143 |
8.3.6 Effektivität und Effizienz der Optimierung | 144 |
8.3.7 Zusammenfassung der Coarse-Grained-Optimierung | 150 |
8.4 PGM-Optimierung des Datenmanagements in Workflows | 150 |
8.4.1 Voraussetzungen und Ziele | 151 |
8.4.2 Optimierungsansatz | 152 |
8.4.3 Klassifikation der Optimierungsregeln | 158 |
8.4.4 Anforderungen an eine interne Repräsentation | 159 |
8.4.5 Das Prozessgraphmodell | 163 |
8.4.6 Optimierungsregeln auf Basis von PGM | 168 |
8.4.7 Eigenschaften des Prozessgraphmodells | 171 |
8.4.8 Kontrollstrategie | 173 |
8.4.9 Effektivität der Optimierung | 176 |
8.4.10 Zusammenfassung der PGM-Optimierung | 180 |
8.5 Bewertung der Optimierungsansätze | 181 |
8.5.1 Bewertung hinsichtlich Effektivität und Ausgereiftheit | 181 |
8.5.2 Bewertung im Kontext anfragegenerierender Systeme | 183 |
8.5.3 Einsatzmöglichkeiten in den Systembeispielen | 186 |
8.5.3.1 Business Intelligence | 186 |
8.5.3.2 Datenmanagement in datenintensiven Workflows | 187 |
8.5.3.3 Generierung von Repositories und datenintensiven Webanwendungen | 187 |
8.5.3.4 Semantische Suche | 188 |
8.6 Zusammenfassung | 189 |
9 Zusammenfassung und Ausblick | 190 |
9.1 Resümee | 190 |
9.2 Ausblick | 194 |
10 Literaturverzeichnis | 196 |