Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Geleitwort
15
Vorwort
17
Einleitung
19
Teil I Grundlagen
29
1 SAP HANA im Überblick
31
1.1 Softwarekomponenten von SAP HANA
32
1.1.1 SAP HANA Database
32
1.1.2 SAP HANA Studio
34
1.1.3 SAP HANA Client
35
1.1.4 SAP HANA XS
37
1.1.5 Zusatzoptionen
38
1.2 Grundlagen der In-Memory-Technologie
41
1.2.1 Hardwareinnovationen
42
1.2.2 Softwareinnovationen
47
1.3 Architektur der In-Memory-Datenbank
58
1.4 Anwendungsfälle und Deployment-Optionen für SAP HANA
61
1.4.1 Anwendungsfälle
61
1.4.2 Deployment-Optionen
64
1.5 Auswirkungen von SAP HANA auf die Anwendungsentwicklung
66
1.5.1 Neue technische Möglichkeiten
66
1.5.2 Code Pushdown
67
1.5.3 Datenbank als Whitebox
69
1.5.4 Qualifizierung des Entwicklers
72
2 Einführung in die Entwicklungsumgebung
75
2.1 Eclipse im Überblick
75
2.2 Die Eclipse-Strategie von SAP
78
2.2.1 Entflechtung von Eclipse und SAP-Software
79
2.2.2 Zentrale Update-Seite
79
2.3 Installation der Entwicklungsumgebung
81
2.3.1 Installation der Eclipse IDE for Java Developers
81
2.3.2 Installation des SAP HANA Studios
82
2.3.3 Installation der ABAP Development Tools for SAP NetWeaver
83
2.4 Erste Schritte im Entwicklungssystem
84
2.4.1 Grundlagen von Eclipse
84
2.4.2 ABAP Development Tools for SAP NetWeaver
87
2.4.3 SAP HANA Studio
97
3 Datenbankprogrammierung mit dem SAP NetWeaver AS ABAP
115
3.1 Architektur des SAP NetWeaver AS ABAP
117
3.1.1 Datenbankschnittstelle und Datenbanktreiber
118
3.1.2 Nutzung der Datenbank durch den SAP NetWeaver AS ABAP
121
3.1.3 Datentypen
123
3.2 ABAP-Datenbankzugriff
129
3.2.1 ABAP Dictionary
130
3.2.2 Open SQL
135
3.2.3 Datenbank-Views im ABAP Dictionary
145
3.2.4 Datenbankzugriff über natives SQL
146
3.2.5 Sekundäre Datenbankverbindungen
153
3.3 Datenbankzugriffe mit dem SQL-Trace analysieren
157
3.3.1 Anweisungstransformationen
157
3.3.2 Sekundärverbindungen
164
3.3.3 Natives SQL
165
3.3.4 Puffer
165
Teil II Einführung in die ABAP-Programmierung mit SAP HANA
167
4 Native Datenbankentwicklung mit SAP HANA
169
4.1 Grundlagen der nativen Datenbankentwicklung
169
4.1.1 Objekte im HANA-Datenbankkatalog
170
4.1.2 SQL-Standard und HANA-spezifische Erweiterungen
172
4.2 SQLScript
179
4.2.1 Grundlagen von SQLScript
179
4.2.2 SQLScript-Programmierung
186
4.3 Datenbankprozeduren
198
4.4 Analytische Modelle
203
4.4.1 Attribute Views
204
4.4.2 Analytic Views
219
4.4.3 Calculation Views
228
4.4.4 Laufzeitobjekte und SQL-Zugriff
235
4.4.5 Zugriff auf Column Views über Microsoft Excel
238
5 Einbindung nativer SAP-HANA-Entwicklungsobjekte in ABAP
241
5.1 Einbindung von analytischen Views
241
5.1.1 Zugriff über natives SQL
242
5.1.2 Externe Views im ABAP Dictionary
243
5.1.3 Zugriffsmöglichkeiten auf externe Views
246
5.1.4 Empfehlungen
247
5.2 Einbettung von nativen Prozeduren in ABAP
249
5.2.1 Zugriff über natives SQL
250
5.2.2 Definition von Database Procedure Proxies
257
5.2.3 Aufruf von Database Procedure Proxies
259
5.2.4 Anpassung von Database Procedure Proxies
260
5.3 Transport nativer Entwicklungsobjekte
261
5.3.1 Exkurs: Entwicklungsorganisation und Transport in SAP HANA
261
5.3.2 Nutzung des SAP-HANA-Transportcontainers
265
6 Erweiterte Datenbankprogrammierung mit ABAP 7.4
273
6.1 Einführung in Core Data Services
274
6.2 ABAP Core Data Services
276
6.2.1 CDS-Views
277
6.2.2 Code Pushdown
298
6.2.3 View-Erweiterungen
305
6.2.4 Annotationen
307
6.2.5 CDS-Views in ABAP und in ALV with IDA verwenden
311
6.2.6 Tipps für die Anwendung von ABAP-CDS-Views
313
6.3 SAP HANA Core Data Services
315
6.4 Open-SQL-Erweiterungen
317
6.5 ABAP-Datenbankprozeduren
320
6.5.1 AMDPs anlegen
322
6.5.2 Fehleranalyse
325
6.5.3 Erweiterungen
327
6.5.4 Praxistipps
331
7 Laufzeit- und Fehleranalyse auf SAP HANA
333
7.1 Übersicht der verfügbaren Werkzeuge
334
7.2 Fehleranalyse
336
7.2.1 Unit Tests
337
7.2.2 Dump-Analyse
339
7.2.3 Debugging und Tracing in SQLScript
342
7.3 ABAP-Code-Analyse
343
7.3.1 Prüfungen und Prüfvarianten
343
7.3.2 Prüfungen in der Entwicklungsinfrastruktur
348
7.3.3 Globale Prüfläufe im System
349
7.4 Laufzeitstatistiken und Traces
351
7.4.1 Laufzeitstatistik
352
7.4.2 ABAP-Trace und ABAP Profiler
356
7.4.3 SQL-Trace
364
7.4.4 Single Transaction Analysis
368
7.4.5 Explain Plan
369
7.4.6 SAP HANA Plan Visualizer
370
7.5 Systemweite Analysen
376
7.5.1 DBA-Cockpit
376
7.5.2 SQL Monitor
381
7.5.3 Laufzeitprüfungs-Monitor
390
7.6 SQL-Performanceoptimierung
393
8 Beispielszenario: Optimierung einer bestehenden Anwendung
399
8.1 Vorgehen bei der Optimierung
400
8.1.1 Migration auf SAP HANA
400
8.1.2 Systemoptimierung
402
8.1.3 Anwendungsoptimierung
403
8.2 Szenario und Anforderungen
406
8.2.1 Ausgangssituation
406
8.2.2 Technische Umsetzung
408
8.2.3 Aktuelle Probleme
410
8.3 Umsetzung der Anforderungen
411
8.3.1 Eingrenzung des Problems mit der Laufzeitstatistik
411
8.3.2 Detailanalyse des ABAP-Programms mit Transaktion SAT
413
8.3.3 Detailanalyse der Datenbankzugriffe
415
8.3.4 Ergebnis der Analyse
417
8.3.5 Optimierung mit Open SQL
417
8.3.6 Analyse der ersten Optimierung
420
8.3.7 Ergebnis der Analyse
421
8.3.8 Optimierung mit einer Datenbankprozedur
422
8.3.9 Analyse nach der zweiten Optimierung
424
8.3.10 Ergebnis der Analyse
427
Teil III Fortgeschrittene Techniken für die ABAP-Programmierung mit SAP HANA
429
9 Integration analytischer Funktionalität
431
9.1 Was ist analytische Funktionalität?
432
9.2 Das SAP-BusinessObjects-Portfolio
435
9.3 Exkurs: SAP Business Warehouse
439
9.3.1 SAP HANA vs. SAP Business Warehouse
439
9.3.2 Terminologie im Überblick
440
9.3.3 InfoProvider bei Nutzung von SAP HANA
442
9.4 Mögliche Architekturen im Überblick
448
9.4.1 Direkter Zugriff auf analytische Funktionalität in SAP HANA
448
9.4.2 Zugriff über SAP NetWeaver AS ABAP
450
10 Textsuche und Analyse von unstrukturierten Daten
455
10.1 Grundlagen der Textsuche in SAP HANA
457
10.1.1 Technische Architektur
458
10.1.2 Fehlertolerante Suche
459
10.1.3 SAP-Komponenten und Produkte für die Suche
461
10.2 Textdatentypen und Full-Text-Indizes in SAP HANA
462
10.3 Verwendung der Textsuche über SQL
467
10.3.1 Fuzzy-Suche
469
10.3.2 Synonyme und Stoppwörter
473
10.3.3 Suche über Datumsfelder und Adressdaten
476
10.4 Einsatz der Textsuche in ABAP
479
10.4.1 Direkter SQL-Zugriff aus ABAP
479
10.4.2 Einbettung in Wertehilfen
480
10.4.3 ABAP-Quelltextsuche
488
10.5 Textanalyse
489
10.6 Ressourcenverbrauch und Laufzeitaspekte der Textsuche
492
11 Entscheidungstabellen in SAP HANA
495
11.1 Grundlagen von Entscheidungstabellen
496
11.2 Anlegen von Entscheidungstabellen im SAP HANA Studio
500
11.3 Entscheidungstabellen basierend auf SAP HANA Views
506
11.4 Laufzeitobjekte und SQL-Zugriff für Entscheidungstabellen
508
11.5 Zugriff auf Entscheidungstabellen aus ABAP
509
12 Funktionsbibliotheken in SAP HANA
513
12.1 Grundlagen der Application Function Library
516
12.2 Business Function Library
518
12.3 Predictive Analysis Library
522
12.3.1 Generierung der K-Means-Funktion über die SQL-Konsole
524
12.3.2 Verwendung des Application Function Modelers
527
13 Verarbeitung von Geoinformationen
535
13.1 Grundlagen von Geoinformationssystemen
536
13.2 Geodatentypen und Geofunktionen in SAP HANA
538
13.2.1 Datentypen
539
13.2.2 Tabellen anlegen und Daten lesen
540
13.2.3 Operationen auf geografischen Strukturen
542
13.2.4 Integration von externem Kartenmaterial
544
13.3 Geoinformationen in ABAP-Anwendungen einbinden
546
14 Praxistipps
551
14.1 Allgemeine Empfehlungen
552
14.1.1 Empfehlungen zu Column und Row Store
552
14.1.2 HANA-spezifische Implementierungen
553
14.1.3 Checkliste für datenbankspezifische Implementierungen
556
14.1.4 Empfehlungen zur Migration
558
14.1.5 Entwicklung in Landschaften
560
14.1.6 Schreibende Zugriffe in SQLScript oder nativem SQL
562
14.2 Konventionen
564
14.2.1 Namenskonventionen
564
14.2.2 Kapselung von HANA-Paketen
566
14.3 Qualitätsaspekte
566
14.3.1 Testen von Views und Prozeduren
567
14.3.2 Robuste Programmierung
568
14.3.3 Sicherheitsaspekte
569
14.4 Performanceempfehlungen für Open SQL
570
14.4.1 Regel 1: Ergebnismengen klein halten
571
14.4.2 Regel 2: Übertragene Datenmengen klein halten
575
14.4.3 Regel 3: Anzahl der Anfragen reduzieren
581
14.4.4 Regel 4: Suchaufwand minimieren
587
14.4.5 Regel 5: Datenbank entlasten
591
14.4.6 Zusammenfassung der Regeln
596
14.5 Performanceempfehlungen für native Implementierungen in SAP HANA
597
14.5.1 Empfehlungen für natives SQL
597
14.5.2 Empfehlungen für SAP HANA Views
599
14.5.3 Empfehlungen für SQLScript
602
14.6 Zusammenfassung der Empfehlungen
604
Anhang
607
A Flugdatenmodell
609
A.1 Grundlagen des Flugdatenmodells
609
A.2 Datenbanktabellen des Flugdatenmodells
610
A.2.1 Customizing
610
A.2.2 Stammdaten
611
A.2.3 Bewegungsdaten
612
A.2.4 Design des SFLIGHT-Datenmodells
614
A.3 Datengenerierung
615
B Erweiterungen der ABAPProgrammiersprache (ab SAP NetWeaver 7.4)
617
B.1 Inline-Deklarationen
617
B.2 Konstruktor-Ausdrücke
619
B.3 Interne Tabellen
621
C Lese- und Schreibzugriffe im Column Store
623
C.1 Grundlagen
623
C.2 Lesezugriff ohne Index
624
C.3 Schreibzugriff ohne Index
626
C.4 Lesezugriffe mit Index
629
D SAP Business Application Accelerator powered by SAP HANA
633
E Installation der Beispiele
637
F Die Autoren
639
Index
641