You are on page 1of 434

Denys van Kempen

SAP HANA®2.0
An Introduction

~ Rheinwerk
Pub sh ng
Contents
Preface ..................................................................................................................................................... 17

1 Introduction 27

1.1 What Is SAP HANA? ............................................................................................................ 27

1.2 Key Capabilities .................................................................................................................... 30


1.2.1 Application Development .................................................................................. 30
1.2.2 Advanced Analytical Processing ...................................................................... 31
1.2.3 Data Management ............................................................................................... 33
1.2.4 Database Management ...................................................................................... 33
1.3 Key Benefits ........................................................................................................................... 34
1.3.1 Reduce Complexity .............................................................................................. 35
1.3.2 Run Anywhere ....................................................................................................... 36
1.3.3 Real Results ............................................................................................................. 38
1.4 Finding Customer Stories and Use Cases .................................................................. 39

1.5 Industry Analysts ................................................................................................................. 41


1.5.1 Gartner and the Magic Quadrant ................................................................... 41
1.5.2 Forrester Wave and IDC MarketScapes ......................................................... 42
1.6 The Road Ahead .................................................................................................................... 43

1.7 Licensing and Maintenance ............................................................................................ 46


1.7.1 Licensing .................................................................................................................. 46
1.7.2 Software Maintenance ....................................................................................... 47
1.8 Summary ................................................................................................................................. 49

2 Technology Overview 51

2.1 In-Memory Database Concepts ..................................................................................... 52


2.1.1 Database History in a Nutshell ........................................................................ 52
2.1.2 SanssouciDB ........................................................................................................... 54

7
Contents Contents

2.2 System Architecture Overview ..................................................................................... 57 3.3 SAP HANA Lifecycle Management ............................................................................... 130
2.2.1 Implementation Scenarios ............................................................................... 57 3.3.1 Platform Lifecycle Management ..................................................................... 131
2.2.2 Services and Processes ....................................................................................... 58 3.3.2 Product Availability Matrix ............................................................................... 133
2.2.3 Memory and Persistence ................................................................................... 62 3.3.3 Installation and Update ..................................................................................... 135
2.2.4 Single-Host and Distributed Systems ........................................................... 63 3.3.4 Application Lifecycle Management ................................................................ 139
2.2.5 Database and Application Server ................................................................... 65 3.4 Application Server Administration .............................................................................. 141
2.2.6 Data Tiering ........................................................................................................... 66
3.4.1 SAP HANA XS Admin Tool .................................................................................. 142
2.3 Editions .................................................................................................................................... 67 3.4.2 Deploying SAP HANA XS Advanced Applications ...................................... 142
2.3.1 SAP HANA, Platform Edition ............................................................................. 67 3.5 Summary ................................................................................................................................. 145
2.3.2 SAP HANA, Express Edition ............................................................................... 67
2.3.3 SAP HANA, Cloud Edition ................................................................................... 68
2.3.4 Licensing, Options, and the Feature Scope Description .......................... 68
2.4 What’s New: Support Package Stacks and Revisions ......................................... 70
4 Development 147

2.4.1 SAP HANA Platform Edition 1.0 ....................................................................... 72


2.4.2 SAP HANA Platform Edition 2.0 ....................................................................... 78 4.1 Role and Tools ....................................................................................................................... 148
4.1.1 The SAP HANA Developer .................................................................................. 148
2.5 Deployment Options ......................................................................................................... 84
4.1.2 Tools .......................................................................................................................... 150
2.5.1 On-Premise ............................................................................................................. 85
2.5.2 Cloud Deployments ............................................................................................. 85 4.2 SQL and SQLScript ................................................................................................................ 154
4.2.1 SQL ............................................................................................................................. 154
2.6 Summary ................................................................................................................................. 93
4.2.2 SQLScript ................................................................................................................. 156
4.2.3 ABAP Managed Database Procedures ........................................................... 158
4.3 Analytic Modeling ............................................................................................................... 160
3 Administration 95
4.4 SAP HANA Extended Application Services ............................................................... 163
4.4.1 SAP HANA XS .......................................................................................................... 164
3.1 Role and Tools ....................................................................................................................... 96
4.4.2 SAP HANA XS Advanced ..................................................................................... 165
3.1.1 The SAP HANA Administrator .......................................................................... 96
3.1.2 Tools ......................................................................................................................... 97
4.5 Core Data Services ............................................................................................................... 169

3.2 System Administration ..................................................................................................... 105 4.6 SAP HANA Deployment Infrastructure ...................................................................... 171
3.2.1 System Configuration ......................................................................................... 105 4.7 Application Lifecycle Management ............................................................................. 173
3.2.2 Performance Monitoring and Analysis ......................................................... 108 4.8 JSON Document Store ....................................................................................................... 174
3.2.3 Resource Management ...................................................................................... 118
4.9 SAP Cloud Platform ............................................................................................................. 177
3.2.4 Security .................................................................................................................... 123
4.9.1 Cloud Foundry and Neo ...................................................................................... 178
3.2.5 Backup and Recovery .......................................................................................... 124
4.9.2 SAP Cloud Application Programming Model ............................................... 179
3.2.6 Additional Responsibilities ............................................................................... 129
4.9.3 SAP Cloud Platform, SAP HANA Service ........................................................ 180

8 9
Contents Contents

2.2 System Architecture Overview ..................................................................................... 57 3.3 SAP HANA Lifecycle Management ............................................................................... 130
2.2.1 Implementation Scenarios ............................................................................... 57 3.3.1 Platform Lifecycle Management ..................................................................... 131
2.2.2 Services and Processes ....................................................................................... 58 3.3.2 Product Availability Matrix ............................................................................... 133
2.2.3 Memory and Persistence ................................................................................... 62 3.3.3 Installation and Update ..................................................................................... 135
2.2.4 Single-Host and Distributed Systems ........................................................... 63 3.3.4 Application Lifecycle Management ................................................................ 139
2.2.5 Database and Application Server ................................................................... 65 3.4 Application Server Administration .............................................................................. 141
2.2.6 Data Tiering ........................................................................................................... 66
3.4.1 SAP HANA XS Admin Tool .................................................................................. 142
2.3 Editions .................................................................................................................................... 67 3.4.2 Deploying SAP HANA XS Advanced Applications ...................................... 142
2.3.1 SAP HANA, Platform Edition ............................................................................. 67 3.5 Summary ................................................................................................................................. 145
2.3.2 SAP HANA, Express Edition ............................................................................... 67
2.3.3 SAP HANA, Cloud Edition ................................................................................... 68
2.3.4 Licensing, Options, and the Feature Scope Description .......................... 68
2.4 What’s New: Support Package Stacks and Revisions ......................................... 70
4 Development 147

2.4.1 SAP HANA Platform Edition 1.0 ....................................................................... 72


2.4.2 SAP HANA Platform Edition 2.0 ....................................................................... 78 4.1 Role and Tools ....................................................................................................................... 148
4.1.1 The SAP HANA Developer .................................................................................. 148
2.5 Deployment Options ......................................................................................................... 84
4.1.2 Tools .......................................................................................................................... 150
2.5.1 On-Premise ............................................................................................................. 85
2.5.2 Cloud Deployments ............................................................................................. 85 4.2 SQL and SQLScript ................................................................................................................ 154
4.2.1 SQL ............................................................................................................................. 154
2.6 Summary ................................................................................................................................. 93
4.2.2 SQLScript ................................................................................................................. 156
4.2.3 ABAP Managed Database Procedures ........................................................... 158
4.3 Analytic Modeling ............................................................................................................... 160
3 Administration 95
4.4 SAP HANA Extended Application Services ............................................................... 163
4.4.1 SAP HANA XS .......................................................................................................... 164
3.1 Role and Tools ....................................................................................................................... 96
4.4.2 SAP HANA XS Advanced ..................................................................................... 165
3.1.1 The SAP HANA Administrator .......................................................................... 96
3.1.2 Tools ......................................................................................................................... 97
4.5 Core Data Services ............................................................................................................... 169

3.2 System Administration ..................................................................................................... 105 4.6 SAP HANA Deployment Infrastructure ...................................................................... 171
3.2.1 System Configuration ......................................................................................... 105 4.7 Application Lifecycle Management ............................................................................. 173
3.2.2 Performance Monitoring and Analysis ......................................................... 108 4.8 JSON Document Store ....................................................................................................... 174
3.2.3 Resource Management ...................................................................................... 118
4.9 SAP Cloud Platform ............................................................................................................. 177
3.2.4 Security .................................................................................................................... 123
4.9.1 Cloud Foundry and Neo ...................................................................................... 178
3.2.5 Backup and Recovery .......................................................................................... 124
4.9.2 SAP Cloud Application Programming Model ............................................... 179
3.2.6 Additional Responsibilities ............................................................................... 129
4.9.3 SAP Cloud Platform, SAP HANA Service ........................................................ 180

8 9
Contents Contents

4.10 Client Interfaces ................................................................................................................... 181 5.3 Spatial Data Processing .................................................................................................... 228
4.10.1 SAP HANA Client Installation ........................................................................... 181 5.4 Graph Data Processing ...................................................................................................... 232
4.10.2 SQLDBC .................................................................................................................... 183
5.5 Series Data Processing ....................................................................................................... 235
4.10.3 JDBC .......................................................................................................................... 183
4.10.4 ODBC ........................................................................................................................ 184 5.6 Text Analytics and Search ................................................................................................ 237
4.10.5 ODBO ........................................................................................................................ 187 5.6.1 Search ....................................................................................................................... 238
4.10.6 Python ...................................................................................................................... 188 5.6.2 Text Analysis .......................................................................................................... 240
4.10.7 Node.js ..................................................................................................................... 190 5.6.3 Text Mining ............................................................................................................ 242
4.10.8 Go .............................................................................................................................. 192 5.7 SAP HANA Streaming Analytics .................................................................................... 243
4.10.9 ADO.NET .................................................................................................................. 193
4.10.10 Ruby .......................................................................................................................... 194
5.8 Summary ................................................................................................................................. 246

4.11 Web-Based Data Access ................................................................................................... 195


4.11.1 OData ....................................................................................................................... 196
4.11.2 Information Access .............................................................................................. 198 6 Security 247
4.11.3 XMLA ........................................................................................................................ 200
4.12 SAP HANA, Express Edition ............................................................................................. 201 6.1 Roles and Tools ..................................................................................................................... 248
4.12.1 Deployment Options .......................................................................................... 202 6.1.1 The SAP HANA Security Architect ................................................................... 248
4.12.2 Getting Started ..................................................................................................... 204 6.1.2 Tools .......................................................................................................................... 249

4.13 SAP HANA Interactive Education ................................................................................. 206 6.2 User Management .............................................................................................................. 251
4.13.1 Deployment Options .......................................................................................... 207 6.2.1 Implementation Scenarios ................................................................................ 252
4.13.2 Getting Started ..................................................................................................... 208 6.2.2 User Types and User Groups ............................................................................. 254
6.2.3 Authentication ...................................................................................................... 256
4.14 Summary ................................................................................................................................. 210
6.2.4 Authorization ......................................................................................................... 261
6.3 Data Privacy and Protection ........................................................................................... 268
6.3.1 Data Masking ......................................................................................................... 268
5 Advanced Analytics 213 6.3.2 Data Anonymization ........................................................................................... 270
6.3.3 Encryption ............................................................................................................... 271
5.1 Roles and Tools ..................................................................................................................... 215 6.4 Auditing ................................................................................................................................... 278
5.1.1 The SAP HANA Data Scientist .......................................................................... 215
6.5 SAP HANA XS Security ....................................................................................................... 281
5.1.2 Tools ......................................................................................................................... 215
6.6 Additional Security Considerations and Concerns ............................................... 281
5.2 Predictive Analytics and Machine Learning ............................................................ 218
5.2.1 Application Function Library ............................................................................ 220 6.7 Summary ................................................................................................................................. 282
5.2.2 Predictive Analysis Library ................................................................................. 220
5.2.3 R Integration .......................................................................................................... 222
5.2.4 External Machine Learning Library ................................................................ 225
5.2.5 Automated Predictive Library .......................................................................... 227

10 11
Contents Contents

4.10 Client Interfaces ................................................................................................................... 181 5.3 Spatial Data Processing .................................................................................................... 228
4.10.1 SAP HANA Client Installation ........................................................................... 181 5.4 Graph Data Processing ...................................................................................................... 232
4.10.2 SQLDBC .................................................................................................................... 183
5.5 Series Data Processing ....................................................................................................... 235
4.10.3 JDBC .......................................................................................................................... 183
4.10.4 ODBC ........................................................................................................................ 184 5.6 Text Analytics and Search ................................................................................................ 237
4.10.5 ODBO ........................................................................................................................ 187 5.6.1 Search ....................................................................................................................... 238
4.10.6 Python ...................................................................................................................... 188 5.6.2 Text Analysis .......................................................................................................... 240
4.10.7 Node.js ..................................................................................................................... 190 5.6.3 Text Mining ............................................................................................................ 242
4.10.8 Go .............................................................................................................................. 192 5.7 SAP HANA Streaming Analytics .................................................................................... 243
4.10.9 ADO.NET .................................................................................................................. 193
4.10.10 Ruby .......................................................................................................................... 194
5.8 Summary ................................................................................................................................. 246

4.11 Web-Based Data Access ................................................................................................... 195


4.11.1 OData ....................................................................................................................... 196
4.11.2 Information Access .............................................................................................. 198 6 Security 247
4.11.3 XMLA ........................................................................................................................ 200
4.12 SAP HANA, Express Edition ............................................................................................. 201 6.1 Roles and Tools ..................................................................................................................... 248
4.12.1 Deployment Options .......................................................................................... 202 6.1.1 The SAP HANA Security Architect ................................................................... 248
4.12.2 Getting Started ..................................................................................................... 204 6.1.2 Tools .......................................................................................................................... 249

4.13 SAP HANA Interactive Education ................................................................................. 206 6.2 User Management .............................................................................................................. 251
4.13.1 Deployment Options .......................................................................................... 207 6.2.1 Implementation Scenarios ................................................................................ 252
4.13.2 Getting Started ..................................................................................................... 208 6.2.2 User Types and User Groups ............................................................................. 254
6.2.3 Authentication ...................................................................................................... 256
4.14 Summary ................................................................................................................................. 210
6.2.4 Authorization ......................................................................................................... 261
6.3 Data Privacy and Protection ........................................................................................... 268
6.3.1 Data Masking ......................................................................................................... 268
5 Advanced Analytics 213 6.3.2 Data Anonymization ........................................................................................... 270
6.3.3 Encryption ............................................................................................................... 271
5.1 Roles and Tools ..................................................................................................................... 215 6.4 Auditing ................................................................................................................................... 278
5.1.1 The SAP HANA Data Scientist .......................................................................... 215
6.5 SAP HANA XS Security ....................................................................................................... 281
5.1.2 Tools ......................................................................................................................... 215
6.6 Additional Security Considerations and Concerns ............................................... 281
5.2 Predictive Analytics and Machine Learning ............................................................ 218
5.2.1 Application Function Library ............................................................................ 220 6.7 Summary ................................................................................................................................. 282
5.2.2 Predictive Analysis Library ................................................................................. 220
5.2.3 R Integration .......................................................................................................... 222
5.2.4 External Machine Learning Library ................................................................ 225
5.2.5 Automated Predictive Library .......................................................................... 227

10 11
Contents Contents

7 Data Integration 285 8.3.2 Scale-Up ................................................................................................................... 316


8.3.3 Scale-Out ................................................................................................................. 317
8.3.4 Configuring Scale-Out Systems ....................................................................... 318
7.1 Roles and Tools ..................................................................................................................... 286
8.3.5 Scale-Out for SAP HANA XS Advanced .......................................................... 319
7.1.1 The SAP HANA Data Integration Architect .................................................. 286
7.1.2 Tools ......................................................................................................................... 287 8.4 Data Tiering ............................................................................................................................ 320
8.4.1 Persistent Memory ............................................................................................... 321
7.2 SAP HANA Data Management Suite ........................................................................... 287
8.4.2 SAP HANA Native Storage Extension ............................................................. 321
7.2.1 SAP Data Hub ........................................................................................................ 288
8.4.3 SAP HANA Extension Nodes .............................................................................. 322
7.2.2 SAP Enterprise Architecture Designer ........................................................... 291
8.4.4 SAP HANA Dynamic Tiering .............................................................................. 323
7.2.3 SAP Cloud Platform Big Data Services .......................................................... 291
8.4.5 SAP Data Hub and the Spark Controller ....................................................... 325
7.3 Enterprise Information Management ........................................................................ 291
8.5 Data Distribution ................................................................................................................. 326
7.3.1 SAP HANA Smart Data Integration and SAP HANA Smart
8.5.1 Table Partitioning ................................................................................................. 326
Data Quality ........................................................................................................... 292
8.5.2 Table Placement and Distribution .................................................................. 329
7.3.2 SAP Data Services ................................................................................................. 295
8.5.3 Table Replication .................................................................................................. 330
7.3.3 SAP Agile Data Preparation .............................................................................. 296
8.6 SAP HANA Data Warehousing Foundation .............................................................. 331
7.4 Data Federation with SAP HANA Smart Data Access .......................................... 297
8.6.1 Data Distribution Optimizer ............................................................................. 332
7.5 Remote Data Synchronization ...................................................................................... 298 8.6.2 Data Lifecycle Manager ...................................................................................... 333
7.6 Data Replication .................................................................................................................. 300 8.6.3 Native Datastore Objects ................................................................................... 333
7.6.1 SAP Landscape Transformation Replication Server .................................. 300 8.7 Summary ................................................................................................................................. 335
7.6.2 SAP Replication Server ........................................................................................ 302
7.7 Big Data ................................................................................................................................... 303
7.7.1 SAP Vora .................................................................................................................. 304
9 Data Center Architecture 337
7.7.2 SAP HANA Hadoop Integration ....................................................................... 305
7.8 Summary ................................................................................................................................. 306 9.1 Roles and Tools ..................................................................................................................... 338
9.1.1 The SAP HANA Data Center Architect ........................................................... 338
9.1.2 Tools .......................................................................................................................... 339
8 Data Architecture 309 9.2 Implementation Overview .............................................................................................. 340
9.2.1 Sizing SAP HANA ................................................................................................... 340
8.1 Roles and Tools ..................................................................................................................... 310 9.2.2 Implementation Partners .................................................................................. 342
8.1.1 The SAP HANA Data Architect ......................................................................... 310 9.3 Deployment Options .......................................................................................................... 344
8.1.2 Tools ......................................................................................................................... 310 9.3.1 Hybrid and Multicloud ........................................................................................ 344
8.2 SAP Enterprise Architecture Designer ........................................................................ 311 9.3.2 Single-Host and Distributed Systems ............................................................ 344
9.3.3 Technical Deployments (MCOS and MCOD) ............................................... 345
8.3 Scaling SAP HANA ............................................................................................................... 314
9.3.4 Tenant Databases ................................................................................................ 347
8.3.1 Distributed Systems ............................................................................................ 315
9.3.5 Virtualization ......................................................................................................... 348

12 13
Contents Contents

7 Data Integration 285 8.3.2 Scale-Up ................................................................................................................... 316


8.3.3 Scale-Out ................................................................................................................. 317
8.3.4 Configuring Scale-Out Systems ....................................................................... 318
7.1 Roles and Tools ..................................................................................................................... 286
8.3.5 Scale-Out for SAP HANA XS Advanced .......................................................... 319
7.1.1 The SAP HANA Data Integration Architect .................................................. 286
7.1.2 Tools ......................................................................................................................... 287 8.4 Data Tiering ............................................................................................................................ 320
8.4.1 Persistent Memory ............................................................................................... 321
7.2 SAP HANA Data Management Suite ........................................................................... 287
8.4.2 SAP HANA Native Storage Extension ............................................................. 321
7.2.1 SAP Data Hub ........................................................................................................ 288
8.4.3 SAP HANA Extension Nodes .............................................................................. 322
7.2.2 SAP Enterprise Architecture Designer ........................................................... 291
8.4.4 SAP HANA Dynamic Tiering .............................................................................. 323
7.2.3 SAP Cloud Platform Big Data Services .......................................................... 291
8.4.5 SAP Data Hub and the Spark Controller ....................................................... 325
7.3 Enterprise Information Management ........................................................................ 291
8.5 Data Distribution ................................................................................................................. 326
7.3.1 SAP HANA Smart Data Integration and SAP HANA Smart
8.5.1 Table Partitioning ................................................................................................. 326
Data Quality ........................................................................................................... 292
8.5.2 Table Placement and Distribution .................................................................. 329
7.3.2 SAP Data Services ................................................................................................. 295
8.5.3 Table Replication .................................................................................................. 330
7.3.3 SAP Agile Data Preparation .............................................................................. 296
8.6 SAP HANA Data Warehousing Foundation .............................................................. 331
7.4 Data Federation with SAP HANA Smart Data Access .......................................... 297
8.6.1 Data Distribution Optimizer ............................................................................. 332
7.5 Remote Data Synchronization ...................................................................................... 298 8.6.2 Data Lifecycle Manager ...................................................................................... 333
7.6 Data Replication .................................................................................................................. 300 8.6.3 Native Datastore Objects ................................................................................... 333
7.6.1 SAP Landscape Transformation Replication Server .................................. 300 8.7 Summary ................................................................................................................................. 335
7.6.2 SAP Replication Server ........................................................................................ 302
7.7 Big Data ................................................................................................................................... 303
7.7.1 SAP Vora .................................................................................................................. 304
9 Data Center Architecture 337
7.7.2 SAP HANA Hadoop Integration ....................................................................... 305
7.8 Summary ................................................................................................................................. 306 9.1 Roles and Tools ..................................................................................................................... 338
9.1.1 The SAP HANA Data Center Architect ........................................................... 338
9.1.2 Tools .......................................................................................................................... 339
8 Data Architecture 309 9.2 Implementation Overview .............................................................................................. 340
9.2.1 Sizing SAP HANA ................................................................................................... 340
8.1 Roles and Tools ..................................................................................................................... 310 9.2.2 Implementation Partners .................................................................................. 342
8.1.1 The SAP HANA Data Architect ......................................................................... 310 9.3 Deployment Options .......................................................................................................... 344
8.1.2 Tools ......................................................................................................................... 310 9.3.1 Hybrid and Multicloud ........................................................................................ 344
8.2 SAP Enterprise Architecture Designer ........................................................................ 311 9.3.2 Single-Host and Distributed Systems ............................................................ 344
9.3.3 Technical Deployments (MCOS and MCOD) ............................................... 345
8.3 Scaling SAP HANA ............................................................................................................... 314
9.3.4 Tenant Databases ................................................................................................ 347
8.3.1 Distributed Systems ............................................................................................ 315
9.3.5 Virtualization ......................................................................................................... 348

12 13
Contents Contents

9.4 On-Premise SAP HANA ..................................................................................................... 350 10 Training and Support 381
9.4.1 Appliance ................................................................................................................ 350
9.4.2 Tailored Data Center Integration ................................................................... 351
10.1 Training .................................................................................................................................... 381
9.5 Hardware Technologies ................................................................................................... 352 10.1.1 SAP Education ........................................................................................................ 382
9.5.1 Intel Optane Persistent Memory .................................................................... 353 10.1.2 openHPI and openSAP ........................................................................................ 391
9.5.2 IBM Power Systems ............................................................................................. 355 10.1.3 SAP HANA Academy ............................................................................................ 396
9.6 Operating System Platforms .......................................................................................... 356 10.1.4 SAP Developer Center ......................................................................................... 399
9.6.1 SUSE .......................................................................................................................... 357 10.2 SAP Services and Support ................................................................................................. 400
9.6.2 Red Hat .................................................................................................................... 358 10.2.1 SAP Digital Business Services ........................................................................... 401
9.7 Infrastructure-as-a-Service Providers ........................................................................ 360 10.2.2 SAP Support ............................................................................................................ 401
9.7.1 Amazon Web Services ........................................................................................ 360 10.2.3 SAP Help Portal ...................................................................................................... 405
9.7.2 Microsoft Azure .................................................................................................... 362 10.2.4 SAP ONE Support Launchpad ........................................................................... 408
9.7.3 Google Cloud Platform ....................................................................................... 362 10.3 SAP Community .................................................................................................................... 411
9.7.4 Public Cloud Providers ........................................................................................ 364
10.4 SAP Events .............................................................................................................................. 413
9.8 Migration ................................................................................................................................ 364 10.4.1 SAPPHIRE NOW ..................................................................................................... 413
9.8.1 AnyDB to SAP HANA ............................................................................................ 365 10.4.2 SAP TechEd .............................................................................................................. 413
9.8.2 Software Update Manager Database Migration Option ........................ 366 10.4.3 CodeJams and SAP Inside Track ....................................................................... 415
9.8.3 Custom Applications ........................................................................................... 367 10.4.4 SAP HANA Operation Expert and Developer Summit .............................. 415
9.8.4 Third-Party Applications .................................................................................... 368
10.5 User Groups, Alliances, and More ................................................................................ 416
9.9 High Availability and Disaster Recovery ................................................................... 368 10.5.1 SAP User Groups ................................................................................................... 416
9.10 System Replication ............................................................................................................. 371 10.5.2 Customer Engagement Initiatives .................................................................. 417
9.10.1 Configuration ........................................................................................................ 371 10.5.3 SAP University Alliances and SAP HANA Database Campus .................. 417
9.10.2 Multitier and Multitarget .................................................................................. 372 10.5.4 HanaHaus and the Innovation Center Network ........................................ 418
9.10.3 Active/Active Read-Enabled System Replication ....................................... 373 10.5.5 SAPinsider Magazine and Conferences ......................................................... 418

9.11 Network Administration and Landscape Management .................................... 374 10.6 Summary ................................................................................................................................. 419
9.11.1 Network Administration ................................................................................... 375
9.11.2 SAP Landscape Management ........................................................................... 376
9.11.3 SAP Solution Manager ........................................................................................ 378 The Author ............................................................................................................................................. 421
9.12 Summary ................................................................................................................................. 379 Index ........................................................................................................................................................ 423

14 15
Contents Contents

9.4 On-Premise SAP HANA ..................................................................................................... 350 10 Training and Support 381
9.4.1 Appliance ................................................................................................................ 350
9.4.2 Tailored Data Center Integration ................................................................... 351
10.1 Training .................................................................................................................................... 381
9.5 Hardware Technologies ................................................................................................... 352 10.1.1 SAP Education ........................................................................................................ 382
9.5.1 Intel Optane Persistent Memory .................................................................... 353 10.1.2 openHPI and openSAP ........................................................................................ 391
9.5.2 IBM Power Systems ............................................................................................. 355 10.1.3 SAP HANA Academy ............................................................................................ 396
9.6 Operating System Platforms .......................................................................................... 356 10.1.4 SAP Developer Center ......................................................................................... 399
9.6.1 SUSE .......................................................................................................................... 357 10.2 SAP Services and Support ................................................................................................. 400
9.6.2 Red Hat .................................................................................................................... 358 10.2.1 SAP Digital Business Services ........................................................................... 401
9.7 Infrastructure-as-a-Service Providers ........................................................................ 360 10.2.2 SAP Support ............................................................................................................ 401
9.7.1 Amazon Web Services ........................................................................................ 360 10.2.3 SAP Help Portal ...................................................................................................... 405
9.7.2 Microsoft Azure .................................................................................................... 362 10.2.4 SAP ONE Support Launchpad ........................................................................... 408
9.7.3 Google Cloud Platform ....................................................................................... 362 10.3 SAP Community .................................................................................................................... 411
9.7.4 Public Cloud Providers ........................................................................................ 364
10.4 SAP Events .............................................................................................................................. 413
9.8 Migration ................................................................................................................................ 364 10.4.1 SAPPHIRE NOW ..................................................................................................... 413
9.8.1 AnyDB to SAP HANA ............................................................................................ 365 10.4.2 SAP TechEd .............................................................................................................. 413
9.8.2 Software Update Manager Database Migration Option ........................ 366 10.4.3 CodeJams and SAP Inside Track ....................................................................... 415
9.8.3 Custom Applications ........................................................................................... 367 10.4.4 SAP HANA Operation Expert and Developer Summit .............................. 415
9.8.4 Third-Party Applications .................................................................................... 368
10.5 User Groups, Alliances, and More ................................................................................ 416
9.9 High Availability and Disaster Recovery ................................................................... 368 10.5.1 SAP User Groups ................................................................................................... 416
9.10 System Replication ............................................................................................................. 371 10.5.2 Customer Engagement Initiatives .................................................................. 417
9.10.1 Configuration ........................................................................................................ 371 10.5.3 SAP University Alliances and SAP HANA Database Campus .................. 417
9.10.2 Multitier and Multitarget .................................................................................. 372 10.5.4 HanaHaus and the Innovation Center Network ........................................ 418
9.10.3 Active/Active Read-Enabled System Replication ....................................... 373 10.5.5 SAPinsider Magazine and Conferences ......................................................... 418

9.11 Network Administration and Landscape Management .................................... 374 10.6 Summary ................................................................................................................................. 419
9.11.1 Network Administration ................................................................................... 375
9.11.2 SAP Landscape Management ........................................................................... 376
9.11.3 SAP Solution Manager ........................................................................................ 378 The Author ............................................................................................................................................. 421
9.12 Summary ................................................................................................................................. 379 Index ........................................................................................................................................................ 423

14 15
Preface

Welcome to this introduction to SAP HANA. Since its fi rst release as an in-memory
compute engine in 2010, SAP HANA has quickly evolved into SAP's flagship product.
In fact, SAP HANA created a whole new product category, defined by the industry
analyst firm Gartner as hybrid transaction/analytical processing (HTAP) or as translyt-
ical by its competitor Forrester. Next-generation database, NewDB, and hybrid data-
base (HDB) were some of the names used internally at SAP before Vishal Sikka, SAP's
chief technology officer (CTO) at the time, decided to call the new technology after its
founder : "HAsso's New Architecture" {HANA} (we'll get into th is story in Chapter 1).
With in a few years, the SAP HANA database evolved into a complete in-memory plat-
form with its own built-in application server, text analytics, application and business
functions, predictive analysis, big data and Internet of Things (IoT) connectors, spa-
tial processing, a graph database, and much more.
Although SAP no longer presents itself as the cloud company powered by HANA- the
tagline has evolved into the experience company powered by the intelligent enter-
prise- the in-memory platform is still at the core of its products. From SAP S/4HANA,
to the SAP HANA Data Management Suite, to the SAP Cloud Platform- all is "po\',rered
by HANA." To further democratize in-memory computing, SAP HANA is now being
optimized (at the time of writing, summer 2019) to ru n in the cloud as SAP HANA
Cloud Services.

Who Should Read This Book?


Nearly ten years of innovation has resulted in an overwhelming number of features
and functions, acronyms, editions, product names, technologies, and terminology.
Even at SAP, employees have had trouble distinguishing the SAP HANA Enterprise
Cloud (referred to as HEC) from the previously named HANA Cloud Platform (referred
to as HCP). There is a single SAP HANA service, b ut there are two environments. The
platform supports three different types of replication technology: trigger-based repli-
cation; log-based replication ; and extract, transform, and load (ETL). SAP HANA smart
data streaming (SDS, now SAP HANA, streaming analytics}; SAP HANA smart data
access (SDA, using federation technology); SAP HANA smart data integration (SDI)
with SAP HANA smart data quality (SDQ) for ETL; and smart data tiering {SAP HANA
dynamic tiering) are all available, but how do these smart technologies relate to the

17
Preface

intelligent enterprise? What are the differences between SAP HANA extended applica-
tion services, classic model (SAP HANA XS), and SAP HANA extended application ser-
vices, advanced model (SAP HANA XS Advanced)? What is CDS, short for core data
services, and do we mean CDS for SAP HANA or CDS for ASAP? Those are two different
flavors, but it could also reference Core Data and Services vvhen used in the SAP Cloud
Application Programming Model.
Sounds confusing? If you'd like to get a grip on the SAP HANA technology and its
related product names, acronyms, and marketing lingo, this book is for you. By the
time you finish reading this book, we promise the previous paragraph will be per-
fectly clear. While we v.ron't go down to the code level, we will open the box, flip it
around, give it a good shake, and get to know SAP HANA inside out.

How This Book is Organized


For readers completely nevv to the topic, you'll appreciate the key business benefits
and capabilities we'll describe in Chapter I and the technology overview we provide
in Chapter 2. In Chapters 3 to 9, we'll introduce the different SAP HANA personas.
We'll wrap up the book in the final chapter with options for training and support.

Personas
Software product managers use personas to represent the different ways people use
a product. The administrator, for example, is responsible for operations: monitoring
performance, making backups, provisioning new users. The developer writes code in
an integrated development environment (IDE). The job roles, responsibilities, and
tools used typically are quite different for each persona, although in some cases over-
lap may occur, for example, with DevOps (we'll cover all the terminology and con-
cepts throughout the book). In smaller organizations, the data integration architect
persona and the administrator persona might be the same person and simply repre-
sent a different hat that he or she puts on depending on the task at hand. In larger
organizations, security architects and data center operations may work in separate
teams, perhaps even housed in different buildings, with strictly defined responsibili-
ties.
The SAP HANA platform is comprehensive. The platform's documentation covers
well over 10,000 pages (not counting the cloud edition). Using personas helps us to
divide functionalities and responsibilities up since the roles typically are quite

18
Preface

distinct. In addition, using personas also safeguards against the constant change
inherent in the software industry. By the time this book is in the online store, new
featu res will have been added, product names may have been changed (again), and
older components may no longer be supported. What's unlikely to change any time
soon, however, are the roles of developers and administrators. Sure, the focus may be
on machine learning this year where it was IoT last, but overall, personas are a safe
bet.
Who, then, are the main protagonists of our story?

Chapter Overview
Our introduction to SAP HANA will proceed as follows:
• Chapter I: Introduction
We'll start off with the project manager, a general stakeholder that could be any-
one involved at a high level with the SAP HANA project but without any specific
technical involvement. Since Chapter 1 is about business, we'll be brief and get to
the point quickly. We'll explain what SAP HANA is; what its key capabilities are
(covering application development, advanced analytical processing, data manage-
ment and database management); and what its key benefits are. We'll look at cus-
tomer stories and use cases and listen to industry analysts. When you run a
business, you'll want to know about the road ahead and other aspects of the deal,
which we'll address in our discussion of road maps, licensing, and maintenance.
• Chapter 2: Technology Overview
In Chapter 2, we'll provide an overview of the technology, which will require a bit
more space. In this chapter, we'll cover in-memory database concepts; system
architectures (services and processes, memory and persistence, distributed sys-
tems, data tiering); editions; and deployment options (on-premise, cloud, hybrid).
While perhaps the most important chapter, if you're completely new to SAP
HANA, you might be a little ovenvhelmed by all the product names and technolo-
gies. Our advice is to do a quick read the first time, not necessarily making a full
stop at every acronym, then get to know the personas and optionally return to the
chapter again later. However, a clear picture of the SAP HANA architecture and its
evolution will help you understand how all the pieces fit together. Even if you
won't have a technical role, you'll need to communicate and relate to the work of
the different SAP HANA personas, and this chapter will give you a solid foundation
in that vocabulary.

19
Preface

• Chapter 3: Administration
In Chapter 3, we'll meet our first persona: the SAP HANA administrator. We'll cover
hov.r this role is defined and what tools can be used. We'll cover both command
line interfaces (CLis); the GU!s; and browser-based tooling like workbenches, stu-
dios, and cockpits. You'll learn how to configure system parameters, analyze per-
formance and address resource management, and make backups and perform
recoveries. In this chapter, we'll also describe how to install and update compo-
nents and applications; what is called, in SAP HANA terminology, platform lifecy-
cle management and application lifecycle management. \IVe'll cover how to
administer the database, the application server, and the platform as a whole.
• Chapter 4: Application Development
With our system up and running, we can then turn our attention to the developer
persona. The SAP HANA developer persona has two profiles: the information mod-
eling profile and the application development profile. Both the information mod-
eler and the application developer will require a good understanding of SAP HANA
as a relational database; of SQL; and of SQLScript, the language extension to code
business logic. With SAP HANA extended application services (SAP HANA XS),
both classic and advanced, you'll have an application development platform
where you can use the SAP HANA Deployment Infrastructure (HDI} to turn arti-
facts into containerized runtime objects. If this sounds a bit abstract to you, don't
worry! We'll explain how this all works and loop in ABAP Managed Database Pro-
cedures (AMDP}, OData, Info rmation Access (InA), CDS, JSON document stores,
SAP HANA-as-a-service, and an enterprise SAP Cloud Platform-as-a-service. We'll
describe the available client interfaces, including the usual suspects ODBC and
JDBC, but also Python, Node.js, .NET, and others. We'll end the chapter with the SAP
HANA Interactive Education (SHINE} demo model and the SAP HANA, express edi-
t ion.
• Chapter 5: Advanced Analytics
Chapter 5 is about advanced analytics (advanced, because the SAP HANA modeler
already covers standard business analytics). The advanced analytics persona is
more often called today the data scientist. In this chapter, we'll address machine
learning and predictive analytics. and cover the Application Function Library
(AFL), the Business Function Library (BFL), the Predictive Analysis Library (PAL),
the External Machine Learning (EML) library, and the Automated Predictive
Library (APL). We'll explain how SAP HANA integrates with Rand with TensorFlow.
We'll describe spatial processing with SAP HANA, the built-in graph database,
(time) series data, text analytics. text search and text mining, and streaming ana-

20
Preface

lytics for complex event processing (CEP). Advanced analytics processing technol-
ogies are integrated with the platform and can interact directly with business
transactions but also with data, structu red and unstructured, from any external
source connected to SAP HANA. The processing technologies complement each
other, which provides a clear illu stration of the whole beyond the sum of its parts.
• Chapter 6: Security
We'll turn our attention to the security architect in Chapter 6. However, in prac-
tice, this role will rarely be limited to just SAP HANA and instead probably involves
other platforms like SAP NetWeaver and the applications running on them. The
security architect is responsible for designing a secure and compliant platform so
you can innovate with confidence. In Chapter 6, we'll cover user management,
roles and privileges, and authentication with the Lightweight Directory Access
Protocol (LDAP), the Security Assertion Markup Language (SAML), JSON web
tokens (J\l\l'fs), single sign-on (SSO). and Kerberos. We'll address encryption in-
flight and at-rest, certificates, root keys, public key infrastructures (PK!s), and
secure store in the file system (SSFS). We'll look at the auditing infrastructure and
also cover some SAP HANA-specific functionalities like data masking and data
anonymization.
• Chapter 7: Data Integrat ion
The role of the data integration architect is to design the data integration process
and map out how to connect SAP HANA to other data sources. As with the security
architect, the data integration architect's responsibilities are often part of a wider
role. Data integration is an important aspect of a position as an SAP HANA solu-
tion architect or as an enterprise architect. In Chapter 7, we'll cover the SAP HANA
Data Management Suite, enterprise information management (EIM) and ETL, data
integration and data quality, federation with SAP HANA smart data access (SDA),
and data synchronization with remote locations and mobile sources. We'll also
address in this chapter the different replication technologies an d how SAP HANA
connects and interacts with big data and IoT.
• Chapter 8: Data Architecture
The two most important topics in data architecture are da ta tiering and data distri-
bution. Data tiering is compared to temperature, with frequently accessed hot data,
warm data, and cold data. Data distribution is particularly relevant in multiple-
host, scale-out systems. Data tiering and data distribution are related, and the role
of the data architect is to provide the best design. If you need to scale ou t for capac-
ity or for reasons of availability (the domain of the data center architect), data place-
ment must be designed correctly. Data partitions must be properly distributed, and

21
Pref ace

tables must be logically related, and since they are often queried together, tables
must also be physically close to ach ieve the best performance.
• Chapter 9 : Data Cent er Arch itecture
The data center architect is responsible for fitting SAP HANA into the corporate IT
infrastructure (or landscape, as often called in SAP terminology). Of course, this
task also involves secu rity. data integration. and data architecture, so you'll need
to collaborate closely '"'ith other departments. In Chapter 9 we look at sizing, tech-
nical deployment, virtualization, and tailored data center integration (TDI). The
data center architect must be familiar with the latest hardware innovations like
persistent memory. We'll describe different platform architectures, operating sys-
tems, and infrastructure-as-a-service (IaaS) providers (also known as hyperscalers)
and address migration and migration services, network administration, and land-
scape management. Business continuity, or if you prefer, h igh availability and
disaster recovery, should be an important concern for any data center architect.
We'll look at this topic in detail and inclu de SAP HANA system replication with
read-enabled, hot-standby systems.
• Chapter 10: Training and Support
We'll end our introduction to SAP HANA with a chapter about the many options
available for training and support. You'll learn about cou rses offered by SAP Edu-
cation as well as no- or low-cost options like openSAP, tutorials from the SAP Deve-
loper Center, and hands-on videos from the SAP HANA Academy on YouTube.
Concerning support, we'll cover the most important services related to SAP HANA
and address topics like how to get a license. search the knowledge base, or create
an incident report (su pport ticket). To conclude this chapter, we'll address oppor-
tunities to get together with your peers, virtually in an SAP Community or in real
life at conferences and meetups.

Text Boxes
To make the onboarding process smoother and more effective, we've created boxes
to focus your attention on specific themes: technology backgrounds, code snippets,
references for more information. relevant SAP Notes, and recommended tutorials.

22
Preface

Technology Background
In this box, we' ll provide context and background information about t he topic of the
paragraph. Although this book is an introduction, we have a lot of mat erial to cover,
and thus, fo r lack of space, we'll mostly dive st raight in with the assumption t hat the
reader is already fam iliar w ith topic. When we're using terminology in the paragraph
you aren't fam iliar w ith, you might want to read this section first.
In addition, these boxes may contain techn ica l f oot notes, under-the-hood perspec-
t ives, and similar topics.

Code Clinic
In this box, we'll provide code snippets to illust rat e th e topic, fo r example:

SELECT "Hello World!" FROM DUMMY;

Learn More
In t his box, you' ll find references to t he officia l documentat ion for the SAP HANA
platform on the SAP Help Portal, publicly (and freely) ava ilable to read and download
at https://help.sap.com/hana.
We may also include references to SAP Community in t his box.

SAP Notes
Know ledge base articles and SAP Notes are important sources of information. Offi-
ci al release notes are published as SAP Not es as are errata for the document ation.
Many notes have been written by SAP Support containing FAQs, how-to's, and ot her
relevant related information. If you're new to SAP technology, working with SAP
Notes can be a bit intimidat ing. The number is overwhelming and, at times, you
might get lost in a daisy chain of references. Guided Answers from SAP Support can
help you st ay on track. In t his book, we'l l only list the most relevant resources, while
the SAP Notes will take you further to additiona I refe rences.
A support account (S-user) is requ ired to access knowledge base articles on the SAP
ONE Support Launchpad.

23
Preface

Tutorials
Nothing beat s hands-on exercises when you want to learn new material. In this box,
you'll find additional references to t utorials available on t he SAP Developer Commu-
nity to get started. To continue, you can use the Tutorial Navigator to find many oth-
ers.

Acknowledgments and Dedication

If I'm not mistaken, I was introduced to SAP HANA in the summer of 2010. With my
colleagues of the SAP BusinessObjects demo team, we had just finished working on
Experience SAP World Cup Football (remember the vuvuzelas?) and had taken up
with the harbormaster at the KahZlvig Sailing Centre in Aarhus, Denmark, to work on
the next project, the SAP 505 World Sailing Championship (with Hasso Plattner par-
ticipating). We had brought with us a number of brand-new Apple iPad devices
(enterprise mobility was all the rage that year), and we were asked to start 'A'Orking
with the new SAP HANA appliance to replace the SAP Business Warehouse Accelera-
tor for SAP BusinessObjects Explorer. To be honest, I don't recall if we succeeded then
and there (a little bit challenged by the location). But soon enough we did, and sports
analytics was "powered by HANA".

Experience SAP
Watch former SAP co-CEO Jim Hagemann Snabe explain how you can use in-memory
computing for better decision-making while looking at beautiful vintage reports
made in SAP Crystal Reports from 2010 at http://s-prs.co/v488400.

A little later, our team switched from Innovation Marketing to Products and Innova-
tion, and we were challenged to come up with new ways to provide technical enable-
ment. implementation, and adoption support for SAP HANA. Inspired by the motto
of the Khan Academy- "free, world-class education for anyone, everywhere" - we set
out to create our own tutorial videos. Published first on the SAP Technology YouTube
channel and later to its own, t he SAP HANA Academy videos have been viewed over
8 million times.
Writing this book has provided the opportunity to continue this endeavor with the
challenge to distill a vast amount of information into a concise and comprehensive

24
Preface

introduction to the SAP HANA platform. I hope you'll enjoy this introduction to the
wonderful world of SAP HANA, and I would like to thank SAP PRESS and Megan Fuerst
in particular for making this book a reality.
A special thanks also to my colleagues from Experience SAP and the SAP HANA
Academy: Julie Blaufuss, Joe King, Jamie Wiseman, Tahir Hussain Bahar (a.k.a. Bob},
Philip Mugglestone, and Alexis Guinebertiere. In one shape or another, we've been
working together as a team since SAP HANA was still a university prototype. It has
been a privilege.
Bedankt to my partner Karin and to Carmen, Laetitia, and Sebastian (the Next-Gens).
Thank you for your understanding and support while I took on a second job for the
duration of this book.
Today, more than anything else, software shapes the \Vorld we live in. Without devel-
opers, there would be no software, so I would like to dedicate this book to the SAP
HANA development teams and product managers, past and present.

Sincerely,
Denys van Kempen

25
Chapter 1
Introduction
We basically defined the foundation of a radical system-the radical-
ity was no redundant data. Never store data twice... that was the start
of HANA.
- Dr. Hasso Plattner

HANA is for everyone.


-Cerrit Kazmaier

In this chapter, the shortest of all, we'll address you as a chief information officer
(CIO), who is too busy to deal with the fine print or the full pitch and just wants the
executive summary. What you'll get out of this chapter is a working definition of SAP
HANA; a list of its main characteristics, key benefits, use cases, and customer stories;
and a view of the road ahead. All in a nutshell, so you can get back to work quickly.
In this first chapter, we'll examine our subject, make a first acquaintance, and ask
some impolite questions. What are you? What benefits do you have? Ho'" can we use
you? To get a good view of what lies ahead, we'll look at the roadmap and listen to
what the industry analysts have to say. We'll also describe several deployment
options and consider release and maintenance strategies.

1.1 What Is SAP HANA?

A short answer to the question ''What is SAP HANA?" can be found in the SAP HANA
Master Guide, the guide used by IT professionals when planning an installation of
SAP HANA system landscapes:
"SAP HANA is a modern, in-memory database and platform that is deployable
on-premise or in the cloud."
Let's evaluate the first part of the phrase: SAP HANA is a modern, in-memory data-
base. Modern, because SAP HANA is being contrasted with the traditional disk-based

27
1 Introduction

database architecture. In the documentation, "SAP HANA" and "in-memory" are


synonyms. Although the HANA acronym once stood for "HAsso's New Architecture"
and fo r "High performance ANalytical Appliance", the product name SAP HANA
these days is no longer spelled out. For most, "SAP HANA" is just a byword for "in-
memory."
The second part of the phrase points out that SAP HANA is both a database and a plat-
form. SAP HANA processes transactions and analytics on a single system or, in other
words, performs both online transactional processing (OLTP) and online analytical
processing (OLAP). The "online" in OLTP and OLAP once expressed the novelty that
transactions occurred in real time and not with punch cards updating the system
overnight. Analytics, however, still requires special processing to get the data out of
the system of record and into multidimensional cubes. With SAP HANA, this special
processing is not required because it's a single database system, with a single data
copy.
SAP HANA is a platform because different technologies are integrated with the data-
base server. When you start up an SAP HANA system, you're also starting up an appli-
cation server. This functionality is built-in and promotes the concept of in-database
processing and keeping a single data copy. The application server provides both a
runtime and a development environment and is called SAP HANA extended applica-
tion services (SAP HANA XS). Besides database and application services, the platform
also includes a graph engine and a spatial engine; both are built-in as well and are
accessible through the same SQL interface used fo r transactions and analytics. Other
advanced analytics "capabilities," as features and functions are usually called, con-
cern the execution of predictive analytics and business functions, and the manipula-
tion of unstructured data (as opposed to structured relational data). To connect SAP
HANA with the outside world (and the outside world with SAP HANA), you'll rely on
integration services. These services provide connectivity to big data data sources,
Internet of Things (IoT) devices, and external R and machine learning engines, but
also address data replication, data quality, and data management needs in general.
Finally, SAP HANA is deployable on-premise or in the cloud (running anywhere, as
often expressed). The term "on-premise" refers to running the system in your own
corporate data center. In this case, you'll rely on certified hardware and certified engi-
neers to install and operate the platform. Deploying in the cloud refers to running
SAP HANA anywhere else. Many options are available (public and private cloud, man-
aged services, pay-as-you-go), 'Nith the latest offering being SAP HANA Cloud Ser-
vices.

28
1.1 What Is SAP HANA?

Learn More
For the SAP HANA M aster Guide and t he Feature Scope Descript ion for SAP HANA, see
the SAP HANA platform edit ion documentation on t he SAP Help Portal.
The SAP HA NA Master Guide is the guide SAP recommends as a starting point for on-
premise installations. The Feature Scope Descript ion for SAP HANA is a more recent
guide and documents, for each of t he services (database, integration, application)
and all the options, exactly what is included.

The characteristics of SAP HANA we mentioned earlier- as database and as platform,


in-memory, on-premise and cloud-are typically presented as shown in Figure 1.1.

SAP HANA
On-Premise I Hybrid I Cloud

In-Memory I Multicore

Advanced Ana lytics

~6d
Integration App lication
Predictive
Services Spatial Services
Streaming
Graph
Replication or
Virtualization Search
<J C> Seri es
Develop and
Run Applications

Any Data Source Text t> \/ ~ Machine


Learning
One Data Copy

Database Services

Figure 1.1 Characteristics of SAP HANA

Different diagrams have existed over time, and by the time you read this book, this
version may well have changed. However, the main ingredients are likely to remain
the same. In the illustration we find the follovving:
• SAP HANA is a business data platform.
• SAP HANA is available for on-premise, cloud, and hybrid deployments.
• A single data copy, combining OLTP and OLAP, all in-memory.
• The database services at the core are surrounded by different types of analytical
processing technologies.

29
1 Introduction

• You can connect SAP HANA to any data source using data integration and data
quality services for provisioning.
• Application services make the platform accessible to custom, SAP, and third-party
applications.
• SAP HANA features in-memory computing and real-time analytics.

1.2 Key Capabilities


Now that we've formulated some concise answers to the question "What is SAP
HANA?'', let's examine our subject briefly from the four main angles: application
development, analytical processing, data management, and database management.

1.2.1 Application Development


After the mainframes and dumb terminals of the early days in computer science his-
tory, the 1980s brought us a personal computer on every (office) desktop. In software
architecture, in this two-tier model both the client (presentation) and the server (data
storage) are running part of the application (business) logic. Internet technologies of
the 1990s introduced the three-tier model. Applications no longer required a full cli-
ent; now a browser sufficed. Except maybe for a bit of JavaScript, almost all logic was
moved to the (web) application server. For various reasons, the same thing happened
on the side of the data tier, and although great software has been made using this
framework, by putting the brain in the middle, the database was downgraded to a
mere datastore (or a data dump, some would say).
Imagine an office where all the data resides in the basement. To process each busi-
ness rule, clerks would need to request information from the people downstairs, who
might need to locate a box jam-packed full of records and drag it upstairs. The clerk
might pick out an order or t\.YO, ignoring the rest. and then make a change, sending
the poor database guy back down to the basement to safely return the records to stor-
age. That's three-tier data processing at its worst: slow and inefficient. Storage on disk
makes data access slow. To mitigate this problem, developers have been tempted to
load as much data as possible into the middle tier (SELECT*} for caching and process-
ing. However, this approach to keeping end users satisfied vvith the response times
resulted in a lot of wasted resources.
Figure 1.2 shows these multitier architectures alongside SAP HANA.

30
1.2 Key Capabilities

......
Q il!Ji
. ...... . Q Q
Presentation Presentation Presentation
Business Logic

-- 111111

--
- -
- Control Flow Logic

-
......
il!Jl
111111
Business Logic
-- -~Iii~- ••••••

....--·-
......
~
~

-·-
Business Logic
-·- ••••••
Calculation Logic
Datastore Data store Data store

2-Tier 3-Tier SAP HANA

Figure 1.2 Multitier Architecture

On the SAP HANA platform, code pushdown dictates that, whenever possible, busi-
ness rule processing should occur inside the database. As a result, SAP HANA not only
puts the clerk next to the records (in-database processing) but also, one could say,
puts the records inside the clerk (in-memory database). In other words, not only is
the calculation (business) logic executed on the data tier but now also the entire data
tier is stored in-memory. In this way, with the data and the processing logic located
closely to the processing units, response times can be orders of magnitude faster.

1.2.2 Advanced Analytical Processing


Advanced analytical processing adds additional capabilities to the database. In a
more traditional architecture, these technologies usually reside either on the applica-
tion server tier or on another system all together. With SAP HANA, these technolo-
gies are all integrated on a single platform. SAP HANA includes a spatial engine, for
example, which enables you to perform all geospatial processing in-memory as well
as enrich transactions with geospatial data for advanced analysis. You don't need to
manage a separate spatial database, and you won't need to integrate this database
with your analysis environment (or maybe even with your system of record). This
spatial engine is built-in, integrated, and runs in-memory. With an in-memory data-
base, not only has slow disk access during processing been eliminated, the technol-
ogy can benefit from massively parallel multicore processing (MPP) computing
resources available to the platform.

31
1 Introduction

The same applies to graph processing. In a graph database. the data resides in nodes,
and relationships are formed in edges {nodes, edges, and other graph-specific tech-
nologies are covered in Chapter 5). That's how Facebook, Amazon, or Netflix make
suggestions about whom to make friends with and what to buy or watch next. On the
SAP HANA platform, again, you can perform graph processing in-memory and com-
bine it with business transactions. In addition. you can also combine graph with spa-
tial processing and business transactions, and vice versa.
Predictive analytics uses algorithms to make educated guesses about the fut ure. As
forward-looking as this sounds, predictive analytics goes back to the dawn of the
computer age and includes all sorts of statistical techniques from data mining and
other fields. Today, the technology is again in the limelight for machine learning and
artificial intelligence (Al), used everywhere, including healthcare, marketing, logis-
tics, social networking. and financial services. You can run a wide range of predictive
algorithms on the SAP HANA platform, bundled in the Predictive Analysis Library
(PAL), either on its own or combined with spatial and graph processing. These algo-
rithms are executed as an application function, which you can think of as a database-
stored procedure written in a more sophisticated programming language to handle
the required complex computations. Besides the application functions used by pre-
dictive analytics, SAP HANA also supports many business functions like depreca-
tions, forecasts, net present value, and other commonly used functions by SAP
business applications. The same application function technology is also imple-
mented to execute machine learning TensorFlow functions.
Another technology integrated with the platform is event stream processing, also
known as complex event processing (CEP) in more general terms. For SAP HANA, this
capability is called SAP HANA streaming analytics and is used to manage. for example,
the data generated by Internet of Things {loT) devices. Series data processing can be
used for time series analysis and forecasting. For text search. analysis. and mining on
structured and unstructured data, text analytics processing is included with the plat-
fo rm.
We'll explore all these technologies in more detail in Chapter 5, but for now, v.re'd
like you to appreciate how the whole is greater than the sum of its parts. Not only
can you enrich your business data with each of these analytic processing technolo-
gies on the SAP HANA platform, but you can also combine technologies and match
event streams with spatial data or graph processing with predictive analysis. You
won't need to manage separate environments since all these technologies run "in-
memory" on a multicore computing platform.

32
1.2 Key Capabilities

1.2.3 Data Management


What about big data? We know that the scale of big data is a moving target. By the
time we can store petabytes in memory, data volumes will have grown to exabytes,
zettabytes, yottabytes, and even onwards. Thus, for SAP HANA, the objective is not to
store all data in-memory, but to provide connectivity and intelligent processing.
With data virtualization services, you can connect the platform to data sources that
are too large (data lakes) or too ephemeral (data streams) to store in-memory. SAP
HANA smart data access {SDA) enables you to create virtual tables in the database and
use the metadata to join remote sources to local database objects while the actual
data remains in the place it is stored.
If some of your data needs to be replicated, the SAP HANA platform offers enterprise
information management (EIM) technologies to facilitate data integration and en-
hance data quality. For data provisioning- that is, the whole process of making data
available to users and applications - to be properly managed and secured, d ifferent
replication technologies are available to bring data from any source into the plat-
form. For SAP data sources, you can use SAP Landscape Transformation Replication
Server. For data sources that require additional processing, for example, to merge
different data sources, also known as extract, transform, and load (ETL), you can use
SAP HANA smart data integration (SDI). The third option is SAP Replication Server,
which performs replication at the database log level. This option provides great per-
formance even for large volumes. Data replication and integration is the topic of
Chapter 7.

1.2.4 Database Management


Focusing now on the core database management layer, note that SAP HANA as a data-
base contains both columnar and row (and object) storage; in other words, SAP HANA
is a hybrid database. High compression rates on column store tables, together with
the elimination of redundant data structures (aggregates) and the exclusion of busi-
ness data that is no longer "actual," enable you to put entire enterprise datasets in-
memory. To make this capability affordable and efficient, SAP HANA uses different
data tiering technologies (persistent storage, native storage extensions, extended
storage) to separate frequently accessed "hot" data from "warm" an d even "cold"
data; only the most relevant data is kept in-memory. We'll dive into this topic in
Chapter 2.

33
1 Introduction

SAP HANA runs on the latest processor architectures. which powers the performance
of the in-memory database. The latest certified Intel Xeon Platinum 8280 processor
(Cascade Lake), for example, contains 28 cores, and configurations of up to 32 proces-
sors are supported. 896 processor cores enable some serious MPP. Non-uniform
memory access (NUMA)-awareness and single instruction multiple data (SIMD) sup-
port enhanced MPP.
Not comfortable with the terminology? No problem-we'll cover hardware topics in
Chapter 9 together with other concepts like multitenancy, for example, which pro-
vides the agility for virtualization and cloud-enablement. The SAP HANA platform
offers a choice between different hard•vare and software technologies for on-premise
deployments. SAP HANA also supports different infrastructure service providers in
case of cloud deployments (or any hybrid approach). High availability and disaster
recovery capabilities deliver the req uired business continuity, which will also be cov-
ered Chapter 9.

1.3 Key Benefits

Now that you've seen how SAP defines SAP HANA and we've addressed some of its
characteristics, let's look at the key benefits. Tech nically, how SAP HANA is defined
and described has changed little over time. For sure, with each release adding many
new features and functionality enhancements, the platform matures (in addition to
the inevitable fixes and corrections, just as important but commercially a more deli-
cate topic). If we consider, for example, the high availability and disaster recovery
support provided by SAP HANA system replication today (circa 2019, the time of writ-
ing), this feature is almost unrecognizable compared to how it was initially imple-
mented from a technical point of view. Yet, from a commercial point of view, as a
beneficial characteristic providing business continuity, system replication has not
changed.
How SAP HANA is marketed, thus, is another story. Its business benefits reflect the
concerns of the day. For any product to be successful in the long run, it needs to move
with the tide. When big data was the mot du jour, functionality in this domain V1ras
obviously highlighted. vVhen next the oohs and aahs were directed to the IoT, SAP
HANA was put on stage. In 2019, at the time of this writing, the buzzwords are AI and
machine learning, and no doubt, by the time you're reading this book, there will be a
new kid on the block. The only constant is change. In this context, we'll briefly

34
1.3 Key Benefits

describe the key business benefits as currently identified and highlighted in solution
briefs and other marketing material.

1.3.1 Reduce Complexity


Since 2010, SAP's ad campaigns have gone from "Run Better" to "Run Simple" to "Run
Live" to "the Best Run" and, more recently, to the "Intelligent Enterprise." Reducing
complexity was a recurring theme in all of these campaigns. We'll explore the techni-
cal side in more detail in Chapter 2, but from the outset, SAP HANA was designed to
simplify the enterprise landscape. By leveraging currently available hardware tech-
nology, multicore processors, and large memory configurations on the one hand and
keeping just the raw data on the other. all enterprise data could be stored in-memory.
With a single data copy, there's no need to maintain complex IT landscapes with sep-
arate systems to provide the necessary ETL technology to replicate transactional data
to enterprise data warehouses (EDW) for business intelligence (BI) and analytics.
You'll see in Chapter 2, when we discuss sizing systems for SAP HANA, that the
removal of aggregates and other superfluous data structures can significantly reduce
data volume. Compressed and stored in memory, calculations can now be made on-
the-fly on raw transactional data for real-time analytics, not on the stale numbers
from intermittent data replications.
Real-time analytics, combining OLTP and OLAP, as mentioned earlier, is a character-
istic feature of the SAP HANA database. A single database with one data copy provides
a less complex IT landscape than a transactional system combined with one or more
data warehouses plus an ETL factory in between. Landscape complexity is further
reduced when you consider SAP HANA as a platform. Application services, support-
ing applications developed to be "powered by HANA", no longer require the tradi-
tional three-tier stack. Business logic processing now mainly takes place inside the
database, not on a separate system connected with a dedicated pipeline to the data-
base to pump all the data back and forth. For business rule processing, SAP HANA
uses not only database-stored procedures written in SQLScript, a proprietary proce-
dural SQL language extension similar to other database programming languages, but
also uses application and business functions. These functions contain complex and
performance-critical algorithms written in a more low-level programming language
and are linked dynamically to the database kernel. We'll describe these functions in
Chapter 5.

35
1 Introduction

To continue the argument, besides application services and an application develop-


ment environment to both build and run applications, the SAP HANA platform also
provides several different types of analytical processing engines (introduced in Sec-
tion 1.2.2). Normally, these engines would each require separate hardware and addi-
tional system management operations. With SAP HANA, spatial, graph, series, and
text processing engines as well as predictive analytics and streaming analytics are all
integrated with the platform, and by "integrated," we mean that the technology is
built-in. Except for streaming analytics, these engines can't be removed and come
included with the platform.
All these advanced analytics processing technologies (standard analytics is a core
database feature) benefit from in-memory processing. They execute on the data
without the need for data replication or for plumbing to connect these services to
interact with operational business transactions. And we mentioned earlier but vvant
to stress. these technologies also complement each other. You can enrich IoT stream-
ing data vvith spatial data and use this as input for predictive analytics. Or, you can
combine text analysis with predictive analytics and the graph engine.
The result of less complexity is a lower total cost of ownership (TCO), the standard
business benefit qualifier. Although using the latest processor technology and large
memory configurations won't come cheap, many hardware and cloud infrastructure
partners are competing with certified SAP HANA configurations. This does provide
some interesting offers and certainly enough choice. The alternative, a more tradi-
tional BI landscape with a multitude of systems, also requires a considerable amount
of hardware (although '.Ve do find a lot more commodity systems here). However,
when you factor in IT; the operations needed to keep the traditional BI system land-
scape up and running; all the ETL gears greased to support the data flow from system
of record to EDW, data marts, and BI. the total picture looks quite different, and for
this reason, simplification (or reduced complexity, if you prefer) with the associated
reduced overall spend has been heralded as a key SAP HANA business benefit.

1.3.2 Run Anywhere


Next to a lower TCO, the second item on the CIO wish list is agility, that is, being quick
to adapt to changing circumstances. For SAP HANA, this requirement is fulfilled with
a range of deployment options. We'll address the SAP HANA hardware directory in
Chapter 9 when we dive into the topic of data center architecture, but as a sneak pre-
view, let's just mention that over 1,000 certified configurations are available from 13

36
1.3 Key Benefits

different hardware partners. most of them household names. For cloud deploy-
ments, certified infrastructure-as-a-service (IaaS) platforms are offered by all the
major global vendors and some regional ones to boot. You can deploy SAP HANA as
an appliance-that's how it all got started, with preconfigured hardware and software
engineered to work together- or opt for a more DIY approach: tailored data center
integration (TOI), relying on certified configurations and certified engineers. In the
cloud, you can go for a fully managed service either on a public or a private cloud.
Another alternative is to bring your own license (BYOL) and take care of system man-
agement yourself.
The different deployment options are shown in Figure 1.3, along with the fourth cate-
gory of hybrid deployments, which could be any combination of on-premise and
cloud. For example, you may already run a number of SAP HANA systems in your
data center, b ut fo r a new proof of concept (PoC), you may want to avoid investing in
more hardware. a capital expenditure (CapEx); instead, you could leverage SAP
HANA-"as-a-service" and just pay fo r actual usage. With SAP HANA Cloud Services,
announced at SAPPHIRE NOW 2019 (currently under development at the time of
writing, summer 2019), you should expect a lot more focus on the advantages of
hybrid deployments.

SAP HANA Enterprise Cloud


SAP HANA on Pu blic Cloud (laaS)
SAP Cloud Platform, SAP HANA Service
Hybrid SAP HANA Cloud Services

---- ----
111111

- 111111
- •
Appliance Tailored Data Center Integration (TDI)

Figure 1.3 SAP HANA Deployment Options

37
1 Introduction

1.3.3 Real Results


The real results obtained with SAP HANA have been the topic of many customer case
studies and other SAP publications. Results have also been presented on stage during
various SAP conferences, starting with the product launch keynote at SAPPHIRE
NOW in Orlando, Florida, in 2010. In the 2019 keynote, "Experience the Intelligent
Enterprise," Hasso Plattner opened with a recap of SAP HANA's in-memory revolu-
tion. The presentation showed a picture of the whiteboard containing the first calcu-
lations and ideas, taken at the Hasso Plattner Institute, University of Potsdam, in
2006, together with some impressive numbers for SAP HANA, tagged as the "Founda-
tion of the Intelligent Enterprise":
• 50,000+ customer licenses
• 72 terabytes, largest customer on scale-out
• 48 terabytes. largest customer on a single node
• 100+ m illion transactions processed daily for a single customer
• 7 petabytes of SAP HANA licensed productively

If facts and figures interest you, we recommend consulting SAP annual reports and
similar publications like the SAP corporate fact sheet (http://s -prs.co/v488401). The
April 2019 edition. for example, mentions how SAP HANA, with more than 30,000
customers. is the market-leading platform for real-time computing. New release
webinars and roadmap presentations also typically start with a "State of the Union,"
listing accomplishments in terms of the number of customer licenses and deploy-
ments. For real-time real results, vve recommend checking the SAP website regularly
for th e latest information.

Learn More
Figure 1.4 shows Hasso Plattner in action. You can watch replays of keynote high-
lights on the event website http://s-prs.co/v488402.

38
1.4 Finding Customer Stories and Use Cases

~SAPPHIRENOW 1 ~m~~~ May 7-9, 20191CXlando, Florida

Home Agenda ..., ASUG Sms1ons "' Show Floor Exhibitors Venue & FAQs ..., On Demand ..., ~

SAP Keynote - Experience the Intelligent Enterprise


Duratiol'I: 90

Folk>w SAPPHIRE NOW 0 0 Cl:) C) Follow ASUG 0 0 Cl:) C)

Figure 1.4 SAPPHIRE NOW 2019 Keynote

1.4 Finding Customer Stories and Use Cases

SAP has published a smorgasbord of customer stories on the SAP website. In fact, so
many, that they've added a tool to help you find the right one, aptly named the SAP
HANA Finder (http://s-prs.co/v488403, as shown in Figure 1.5). You'll find stories
about application platforms, business intelligence, data warehousing, enterprise per-
formance management, human resources, manufacturing, marketing, predictive
analytics, sales, service, and supply chains, to name a few. All industries are repre-
sented; in particular, consumer products, healthcare, high tech, professional services,
and utilities are well covered. You'll find stories about companies of all sizes, large,
midsize, and small, and of course from all regions and the largest economies. The for-
mat is either a video testimonial or a reference PDF for you to download or share.

39
1 Introduction

424 results Sottby -


'

Filter

0
- O Learn How AES Big Sky Creates a Platform for Future
Innovation (90·seconds version)

,..,..._.
SoluUon Cl\ange )'Otlt business models and platforms t() meet customer demand. Hear
hOw AES B11 Sky LLC used SAP S/4HANA and SAP MaxAttentlonservlces to
create a platform that drwes It to become an inte.Jl!gent MterPflse and help meet
its objectNes .ndecreas1ng carbon 1ntens.1ty,
0 Industry
"
I All ln<Mtril• j •' '
Cont«t Us

0 Company Size
fa Otto Group; How Is Germany's Biggest Online Retailer
Transforming to an Intelligent Business Model?
All Compeny SiZH OiSOO\l'tt how Otto Ct04.lp ~tcd its t"'nsitJOn to SAP S/4HANA with help
' from SAP S/4HANA Adopbon Startet" Enpgoomtnt. Find cM how Otto C..0\4> is
0 Region/Country now 1n 11 po$lliCln to support its suatogy tor growth bywnpl9m1nt1n1 innovat1w
technologies such as madwle lurrwis and loT.
All Counltles

Figure lS SAP HANA Customer Stories

For live references, you can visit one of the many SAP events where customers are often
invited to come on stage and talk about their stories. These events are also great places
to interact with peers and learn from their experiences. In addition, for customer-to-
customer (member-to-member) stories, consider contacting your local SAP user group,
which could also provide another viewpoint and serve a source of learning. We'll cover
user groups in more detail in Chapter 10.
The SAP HANA use case map tool (http://s -prs.co/v488404) presents five typical use
cases with key capabilities listed and an explanation of the business benefit that can
be achieved by implementing SAP HANA. For example, the use case Exploit Analytics
in Insight-Driven Applications answers the question, "Are you looking for deeper
insights from all your data to drive business performance?" Various aspects of SAP
HANA's advanced analytics features are explained and illustrated with a number of
customer stories.

40
1.5 Industry Analysts

SAP is not the only company publishing SAP HANA use cases and customer stories.
You can also find case studies for SAP HANA and other SAP products on the websites
of IBM, Amazon Web Services {AWS), Microsoft Azure, Accenture, or Deloitte, to name
a few. Of course, in those publications, the role of the SAP partner will be highlighted
with less focus on SAP HANA itself as a solution. However, learning about different
points of view is always beneficial.

1.5 Industry Analysts


Software vendors and industry analysts live in symbiosis. Each vendor seeks the best
position on Gartner's Magic Quadrant or on the Forrester Wave, and once they do, we
certainly hear about it. The industry analyst performs an important role. You'll turn
to them for market research and market trends. You'll also seek their advice when
deciding which software vendor to choose from and what products or services to
select. To ensure that the industry analyst understands the product portfolio and
business strategy, they are carefully briefed by software vendors. You'll also find ana-
lyst research sponsored by the industry. Commercial interests aside, the quality of
the analyst work is usually top-notch, and to understand the industry and anticipate
future directions, we certainly recommend you keep a close eye on their research.

1.5.1 Gartner and the Magic Quadrant


So, where does SAP HANA stand on the Magic Quadrant? Well, that depends. Which
quadrant are we talking about? SAP is a leader for the quadrant of Data Management
Solutions for Analytics and for the quadrant Operational Database Management Sys-
tems but scores a bit less for Analytics and Business Intelligence Platforms or Data Sci-
ence and Machine Learning Platforms. Note that Gartner only positions vendors. not
specific products. The operational database management category not only includes
SAP HANA but also includes SAP Adaptive Server Enterprise {SAP ASE), for example,
which makes pinpointing the exact position of the SAP HANA database difficult, let
alone the position of the SAP HANA platform. The platform performs both transac-
tions and analytics and has at least some of the characteristics ofa BI and data science
platform.
Gartner coined the term hybrid transaction/analytical processing (HTAP) in 2013 for a
hype cycle, another famous product of the firm. Hype cycles map the different phases
technologies go through on their way to maturity: starting with "Technology Trigger'',

41
1 Introduction

skyrocketing to the "Peak of Inflated Expectations", crashing all the way down to the
"Trough of Disillusionment'', crawling up on the "Slope of Enlightenment", and end-
ing on the "Plateau of Productivity". Hype cycles have existed for big data, for cloud
computing, blockchain, AI, the IoT, you name it. For Gartner, HTAP is an architecture
and not a product or a market. So, no Magic Quadrant exists for HTAP. Note that
other analyst firms use the term hybrid operational/analytical processing (HOAP) and
translytical databases. Time will tell which term will stick.

Learn More
Gartner is a global research and advisory firm founded in 1979 and well known for
t heir technology research and the Gartner Magic Quadrant, but they also cover many
other functions. For more information, visit https://gartner.com/.
Good news about Gartner Magic Quadrant for SAP product s is generally available
from the SAP News Center. Sea rch for the SAP HANA tag or for Gartner.

1.5.2 Forrester Wave and IDC MarketScapes


Forrester is another well-known industry analysis firm, smaller but comparable in its
service offerings to companies like Gartner. Forrester annually publishes its Forrester
Wave to help its clients make technology purchasing decisions. Companies are listed
as challengers, contenders, strong performers, or leaders and mapped in three
dimensions: market presence, strategy, and current offering. Although many differ-
ent waves exist, the translytical database category fits SAP HANA hand in glove.
The International Data Corporation (JDC) is also a household name amongst the
industry analysts. Their main foc us is on the information technology sector, and they
publish their market studies as MarketScapes. Additionally, numerous other, smaller
firms offer industry analyst insights each typically in their own niche markets.

Learn More
For more information about Forrester and t he Forrester Wave, visit goforrester.com.
For the Forrester Wave report on SAP HANA, see "The Forrester Wave: Translytical
Data Platforms, Q4 2017."
The International Data Corporation (IDC) is a subsidiary of t he International Data
Group (IDG). For more information, visit https://www.idc.com/.

42
1.6 The Road Ahead

1.6 The Road Ahead


SAP publishes information about the future direction for all its products in "road-
maps." In presentation format, roadmaps list recent and planned innovations, prod-
uct direction, and product vision. Roadmaps are typically presented at webinars, at
business conferences, or at customer sites upon request. The presentations are
always preceded by a safe harbor/legal disclaimer statement that the information is
subject to change and may be changed by SAP at any time for any reason without
notice. This requirement is mandated by the United States business law to prevent
future plans from being mistaken for fact. To avoid us getting into stormy weather as
well, the information presented in this section aligns with what SAP has publicly pre-
sented or announced. You can consult the SAP HANA roadmap on the SAP website
and subscribe for updates.
Roadmaps are divided in four sections:
• Recent innovations: Covering the highlights of the latest release
• Planned innovations: Listing new features for the upcoming release
• Product direction: Guidance about planned new functionality (or as phrased on
the roadmap "long-term perspective on high-level development plans for innova-
tions for our solutions - inspired by your requirements")
• Product vision: Generic descriptions (high-level and long-term business perspec-
tive)

At the time of writing (summer 2019), the most recent version of the SAP HANA road-
map, unfortunately, goes all the way back to December 2018. We'll quickly recap what
it contains and supplement this material with what was more recently announced at
the SAPPHIRE NOW 2019 conference.
For SAP HANA, recent and planned innovations are listed for the following topic
areas: database management, data management, application development, and ana-
lytical intelligence. This organization roughly maps to our administrator, integrator,
developer, and data scientist/advanced analyst personas for features and functions,
with the security architect, the data architect, and the data center architect merged
with the administrator. Recent innovations cover the SAP HANA support package
stack (SPS) 03 release from 2018 and the SAP HANA SPS 04 release from 2019.
In Chapter 2, we'll cover these developments in detail when we look at the new func-
tionalities introduced with the latest releases.

43
1 Introduction

The product direction and product vision sections are expressed more in terms of
business benefits and concerns carefully crafted marketing material. the same as
found in "solution briefs" and other marketing "collateral." Here, the enablers are
listed (act, innovate, accelerate, achieve) with benefits (confidence, intelligence, sim-
plicity, compliance).
The themes of the SAP HANA roadmap are:
• Act with live intelligence
Referencing the single data copy, analytics on live transactions, multimodel in-
memory processing and connectivity to any data source.
• Innovate with confidence
Enforce compliance and trust and rely on SAP expertise in business content on the
one hand and leverage existing skills and open standards, removing barriers for
new innovations on the other.
• Accelerate with simplicity
Support all data, run all workloads, manage at scale, connect at speed, secure
access, and lower TCO with simplified app development and management. A dif-
ferent angle to view the one dataset, all workloads, one platform benefits of sim-
pler architectures and IT landscapes for faster time to results and lower costs.
• Achieve cloud freedom
Hybrid and multicloud data platform.
As early as 2013, when SAP created a single development organization, it was an-
nounced that, for the development of line of business (LoB) applications, a cloud-first
approach would be taken. This approach impacted the technology stack a bit later,
with the release of SAP HANA 2.0 SPS 03 in April 2018, when "cloud-first" was applied
to the SAP HANA platform as a delivery model. Since then, new features are released
first for the SAP HANA cloud edition, or in full, the SAP Cloud Platform, SAP HANA
service. These new releases occur at regular intervals (incrementally). Once a year, the
features are then bundled for the next SPS release of SAP HANA on-premise (we'll de-
scribe the cloud edition of SAP HANA in Chapter 2). How a cloud-first approach im-
pacts future developments of the SAP HANA platform is not easy to distill from the
latest SAP HANA roadmap, if at all, bounded as the document is with disclaimers and
other legal restrictions. For a look ahead, let's review what was presented at the latest
SAPPHIRE NOW 2019 conference.

44
1.6 The Road Ahead

Learn More
For information about SAP roadmaps and additional resources like t he roadmap
webinars, visit sap.com/roadmaps. A search tool can help you find t he roadmaps for
SAP HANA a nd related products like SAP HANA smart data integration (SDI) and SAP
La ndscape Management.
Solut ion briefs and other marketing material, col lectively known as "collateral," are
published on t he SAP website under Products.

Figure 1.6 shows the new SAP HANA Cloud Services, which aims to bring the perfor-
mance of in-memory computing to the cloud. The big challenge ahead is how to man-
age the explosion in data volumes (175 zettabytes by 2025, according to one count).
With SAP HANA Cloud Services, you can "experience intelligence," with SAP HANA
serving as a single gateway to all your trusted data in real-time, regardless its origin.

Data Ecosystem
Partners and data providers
...._.........
Metadata Management
Centrally managed data Business Applications
models and semantics Business outcomes from
performi ng data

Data Governance Analytics


Data
Virtualization Integrity and User-centric planning and
security of all data insights from tailored data
Access data where it
is without movement
Data Warehousing
Data
Replication Connection Mission-critical informat ion
Management from governed data
Bring in data
from any Out-of-the-box
SAP HANA system connectivity to
Data Intelligence
all data sources
In-Memory I Disk I Machine learning-powered
Documents
answers from big data

Figure 1.6 SAP HANA Cloud Services

45
1 Introduction

Learn More
SAP HANA Cloud Services were under development at the time of writing {summer
2019).
For the latest information, visit http://s-prs.co/v488405.

1.7 Licensing and Maintenance


Our CIO-focused chapter vvould not be complete without addressing licensing and
maintenance. SAP HANA comes in different editions, and how these editions impact
pricing depends on whether you opt for a cloud-based service following a pay-as-you-
go model, opt for an on-premise appliance provided by a hardware partner, or opt for
a custom data center implementation. Of course, you may also acquire SAP HANA as
part of a larger solution offering. Although you can buy the SAP HANA, express edi-
tion, directly from the SAP store and subscribe to the service for SAP Cloud Platform,
fo r other cases, you'll need to contact SAP for the specifics.

1.7.1 Licensing
The SAP HANA license for on-premise installations and for bring your own license
(BYOL) public cloud deployments is a simple signature file that you can obtain using
a self-service license key application on the SAP Support website. Most of the func-
tionality comes with the platform and does not require additional licenses for techni-
cal activation. However, as mentioned earlier, for productive usage, several different
editions and licensing options are available:
• SAP HANA, standard edition
Includes most database, integration, and application service features.
• SAP HANA, enterprise edition
Extends SAP HANA, standard edition, with advanced analytics processing services
like spatial, graph, and text processing, as well as predictive analytics and stream-
ing analytics, plus big data integration and replication technologies.
• SAP HANA, express edition
Special version with free license for development. This edition includes all the fea-
tures from SAP HANA, enterprise edition, except for high availability and disaster

46
1.7 Licensing and Maintenance

recovery (system replication), multitier storage (SAP HANA dynamic tiering), and
other enterprise features that require more complex server environments.
• SAP HANA, runtime edition
Special version for use with SAP applications.

All these editions can be deployed either on-premise on in the cloud with different
options at our disposal. Editions and options are described in Chapter 2, with SAP
HANA. express edition covered in detail in Chapter 4.

Learn More
For general information about SAP licensing, not specifically related to SAP HANA,
see the SAP Licensing Guide.
For information about license keys and access to the license key application, visit
http://s-prs.co/v488406.

1.7.2 Software Maintenance


Delivering continuous innovation has been an important theme fo r SAP HANA from
the start. However, the initial pace (with minor revisions released almost bi-weekly
and major revisions every 6 months) was ambitious, and some customers found it
difficult to implement updates at this rate in their production landscapes. Just before
the last SAP HANA 1.0 release, longer maintenance cycles were announced, together
with less frequent releases. Support for the last SPS of a major release (1.0, 2.0) was
extended to 5 years and for minor SPS releases to 2 years. New releases for the on-
premise version are now scheduled annually.
This change in release schedules doesn't mean that innovation has slowed down at
SAP, quite the contrary. Since SAP HANA is following a cloud-first delivery model,
new features are now released to the SAP Cloud Platform. SAP HANA service first.
These cloud edition releases are labeled by "year.week" (2019.01) instead of revision
(40, 41, 42) and SPS releases (03, 04).

Learn More
General information about software maintenance is published on the SAP Support
Portal. Detailed informat ion is provided by the Product Availability Matrix (PAM) at
http://s-prs.co/v488407, where you'll find the details about the release to customer

47
1 Int roduction

(RTC) and general availability (GA) dates for a particul ar p roduct. SPSs are list ed with
lin ks to the SAP Notes with re lease information and upgrade paths. Also included are
lin ks to t he docu mentation and t o t he software down load center.

Whether you deploy SAP HANA on-premise or in the cloud will depend on your busi-
ness requirements, budget, and available resources. What is more important: full
control or elasticity? What is more cost effective? Performance, scalability. adaptabil-
ity, and system management efforts are also considerations you'll need to factor in.
These requirements will be different for each business case, which will often involve
a mix of requirements. Because SAP HANA supports multiple cloud infrastructure
providers for cloud deployments, supports both pu blic and private clouds, and pro-
poses several hardware partners for certified on-premise configurations, a mix-and-
match approach with hybrid deployments may provide the best results.
To help you define the most suitable system landscape, see the deployment best
practices map shown in Figure 1.7.

Deployment Model
I

' i,
On-Premise Cloud
I

'
Appliance TOI Public (laaS) Private (SAP HANA
Enterprise Cloud)

Sizing

Technical Deployment

Figure 1.7 SAP HANA Deployment Best Practices

To help you choose between on-premise and cloud deployments, different business
scenarios are shown. The appliance offering, for example, is recommended if any of
the following scenarios apply:

48
1.8 Summary

• You need to comply with industry-specific security, privacy, or control require-


ments (banking).
• You want the fastest-possible implementation for on-premise.
• You vvant an all-inclusive prepackaged offering, ready-to-run in the corporate data
center.
The SAP HANA managed service is recommended in the following cases:
• You lack qualified resources for operations and maintenance and don't want to
invest in this area.
• You want to avoid high upfront investments in hardware and software licensing.
• You need the ability to scale your SAP HANA instances elastically.
• You >vant to reduce your hardware footprint.

Learn More
You can explore the different deployment options on the SAP HANA product website
under the Implement • Deployment. In this section, you'll also find a linkto the Land-
scape Definition Guide for SAP HANA - Best Practices for a Successful Deployment
(2019).
For informat ion about SAP's release and maintenance strategy and for a link to the
PAM, visit the SAP Support Portal Home under Maintenance.
For t he SAP's "Release and Maintenance Strategy" document, visit http://s-prs.co/
v488408.

1.8 Summary

We started this chapter by defining SAP HANA and examining its key characteristics
as a database and as a tool for data management, analytical processing, and applica-
tion development. We addressed key benefits, TCO, different business cases, real
results, and customer stories. For quick one-pagers about solutions, we pointed to
the relevant solution briefs and data sheets, and for competitive analysis, we pointed
to the material published by industry analysts. For the return on investment (ROI)
study, we described the SAP release strategy, licensing, maintenance, and roadmaps.
In the next chapter, we're going to change roles and swap our business attire for a stu-
dent outfit for an overview of the technology. You'll learn about in-memory database
concepts, system architecture, editions, releases, and deployment options.

49
Chapter 2
Technology Overview
We always overestimate the change that will occur in the next two
years and underestimate the change that will occur in the next ten.
- J. C. R. Licklider

Real artists ship.


- Steve Jobs

To capture the innovations introduced with each new release, different themes have
been used over time. SAP HANA started in 2010 as a "high-performance analytic
appliance" enabling real-time analysis for businesses. Then, it evolved into a "real-
time data platform". Text analysis, business and application functions, spatial and
graph engines, application services, and a native development environment are
some of the innovations we can mention to illustrate this transformation.
The "platform for all applications" was the theme of the 2014 release when big data
and Internet of Things {IoT} were the topics of the day, and SAP added SAP HANA
smart data integration {SDI), SAP HANA smart data quality (SDQ), SAP HANA smart
data streaming (SOS}, and SAP HANA dynamic tiering.
To stress data center readiness, the next release theme was "running mission critical
applications with confidence". Now opened up to the data center, SAP HANA was no
longer only available as appliance but also provided a choice in processor architec-
ture and operating systems as well as a large number of certified configurations from
an ever-growing number of hardware partners. The addition of virtualization and
cloud-first deployments underlined SAP's commitment to openness and flexibility.
For the next few releases, the "What's New?" theme centered on "innovate modern
applications, accelerate insights, and simplify IT", in sync with the "Run Simple" cor-
porate strategy. SAP HANA 2.0 was introduced as the "next generation platform for
digital transformation", and SAP HANA as the "business data platform for the intelli-
gent enterprise" with "intelligence, agility, efficiency" highlighted for the latest
release.

51
2 Technology Overview

Weaving a list of hundreds, and later thousands, of added and changed features and
functions for each release into a single theme, in line with corporate messaging and
marketing requirements, is the challenge faced by SAP HANA product management.
In this chapter, we'll open the SAP HANA box and look at what's inside. We'll provide
a high-level overview of in-memory database concepts. offer a short release history
of the product, and provide an overview of the system architecture of the SAP HANA
database and platform. We'll look at some of the available editions and options. and
investigate their functions, features, and capabilities. We'll end this chapter with the
SAP Cloud Platform, SAP HANA service and the cloud deployment options. If the new
terminology in this chapter overwhelms you, we recommend you keep calm and
carry on. Once you've been acquainted with the SAP HANA personas in the subse-
quent chapters, all the parts will start to fit together.

2.1 In -Memory Database Concepts

All computing happens in memory. You power the system on, an operating system
gets loaded from disk, and once the system is up and running, programs process data
in memory with data coming in from storage or the netvvork as input/output (I/O).
Shut down the computer, and all data is stored onto disk again. So, what makes in -
memory computing any different from computing in memory? To answer this ques-
tion, we must briefly review some database history, consider the hardware price/per-
fo rmance ratio over time, explore numerous database industry workarounds to
mitigate slow hard disk drives, and uncover the synergies obtained when combining
different technologies.

2.1.1 Database History in a Nutshell


The IBM System R research project from 1974-the first but not the last lab project
we'll encounter in this chapter- is usually taken as starting point for any history
about relational database management systems (RDBMS). System R was based on
Codd's relational model where all data is represented as tuples. grouped into rela-
tions, and work with the SQL. System R contained all the main ingredients that would
later evolve into 082. Old hat for anyone with a computer science background and a
story told many times before in books and on the Internet, so we'll just quickly touch
three bases and return home.

52
2.1 In-Memory Dat abase Concepts

Hardware Price/Performance Ratio


The price of memory per megabyte was around US$100,000 in 1970 , down to about
US$100 in the 1990s before SIMMs and DIMMs would drive the price further down to
about 1 cent today (about 1 GB for US$10). Memory was prohibitively expensive wh en
databases were first invented but has become much cheaper over time. Conceptually,
storing an enterprise ERP system in-memory came within reach around 2010.

Hardware Access Times


Memory access is expressed in nanoseconds (10. 9). In the 1990s, main memory refer-
ence latency was 200 nanoseconds while a disk seek requires 20 milliseconds (lo-3):
0 .02 versus 0 .0000002 is 100,000 times slower. In 2020, the benchmark will be 100
nanoseconds compared to 2 m illisecon ds, a factor of l0,000 . Calculated at a human
scale with 1 CPU cycle (0.4 nanoseconds) equaling 1 second, main memory access
takes 4 minutes, but disk I/O takes 1 to 9 months.
Of course, solid state drives (SSD) are much faster; sequential reads are faster; and
disk 1/0 can be cached on the storage controller, by the operating system, by the data-
base, etc. However, even taking everything into account, a huge gap in access time
still remains when we compare memory to disk. It's just so m uch slower! Also,
because it took (and takes) so much time to load data into memory before the proces-
sor can actu ally start to work with it, database arch itects have come up with multiple
workarounds over time to alleviate this problem.

Workarounds for Slow Disks


For the first few decades, databases were used only as transactional systems. Load a
record into memory, make changes, write it back to storage again. Memory is vola-
tile-no power, no data-and reading from disk is a slow process, as we've seen. \<\That
makes it worse is that table data is stored randomly, in no particular order. If you
need a specific record, you'll need to scan all rows until you've fou nd the right one.
This nasty problem was solved by the index, a table column duplicated for sorting.
Indexes offer better read response times at the cost of more disk space, which is
acceptable because disks are the least expensive resource. Performance overhead
today is negligible. Table inserts, updates, and deletes will trigger index maintenance
tasks that won't be noticeable. In the past, however, the hardware had trouble catch-
ing up, and the number of indexes supported on a table were strictly limited.

53
2 Technology Overview

The next issue was with calculations. If you need a sum or an average. you must scan
all rows, which requires time and compute resources-expensive in multiple ways.
The solution? Store results as aggregates, by time dimension or by geography at dif-
ferent levels of granularity. Side effects? Aggregated data does not represent current
time but some moment in the past and must be updated at regular intervals, for
example, with a nightly batch job. Acceptable, again, because without aggregates, you
couldn't have sums and averages in the first place-too expensive in the early days of
the database.
But aggregates came at a price as well, since calculating and querying aggregates on
an enterprise system required a great deal of compute resources and impacted trans-
action processing. The solution? Store aggregates in another system for analytics and
use a number of standard operations, such as extract, transform, and load (ETL) to
massage the data as required. ETL defines what data you want from your system of
record, how you want to model the data, and maybe how to combine the data with
other data sources. An entire software industry grew up to accommodate this need.
In the 1980s, the price of memory, processors, and storage had come down to a level
that made this evolution possible. You could store a lot of data in these systems,
which we called data warehouses. Most successful business intelligence (BI) compa-
nies were acquired by larger software companies during this period. Any side effects?
Yes, in terms of data duplication, reporting time delays, and complexity. Data ware-
houses, already transactional data copies. were often duplicated again in data marts,
one for each function or region, creating data silos. Particularly in the client/server
years, this duplication was quite common. The hardware required to store all data in
a single system was either not available or otherwise prohibitively expensive.

2.1.2 SanssouciDB
Around 2006, research started at the Hasso Plattner Institute (HP!} in Potsdam on a
blueprint for a new in-memory enterprise database system, called SanssouciDB
(French for NoworriesDB and named after the summer palace of Frederick the Great,
King of Prussia). For SanssouciDB, the database architects went back to the dravving
board. What if Vire store all data in-memory? You'd no longer need separate data ware-
houses. And with all data in-memory and multiple processors working on the data in
parallel, known as multicore parallel processing (MPP}, calculations can be made "on-
the-fly," and aggregates are no longer needed. Research has revealed that a significant
part of enterprise data concerned all sorts of aggregates. Removing redundant data

54
2.1 In-Memory Database Concepts

greatly reduced the size of the database, which made storing the complete enterprise
database in memory even more feasible. We'll return to this topic \¥hen we describe
SAP HANA database sizing.
Another significant consequence of real-time calculations is that the code in business
applications to generate, maintain, and manipulate aggregates was also no longer
needed, which reduced complexity and simplified the code. For this reason, the first
application specially developed for SAP HANA was released as Simple Finance, in line
with the "Run Simple" campaign aimed to reduce complexity everywhere. Later, these
applications were tagged with "4/HANA," like SAP S/4HANA and SAP BW/4HANA.
By storing data as an index, in columnar format and not in rows. data could be com-
pressed significantly, further reducing the memory footprint required. Built-in
partit ioning, minimal projections (avoiding SELECT *) and code pushdown from
application tier to the database layer, combined column and row store, and the
insert-only principle, are some of the many ideas and innovations that came out of
this research project.

Technology Background
Columnar storage was nothing new. Sybase IQ dating from 199S, is an early exam-
ple. SAP acquired Sybase in 2010, and Sybase IQ would be integrated with the in-
memory platform as SAP HANA dynamic tiering. With columnar storage, because of
compression, a lot more data could be stored. However, data changes were problem-
atic, as the data needed to be sorted again. For this reason, column-based databases
were mainly used in on line analytical processing (OLAP) environments. Text Retrieval
and Information Extraction {TREX), the search engine used in SAP NetWeaver, also
uses columnar storage. For data changes, a delta store is ma intained, merged later at
intervals with the main store for permanent results.
In-memory row stores were also not new. TimesTen, another well-known example in
the database industry, dates from 1996 and was developed at Hewlett-Packard labs
in Palo Alto. The database was acquired by Oracle in 200S and is still on the market.
The same year, SAP acquired Transact in Memory, a startup company for the P*TIME
in-memory row store database, originally developed in 2002 at Seoul National Uni-
versity in Korea.
What made SanssouciDB, and later SAP HANA, so unique was the combination of
in-memory row store and columnar storage to create a new enterprise database

SS
2 Technology Overview

system. For the persistence layer and cl ient interfaces, SAP MaxDB technology was
leveraged. Like so many of the protagonists of our story, SAP MaxDB also originally
started as a database development research project, this time from the Technical
University of Berlin.

Development at SAP on this new in-memory compute engine started in 2009, and
the product was launched at the annual SAPPHIRE NOW conference in Orlando in
2010 by Has so Plattner and SAP chief technology officer (CTO) Vishal Sikka. After we
cover system architecture in the next section and explain the different editions and
options, we'll return to 2010 as the starting point for a brief release overview and see
how SAP HANA has evolved from an in-memory compute engine to a complete real-
time enterprise data platform and foundation for the intelligent enterprise.

Learn More
For those interested in the genesis of the in-memory database, we recommend the
book In -Memory Data Management, Technology and Applications (second edition,
2012) by Hasso Plattner and Alexander Zeier and the 6-week "In-Memory Data
Management" course from openHPI, also by Hasso Plattner.
For a concise introduction to SAP HANA and its technologies (parallelism, row and
column store, compression, partitioning, and tiering), seethe 1-hourcourse "An Intro-
duction to SAP HANA by Dr. Vishal Sikka" from openSAP, as shown in Figure 2.1.

"
M"'\-\-)-cove ~11el111-,
/
'if> - c~ u~ ~.:; \,.'-" '11 .'"' f"v-<1v.-.61
?. \~ \)•""""' (p\ v.""" V""V' S.~e~
+
- - S" \~ <;S D
y<... ~lt.-.+ ~v~~
p
3 . c; CO ~~/s/co'<e; (,~~
I "l.·s;-•S M '))-t }s. (ccY('
. 1 Y\.\Y"'-o~ WA
~ \\.~J,,., ""1
I'

,.5: y:

Figure 2.1 openSAP Course: "Introduction to SAP HANA by Dr. Vishal Sikka "

56
2.2 System Architecture Overview

2.2 System Architecture Overview


Now that we have covered the main in-memory concepts, we can proceed with describ-
ing how these concepts apply specifically to SAP HANA. In this section, we'll describe
implementation scenarios, services and processes, memory and persistence, single-
host and distributed systems, database and application servers, and data tiering.

2.2.1 Implementation Scenarios


You can implement SAP HANA in several different •,vays, as shown in Figure 2.2. In the
early days, a popular use case was "SAP HANA as a data mart," also known as a sidecar
scenario, where the primary goal was to speed up business analytics and reporting.
Different replication technologies could be used to copy relevant data from a trans-
actional source system to the SAP HANA database (the responsibility of the data inte-
gration architect whom we'll meet in Chapter 7), \vhereupon the modeler (covered in
Chapter 4) would design information views for consumption by BI tools, for example,
SAP BusinessObjects.

Business Business Busi ness IFull Client I Iweb Cl ient I


Int elligence Client Client I
. I
I
I
I
I
I
I

SAP SAP
Business HANA
Suite XS
.
SAP
Busi ness SAP HANA
SAP HANA
Suite

I SAP HANA
I
I
L-------
IReplication I
Dat a M art (Sidecar) Application Server Native Development

Figure 2.2 SAP HANA Implementation Scenarios

For the SAP Adaptive Server Enterprise (SAP ASE) database, this architecture even
resulted in a separate product, the SAP HANA accelerator for SAP ASE. Of course, with

57
2 Technology Overview

this implementation, we're not leveraging the benefits of a single data copy, with its
online transaction processing (OLTP) and online analytical processing (OLAP) com-
bined and its multiple advanced analytical processing capabilities. In fact, this archi-
tecture resembles to some extent the way that one of the predecessors of SAP HANA,
the SAP Business Warehouse Accelerator, was used for the SAP Business Warehouse
(SAP BW). However, the benefits of this architecture come \Vith low risks and high
gains. Using SAP HANA as a data mart leaves production systems completely
untouched, without interruption and without interference. BI, on the contrary, can
enjoy much better response times, to provide "analytics at the speed of thought."
With most analytics and reporting tasks now executed on the data mart, the system
of record might even be able to focus better on its task.
The second "classic" implementation scenario is SAP HANA as database for an appli-
cation server. Prior to the release of SAP HANA, an SAP NetWeaver application server
would connect to any other database (AnyDB). After SAP HANA was released, SAP
development worked around the clock to bring all business applications into the in-
memory platform. These applications would now be "powered by HANA" in phase 1,
and after significant redesign, these applications would take advantage of the single
data copy, application and business functions, code pushdown, and other advantages
we'll describe in more detail in this section. Eventually, "powered by HANA" would be
replaced with the notation "4/HANA," with SAP S/4HANA and SAP BW/4HANA being
the best-known examples.
A third major implementation scenario \vas not part of the original in-memory pro-
totype design but was a logical extension. Now that you have a single data copy, sur-
rounded by analytical capabilities, why not attach a lightweight application server to
the platform to benefit from all the processing power? This argument for "native"
development, as it is called, on the in-memory platform, attempts to maximize pro-
cessing on the data tier. Native development uses the SAP HANA extended applica-
tion services (SAP HANA XS) architecture (described in Chapter 4, Section 4.4).

2.2.2 Services and Processes


Figure 2.3 shows the Manage Services view within the SAP HANA cockpit, the main
web interface for SAP HANA (see Chapter 3, Section 3.1.2, for a complete overview).
On this screen, you can see the operating system processes that together provide
the services of the SAP HANA platform. Some processes are optional; others are
always running.

58
2.2 System Architecture Overview

Manage Services v c ©
HOO

Service (9)

s..... ROie Pon SOl Port Proius.s 10 CPU


- Momo<y
0.
-
Action
~i ©

daemon (shared) 0 Running 30()()() 0 691

namt$0M:tf (thattd) 0 RunnitlQ ....... 30001 0 719


• Stoc> $tl'Vt(:t

preproce$$()f (shared) D Runnonv 30002 0 1217 S'°PSeMc:e

compi!oset'Vor {shared) D Runnif'lg 30010 0 1216 I •


lndexserv« 0 Runnong ....... 30040 30041 1391
• , SIOC> SeMce J

di$0Ncr 0 Running 30043 0 3424 I StopSeMce )

scriptserwt/ 0 Running ....... 30046 30047 1395


• SIOC> S•Mc• I
........ 0 Rul'Vling master 30C)09 0 1383
• SIOC> SeMce J

doest«• 0 Runnong ....... 30052 0 1375


• SIOj> S.Mce j

Figure 2.3 SAP HANA Cockpit: Manage Services

Let's take a closer look at these services:

• daemon
SAP HANA starts with the daemon process. The daemon is the first process to start and
serves as the watchdog ensuring that any service not in the Running state is auto-
matically restarted.

Technology Background
Anyone with a little knowledge in Unix or Linux system administration will be fami l-
ia r with daemon processes, w hich are equiva lent to a service on t he Microsoft Win -
dows platform. Daemons are background processes and do not require a user to log
on (which would be an interactive process). Unlike in Windows, however, daemons
always run in the context of a specific user account. For SAP HANA, this user is
named <sid>adm, t he software owner and operating system administration account.
The system identifier (SID) serves as an alphanumerical identifier, like ABC or HOO,
and is also used on SAP NetWeaver systems.

59
2 Technology Overview

• nameserver
The second service started is the nameserver process. This process keeps track of
the topology: which service is running on what host, TCP ports, roles, and the sta-
tus of the service with resource usage, corresponding to what's shown in Figure
2.3. In addition, the name server also knows where table data resides and where
you'll can find the different partitions, which are particularly relevant fo r distrib-
uted systems, the term used for multiple-host, scale-out environments. For distrib-
uted systems, the name server steps in to activate an instance in standby role and
orchestrates the reallocation of data during host auto{ailover, which is when one
of the hosts in a multiple-host, scale-out environment ceases to respond.
Somehow, the name server also manages to find time to act as the database engine
for the system database. This database is always present in a tenant database sys-
tem, which we'll discuss further in Section 2.4.1, where it stores telemetries and
metadata about tenant databases and other processes.
Finally, the name server manages system replication for high availability and
disaster recovery configurations (see Chapter 9, Section 9.9).
• indexserver
The actual database row store and column store engines run under the covers of
the indexserver process. In early SAP HANA systems in single-container database
mode, the index server is the database. In the current tenant database architec-
ture, each index server corresponds to a tenant database. Knowing which SQL port
your tenant database index server process listens to is important for connectivity,
as you'll also need to provide a host name and port number when connecting to
the database. On a running system, the indexserver process will always consume
the most resources (CPU and memory).

Technology Background
The origina l name of the indexserver process goes back to SAP Net Weaver's TREX
engine, where we also encountered t he daemon and nameserver processes. TREX uses
columnar storage; indexes, that is, not regu lar tables (hence the name).

• compileserver and preprocessor


The compileserver process is a shared process that compiles high-level human-
readable programming code, like SQLScript functions or stored procedures, into
machine-level code for execution. This service is shared among all tenants.

60
2.2 System Architecture Overview

This sharing is also the case for the preprocessor process, which provides services
for text analytics (search, analytics, and mining). The daemon, preprocessor, nam-
eserver, i ndexserver, and compileserver processes are always included on any SAP
HANA system. The st at isticsserver, xsengi ne, and webdispatcher processes found
on older SAP HANA systems are now mostly embedded in the system and tenant
database processes.
• scriptserver and diserver
Depending on the configuration, you may also find a number of additional pro-
cesses like the scr ipt server and the di server listed in the SAP HANA cockpit
shown in Figure 2.3. The script server executes function libraries for the Applica-
tion Function Library (AFL) and the Business Function Library (BFL). Before you
can start working \l\lith the Predictive Analysis Library (PAL) or the External
Machine Learning (EML) library, you'll first need to activate a script server for your
tenant database.
The diserver provides the SAP HANA Deployment Infrastructure (HD!) for the
database and converts design-time artifacts into runtime objects. This service and
process is associated with the SAP HANA extended application services, advanced
model (SAP HANA XS Advanced) architecture. With the SAP HANA XS Advanced
runtime installed, you'll also find the xscontroller, xsuaaserver, and one or more
xsexecagent processes for the orchestrator; the User Account and Authentication
(UAA) service; and the different deployed runtimes.
• docstore
Shown in Figure 2.3 and also a development topic is the document store, a NoSQL
JSON repository provided by the doc store process.
• dpserver, streamingserver, and esserver
The dpserver is added when you install SAP HANA smart data integration (SDI),
which adds an ETL-type data provisioning technology. SAP HANA streaming ana-
lytics adds the streamingserver, and SAP HANA dynamic tiering adds the esserver
(ES stands for "extended storage"). These services all provide additional capabili-
ties that we'll describe in Section 2.4.l.
• computeserver
New for the latest release SPS 04 release of SAP HANA 2.0 is the computeser ver, an
elastic compute node server, similar to the indexserver process but without per-
sistence and thus only used to execute read-only queries and procedures.

In Chapter 4, Chapter 5, Chapter 7, and Chapter 9, we'll describe in more detail topics
like SAP HANA XS Advanced, HD!, AFLs, provisioning, and extended storage.

61
2 Technology Overview

Learn More
The different server components (processes) are documented in the "Server Compo-
nents of t he SAP HANA Database" chapter of t he SAP HANA Administration Guide.

SAP Notes
Additional information can be found in the SAP Note 2477204 - FAQ: SAP HANA Ser-
vices and Ports.

2.2.3 Memory and Persistence


Persistence is a more generic term for what is usually called storage or disk. When
data is written to the persistence layer, it may be stored on hard disk drives (HDDs),
on SSDs-the type of flash storage also found on USB drives and in our mobile
devices - or on any other related technology. Persistence, therefore, refers to safely
storing our data when the database is shut down, a contrast with dynamic random-
access memory (DRAM}, which is volatile; unplug the power, and the data is gone.
More recently, combining best of both worlds, SAP HANA also supports persistent
memory, which is a new type of non-volatile memory (NVM}, different from the older
DRAM and NVRAM (flash, ROM, BIOS) types and commercially available as Intel
Optane. Persistent memory enables SAP HANA to support larger (or less expensive)
memory configurations and significantly improves system startup times. The main
area of columnar tables is stored in persistent memory, and only the delta store is
kept in RAM. We'll discuss Intel Optane persistent memory in Chapter 9, Section 9.5.1.
Any database system must be protected against hardware failures and other types of
unplanned downtime, including major disasters. SAP HANA, as an in-memory plat-
form, is no exception, and for this reason, you'll find the same mechanism used to
persist data as with other RDBMS types. Committed transactions are flushed from
redo log buffers to redo log files on redo log volumes, and data buffers are also per-
sisted to disk at regular intervals.
For the SAP HANA administrator, memory sizing and monitoring are far more engag-
ing activities than data and log volume management. but you must ensure that, at all
times, you have enough space on disk, even for an in-memory database. Chapter 3
and Chapter 9 provide more details on the topic.

62
2.2 System Architecture Overview

Learn More
Concepts and configuration tasks related to persistence and memory are docu-
mented in the SAP HANA Administration Guide:
• "Memory Usage in the SAP HANA Database"
• "Persistent Data Storage in the SAP HANA Database"

SAP Notes
Additional informatio n can be found in the following SAP Notes:
• SAP Note 1999997 - FAQ: SAP HANA Memory
• SAP Note 2400005 - FAQ: SAP HANA Persistence
• SAP Note 2700084- FAQ: SAP HANA Persistent Memory

2.2.4 Single-Host and Distributed Systems


Business continuity is essential for every enterprise database. For some systems, the
only acceptable downtime is zero. To support these high availability requirements or
to go beyond the maximum supported (or most economically viable) hardware con-
figuration for a single system, you can scale your systems out. For SAP HANA, such a
multiple-host, scale-out environment is called a distributed system, which provides
both high availability and better performance (when done right).
Not every business application powered by SAP HANA is supported on scale-out sys-
tems, and if data distribution has not been considered, system performance may
actually degrade. Unless a fiber-optic network is in place, inter-node network latency
is like disk I/O expressed in microseconds, not nanoseconds. When often-joined mas-
ter and detail tables are not on the same host, performance will suffer as a conse-
quence. For this reason, data distribution is an important task of the SAP HANA data
architect, and several technologies are available like table replication and partition-
ing to support data distribution. In addition, data distribution tools and wizards facil-
itate the configuration, and operations can be automated.
Although clusters typically are complex enough to require experienced engineers,
SAP HANA distributed systems are relatively easy to create, configure, monitor, and

63
2 Technology Overview

administer. From a system administration perspective. single-host and multiple-


host systems are not too different, and no special tools will be required for adminis-
tration.

In Chapter 8, Section 8.5, and Chapter 9, Section 9.9, we'll describe in more detail the
topics of data distribution and high availability, respectively, including system repli-
cation for disaster recovery support {Chapter 9, Section 9.10).

Technology Background
The common industry term for scale-out, multi-node systems is a cluster. The reason
an SAP HANA scale-out system is called a dist ributed system and not a cluster comes
from the reuse of SAP NetWeaver terminology.
An SAP Netweaver system consists of m ultiple instances: centra l services (SCS),
database, and primary application server (PAS). Together, t hey form the application
server that hosts SAP business applications. You can run these services on a single
(big l) system or distribute the load across multiple servers. The latter case creates a
distributed system. An SAP NetWeaver dist ributed system does not provide high
availability and is not a cluster because each server is still a single point-of-failure
(SPOF). For high availability, you'll need to use cluster technology from a hardware or
software (operating system) vendor.
When you add the TREX search engine component to an SAP NetWeaver system, you
can install it on single host or on multiple hosts for load balancing and high availabil-
ity. When you install TREX on mu ltiple hosts, this component of your SAP NetWeaver
system is technically now a cluster. However, in SAP terminology, this distinction is
not made, and the SAP NetWeaver system is still called a distributed system.
This interpretation of distributed syst em has con t inued with SAP HANA. The SAP
HANA documentation consistently references scale-out systems as multiple-host.
distributed systems, but sometimes in biogs or documentation f rom hardware and
software partners, you may see t he terms multi-node SAP HANA systems or SAP
HANA clusters when ref erencing distributed systems. This dist inction is important
because, as w ith SAP NetWeaver, you ca n also use vendor-provided hardware and
software to create a cluster. In this case, we would use SAP HANA syst em replication.
In other words, you can run SAP HANA as a distributed syst em and as a cluster at the
same t ime for additional high availability and disaster recovery services.

64
2.2 System Architecture Overview

2.2.5 Database and Application Server


A small, lightweight application server was added to SAP HANA's in-memory com-
puting engine appliance about 2 years after its initial release, called SAP HANA ex-
tended application services (SAP HANA XS), as part of a development kit to build a
user interface (UI) for search applications. The idea to add an application server and
native (in other words, built-in) development environment to an in-memory plat-
form made a lot sense and quickly caught on. After all, for the best performance, we
need to be as close to the data as possible.
Although at the time the classic three-tier architecture (with the data layer below, the
business logic in the middle, and the presentation on top), which we introduced in
Chapter 1, was a great improvement compared with client/server model, where most
of the logic resided in the presentation layer, the three-tier architecture also intro-
duced some less desirable consequences. In particular, for database-independent
implementations like SAP NetWeaver, a nasty side effect was the sel ect *reflex from
the application programmers, pumping all the data over the network to the applica-
tion server tier for processing and using the database as an anonymous dumb data-
store; as an AnyDB. This type of programming resulted in suboptimal performance.
With the application server attached to the database, and by encouraging code push-
down practices by programmers for database-centered data processing, much better
performance could be achieved.
Three years after the initial SAP HANA XS release, a new application server imple-
mentation was added, SAP HANA XS Advanced. To avoid confusion, the first version
was now called SAP HANA XS, classic model. The second version, SAP HANA XS
Advanced, provided many benefits and integrated-seamlessly, a marketer would
say-with the SAP Cloud Platform. Now, you could, for example, develop SAP HANA
XS applications on a local on-premise environment but deploy these applications to
SAP Cloud Platform to scale-out, to benefit from cloud elasticity, or for any of the
other reasons that make cloud computing attractive.
In SAP HANA 2.0, you'll find both implementations, but SAP HANA XS Advanced will
be the default framework. SAP has migrated most of the web-based tooling from SAP
HANA XS, classic model to SAP HANA XS, advanced model and strongly advises cus-
tomers and partners to act follow suit in using the migration assistant tool and
migration guide. Native development for the SAP HANA platform is described in
more detail in Chapter 4, Section 4.4.

65
2 Technology Overview

Learn More
The best place to learn more about developing native applications for SAP HANA
using t he SAP HANA XS Advanced framework is t he Developer Information Map on
the SAP Help Portal. This guide will help you find the right documentation, whether
by developer journey, by guide, by task, or by scenario.

SAP Notes
Additional information about SAP HANA XS Advanced can be found in SAP Note
2596466- FAQ: SAP HANA XS advanced.

2.2.6 Data Tiering


With data tiering, also known as data aging, you can ensure only hot data is actively
stored in memory. Business data often follows its own lifecycle, which is ofted repre·
sented by a temperature analogy. Hot data is frequently changed and accessed, like
seat reservations, stock quotes, or sales figures. Demand is high, and instant response
times are critical. Hot data is the perfect candidate for in-memory storage. Over time,
most business data becomes Jess relevant, is accessed Jess often, and no longer
requires premium performance. You would call this data warm. Eventually, data ages
and loses relevance, only needing to be kept for compliance and legal reasons. Cold
data is a fine candidate for offline storage, a big data lake, where it can slowly sink to
the bottom.
Several solutions for data tiering are available, including the aptly named the SAP
HANA dynamic tiering solution, which adds a disk-based extended store to the SAP
HANA platform, where you can offload warm data, keeping SAP HANA in-memory
resources only for the hot stuff. Under the hood, SAP HANA dynamic tiering uses the
SAP IQ columnar store database technology, but this is hardly perceptible when
using any of the SAP HANA platform tools. It's called "dynamic tiering" because we
can create partitioned tables with the latest data stored in-memory and older data
stored on disk. With scripts or tools like the Data Distribution Optimizer (ODO), we
can automate data tiering distribution. More recently, the SAP HANA native storage
extension was introduced to serve as a general purpose, built-in, warm datastore.

66
2.3 Editions

Unlike SAP HANA dynamic tiering, SAP HANA native storage extension is included
with SAP HANA and works with any application. Data tiering is described in more
detail in Chap ter 8, Section 8.4.

2.3 Editions
Over time there have been different editions of and options for SAP HANA. In part,
these distinctions are technical (platform edition versus cloud editio n, for example),
and in part, these distinctions are about licensing (standard versu s enterprise edi-
tion).
In this section, we'll briefly explain the different editions of SAP HANA.

2.3.1 SAP HANA, Platform Edition


From a product point of view, there is only a single edition: SAP HANA, platform edi-
tion, as listed on the Product Availability Matrix (PAM) with entries for the 1.0 release
and for the 2.0 release, each representing a different code line. Every SAP HANA on-
premise installation is an SAP HANA, platform edition release.

2.3.2 SAP HANA, Express Edition


SAP HANA, express edition is a special version of the SAP HANA, platform edition,
introduced with a free developer license for configurations up to 32 GB and extensi-
ble to 128 GB. Technically, SAP HANA, express edition is the sam e as the platform edi-
tion- that is, not a separate code line- but the express edition has been adapted so
SAP HANA can run in configurations with as little as 8 GB for just the database server
and not the 64 GB usually req uired. Enterprise featu res requiring more complex
environments like multiple-host, scale out, distributed systems; dynamic tiering for
m ultitier data storage; and system replication are not included. These features all
require additional servers.
Apart from this, SAP HANA, express edition is a complete SAP HANA system. Support
for SAP HANA, express edition is provided by SAP Community on the SAP Developer
Center, which is also where you can download the software. We'll return to SAP
HANA, express edition in more detail in Chapter 4, Section 4.12.

67
2 Technology Overview

2.3.3 SAP HANA, Cloud Edition


SAP HANA, cloud edition corresponds to the SAP Cloud Platform, SAP HANA service
fo r the Cloud Fou ndry environment. The 2.00.040 (SPS 04) version was the first SAP
HANA version released as cloud-first, with year and version (starting with 2018.26.00)
and the "cloud edition (CE)" tag in the release notes. This label, however, is rarely used
elsewhere, perhaps because the SAP Cloud Platform, SAP HANA service, hosted in the
Neo environment, is similar (if not identical) to the regular platform edition hosted
on a cloud infrastructure. In other words, technically, two different SAP HANA ver-
sions exist, each hosted in a different environment, but commercially, these versions
provide the same "service." See Chapter 4, Section 4.9, for more details.

2.3.4 Licensing, Options, and the Feature Scope Description


Commercially, several different licensing options of SAP HANA are available, as
shown in Figure 2.4:
• Runt ime
License for applications "povvered by HANA." The runtime license restricts feature
usage to SAP applications; in other words, you can't use this license to develop and
host your own (web) applications.
• Standard
Includes all features except those marked as options or those included with SAP
HANA, enterprise edition. Includes the core database, integration, and application
services; the web applications (products) SAP Operational Process Intelligence, the
SAP Enterprise Architecture Designer (SAP EA Designer), and SAP HANA data ware-
housing foundation; and products like SAP HANA dynamic tiering and the SAP
HANA accelerator for SAP ASE.
• Enterprise
Adds several commercially interesting features to the standard edition: the
advanced analytical processing technologies for graph and spatial data; text
search, text analytics, and text mining; predictive analytics; R integration; stream-
ing analytics; and enterprise information management (SDI and SDQ).

These editions are complemented by the active/active read-enabled system replica-


tion option (see Chapter 9, Section 9.10.3, for more details).
Note that other applications like the SAP HANA cockpit or the SAP Web IDE for SAP
HANA are included with the standard edition but are not explicitly listed, which is

68
2.3 Editions

also the case for technologies usually described as "advanced analytical processing"
like series and hierarchies.

SAP Operat ional Process Intelligence


Active/Active
SAP Enterprise Arch itecture Designer
Read-Enabled
System Repl icat ion
I SAP HANA Data Warehousing Foundation I
Predictive and R
Graph and Spatial
SAP Operationa l Process Intelligence Text Ana lytics

SAP Enterprise Arch itecture Designer Appli cation Services


ISAP HANA Data Warehousing Foundation I Int egrat ion Services
Database Services
Application Services
Integratio n Services Enterprise Information Management
Database Services
SAP HANA Dynam ic Tiering

SAP HANA Dynamic Tiering SAP HANA Acce lerator for SAP ASE

SAP HANA Accelerator for SAP ASE SAP HANA Streaming Ana lytics

Standard Edition Enterprise Edition

Figure 2.4 SAP HANA Editions and Options

EIM, SAP HANA dynamic tiering, the SAP HANA accelerator for SAP ASE, and SAP
HANA streaming analytics are products that you'll need to download, install, and
configure. In some cases, these solutions will require an actual license before they can
be used. Most of the other enterprise features are included 'vith the platform edition.
As a reminder, both the standard and the enterprise (commercial) editions are (tech-
nically) platform editions. The standard edition includes spatial and graph capabili-
ties, predictive analytics, etc., except you'll need a license for (productive) usage.
Technically, the SAP HANA license only restricts the amount of memory, and even
this limit can be defined as a soft or hard limit. The active/active read-enabled system
replication option is also not technically controlled by a license.
What is included in each edition has changed over time. The very first SAP HANA
enterprise edition, for example, bundled the software needed for ETL-based and
trigger-based replication-SAP Data Services (with SAP BusinessObjects) and SAP

69
2 Technology Overview

Landscape Transformation Replication Server (with SAP NetWeaver), respectively-


together \Vith the SAP HANA appliance. Both were different products, requiring sepa-
rate installations, separate hardware, and so on. To use SAP Replication Server (from
Sybase), an additional extended enterprise license was required.
Later, the term option was introduced to address a licensing requirement for several
new add-on products, like SAP HANA dynamic tiering, remote data synchronization,
and SAP HANA smart data integration (SDl)-all former Sybase and SAP Business-
Objects technologies. Options, however, also covered functio nalities considered pre-
mium features like text analytics (bundled as advanced data processing) or the
spatial engine. Technically, these features are not optional at all since they are
included with every SAP HANA system (including SAP HANA, express edition) and
cannot be removed or disabled. The spatial option later became the spatial edition,
covering exactly the same featu re set.
Of course, licensing will always be a fluid topic. To keep track, as of SAP HANA 2.0, the
documentation set now includes the new Feature Scope Description document,
where you'll find the different editions available for the selected SPS release and \Vhat
services and features are included.

Learn More
The Feature Scope Description document can be read or downloaded from the SAP
Help Portal for t he product or service:
• Feature Scope Description for SAP HANA
• Feature Scope Description for SAP HANA, express edition
• Feature Scope Description for SAP Cloud Platform, SAP HANA Service

2.4 What's New: Support Package Stacks and Revisions


A couple of years before the first release of SAP HANA, SAP's first chief technology
officer (CTO), Vishal Sikka, shared his vision for timeless software in a number of
biogs, interviews, and on stage, focused on bringing innovation to customers with-
out disrupting business operations. A great idea, most will agree, and a common fea-
ture of cloud-based software development today vvhere big bang releases with lots of
fanfare and versions numbers have all but disappeared.

70
2.4 What's New: Support Package Stacks and Revisions

For on-premise SAP HANA, from the start, this approach was implemented as well
with a steady flow of revisions released every couple of weeks initially, with an SPS
twice a year as a milestone marker. Superstition or not, after release SPS 12, SAP
decided to stop innovating on the SAP HANA 1.0 code branch and start fresh with SAP
HANA 2.0. More recently, in 2019, SAP communicated that the innovation would now
come cloud-first in the SAP HANA, cloud edition, officially named SAP Cloud Plat-
form, SAP HANA service. Looking at the release notes for the cloud edition where
updates are labeled \l\lith year-month identifiers (no longer with a revision or SPS
number), we've come full circle, and SAP HANA has truly become timeless software.

Technology Background
Support package stacks (SPS) were introduced for SAP NetWeaver to simplify system
maintenance, lower costs, and accelerate innovation. Each SAP NetWeaver system
contains multiple components, and managing them was a time-consum ing and
error-prone activity.
TREX is an example of such an SAP NetWeaver component that is included in differ-
ent SAP products, one of them being t he SAP BW Accelerator, w hich was packaged as
an appliance (in other words, preinstalled software on predefined hardware) and
released in revisions, a concept taken from manufacturing.
The revision/appliance release approach was used for SAP HANA as well, but as the
SAP HANA appliance comprises m ultiple components, you'll also see the concept of
the SPS applied, albeit a bit differently compared to SAP NetWeaver systems.
The release interva l fo r the SAP HANA 1.0 SPS was twice a year. With each SPS, new
functiona lity was enabled, and the revision counter was updated to t he next decade.
For example, after SPS 04, (revision 40) corrections were released in revisions 41, 42,
43, etc., at regular bimonthly interva ls until the next SPS 05 was released, and t he
revision counter was updated to 50 to sync the numbers. Starting with SAP HANA 2.0
SPS 02, the release interval was changed to once a year.
Although you sometimes read about release 2.4 to reference the longer and idiosyn-
cratic 2.0 SPS 04 format, this practice is not used in official SAP publications. Note
also that only since t he 2.0 release has t he 1.0 label been ret roactively applied to
older releases. Older materia l will not include t his marker and simply refer to SAP
HANA SPS nn.

71
2 Technology Overview

2.4.1 SAP HANA Platform Edition 1.0


In total, a dozen main releases (SPS) for the 1.0 platform edition have been issued.
General availability started with SPS 02 in June 2011; the fi rst SPS was for ramp-up.
The last release was SPS 12, which dates from May 2016.

Technology Background
SAP has a standardized process for int roducing new solutions to the market, called
the SAP Early Adopter Care program ("ramp-up" previously). The softwa re is released
to customer (RTC}, so there are no beta versions, but th is program rest ricts these
releases to certain customers wit h extensive support from SAP. The fi rst release after
the RTC program is GA (general availability).
SAP HANA ramp-up started in November 2010 with the results announced at SAP-
PHIRE 2011. GA was June 2011 (with SPS 02).

SPS 03: SAP HANA Appliance Software


No longer called in-memory compute engine (IMCE) or in-memory database (IMDB),
as of SPS 03, the official name becomes SAP HANA. This SPS introduced license keys
and hardware checks-still available to today-to validate the platform configura-
tion. Documentation starts to take shape: the Technical Operations Manual (TOM)
started modestly with 50 pages, growing to well over 2,000 pages in the latest SAP
HANA 2.0 SPS 04 SAP HANA Administration Guide. The same expansion can be
observed for the development topic. The initial 83-page guide branched out into 12
separate guides for the latest release with an information map and a Getting Started
Guide included to help you get your bearings. For those interested, all documenta-
tion for the older releases is still available for download from the SAP Help Portal.

SAP Notes
The very first SAP HANA revision release note dates from November 2010: SAP Note
1S33048 - SAP IMCE 1.0 Revision 0 for SAP HANA 1.00 (together with SAP Note
1514967 - SAP HANA: Centra l Note for t he appliance). SPSs are released at the appli-
ance level, for example SAP HANA Appliance Software SPS 03 release note. After t he
la unch of the t ailored data center integrat ion (TDI) program (see Chapter 9, Section
9.4.2) with SPS 06, in the name of the release note, "Appliance Software" changed to
"Platform".

72
2.4 What's New: Support Package Stacks and Revisions

SPS 04: Side Car and Application Server


The May 2012, SPS 04 release introduced a unified installer. With a single tool, server,
studio, and client could be installed and updated. This installer would incorporate a
lot of new functionality over the next couple of releases, ultimately becoming in 2015
SAP HANA Lifecycle Management (hdbl cm). This tool, with minimal changes, is still
used today, and little difference exists, for example, between installing SAP HANA 1.0
SPS 12 (1.00.12) or the latest SAP HANA 2.0 SPS 04 (2.00.04).
For administrators, the first SAP Notes appeared about support for multiple compo-
nents in one database (MCOD) and multiple components in one system (MCOS). A
sizing note for SAP BW on SAP HANA reflects the development focus at the time to
port all SAP business applications to be "po1.vered by HANA". A more general sizing
note for SAP HANA would be added with the next release, followed by SAP Business
Suite on SAP HANA and later SAP S/4HANA and SAP BW/4HANA sizing notes.
These sizing notes reflect the fact that the most common use case initially was SAP
HANA in a sidecar implementation, as a secondary database to accelerate operational
reporting, with three technologies to replicate data:
• Using SAP Replication Server for log-based replication
• Using SAP Data Services for ETL
• Using SAP NetWeaver-based trigger replication from SAP Landscape Transforma-
tion Replication Server or 1.vith the Direct Extractor Connection (DXC)

For this reason, you'll find information (data) modeling 1vith SAP HANA studio well
documented early on, 1.vhich was also reflected in the initial SAP HANA trainings.
For developers, SPS 04 introduced a repository and delivery units for application life-
cycle management, together with SQLScript for scripted calculation views. The UI
toolkit for Information Access (InA) provided the building blocks for developing
search-based applications. You had to import the delivery unit yourself and enable a
new xsengine process. Early on, R integration enabled the embedding of R scripts for
SAP HAN1\ database executions. Both developments pointed to the future, when SAP
HANA would mature from a database appliance to a full-fledged in-memory plat-
form.

SPS 05: Application Functions and Native Development


SPS 05 introduced several enhancements and new features for system administra-
tion. The new functionality highlights were as follows:

73
2 Technology Overview

• BACKINT SDK for SAP HANA, an application programming interface (AP!) for
third-party backup tools
• Data volume encryption
• Separate network zones
• Password blacklists
• Performance monitoring tools like the Plan Visualizer
For development, the AFL was introduced for the BFL and the PAL. Vvith full-text and
fuzzy search, you can now perform text analysis as an in-database process.
SAP HANA was added to the platform, and InA changed to the UI development toolkit
for HTMLS (SAPUIS). SAP HANA XS added server-side JavaScript programming, sup-
port for OData and XML for Analysis (XMLA), offered a web server serving static con-
tent from a repository, and featured a web application development environment
with a new development perspective fo r the SAP HANA studio as principal IDE (for
novv).
Concepts like runtime objects and design-time artifacts were documented, and new
roles were added. For the first year, SAP HANA XS application development was only
available in ramp-up as an SAP-led project solution for preapproved customers and
partners.

SPS 06: Real-Time Data Platform


With SPS 06, you're no longer limited to SAP HANA as an appliance. The TD! program
has been launched, allowing you to integrate the in-memory platform into your data
center with custom installations on custom hardware by a certified engineer. With
failover groups, you can now manage host auto-failover for distributed, multihost
scale-out systems. And with system replication, you can both achieve high availabil-
ity and implement a disaster recovery solution. Many new features for platform life-
cycle management, backup and recovery, and security were released in this and
subsequent SPSs, driven by the data center readiness program. The data federation
functionality was added with SAP HANA smart data access (SDA), which enables you
to create virtual tables on remote data sources that can serve as an alternative for rep-
lication.
For development, the SAP HANA Web-Based Development Workbench was intro-
duced, grad ually shifting the focus from full Windows clients to web-enabling tool-
ing. Also new was core data services (CDS) as the future "data dictionary" for native

74
2.4 What's New: Support Package Stacks and Revisions

SAP HANA development. CDS allowed developers to define design-time database


artifacts, managed in the repository, that could be used to generate the actual run-
time objects. Today, the latest SAP Web IDE release still works according to this con-
cept.
To support native development, many new features were added to the development
perspective like the application Jifecycle management application, also web-based,
but new features were also added to the SAP HANA studio modeling perspective
where you could use the Application Function Modeler (AFM).
With SAP HANA Interactive Education (SHINE), a self-study tool was added for devel-
opers that was based on SAP Net\Neaver's Enterprise Procurement Model (EPM},
which should be familiar to those with an ABAP background. We'll return to SHINE in
Chapter 4, Section 4.13.

SPS 07: Data Center Service Point


In SPS 07, more features supporting data center deployments for landscape manage-
ment, system administration, and security were added. For this release, SAP intro-
duced the notion of maintenance revisions and data center service points, later
modified and eventually abandoned again. Authentication with SAP logon tickets
was added as was support for the new CommonCryptoLib cryptographic library (later
as the default provider) together with tools to modify the secure store in the file sys-
tem (SSFS) master keys. To improve the monitoring experience, three web-based edi-
tors were added to the SAP HANA studio, later evolving into the SAP HANA cockpit.
System replication was enhanced, and more SDA sources were added, notably the
SAP Event Stream Processor.
For developers, SPS 07 added new PAL algorithms-which would continue with every
release-improved text analysis, and a spatial engine was added to support geo-
graphic information system (GIS} features . With SAP HANA spatial services, you can
now store geographic locations, routing information, and shape data together with
your business data in a single database.

SPS 08: Platform for all Applications


Starting with SPS 08, new releases were becoming public events with a blog from
product management and Live Expert Series (LES) webinars.
SPS 08 brought enhancements to many domains but few major new features. Sup-
port was added for Red Hat Enterprise Linux (RHEL} as an operating system for the

75
2 Technology Overview

SAP HANA server. Improvements were m ade to modeling, native development, and
spatial enhancements. The River Definition Language (RDL) and Rapid Development
Environment (ROE) were also introduced with this release to simplify enterprise
application development, soon to be discontinued as a standalone project and mor-
phed into the SAP Web IDE, a single web development environment for both SAP
HANA on-premise and for the enterprise SAP HANA platform-as-a-service (PaaS}-
SAP HANA Cloud Platform (with "HANA" later dropped from the name).

SPS 09: Smart Options and Cloud-Enabled


Released in November 2014, under the "same platform for all applications" theme,
SPS 09 stressed cloud-enablement for the first time and focused on application
development, openness, big data and IoT. This edition introduced numerous options,
eight in total, each subject to separate licensing and each providing many innova-
tions.
For ETL-type data provisioning, SAP HANA smart data integration (SDI) and SAP
HANA smart data quality {SDQ) could be used. SAP HANA smart data streaming {SDS)
(later SAP HA.NA streaming analytics) connected SAP HANA 1.vith IoT. With SAP HANA
dynamic tiering. extended storage was integrated with SAP HANA for \varm data
storage.
Cloud-enablement was provided with the multi tenant database container {MDC) sys-
tem, later called tenant database system. MDCs enabled the creation of multiple iso-
lated databases on a single system to lower total cost of ownership {TCO). This change
in architecture brought many changes to both system administration and security
with minimal disruption to adopt this innovation, but single-container systems
remained the default database mode until SAP HANA 2.0.
Also cloud-enabled were two new system administration tools: the SAP HANA cock-
pit and the SAP DB Control Center for system management and landscape monitor-
ing (merged in SAP HANA 2.0). Cloud technology is taking center stage, and the effort
to develop full client applications like SAP HANA studio has been reduced.
For development and advanced analytics, we got s upport for series data, a native
graph engine, HERE maps, and, as 1.vith each release, lots of added and changed func-
tionality for SQL, SQLScript, modeling, and native development. Big data interaction
became a possibility with Hadoop integration, both as a data provisioning source
with direct access to the Hadoop distributed file system (HDFS) and for MapReduce
development.

76
2.4 What's New: Support Package Stacks and Revisions

SPS 10: Running Mission Critical Applications with Confidence


SPS 10 was revision 100, 5 years after GA. For th is release, the innovation focus was on
support for running mission-critical applications (delta backups, workload manage-
ment) and enhancements to system replication, security, and administration tools.
The second major theme of the release was big data and IoT and it introduced the
remote data synch ronization option which, together with SAP SQL Anywhere on the
client side, provided connectivity to edge networks, mobile devices, and IoT data. SAP
HANA smart data access (SDA) provided support for Apache Spark.
With SPS 10, support for VMware virtualizations in scale-out deploym ents became
available-an important milestone for cloud deployments-as well as different logi-
cal partitioning tech nologies. In the spirit of openness, the IBM Power architecture is
now also supported as are a growing number of hardware and software partners, all
listed in the new SAP HANA hardware directory. For the most part, particularly in the
development area, 1.00.10 brought enhancement and improvements to existing fea-
tures and functionalities.

SPS 11: Innovate Modern Applications, Accelerate Insights, and Simplify IT


The theme for SPS 11, released in November 2015, was to innovate modern applica-
tions, accelerate insights, and simplify IT. For modern applications, a new runtime
environment was added: SAP HANA XS Advanced with its microservices architecture.
GitHub integration was introduced, demoting the original "classic" SAP HANA XS
implementation, which would be tagged for deprecation with 2.00.02. New PAL algo-
rithms were added, certification for the Open Geospatial Consortium (OGC) and
enhancements to text analysis, development tools, and data modeling.
To speed up Hadoop data analysis, a new connector to SAP "HANA" Vora was
included. SAP Vora provided an in-memory query engine for Apache Spark and
Hadoop to add business context to analysis by combining enterprise data and
Hadoop data. The "HANA" part would later be dropped from the name, and the prod-
uct would later merge into SAP Data Hub.
To sim plify IT (reflecting the "Run Simple" campaign of the time), hot-standby sys-
tem replication hosts were introduced with continued log replays plus further inte-
gration with the SAP Solution Manager (SAP EarlyWatch Alert and the SAP security
baseline). A new cockpit tool made SAP HANA studio's diagnostic mode web-enabled
for offline administration. The SAP HANA cockpit- SAP HANA studio feat ure parity

77
2 Technology Overview

was an important driver in the tooling area, and these online and offline tools wo uld
soon be merged.

SPS 12: A Mature Enterprise Solution


SPS 12, released in May 2016, was an important release and is currently (as of the time
of writing, summer 2019) the only SAP HANA 1.0 release still in maintenance. The pre-
vious release theme was maintained. SAP HANA capture and replay, workload man-
agement, and system replication enhancement were highlighted to simplify IT and
to innovate modern applications. A new graph engine added native support for
graph processing to the platform. and a new SAP Web IDE, the successor to the SAP
HANA Web-Based Development Workbench, was no\v powered by SAP HANA XS
Advanced and supported with runtime tools for catalog browsing and SQL execution
and the HOT to get artifacts from design-time to runtime.
At SAP TechEd in 2016, the SAP HANA, express edition, was launched, optimized to
run on laptops (or virtualized on a cloud instance) with a much smaller memory foot-
print. SAP HANA, express edition has most enterprise features removed and follows
the release cycle of the platform edition.

2.4.2 SAP HANA Platform Edition 2.0


The SAP HANA 2.0 platform edition was released in November 2016 as the "next-
generation platform for digital transfo rmation." The 2.00.00 release was follo\ved
by SPS 01 and 02 in 2017 in short succession, together with an updated release and
maintenance strategy. New releases for the platform edition now take place once a
year, not twice, with maintenance extended. In this section, we'll provide a short
description of the SAP HANA 2.0 releases.

SPS 00: Digital Transformation


In the release announcement, SAP HANA 2.0 was presented as an evolution of the
existing platform. Continuous innovation has been a recurring theme for SAP HANA
releases, and since revision 2.00.00 is just the next SPS release 6 months after 1.00.12
due to a code split (the revision number would have been 1.00.13 otherwise), we're
not looking at a completely different product. When you zoom-in on the features,
you're mostly looking at enhancements to functionalities introduced previously.
System replication, introduced with SPS 06, already provided hot standby and con-
tinuous log shipping, and now offers an active/active read-enabled mode with high

78
2.4 What's New: Support Package Stacks and Revisions

availability/disaster recovery automation available through SAP Landscape Manage-


ment. Data encryption of data at rest, introduced with SPS 08 for the data volume, is
now made available also for the redo logs (with backup following in SPS 01). The SAP
HANA cockpit has been redesigned for SAP HANA XS Advanced and with a dedicated
SAP HANA, express edition instance, merging the functionality of the offline cockpits
and the SAP DB Control Center. The new SAP HANA cockpit introduces a lot of new
functionality for system administration, monitoring, backup and recovery, and per-
formance analysis with, for example, new SQL tools and the Workload Analyzer.
Group authorization with Lightweight Directory Access Protocol (LDAP) is new, later
enriched with automatic user provisioning, and for SAP BW, extension nodes have
been introduced, a topic we'll come back to.
For development and advanced analysis, the picture is the same with a mix of new
and modified features. New is the SAP Enterprise Architecture Designer {SAP EA
Designer). edition for SAP HANA, bringing core SAP PowerDesigner functionality as
an SAP HANA XS Advanced web application. SQL hierarchy functions are new, as is
GraphScript and a number of PAL algorithms (the terms analytical intelligence and
machine learning are referenced for the fi rst time); updates to CDS, improvements
for SQLScript. SAPUIS, SAP HANA XS Advanced runtimes, development tools, and ser-
vices; a new tool and guide to migrate from SAP HANA XS. classic model to SAP HANA
XS Advanced; and so on.

SPS 01: Continuous Innovation


With SPS 01, innovation continues. For database management, the switch to tenant
databases as the default (and only) database mode was significant, and many new
enhancements were introduced for the SAP HANA cockpit administration tool,
detached no1.v from the platform edition and on its own support pack (SP) release
cycle.
For security, the most significant new feature was data masking. adding another layer
of security to protect sensitive data. For data management, apart from linked data-
bases and a number of new data integration sources. the release adds the SAP HANA
Spark Controller with access to SAP Cloud Platform Big Data Services (acquired tech-
nology fo rm the Altiscale acquisition). For advanced analysis, a NoSQL JSON docu-
ment store was added, together with new machine learning algorithms and
enhancements to spatial, graph, and text capabilities.
For development, not unlike the SPS 00 release, a long list of enhancements and
improvements were added. in particular for the SAP Web IDE. from which we can

79
2 Technology Overview

highlight SAP Fiori launchpad implementation fo r SAP HANA XS Advanced, an HDI


instance manager, and the product installer, a web UI to install SAP HANA XS
Advanced.

SPS 02: Minor Release


Releasing 3 months after SPS 01 meant little development time to add new featu res
(but a bit more to finish earlier work). A sign-of-the-time is provided with Google Ten-
sor Flow integration for machine learning, with Al and machine learning being trend-
ing topics now integrated with SAP HANA advanced analysis.
Go (also from Google) was added as a supported client interface, after Python,
Node.js, and ADO.NET previously, to complement generic Open Database Connectiv-
ity (ODBC) and Java Database Connectivity (JDBC). Ruby and .NET Core would be
added in SPS 03 and 04. Good news for SAP HANA XS Advanced was also released, like
a command line interface (CL!) to manage instances and services, updates to HD!,
runtimes, and a migration assistant for the SAP HANA XS, classic model applications.
Not such good ne,vs for SAP HANA XS, classic itself, as it is, together with the reposi-
tory, officially deprecated as of this release. Minor changes to text, graph, and spatial
capabilities were made in this SPS, with many features added to the SAP Web IDE.
In the past, new functionality was often first introduced in the backend with the cor-
responding UI following suit one or two releases later. With the SAP HANA cockpit on
its own release cycle since SAP HANA 2.0, expressed in SPs, now backend and front-
end features are often in sync, and even for the minor SPS 02 release, t he list of new
functionalities for the SAP HANA cockpit SP 03 release is major, with feature parity
with SAP HANA studio reaching completion.

SPS 03: Business Data Platform for the Intelligent Enterprise


With SPS 03, released April 2018, "ve entered the era of the intelligent enterprise, envi-
sioned by SAP with its suite of business applications at the top, embedded with intel-
ligent technologies-AI, machine learning, the IoT, analytics-and connected to a
digital platform "powered by HANA" and t he SAP Cloud Platform.
One of the release highlights is data anonymization, which allows you to gain statis-
tically valid insights from data containing personal or sensitive information while
protecting the privacy of individuals. Also of interest is client-side encryption, which
helps you encrypt columns containing sensitive data with a key accessible only by
the client, thus adding an additional level of secu rity for cloud-based deployment
scenarios.

80
2.4 What's New: Support Package Stacks and Revisions

For high availability and disaster recovery topics, continuous improvement added
multitarget system replication, invisible takeover for the client, and secondary time
travel capabilities, enabling you to fix logical errors and human mistakes. On the sys-
tem administration side, fallback snapshots for tenant databases, fast database reset,
and system database restore were added.
For data integration, the ability to create a remote source for Google BigQuery data-
bases and the latest Teradata, Oracle, SQL Server, and DBZ releases (at the time) was
added. Integration of blockchain was enabled by leveraging an SAP Cloud Platform
service.
As with every release, a long list was issued of new and changed featu res for SQL-
Script, including a MapReduce operator and user-defined libraries, and for SQL state-
ment support, SQL functions, and system views. The same applies to algorithms
added to the PAL, which now also includes a model evaluation and parameter selec-
tion tool, and the new GraphScript extensions and spatial methods.
For native development, the Python runtime is now supported, and new features
were added to CDS, the HD I-in particular to the SAP \.Veb IDE (Git integration, calcu-
lation views, CDS, flowgraphs, and annotation modeler) and the database explorer
(graph workspace viewers, table types, background activities, code analyzer, debug-
ger, and remote sources). Shared business authorizations enable you to create ana-
lytic privileges in SAP HANA based on the authorization objects used in SAP
S/4HANA, SAP BW, and other ABAP-based applications.
For the first time since the launch of SAP HANA, development and product manage-
ment could work for a full year on a single release. The innovation pace had not
exactly slowed down-the list of new and changed features only grew- but now
changes are introduced annually and not twice a year (that is, for the on-premise edi-
tion). Just vvhen the concept of timeless software seemed further away than ever
before, cloud priority brought it back on the table again: Innovation without disrup-
tion remained as valid as 10 years before. For the next release, new features were
released, almost on a monthly basis, to the SAP HANA cloud edition, the database
behind the SAP Cloud Platform, SAP HANA service in the Cloud Foundry environ-
ment.

SPS 04: Intelligence, Agility, Efficiency


Whether related to the buzz caused by the latest reorganization or not, the SPS 04
release from April 2019, only weeks before the annual SAPPHIRE NOW conference,
received more promotion then customary, with news articles from the SAP News

81
2 Technology Overview

Center and SAP's product development resources affirming SAP HANA as the heart
and soul of SJ.\P.
With this release, we learned that the development focus has been on three areas:
• Intelligence
Intelligence references the intelligent technologies already mentioned and also
the familiar hybrid transactional analytical workload and SAP HANA as platform
for advanced analytics with in-database, in-memory processing of spatial, graph,
series, and text data and event streaming.
• Efficiency
This single platform also drives efficiency, simplifying IT landscapes at a lower
TCO also provided through the use of persistent memory (Intel Optane DC) and
native storage extensions for data aging.
• Agility
Agility comes with support for multiple cloud providers, on-premise landscapes,
and its combination (also referenced as hybrid), extended recently with hyper-
converged infrastructure (HCI), which brings cloud computing back home to the
enterprise. New spatial clustering options and further enhancements to data
anonymization are also results from this focus.

Apart from these three recurring themes, the democratization of in-memory com-
puting is now also stressed: SAP HANA is for everyone.

Learn More
For the latest announcements about SAP HANA, visit the SAP News Center at http://
s-prs.co/v488409.

For system management, a new configuration framework has been introduced for
system properties (INI files), workload management and SQL Plan Stability, and
memory management, including a fast restart option that leverages the persistent
memory implementation but by using the tmpfs file system instead. New as well are
application-time period tables to extend the functionality to manage historical data,
complementing system-versioned tables and changes to table management for par-
titioning and data aging.

82
2.4 What's New: Support Package Stacks and Revisions

For high availability, as with every release, system replication has been improved and
enhanced once again, this time with takeover handshakes, fallback snapshots, time
travel extensions, multitarget configurations, and session recovery, plus some minor
enhancements to backup and recovery capabilities.
For security, new and improved features were introduced for auditing, data ano-
nymization, and client-side encryption, to name but a few, and many new feat ures
were released as well for the SAP HANA cockpit and the SAP EA Designer tool.
For previous releases, we've only mentioned the most relevant new fu nctionalities. To
give you an idea of the scope of the innovations and the volume of new functionality
introduced, let's walk through a more complete list just on the topic of development.

Learn More
With each new SPS release, usua lly, the product management and documentation
teams at SAP publish a blog on the SAP Community porta l. If you want to be
informed about when new biogs are posted, just follow the SAP HANA tag (or follow
the authors).

The SAP HANA SQLScript reference lists 37 new and changed features including auto-
commit data definition language (DDL) control, anonymous block plan caching, new
code analyzer rules, and other items that may require a certain fam iliarity to be fully
appreciated.
The same is true for the PAL, which includes some architectural changes, including
nine new algorithms and nine changed algorithms. T-distributed stochastic neighbor
embedding is new, for example; you might want to check out the other new algo-
rithms as well.
For graph processing, SAP HANA now has several new and changed features for
GraphScript extensions, for openCypher support, and for the graph workspace
viewer.
For spatial processing, SAP HANA spatial services now has over a dozen new meth-
ods, a new "zero tolerance" exact computation paradigm, and a reduced memory
footprint of up to 50% benefits in-memory representations of geometries in planar
spatial reference systems.

83
2 Technology Overview

For client interfaces. su pport for 1Pv6 and Microsoft Windows Server 2019 was added.
New connection properties and statement attributes for the SQLDBC driver, new
ODBC tracing options for hdbsqldbc _cons, and forced statement routing to a site for
active/active read-enabled system replication have also been added. New cursor class
methods are supported for Pyt hon as are a new driver for Node.js and nev,r methods.
Prepared statements can be cached on first use and closed prepared statements can
be cached. New JDBC connection properties, methods, AP! support, and trace options
have been added. Additional fu nctionalities include new nochop option fo r the hdbsql
command line tool, a new driver session variable, a new driver for Microsoft .NET
Core, and new machine learning APis for Python and R, plus support fo r client-side
encryption of the decimal data type.
Concerning SQL and system views, 45 SQL statement were changed, and 11 new ones
added. Nine SQL functions were altered, and fo ur new ones have been added, for
example, ALLOW_PRECISI ON_LOSS. For system views. 52 statements have changed, 28
added, and 1 removed. In addition, application-time period tables are now supported,
and the statement for client-side encryption to support key rotation and the ARIA-
256-CBC block algorithm has been changed, while new and changed views support
anonymized views. Changes to hints, inline annotations, partial rollback, and colla-
tion specification have also been made.
Space does not allow us to elaborate further on what's new for the SAP Web IDE, the
HD!, SAP HANA XS Advanced development, text search, hierarchy functions, the
EML, and SHINE, but the list goes on and on. SAP HANA has been on an impressive
innovation journey.

2.5 Deployment Options


SAP HANA can be deployed on-premise in a data center or hosted in the cloud, either
by SAP via the SAP HANA Enterprise Cloud, as a PaaS with SAP Cloud Platform, or
using infrastructure-as-a-service (IaaS) on a public cloud. Figure 2.5 shows an over-
view of the various deployment options. When deployed on-premise, you can choose
preconfigured hardware and software appliances or pursue a more customized envi-
ronment.
We'll walk through both options in the following sections.

84
2.5 Deployment Options

On-Premise
Corporate Data Center

TOI (DIV)

Appliance

SAP HANA Ent erprise Cloud SAP Cloud Platform (PaaS) laaS
SAP HANA
Neo (SAP) Cloud Found ry
(laaS) I SAP HANA (BYOL)
I
SAP Applicat ions
SAP HANA
Service
SAP HANA
Service
I SAP Applications
I
SAP Services SAP HANA,
Ex press Edition

Managed Cloud Public

Figure 2.5 SAP HANA Deployments

2.5.1 On-Premise
As described earlier, SAP HANA was initially only available as an appliance. Choice
was limited in the early days, and the available appliances were presented in different
sizes like T-shirts. Not every customer was pleased by this almost one-size-fits-all
approach, so a new program was launched to address this problem. To stick with the
clothing metaphor, the program was called tailored data center integration (TDI), and
customers could look for Certified Appliances and Certified Enterprise Storage in the
SAP HANA hardware directory (http://s -prs.co/v488410). Today, the directory lists a
great number of possible configurations, now including Certified laaS Platforms for
cloud-hosted environments from IaaS providers.

2.5.2 Cloud Deployments


What you can you virtualize, you can run in the cloud, so not surprisingly, SAP HANA
can be found in hosted environments as well as in public and private clouds.
The biggest public cloud providers will likely sound familiar: Amazon Web Services
(AWS), Microsoft Azure, Google Cloud Platform (GCP), and Alibaba Cloud, to name the
largest hyperscalers. A private cloud, also known as an internal or corporate cloud,

85
2 Technology Overview

offers computing services either at your own corporate data center or from a p ublic
cloud provider that is only available to a restricted audience. Both types offer the
same benefits, like scalability, elasticity, and self-service. In other words, no IT depart-
ment required, flexible and adaptable- start and stop as desired, create or terminate
on-demand- and without any capital expenditure, \Vith the ability to scale from
minute to massive (and back again) in little time, pay-as-you-go. Although a smorgas-
bord of different services are provided by these cloud providers, we generally distin-
guish between IaaS and PaaS offerings:
• IaaS: Provides the virtual machines, storage, network, and related services (fire-
walls)
• PaaS: PaaS provides the m iddleware (database, application server, and related ser-
vices)

Both IaaS and PaaS offer similar benefits:


• Scalability: Scale from m inute to massive in little time (and back again)
• Elasticity: No IT department is required. Flexible and adaptable- start and stop as
desired, create, or terminate on-demand-and without any capital expenditure
• Self-service: Pay-as-you-go

To deploy SAP HANA in the cloud, you'll choose among different options depending
on how much yo u want to control (and do yourself) or ho\v much you need just a
database-as-a-service (DBaaS), which we'll cover in the following sections.

SAP HANA One


SAP HANA One was the first available public cloud offering for a hosted SAP HANA
database. Available on the AWS Marketplace for the SAP HANA 1.0 release as early as
2012, SAP HANA One could be used in both development and productive use case sce-
narios. Over ti me, other cloud providers also added this service to their own market-
places. In 2016, for development and free trials, SAP introduced the slimmed down
SAP HANA, express edition (see later in this section), and the SAP Cloud Appliance
Library (also discussed later in this section). Today, SAP HANA One is no longer avail-
able for new customers.

86
2.5 Deployment Options

SAP HANA, Platform Edition


In the SAP HANA hardware directory, you'll find the SAP HANA platform edition
listed under the Certified laaS Platforms header with configurations (at the time of
writing, summer 2019) for up to 9 TB (or TiB, to be precise). These configurations
include public cloud offerings, pay-as-you-go subscriptions, and bring your own
license (BYOL) models.
The SAP HANA, platform edition, is the same platform edition as described in Section
2.3.l.

SAP HANA, Express Edition


To promote the development of native applications running on the SAP HANA XS
architecture, you'll also find the SAP HANA, express edition hosted by all the major
hyperscalers. Typically, you'll get a license for the 32 GB entry edition for free (includ-
ing production use cases, but not including the cost of hosting from the cloud pro-
vider). If desired, you can scale this edition up to 64, 128, or 256 GB by acquiring an
additional license. See Section 2.3.2 and Chapter 4, Section 4.12, for more details.

SAP HANA Enterprise Cloud


To help customers adopt SAP HANA and SAP HANA-based applications, SAP provides
the SAP HANA Enterprise Cloud, a privately managed cloud offering with guaranteed
service levels and additional business services included in the deal.
Since SAP is a cloud provider, you can have SAP host your business applications in
SAP's data centers, which is a reliable choice because no company has as much expe-
rience with hosting SAP applications as SAP.
Alternatively, you can also choose a public cloud provider, Microsoft Azure, for
example. Although these options may seem confusing at fi rst- a privately managed
cloud offering from a public cloud provider-regardless of who does the hosting, SAP
HANA Enterprise Cloud is not a public service, which makes it different from the
other cloud deployment options mentioned earlier (BYOL; SAP HANA, express edi-
tion; and SAP Cloud Platform, SAP HANA service).

87
2 Technology Overview

Technology Background
When introduced together with the SAP HANA Enterprise Cloud at the SAPPHIRE
NOW conference in 2013, the name "HANA Cloud Plat form" and t he acronyms HCP
and HEC ca used some confusion at the time (and maybe still do) since not everyone
is famil iar with public and private clouds or wit h the various service models (laaS,
PaaS, etc.). In 2017, HCP was renamed as SAP Cloud Platform.
Th is enterprise PaaS solution enables you to bu ild and ext end business applications.
As mentioned earlier, think of PaaS as the database/application server part. The
cloud platform project was started in 2009 to bring SAP Net Weaver to t he cloud. The
name chosen was "NetWeaver-on-demand," or Neo, and this name is still reflected
in t he URL for t he plat form: hana.ondemand.com, as the software development kit
{SOK) client command line tool, and in t he name of one of t he SAP Cloud Platform
environments (Neo, t he other being Cloud Foundry).

Learn More
For a product overview, the key benefits and capabilities, business cases and cus-
t omer references, plus the ava ilable business services, see t he product page for SAP
HANA Enterprise Cloud.

SAP Cloud Platform, SAP HANA Service


Finally, the most recent development in this space is database-as-a-service ("dbaas"
in the URL), sometimes also referenced as Haas in biogs and presentations, but offi-
cially named SAP Cloud Platform, SAP HANA service. This service is a managed data-
base, which includes, for example, automated backups and guaranteed availability.
From the SAP Cloud Platform cockpit, you can simply subscribe to the service and
start a database instance. The initial provisioning will take a bit of time, but after-
wards, you'll be able to start and stop the instance in under a minute.
Although called a managed service, you'll still need to perform most management
tasks like creating user accounts and configuring alerts. To manage the service, you'll
use the SAP HANA cockpit. Figure 2.6 shows the System Overview page for the system
monitor and launchpad fo r system administration. You'll also use the database
explorer. Both tools are (almost) identical to their on-premise versions. In other
words, from the point of view of a database administrator, few differences exist

88
2.5 Deployment Options

between ru nning SAP HANA on-premise or using the SAP Cloud Platform, SAP HANA
service.

84371023-1)641-4649-8316-. System Overview c


Open SOL Console @
84371023-b641 -4649-8316- Ctear CrecleoUals

Alter by Area:

S.srch Q All v

Overall Database Status Memory Usage General lnformalion


zeus.h.ana.prod.us-east·
1.whitney.dbaas.ondemand.eom 20619
SAP HANA Version:
Used ti.4&mory Resident Memory
2.00.040.00.1545918 182

0 Running Uist Uf)Gate:


26.7 G8 AfK 4, 2019, 11:10:31 AM
Re&ated Alerts:
u...d MttnOty Platform:
8 Peak Used Memory
SUSE Linux Enterprtse SeNer 12 SP2
F\1emory AJIOCMlon Llmll
Usage Type:
custom
Monitor Pelformanee •••
Oesa"lptlon: Database Administration

Hosts: CPU Usage Manage system configuration


1 Manage database backups
se<vlCes: CPU Usage· 12 % max Browse database obje<:ts @
1 Manage workload classes
100
Manage statement hints
Manage plan stability

Disk Usage 3 of 3 Disks


Monitoring

Total 3 TiB Monitor perfonnance


I
Monitor table usage

3 Most Critical Disks Open blocked transactions

Disk 10: 250918 1,023.51 GIB


Alerts
Total Usage 13.77 GIB ··i ····-·····-·······························
Log 274.59 MjB High and Med~m AIOfts

M 'mm
"""""' Total

0.Sk 10: 680389 1,023.51 GIB

Figure 2.6 SAP Cloud Platform, SAP HANA Service: SAP HANA Cockpit

How exactly you're charged for the service will depend on the service plan, on the
SAP HANA edition (standard or enterprise), and on the environment where SAP
HANA is running: Neo or Cloud Foundry (see Chapter 4, Section 4.9.1). Figure 2.7

89
2 Technology Overview

shows the SAP Cloud Platform cockpit, where you can create subaccounts for the dif-
ferent environments.

~ Global Account: Digital Enablement - Subaccounts


All: 3

Ne-11 Subaccount

A CF AWS Frankfurt & CF Azure Amslerdam & Neo Amsterdam


EnWonrnet1• aoud Foundry Etwlromaent Neo
Prc:Md«: Amazon Web Se-Mees (AWS) Provider- Microsoft Azurt ~ovider: SAP
Reoe>n: • Europe (FfritLl'I) Rt2i0n: • Ewope (Ned'liertands) RellOn • Europe (Amsterdam)
De'SCf'C)tllOn: -none- oescnl)l.on: ·none-- Description -non~

,, IIl If ID If ID

Learn how global a~unts and subaccounts relate to each other and find recommendations for setting up your atcount model

Figure 2.7 SAP Cloud Platform Cockpit: Subaccounts

Learn More
For the documentation, see SAP Cloud Platform SAP HANA Service on the SAP Help
Portal.
The SAP Cloud Platform, SAP HANA service, has its own feature scope description
document distinct from the SAP HANA platform. This document lists which features
are included in t he sta ndard and enterprise ed itions for bot h t he Cloud Foundry and
Neo environments.

Tutorials
To learn more about the SAP Cloud Platform, SAP HANA service, try t he hands-on
tutorials from the SAP Developer Cent er or watch the tutorial videos from t he SAP
HANA Academy channel on YouTube:
• SAP Developer Center, Tutorial Navigator
• SAP HANA Academy: SAP Cloud Platform, SAP HANA service

90
2.5 Deployment Options

SAP Cloud Appliance Library


The SAP Clo ud Appliance Library, shown in Figure 2.8, is a tool that enables yo u to
deploy the latest SAP on-premise solutions in the cloud. A "solution" in this context
refers to a preconfigured environment (the "appliance"), typically an SAP HANA data-
base backend system and a (\"lindows) client frontend system, with in some cases a
bastion or jump host for added security (a VPN access point).

SAP Infrastructure-as-a-Service Providers

SAP Cloud Amazon Web Services (AWS)


Appliance Library _ ~~-1-ns-t-an_c_e-~I

Solution A ~;:~
---
------- -------------~~-'_ns_t_an_c_e_~
Solution B I
-- ... _...... Microsoft Azure
~--
Solution C
--- -- ~-----~---..i Instance
-~ ~----~
~ ........ Instance I
Solution D

....................................

.--~-.... -.... -....-....-~-~---_-1_n-s~t_a-n~c~e~~~------,


Solution Z
Google Cloud Platform

Figure 2.8 SAP Cloud Appliance Libra ry

Compared to the traditional on-premise delivery method, vvith SAP Cloud Appliance
Library you can reduce the deployment time from vveeks to minu tes by skipping sev-
eral steps, such as hardware and infrastructure setup, the installation of the operat-
ing system and SAP software, mandatory and time-consuming configuration
activities, and solution validation at the end. All you need to do in the SAP Cloud
Appliance Library is to link your library to a cloud infrastructure provider (AWS,
Azure, GCP, etc.) and create an instance. Initial startup will take some time to copy t he
image and deploy the solution, but all subsequent start ups will be fast.
Although you would of course benefit most from the SAP Cloud Appliance Library
solutions that took experts weeks to install and configure, you'll also find basic solu-
tions like the SAP HANA platform and the SAP HANA, express edition. If you sign up

91
2 Technology Overview

for an openSAP course (see Chapter 10, Section 10.1.2}. you may find that a SAP Cloud
Appliance Library solution has already been prepared, so you can enhance your edu-
cation with hands-on exercises on your o~vn private training system.
Figure 2.9 shows the different solutions available in the SAP Cloud Appliance Library.
With a single click, you can start creating the instance. v;hich in basic configuration
mode only requires you name the instance and provide a master password. In
advanced mode, you can change network configurations, virtual machine templates,
and other technical details.

SAP HANA, EXpms Edition C!li9


,.,licrosott Azure, 0 Activated Create Instance
SAP SE I S.,, 13. 2018 Google Ct.ood Platform

SAP SOL Data War*"ousJng (Devt lOPtr EID Amazon V\'eb Services.
edition) ti.tk rosott Azure, 0 Activated create IMtance •••
SAP SE I Sep 13, 2018 Goog\e Cloud Pla~f0tm

SAP Model Company lor Fashion and Vertical .a All'lazon 'A'eb servkes,
Business V2 with CAA add·On t-.bcrosott Azure. e Available Creatt lnsQOCt

SAPS.E I sep 4 , 2018 Google Cloud Platf0tm

SAP NetWeaver AS ASAP 7.52 SP01 on


SAP ASE 16.0
•·;·'·'* All'lazon V\~b Stl'Ylces,
Microsoft Azure, • Aval!abte Create Instance •••
SAP SE I '-"8 29. 2018 Google Cloud Platf0<m

SAP NetWeaver AS ASAP 7.S2 SPOl on 4 1;.I·!• Amazon V\'eb Services.


SAP HANA 2..0 SP02 t.lkrosott Azure, e Available create 1nsuince
-· >
SAP SE I Aug 29, 2018 Google Clwd Platform

SAP Model Company lor Finance Vl U. Amazon V\'eb services,

SAP SE I Aug 15 , 2018


h.iiCrosott Atu1e, e AvaUable Create lnstal'ICe

Google Cl.oud Pla:fOfm

Amazon V\'eb services,


SAP HANA, Platform Edldon 2.0 SPS03 4 1;111•
h.iiCrosott A.lure , • AvaHable Create lnstal'ICe

-
SAP SE I Aug 13, 2018 Googlt Cl.oud PlatfOfm

SAP Model Company Core Re~ il V3 with Amazon V\'eb serv'ices,


CAR ad d·On h.,icr0$0tl Azure , • Available Create lnstal'ICe
SAP SE I Aul 13. 2018 Goog.te Cloud Platf«m "'

SAP Busi ness One 9,l . vets.Ion tor SAP EID Mazon Y..'eb Strvicts.
HANA PL4 h.t icrosott Azure, e Available Create Instance •••
SAP SE I '-"I 8. 2018

-
Google Ct.ood Pt.fltf«m

SAP Model Company fo r R&DJEn&iM4rin1 Amazon \\'eb services,


an d sustaln ablUty V5 Mk rosofl Alure, e Avanable Create 1nst11t1Ce ••• >
SAP SE I Aug 5 , 2018 Google Cl.oud Platf0tm

SAP SOL Data Warehousing 4 i,Jt1• Amazon \\'eb Services,


h.ticrosott Ature. • Available creatt Instance
SAP SE I Aug 2. 2018 Google Cl.oud Platf«m "'

SAP Sl4KANA 1709 FPSOl 4 1!lf 19 Amazon \\'eb Services,


h.ilcrosott Ature. • Available creite Instance

-
SAP SE I .M\ 27, 2018 Google Cl.oud Platf«m

SAP Model company for Trad e M anagement Amazon V\'eb seMc:es,


tor Con.sumer Products Microsoft Azure, • Available Create Instance
SAP SE I Jun 21. 2018 Google Cl.oud Platf0tm "'

SAP Cloud tor Insurance ( 541) v4 4 1;.f!M Amazon V\'eb Services.

Figure 2.9 SAP Cloud Appliance Library: Solutions

92
2.6 Summary

Learn More
To learn more about the SAP Cloud Applia nce Library, see the SAP Community page
SAP Community for the Cloud Appliance Library and the SAP Cloud Appliance Library
portal itself at http://s-prs.co/v488477.

Tutorials
Tutorials are available at the SAP Developer Center and the SAP HANA Academy that
cover how to sign up to SAP, create accounts, and create solution instances.

2.6 Summary

Congratulations! You've made it to the end of this overview chapter. We've covered a
lot of material, but now you can confidently tackle the rest of the book. In this chap-
ter, we reviewed the history of databases and the genesis of the in-memory platform.
We described system architectures, various processes and services, memory and per-
sistence, scale-out configurations, databases and application servers, and data tier-
ing. We clarified SAP HANA editions and options and then briefly paused at the
different SPSs released since 2010 to get a complete picture of how continuous inno-
vation created the in-memory platform as it exists today. Finally, we explored the
deployment options, in particular for the cloud, and introduced the SAP Cloud Plat-
form, SAP HANA service.
In the following chapters, we'll focus on the different personas working with the plat-
form, for instance the administrator, the developer, and the data center architect.
We'll start \Vith the administrator in the next chapter, as we turn to the topic of SAP
HANA administration.

93
Chapter 3
Administration
If one thing goes wrong, everything else will, and at the same time.
- Peter Drucker

We shape our buildings and afterwards our buildings shape us.


- Winston Churchill

To "administer" means to "serve." At least, that is the origin of the word. We serve the
end user (or to use the terminology more common at SAP, the business user). The
goal of the business is to make money (corporate missions and visions aside), and
your business users will be busy trying to achieve this goal. Your systems need to
support the business user by automating business processes and repetitive tasks, so
your business users are free to innovate and think of new ways to make money. The
system will need to do its job, and to ensure that your system works in optimal form,
you'll need an administrator, not to serve the machine, but to make sure the machine
serves the business.
In this chapter, we'll introduce you to the topic of SAP HANA administration, describe
the role of the administrator persona, and look at some of the tools that are used.
We'll cover typical administration topics like system configuration, resource man-
agement, backup and recovery, performance monitoring and analysis, and security.
In addition, we'll also address administration activities associated with SAP HANA
extended application services (SAP HANA XS) and look at lifecycle management,
both for the platform and for applications. Some of the responsibilities of the admin-
istrator persona, as defined by SAP HANA product management, touch on those of
the security architect, the data integration architect, the data architect, and the data
center architect. In these cases, these topics will be covered in subsequent chapters.

95
3 Administration

3.1 Role and Tools


Let's start by looking at the responsibilities of the SAP HANA administrator persona
and the tools at his or her disposal. In this section, we'll briefly describe the job role
and associated tools.

3.1.1 The SAP HANA Administrator


The system administrator's responsibility is to make sure the system serves its users
as best as possible. Each system will be different as will be most use cases. Many doc-
umented system parameters can be set (and an even larger number of undocu-
mented ones). Default values cover the most common settings but might require
adjustment for particular situations. You'll rely on your system administrators to be
familiar with these parameters. They'll need to determine which parameters can be
safely tweaked and adjusted and which would be best left alone.
Assuming initial system sizing was performed adequately, one job of the adminis-
trator is to manage system resources. Memory management- SAP HANA is an in-
memory database, after all- is important, bu t if suddenly all your storage is full,
you'll be in trouble. Would you benefit by placing your log volume on solid-state
drives (SSDs), and how should you configure the native storage extension opti-
mally? Something may go wrong, which causes something else to fail, and the chain
reaction continues (in other words, Murphy knocks on our door). Have we practiced
database restore routines enough, or are our routines fully automated and can we
trust they won't fail?
Besides business continuity concerns, the system administrator is also responsible
for keeping an eye on system performance. A system may be accessible, but if
response times are not acceptable, the system does not serve its purpose well. Work-
load management provides a solution to separate different types of system usage.
You don't want long-running jobs to impact ad hoc queries. How can you manage
peak loads? For this issue, the admission control feature presents several choices.
You've seen in the previous chapters that SAP HANA is both a database and a plat-
form and includes application server runtimes. Like the database, the application
server needs administration as well. You'll need to manage system resources, provi-
sion users, address security, and troubleshoot issues. As the technology is quite dis-
tinct, you'll be using different tools. The required skillset, however, is quite similar.

96
3.1 Role and Tools

Depending on your organization and how the SAP HANA platform will be used. your
administrator may also get involved for system maintenance. Executing server and
client updates, adding additional components, and configuring the overall system
landscape all need to be managed, generally referred to as platform lifecycle manage-
ment. But the platform also contains the runtimes for hosting applications {"powered
by HANA"}, so you'll also need to pay attention to the lifecycles of applications.
Besides application installation, configuration, and updates, application lifecycle
management also covers transporting content from development to production in a
managed, staged approach.

3.1.2 Tools
The principal tool for system administration for SAP HANA 2.0 is the SAP HANA cock-
pit, a web-based tool that integrates both application and platform lifecycle manage-
ment tools. In addition, or as an alternative, other tools are available to administrators
to address specific requirements. We'll discuss each in the following sections.

Linux Command Line


The SAP HANA server runs on Linux. Thus, basic operating system administration
skills and a certain familiarity with Linux administration tools would certainly bene-
fit the administrator. You'll have access Linux tools such as vi, secure shell, top, man,
kill, and, for when you're confused, whoami. To install the SAP HANA server, you'll
need root level access to the operating system, and for best performance, you'll need
to understand file systems, mount points, storage subsystems, and the configuration
of the network interfaces.
Probably the most used SAP HANA command is HOB, which is actually a script that
runs the commands to start and stop a local SAP HANA instance or that lists process
information (from ps}. Most of the actual commands are executed with the sapcon-
trol utility, the same program used with SAP NetWeaver.
As you can't connect your screen and keyboard directly to the SAP HANA server
{practically speaking), you'll use a terminal program to connect to the system. When
using a Linux client or macOS, you can use the Secure Shell (SSH) program. On the
Windows platform, you can use PowerShell or a third-party program, like PuTTY, as
shown in Figure 3.1.

97
3 Administration

0 x
4cadm@mo-lcaae8fcb. mo :/usr/sap/H4C/HOB96>
4cadm@mo-lcaae8fcb.mo :/usr/sap/H4C/HOB96> HOB
sage : /usr/sap/H4C/HOB96/HDB { startlstoplreconflrestartlversionlinfolprocladminlkilllkill-<sig>lterm
)
kill or kill-9 should never be used in productive environment!
4cadm@mo-lcaae8!cb.mo :/usr/sap/H4C/HDB96> sapcontrol -nr 96 -!unction GetProcessList
I
30 . 05 . 2019 13 :19 :59
tProcessList
K
ame, descript ion, dispstatus , textstatus, starttime, elapsedt i me, pid
dbdaemon, HOB Daemon, GREEN, Runn i ng, 2019 05 30 12: 59 :08, 0 :20 : 51 , 3059
dbcompileserver, HOB Compileserver, GREEN, Running, 2019 05 30 12 :59 :22, 0 :20 : 37 , 3247
dbdiserve r, HOB Depl oyment Infrastructure Server, GREEN, Running, 2019 05 30 12 : 59 :24, 0 :20 : 35 , 3289
dbnameserver, HOB Nameserver, GREEN, Running , 2019 05 30 12: 59: 09, 0 :20 :50, 3080
dbpreprocessor, HOB Preprocessor, GREEN, Running, 2019 05 30 12 : 59 : 22 , 0 : 20 : 37, 3249
dbxscontroller, HOB XS controller , GREEN, Running , 2019 05 30 12 : 59: 24 , 0 : 20 : 35, 3291
dbxsexecagent , HOB XS Execution Agent, GREEN, Running, 2019 05 30 12 :59 :24 , 0 :20 : 35, 3293
dbxsuaaserver, HOB XS UAA server, GREEN, Running, 2019 05 30 12 : 59 : 24 , 0 : 20 : 35, 3296
4cadm@mo-lcaae8tcb.mo :/usr/sap/H4C/HOB96>
4cadm@mo-lcaae8tcb.mo :/usr/sap/H4C/HOB96> HOB info
SER PIO PPIO \CPU VSZ RSS COMMAND
4cadm 10184 10183 0 . 1 15260 4168 -bash
4cadm 10370 10184 0 .0 13204 1848 \ /bin/sh /usr/sap/H4C/HDB96/HDB into
4cadm 10401 10370 0 . 0 26824 1624 - \_ po tx -u h4cadm -o user :8, pid :8, ppid : 8, p
4cadm 3051 1 0 .0 21856 1788 sapstart pf•/usr/sap/H4C/SYS/profile/H4C_HOB96_m
4cadm 3059 3051 0 .0 203396 34192 \_ /usr/sap/H4C/HDB96/mo-lcaaeBfcb .mo . sap . corp/
4cadm 3080 3059 12 . 8 8265656 6191568 \ hdbnameserver
4cadm 3247 3059 0 . 7 1669284 316848 ,- hdbcompileserver
4cadm 3249 3059 O. 5 1873796 306444 \ hdbpreprocessor
4cadm 3289 3059 0 . 4 1651000 266744 \: hdbdiserver
..
•• /' ,.,. e - - -..
..., l'i:::i1 .,.. . .c.
-. '• . . ..
r· , "' ·~1

Figure 3.1 Running Linux Command Line Tools Using PuTTY

Learn More
If you're new to Linux and would like to learn more, look at t he SAP on Linu x topic in
the SAP Community, where you'll find relevant links, SAP Notes and knowledge base
articles, t he latest biogs, and Q&As on t his topic.
SAP HANA runs on SUSE Li nux Enterprise Server {SLES) and on Red Hat Enterprise
Linux {RHEL), wh ich we'll discuss f urther in Chapt er 9. Both SAP software partners for
the operating system provide excellent t raining opportu nities and documentation.
To lea rn more, visit :
• http://s-prs.co/v488472
• http://s-prs.co/v488473

SAP HANA Database Interactive Terminal


Every database understands SQL. The tool included with every SAP HANA server and
client installation to enter SQL statements is the SAP HANA database interactive

98
3.1 Role and Tools

term inal (hdbsql), which is a command line tool used, for example, by the installation
program to execute installation scripts.
To effectively work with the tool, you should keep a copy of the command line refer-
ence at hand or familiarize yourself with the help menu, since like most command
line tools (vi , for example), hdbsql is not particularly user friendly. However, to auto-
mate script executions (housekeeping and backups, often in combination with the
Linux cron scheduler), hdbsql can be quite useful. The complementary tool hdbuser-
store enables you to put the connect string including passv1ord in a key stored safely
in the user store file. Alternatives for hdbsql are the SQL console in SAP HANA studio
and the database explorer (included in the SAP Web IDE and the SAP HANA cockpit),
which we'll discuss next.

Learn More
You won't fi nd the hdbsql command line reference in the Reference section of t he
SAP HANA platform documentation on the SAP Help Portal; instead, you'll need to
refer to t he SAP HANA Administration Guide.
Those familiar with SAP MaxDB command line tools will enjoy an easy learning curve
since both the SAP HANA interactive terminal and t he SAP HANA user store originat e
from th is database and share ma ny of its flags and options.

SAP HANA Studio


SAP HANA studio has a lot of fans . The tool is a plugin for the open-source Eclipse
integrated development environment (IDE). Eclipse has its origins in the Java world
as an IDE client tool, so a Java runtime (IRE) is required, and database server connec-
tivity is provided with Java Database Connectivity (JDBC) (see Chapter 4, Section
4.10.3).

At the outset, the focus for SAP HANA development has been the core in-memory
computing engine and not on peripherals like tools for development and administra-
tion. Since Eclipse already provided a development environment for SAP NetWeaver
Application Server for Java (SAP NetWeaver AS for Java), SAP development decided to
create another plugin to add the required functionality for SAP HANA. Although the
large number of menu items and perspectives related to Java development brought
some clutter to the hdbstudio plugin, general familiarity with the Eclipse IDE among
developers made the learning curve small, and SAP HANA studio quickly became an
accepted and broadly used tool. Other SAP development tools, like ABAP Develop-

99
3 Administration

ment Tools (ADT), SAP Business Warehouse (SAP BW) modeling, and the SAP Cloud
Platform software development kit (SOK) followed this direction and were also pro-
vided as Eclipse plugins.
SAP HANA studio is bundled with other SAP HANA components on the installation
media. However, as a plugin, you can also add it to a regular Eclipse installation using
the SAP HANA tools website (http://s-prs.co/v488414).
Figure 3.2 shows hdbstudio with the Systems view on the left and the administration
perspective on the right. Additional perspectives exist for development and model-
ing.
Development for SAP HANA studio ended with the last SAP HANA 1.0 support pack-
age stack (SPS) 12 release in May 2016. SAP HANA studio is still included with the SAP
HANA 2.0 releases but lacks the corresponding user interfaces (Uls) for the latest func-
tionality. In 2017, a deprecation note was published for the repository, SAP HANA XS
(the original implementation of the built-in application server), and related tools like
SAP HANA studio. SAP HANA studio is no longer supported for use with the latest
SAP HANA cloud edition (SAP Cloud Platform, SAP HANA service for the Cloud
Foundry environment).

·-.

fo SytteMS tl ~ 0 I I S'YSTEMOMHAO tl
hdbstudio - System: SYSTEM08@1HA0
: gg '1' .EI
... 0

!If· lil I !S e ~ 0
rfi SYSTEMOB@HAO (SYSTEM) ie- ~uv.I: 6lO • Seconds fa •

;Ji- ·
mo·lc331b341.JnO.sap.c«pOO L.,t Update: M.y 2 7, 2019 1:11:24 PM (9>
• {5SYSTEM086'HAO !SYSTEM)

.. (lt.c.~ioo ls.vie'"1 Hosts Aed i$111bUtion Sys~•m RepbbGn J Hol.1: <All> 'l} ~Wet-: <All> __;!) IC Ho
• 19-Centent
A«i... HoSI Pot1 StMc• ... 0t11ll Slt tl Tlm<t Proe••• 10 CPU 1.wnocy UMd MtmOtY (MB)
.. 8ii>ubk I! mo·fc:33M61.mo.sap.corp )()()10 compilestr.,... May 27, 2019 11 :OS:<M AM 3300 I II I 1,310
• fl sap 8 IYIO•fC:337bl61 .tnO,tlC).cotp 30000 $tmot'I M1y17, 1019 t1:0C~OAM 3075 0
.. , , lytltm-loul
!I mo·ft337b361,mo.up.eorp )()()01 Nmes.erve1 mMter May27, 2019 t1:0C:60AM 3095 !====ii"===· ..: 4,035
• &;Provisionrtg • 1,5-47
• mo· fc337bl6, ,mo,,ap.c0tp 30002 prop1oc.''°' M•yl7, 20,911:()5:04 AM 3302
~ Sf!W1 0111 ACCHs
l!!!I mo·fc3:JM61,mo.f.ap.<:Otp )0006 wobdispata,.r May 27, 2019 t 1 :()6:23 AM 3871 1,656
'9RemO(e Sources '
.,, 12tSKurlty
tl sec:urity
• ff ~n .I
"' liJRoles 'I

O it.tfT!s sflected
"

Figure 3.2 Systems View and Adm inistration Perspective in hdbstudio

Learn More
SAP HANA studio is documented in the administration, modeling, and development
guides for the SAP HANA platform, which you can read or download from the SAP
Help Portal.

100
3.1 Role and Tools

SAP Notes
For additional informat ion, see t he fol lowing SAP Notes:
• SAP Note 2073112 - FAQ: SAP HANA Studio
• SAP Note 2465027 - Deprecation of SAP HANA extended application services,
classic model and SAP HANA Re pository
• SAP Note 2693731 - Statement on SAP HANA Studio and SAP Cloud Platform, SAP
HANA Service

SAP HANA Cockpit and the Database Explorer


SAP HANA studio is a client tool that needs to be installed. To enable the SAP HANA
administration tool fo r the web, the SAP HANA cockpit was added. The name refer-
ences the DBA Cockpit tool from the SAP NetWeaver platform (DBA stands for data-
base administration), just like the SAP HANA Web-Based Development Workbench
echoed the ABAP Workbench.
The first version of the SAP HANA cockpit was developed for what is now called the
"classic" SAP HANA XS runtime environment. Unlike with SAP HANA studio, to use
SAP HANA cockpit, the database (and runtime) needs to be up and running. To sup-
port the kind of system administration activities exercised when the database was
stopped or could not be reached (troubleshooting unresponsive systems), another
tool was added: the SAP HANA cockpit for offline administration. A web application
was added as well, this time hosted by the SAP host agent running on SAP HANA sys-
tems. Support for system landscape administration came from the SAP DB Control
Center, another SAP HANA XS application.

For SAP HANA 2.0, the SAP HANA cockpit was completely redesigned and integrated
the functionality of the offline cockpit and SAP DB Control Center to provide the fol-
lowing abilities:
• Monitoring and administration of SAP HANA system landscapes (aggregate mon-
itoring)
• Monitoring and administration of individual SAP HANA systems and tenant data-
bases, including resource and service management (start/stop), resource usage
{CPU, memory, disk), alerts, and system properties
• Performance monitoring and analysis, including expensive statements, threads,
sessions, blocked transactions, hints, SQL plan cache, and the SQL Analyzer

101
3 Administration

• System replication, including configuration. monitoring, takeovers, and failbacks


• Database user and role management
• Security administration, including monitoring critical settings managing server-
side encryption. auditing, password policy configuration, and certificate manage-
ment
• SAP HANA capture and replay
• Workload management
• Backup and recovery, including backup configuration, scheduling, recovery, and
database copies
In addition, to execute SQL statements and to view database objects, the SAP HANA
cockpit links to another web application, the database explorer. The database ex-
plorer has two views: the SQL prompt and the catalog browser, and these function-
alities are also found in SAP HANA studio. The SAP HANA cockpit shares this
application, technically referenced as SAP HANA runtime tools, with the SAP Web !DE
for SAP HANA, superseding the SAP l-IANA Web-Based Development Workbench
mentioned earlier. Database administration tools are described in more detail in
Chapter4.
All nev.r applications run on the SAP HANA XS Advanced platform and not on SAP
HANA XS (for more details on the differences between these platforms, see Chapter 4,
Section 4.4). The SAP HANA cockpit is no longer a delivery unit shipped with the SAP
HANA database but is provided instead as a totally separate component. A number of
SAP HANA cockpit applications (webapps and services) are included, as is a dedicated
SAP HANA, express edition system. The development and release cycles of the com-
ponent are separate from the main platform. SAP HANA cockpit updates are released
as support packs (SPs) at an accelerated pace. When SPS 04 was released for the SAP
HANA platform, the SAP HANA cockpit was already on SP 10. As you can use the SAP
HANA cockpit to administer any SAP HANA system version 1.0 SPS 12 and later, SAP
recommends you always upgrade to the latest SAP HANA cockpit version to take
advantage of the latest functionalities.

Learn More
The SAP HANA cockpit has its own area separate f rom t he SAP HANA platform on t he
SAP Help Porta l (SAP HANA Cockpit, where you'll find the What's New guide, t he
Installation and Update Guide, Administration Guide, and the guide for the Database
Explorer.

102
3.1 Role and Tools

A good introduction to the SAP HANA cockpit is provided by the openSAP course
"Introduction to SAP HANA Administration." Visit the https://opensap.com/ website
for updates.

SAP Notes
For additional information, see the followi ng SAP Notes:
• SAP Note 2380291 - SAP HANA 2.0 Cockpit Central Release Note
• SAP Note 2433181 - SAP HANA 2.0 Cockpit Revision and Ma intenance Strategy

Platform Lifecycle Management


To install or update the SAP HANA server and the client, and to add components like
SAP HANA dynamic tiering, we use hdblcrn, the SAP HANA Lifecycle Management tool.
You can interact via a command line. a graphical interface, and web interface that all
work the same way. Technically, hdblcrn is a wrapper tool, which provides a common
UI for a number of command line tools. When you install a component with hdblcrn,
in the background, another command line tool will be called: hdbinst for installa-
tions. and hdbupd for updates. In other words, the actual execution will always be
command line.
Using the command line interface (CL!} is appropriate when you need to automate
installations since this option allows for scripting and batch processing. For a one-off
installation of the SAP HANA client, for example, the graphical installer is conve-
nient, while for cloud-based environments. you can use the web version of the
installer. With the web-based UI, you can also connect to the Software Downloads
area on the SAP ONE Support Launchpad (see Chapter 10, Section 10.2.4} and directly
download updates to your SAP HANA system. We'll describe the platform lifecycle
management tool in more detail in Section 3.3.l.

Application Lifecycle Management


To install or update applications running on SAP HANA ("powered by HANA"), you'll
use SAP HANA application lifecycle management tools. For the classic SAP HANA XS
runtime, these tools are appropriately called ALM (hdbalrn on the command line},
which works with delivery units. For the SAP HANA XS Advanced runtime, you'll be
working with multitarget applications (MTAs) in the form of MTAR zip files. The

103
3 Administration

application lifecycle management functionality for SAP HANA XS Advanced is inte-


grated in the SAP Web IDE and no longer available as a separate tool. Application
lifecycle management for SAP HANA XS also covers transporting content from devel-
opment environments to test and production.
We'll describe application lifecycle management in more detail in Section 3.3.

SAP HANA XS Advanced Admin Tool and SAP HANA XS Advanced Cockpit
For administering both SAP HANA XS, classic model and SAP HANA XS, advanced
model application server runtimes, you'll use the SAP HANA XS Admin tool and the
SAP HANA XS Advanced cockpit, respectively. As the runtimes are different, the func-
tionalities provided by the tools differ as well, but both include menus to configure
certificates and the Secure Sockets Layer (SSL}, for example. We'll describe both tools
in more detail in Section 3.4.

DBA Cockpit
Basis administrators can use the SAP NetWeaver-based DBA Cockpit tool for database
administration (often described as AnyDB in SAP publications}. With the DBA cock-
pit, you can stop and start databases, configure system parameters, schedule back-
ups, monitor operations, and troubleshoot performance issues. Support for SAP
HANA was provided early on, and for some time, the DBA Cockpit was the only tool
you could use to schedule backups. The advantage of using this tool is at the same
time its main disadvantage: The DBA Cockpit works great for generic database func-
tionality but less so for specific feature support.

Learn More
The DBA Cockpit for SAP HANA is documented in the SAP NetWeaver documentation
on the SAP Help Porta l.

SAP Notes
For add itional information, see SAP Note 2222220- FAQ: SAP HANA DBACOCKPIT.

104
3.2 Syst em Administ rat ion

SAP Solution Manager


SAP Solution Manager is an application management platform for SAP business
applications, not limited to SAP HANA. Jn fact, it's much older and runs on SAP
NetWeaver Application Server for ABAP. We'll return to SAP Solution Manager in
Chapter 9, Section 9.11.3.

SAP Landscape Management


SAP Landscape Management is a tool used to automate system operations. Again, it's
not a tool specific to SAP HANA, but SAP Landscape Management does support auto-
mation of SAP HANA system replication (takeovers), for example. SAP Landscape
Management runs on SAP NetWeaver AS for Java. We'll return to SAP Landscape
Management in Chapter 9, Section 9.11.2.

3.2 System Administration

Now that we've previewed the tools used by the administrator, let's dive into the sys-
tem administration process. The most important administration activities concern
system configuration, performance monitoring and analysis (troubleshooting},
resource management, security, and backup and recovery. We'll cover each of these
activities in the following sections.

3.2.1 System Configuration


Hundreds of documented configuration parameters, called system properties, can be
modified. System properties are stored in files with the . ini extension, so the name
IN! (initialization) is also used. You'll need the INI ADMIN system privilege to modify
system parameters. Separate IN! files exist for the database engine (i ndexserver . ini},
for global settings (gl obal. i ni), for common tenant database configurations
(mul tidb . ini}, and for the SAP HANA XS application runtime {xsegine . i ni ). There are
also a number of files for SAP HANA XS Advanced, for the script server. and for the
preprocessor, plus additional files for SAP HANA dynamic tiering, SAP HANA stream-
ing analytics, and so on.
The interface to change system parameters is SQL, and for this, you'll use the ALTER
SYSTEM ALTER CONFIGURATIONstatement. The change can be applied just to the current
instance or written to the files for persistence. Both SAP HANA cockpit and SAP HANA

105
3 Administration

studio have a view to configure system parameters, as shown in Figure 3.3 and Figure
3.4, respectively.

8 < 0 ~ System Conflguratton v c ®


HAO@HAO
mo-te337b301
Ve<sion: 2 00.034 00. tSJ.9746999 (faltlan•2sp03)

.._ Cl
Conf9,Jtlllon , .
XUflgil'lt 111'11 v
s.a~
........., v ""'
,... v
m
Parameter• (8) ,,,. ...... .,..,.... T........... v.w ca-. Hl*'Y

...... PMIMeltr llrtt SPtClflCV.W <b


0
xwngine.W

()h~er (±) ..-.. .. OffAULT


"'" Cll.M'ige U)le•

0 SYSTEM ,.... fdt SooC:lfic VJlue ®


0
0 ........
OA.TABASf

OEFAULT
·- lS(SAPSV$TEM)Gf
Edit~VMle

""""' ...,.,
®

0 l'IWCSesslon.s O!fAULT ...,. Cl!M!ge U)'e1

0 OEFAUl.T Cl\.U'lo• l-,.e1


..,"
~,.tel,

0 ffSSlontmecul DEFAULT CIMnge Uyet

0 WOl'W"l)O(lbi:e DEFAULT
• Cl\.ulge Uye1

Figure 3.3 SAP HANA Cockpit: System Configurat ion

a •· Sy«ern: ~HAO Holt mo·f<Jllb361.mo.up.cocp~•ncc OOCOM«tt'Ci Us.tr. D8A System lk.qc Cu~tom ~em· SAP HANA Studio x
file Eck NIVi9'(t Piojt<t RA.lt'I W.-.dow Http "
to ~ems t3 • 0 II HA~- !:! oo 8
:tll · l ti!l ll · •~ EI ~ • l!i. HAO@H/\0 (OBA) l.HtUpd.tt: Jul ll,Z01911:U:llAM~ I Ct> lnttrV•t ~
v 1l,, HAOOHAO (DOA)
> a.. c~ OwMtw Landsc•pe Alerts PerformMKe VolumtsJ conligurmon ~ttm ...fom1ation~Dw~sis Flies Tr1ce~rlbon q;
) . . (Otlttnt
x

··-
> Qt. Pt1Msioning
> Qt. SKurity
lSJ HAOOHAO(SYST"q
........ Systtm Hcxt • mo·fc3J7bl61.mo.-
) [) •ttriibul:~lnl
> ~ SV$T(MO$CH4( (C0<KPfT.A0MIN) ) Ii (.C~NO'.lnii
) 13 di~ttvtt.ini
> [j dornore..ini

) [il d~tfYO,ini
) ll HStMf,ifii
) I) CXt<VlOf.ini
) Ii) 9lc1Ml.ini • •
) Ill Sldtntl\'U.ini
) [j mu"idb,ini
• •
) Ii ldfyn<""""'.lnl
) [il KriplStfWl'.ini
> (il sutisticsstl\'ttJni
) (j Wtaming$0Vt:t.ini
) (il x:scontrolltt.-,i
v lj Ueft9l~
) [ J application_<ont.aititr
• •
>[)

.,.,
comm11t1ic.ttion
) ( ) 9t0<oding

.........
v ( J hetP'tf'Vtr

~tnpo11 ""'
JUSAPSYSTEt.1)08

<-- > <


~"'"""
'" . lOOOO
·~
>

Figure 3.4 SAP HANA Studio: System Configuration

106
3.2 System Administration

Although both editors enable you to view and change parameters, with t he SAP
HANA cockpit, you can take a snapshot of a configuration (for example, to establish a
baseline just after the initial installation), compare parameters with other databases
and with snapshots, add comments, and view the parameter change history.
To manage multiple resources, the SAP HANA cockpit also provides Manage Land-
scape functionality on the homepage, shown in Figure 3.5, where you'll find the tiles
for creating Configuration Templates. These templates enable you to define a default
configuration for tenant (or system) databases for specific environments or applica-
tions. You could create, for example, a template for training databases or a template
for an SAP BW/4HANA database. Another example could be a corporate password
policy applied to all databases.
With the Compare Configurations tile shown in Figure 3.6, you can compare system
parameters across systems or with a template snapshot. This same functionality is
available for a specific database in the system configuration view, but in this case,
you can more easily compare all the databases in your landscape.

Home

Monrtor Landscape Manage Landscape SAP ONE Support

Re-source Dltectory Prooucuon Oeveklpment Test Admrllsuation Help Academy


4 Resot.l'oes 1 Resource 0 Resources OResources

·-
·-
I ~Mt11s1-..s
1
Ho fffOl.R:a ft91$1eted lfo tesoufteS fe91*red
[!;!;!

Manage landscape

conr.gurauon compare ~.tanage COCkpil Browse Oatabase- execu1e SOL


Templates Conngurat10ns Objec1s

<-
=,

SAP ONE Support

SAP eanywatcn
Alen
($-UH< requhd)

Figure 3.5 SAP HANA Cockpit: Manage Landscape

107
3 Administration

8 < ~ b'!Y SAJ>HANACockPt Configuration Manager v ®


< Systtm connguratlOn compattson

Comparison of Sysietn tO Sy'tem

Solot Sysiem T•rg« $>f$tlm


SVSTEMDB@HM v SYST<1AD6@1i4C v 0 S.-dllet""""°"Y

-
xs,engint.ini(4) v

Pa1Jmt1tr ltyO<

¢
-
Source Valle Targtl Valut
0.

""'""" ..-Oded $YSTEIA

DATABASE
INt

embtddtd (HAO) ¢ fillse

moxthreads SYSTEIA ¢ 10

WOl'kt1poobil• SYSTEIA ¢ s

Figure 3.6 SAP HANA Cockpit: Configuration Manager

Learn More
To learn more about each of the parameters, the name of the INI fi le, its purpose,
default value, and whether a system restart is required, consult the SAP HANA Con -
figuration Parameter Reference. You can read or download this guide from the SAP
Help Portal.

SAP Notes
For additional info rmation, see the following SAP Notes:
• SAP Note 2186744- FAQ: SAP HANA Parameters
• SAP Note 2600030 - Parameter Recommendations in SAP HANA Environments

3.2.2 Performance Monitoring and Analysis


One reason you might need to change system parameters is to optimize system per-
formance. The System Overview page of the SAP HANA cockpit displays key perfor-
mance indicators (KP!s) with links to related apps for you to drill down into the
details, as shown in Figure 3.7.

108
3.2 System Administration

System Overview v c ®
HAO@HAO s.."" o.....,.
v

CPU Usage Momoty Usage Sessions

CPU UNgit: 1$ %mu 0

100 Total 0

.. Threads

.. •
.. Disk Usage
0

20
I Disk K>: S40761
Total Uuge
Data
47.61 GiB -
3.95 Gi8 •
116.73 GIB Monitoring

Monitor perfonnanoe

..,,.
U>g 2.02 GiB '
• 12.se
..
1J:J6
Ttaee 16MM8 Monitor system health
Monitor table U$8ge
Open blocked trans.actions
Monitor netwoni;

Manage SOL Performance


Top SOL Statements Alerting and Diagnostics

Sta1ement Hints Configure alerts


SELECT T1.TASK.,.tw.t.E, T1.SCHEMA.,.NAME, IF'NUU.(T,.. R•1ered tilnts 0 Plan trace
4 mMC Enabled hints 0
~
Manage save-d plans

Plan Slabil;ty Vtew ttaee and diagnottic f'ilos @

..,.,.
·--
Mita PS CONNECTION_IO A.$ "Con~ 10", SC1.VAL... ...dy Troubleshoot unresponsive systems
""""'Enabled Plans
Total
Manage full system information dumps
Total Yalld Plan•
~

Pfan Trace Table Distribution


Cerc>'uted Sb.'lllS Off
Tt'loecl plans 0

Figure 3.7 SAP HANA Cockpi t : System Overview

The performance monitoring tools display charts and statistics for a large number of
KPls, so you can start to analyze the historical performance of the system with sup-
port of additional tools (or apps), such as the following:
• Thread s
Each task executed on the SAP HANA server, like the execution of a SQL statement,
is performed by a thread. With the Threads app of the SAP HANA cockpit, you'll
find all the relevant information for each thread active on the system, for example,
the action it is performing, for which service, duration, and more, as shown in
Figure 3.8 (sourced from the SYS.M_SERVICE_THREADS monitoring view). From
the Threads app, you can navigate to the Sessions and Blocked Transactions apps
for additional analysis.

109
3 Administration

® c
~
v Summary

Top 5 Users
•I
i
I
-
System o...view

RtsOIM'oe Olrtetoty

Home
at

Total Number of Threads by Status


l!Yed-

-
Tr•nsM:lloos ......,.
St.itemetts hreads by Type

.......
I 010
,,
v Th <adft>® v H v -

Thread Clltn9
TrWIHC:lion
""" - c.. ...,.,.. ll --
300434 300434.1.112$
10
3749 3793
30003 - ...
TtvNd Med'IOd ExeoAePrep¥ed
TlwNdo..al
SELECT "'THREAOO "HOST" AS HOST. "'THREADS" "1'0RT" AS PORT. "'THREADS" "&RVICE_NAME" AS SERVICE_NAME. ~s· "HIERARCHI'" AS HERARCHY."THREADS" "CONtlE(
S mG•fc3371>361 30003 lndtxstt\'tf 3004.34 3004.)4.'·1128 3793 3975 3749 JobWO!t¢W

Figure 3.8 SAP HANA Cockpit : Threads

• Sessions
A session corresponds to a database connection. The Sessions app shows the activ-
ity for each session, connection details, session status, transaction status, and
more. Around 30 different values can be selected that are sourced from the M
CONNECTIONS system view.
• Blocked Transactions
Also called transactionally blocked threads, these transactions are waiting for each
other transactions to complete because they need to acquire a record, table, or
metadata lock. The data is sourced from the M_BLOCKED_TRANSACTIONS system
view. The app looks identical to the Sessions app and the Threads app, which is
shown in Figure 3.8.

• Monitor St atements
The Monitor Statements app. shown in Figure 3.9, displays the currently active SQL
statements, statements stored in the SQL plan cache, and statements identified as
expensive statements. each as separate view. When selected. you can navigate
from the SQL statement to the SQL Analyzer tool (shown later in this section in
Figure 3.11).

110
3.2 System Adm inistration

~1onll0< Statements v ® c

1 1 1590
O\ERVIEW ACTIVE STATEMENT SOL PUH CACHE EXPEN~ STATEMENT

SOL Plan Cacnes (2511590) v... o..... 61 Save/I.£ v Conlgure 0..r .. PllnCachct ©
su........ Slrlng Staetmtm H•sh """'*Ol>io T•ble Typt Pllft 10 Al•- Execution Counl Total Curt

SELECT• FROM (SELECT HOST ..... o54.s3-1 131074(144). 1


""" 15640003 286021 2 12n3
SELECT COUNT() FROM (SELEC ..... 4t2186232t1 131074{144). 1
""" 15650003 89548 2 9681
SELECT• FROM (SELECT HOST. ..... 9441c0f7Wb 131074(144). 1
""" 15660003 171943 2 12377
SELECT• FROM( - • ~·) ..... d08b797'b1c:O 131074(144). 1
""" 1S380003 134213 0 0
SELECT' FROM SYS IA_ACTIVE_ ..... 63t626tal00 131074(1'4). 1
""" 1S390003 171087 0 0
SELECT' FROM SYS IA_SOl._PIA ..... ......
41•tbld589t 131074(144). 1
""" 15400003 230090 0 0
SELECT HOST PORT COIO<ECTI ..... ..._ ......... ........ · ·~ . .. .
f UI SOL Sta'9met11
............... 151686 0 0
SELECT HOST PORT VOLUME_I More Sllf(I (tSt( {$1a(T'OJl(Cw.l.(Ml,\IAIJA)/ l*l>f/W::4 )} .\S 0t<1Nl( 1t~ 236547 0 0
2 ) ) .CSt..toTN...,.IQ
SELECT HOST PORT CONHECTI More J9.(M "-IOST..t~lUW Mt 171909 0 0
WCltt M:t. klf)' • '9dJll!yS'
-00$1((-'(TO_llECl\IAL(ll ~ 26985 392
Mftcl • trom SYS M,)NIALf,.OONT Mort 39313 6493

I((
( "• 1 ol 64 > »I

Figure 3.9 SAP HANA Cockpit: Monitor Statements

• Expensive Statements
One of the views of the Monitor Statements app (also directly accessible from the
SAP HANA cockpit System Overview page). Expensive statements are statements
1.vhose execution time is above the configured threshold. The app supports further
analysis for possible causes. The data is sourced from the M_EXPENSIVE_STATE-
MENTS system view. Expensive statements can also be traced to a file for even
more detail.
• SQL Plan Cache
SQL statements must be compiled before they can be executed on the database
server. During the compilation process, authorizations are verified, and execution
plans are calculated, together with a number of other operations, all of which
require CPU cycles and memory. To avoid repeating the same process over and
over again, the result of the compilation is stored in the SQL plan cache. The sec-
ond time an identical query is executed, the execution plan is taken from the
cache, which saves unnecessary processing. About 50 different characteristics are
recorded for each statement, sourced from the M_SQL_PLAN_ CACHE_OVERVIEW
and M_SQL_PLAN_CACHE system views.

To further support your analysis, you can use the Workload Analyzer tool, which is
based on thread samples taken on the system, as shown in Figure 3.10.

111
3 Administration

Workload Anatysis v c ©
LattS- ( > .!. .! @ El V m (!

•••-~cl11t1>11.-.--.... 100
oaiv f'fo•
o ~UMd ao
o u~~Urrll
o-
U ~ T~
..===============================
Q w~nv.o. 40
0 Adho9~
-~ll7bl6 t .-.. .. 20
O CPV
0 u-.."""" 0
01:28 01:29 01:30 01:31 01:32 01:33

Prtmary Dimension

·-·--
-- ...
4CPUCort•
(t6)
(OA)
. , ........ w.ii <O•l
(02)
ThtNd State . ,..._.Witt, (0 ,,

State Lock

---
---
~IP ~5 01:29 :15

Seoondary Dimension

ThtNO Typt

nv... .......
ThtNd S111i. ~(~ · '
--·
S&ele Lock

Stelef'Mnt Hash

DetlbeMUW

Figure 3.10 SAP HANA Cockpit: Workload Ana lysis

The app displays system resource usage in the upper part of the screen, with the fol-
lowing four views:
• Top SQL Statements
Shows information about the statement, such as last execution time, the execu-
tion count, and the result set count (for SELECT statements). You'll also get the
statistics for execution time and preparation time (the compilation) in microsec-
onds.
• Background Jobs
Shows information about operations, like the delta merge, when the main mem-
ory segment of the table (sorted records) are merged with the latest updates

112
3.2 System Administration

(unsorted). This process is continuous, which always runs as a background job so


as not to interfere with user activity.
• Timel ine
Displays the history of the threads on a timescale, so you can more easily identify
relations.
• Threads {displayed)
Shows the different thread types in two dimensions, so you can slice-and-dice data
for analysis.

If an issue arises that originates in a SQL statement, you can leverage the SQLAna-
lyzer tool, shown in Figure 3.11, which presents a Plan Graph for each statement and
shows the different executions steps with the number of rows returned and costs.

8 ( (I) ~ HAOCIHAOC•.-> SQL Analyzer v


--~-

Pf'lytkal I Type x _.._ "


CAlC

COlUMN

JOIN

__..
""'°"-CCM l,NON_CO.\......,.._c,
0 • CAC><E
...
- c .•1.u
._

·- -~ -IJ
..........

_
.• ...
_ e . . .,.u
•_ c : . ; ...,,
._ ... •

Ope<atO<S (36) Ffters ( 1) ti @

non• v . .. . v none v none

•_svs_oo_AON_1,.. tl'll>
3&$3.1 72,50$1 C1fW7CI0:40180000000 fa3Tt>301.tnO.Mp.oof'p:
Ob2f4 30007
......
HASMJOIN 3853.1 72.5081 tc337b361..mo.up.corp:
30007

..,,,,. ..
~ ..-..-.... ----------~

Figure 3.11 SAP HANA Cockpit: SQL Analyzer

113
3 Administration

Additional tabs then provide more information about operators, the tables involved,
and compilation summary, and if possible, recommendations are made to optimize
the query in question.
For distributed systems, the System Hea Ith app provides an overview of key statistics
on each worker and standby host, and critical alerts are displayed, while current pro-
cessor, memory, disk usage, network, and disk input/output (I/O) is presented with
links to drill down into the particular host, as shown in Figure 3.12.

8 ( tlt W" SCl@SCI (system) I


System Health v J
------------
c ®
SC1

Hosts (6) las:t 10 minutes.. Data From: Jul 13, 2019, 8:42:09 PM HKT; ·Last 24 hours. Fi ter by Host

SAP HANA Wor'ker SAP HANA Stan

Host ...,..56600708a xlyl56600701a xiyl56600702a xly1566007ooa ldyl5660070Ca

St.tu• 0 Runnfn9 0 Runni~ 0 Running 0 Runni"$1 0 Running


Critic•I Alerts 0 0 0 I 0

CPU(%!

Memory(%! ____ _____-


0
.....,
0 0
l
J---~----
l
0 0
No 0.0.

No C>o1a

0 0 0 41 0

Dis.It Us.ag• (%) No Data

Nttwort VO _ _.,__,\,.
. . . __,__J____,,__J ~ ~ No 0.0.

St•tementa
- - - - - - - - - - - - - --' ______, ~J.J.. No C>o1a

____ ____ ____ _____


MVCC Versions No C>o1a

Disk l/O __, __, __, ~ No 0.0.

Figure 3.12 SAP HANA Cockpit: System Hea lth

To monitor multiple resources and what's called aggregated health, the SAP HANA
cockpit also provides a Mon itor Landscape dashboard functionality on the SAP HANA
cockpit homepage, as shown in Figure 3.13. With this functionality, you can see at a
glance the status of your systems, review any alerts, and drill down to the specific sys-
tem through the SAP HANA cockpit.
To improve system performance, you can use Plan Stabil ity and Statement Hints.

114
3.2 System Administration

SAP HANA Cockpit Home

Monitor Landscape Manage Landscape SAP ONE Support

Resource Directory Production Development Test Academy


52 RMOU"'8$ 4 Resources

_ _
1 Resources 10 Resources 7 Resources

.... 6 7
Not Running
3
Nol Running
.... 3

1 2 1 3
Ruvllng with Issues Running wth tssues Running wlh ISSUM Running with ls.sues

Streaming Systems HANA 1.0 SPS 12 MULTI-HOST System DBs Administration Help
4 Resources 2 Resources 9 Resources 5 Resoul'C8$

_
4 2
Not Running Not Running
2 [gJ
NotRurving
.... 2 Running~ tssuet
3 2
Running wlh lswtS

Manage Landscape

Configuration Compare Manage Cockpit Browse Database Execute SOL


Templates Configurations Objects

Figure 3.13 SAP HANA Cockpit: Home

To capture a baseline of system performance, you can use SAP HANA's capture and
replay. With this set of tools, you can record {capture) a particular workload on a
source system and replay this captured workload on a target system, this time with-
out the applications, as shown in Figure 3.14. This functionality can be quite useful if
you need to make changes to hardware or softvvare configurations and want to know
beforehand the potential consequences of these changes on system performance
and response times. A detailed report can be generated from the replay task, listing
all SQL statements with performance statistics (execution count, faster, slower,
failed, skipped, elapsed time, and so other characteristics) and results comparison.
(Does the same statement return the same result set, or in other words, are we com-
paring apples with apples?} The load shown in Figure 3.15 displays the most import-
ant counters for resource usage.

115
3 Administration

Sample

Replly Stat! Tme 201g.01-1s 11 os 06 (GMTZ)


Capturenne 201$.07-15 1047 23(GMTZ) ·201M7·1S 10 SOS3(GMTZ)

,, ,..

-0..- Pl'eprOOellS Sit• -,..-. Ccwm*ledTr~

-
00:01 :52 11.35 M8
., 1.29K
1.86K
0
0
., 285
406

_...... ......_
Capture lnfonnat1on Taroet System lnlonnation

.,_...,.
,,.OCIS! Size
886 03'byles

-" .. _ ... ....


.... _
11 .9",299br* mo-k331'b3$1
~""
~T'1

s.
1.858
0

....
40$
-0..
SlalMll!ltC T,,_

"""' •
.....,,.,
l001l I

.....
l>Nba5e Sy ll ~L.

~""
~

" -"· ....


P~Tr

.... ... o

Figure 3.14 SAP HANA Cockpit: Replay Monitor

Companson Repclf1 v

Sample
Complrilon Type CIPui• to~
~ 10 15'631881012'29

-- .,_,......,.,
~ CP\J
100
"
-C-.Wo<ldold····- -

c:J S,-CP\J

1:1 -·
0 """""' \!sod

~
BO
......
~::::::::::::::::~~==::::::==:::~~:::::=·:...: ..::··:;::::::J • CAJ
-
m -­
o•
•~CA.I o•
~Thr•lds
•~"* • n•ua
mTo!allhre.ct.
...,,,_ • $1111 •11 11.,.'tle

~ CP\J
0 ........ CP\J
.. · ~.,,.,_'
·~TWuch:'
. TOlll""* ll8

O """"'YUMd
~ s..........

~ --­
m ~Tlwo;)ds
rJ Totl&TIYHC!t

Figure 3.15 SAP HANA Capture and Replay: Comparison Report

116
3.2 System Administ ration

If error messages, issues, problems, or other challenges arise, you can activate a SQL
trace or an expensive statement trace to get more information about certain issues.
Tracing will leave a written trace of all actions on a file . A SQL trace will include infor-
mation about statement preparation (compilation) and execution plan. When trac-
ing expensive statements, the output is filtered, as mentioned earlier, and will only
include the same statements found in the Expensive Statements app on the SAP
HANA cockpit (or SAP HANA studio), this time with much more detailed information.
To view trace files, the SAP HANA cockpit will open the database explorer, sho~vn in
Figure 3.16, which can connect to the server file system to load the trace files in a
viewer. SAP HANA studio will only display the text file in Notepad or Text Edit.
Trace files can be difficult to decipher. Some trace files are not intended for general
consumption at all, like the kernel profiler. To activate this trace, you'll need the SAP_
INTERNAL_HANA_SUPPORT role. An alert active will warn you when a user has this role
assigned, and you can only grant this role to one user at a time.

.... + c ~-mo-lel37'b361.ll'IO... )(

• CJ HAOOHN>(mo-4337Wi61) IJI 2111· 12•21 " : Uil8.1t1ll9 I ~lttJtillf't• <•t.1loc.ct(lts6t) : S.ttl!C \'If lt•tl .$tlC.$ · - """"''ty...,,.
t Mll •l.1 •11 M l lf t .... SJ?.41, I Ftltll) rtleftCtOf").CH(•iM> I OotlttT~iwtSUtl1t1Ct ! fN(l(iJolc - , ........~tStMlttl<t 5'U4 a O.,f, 1111..
~ CatMog
,.. l!tll •ll •1l ":lt:4'.SJM3• I Flltll) flllfft(\Of"),C#(MU.) l ~lt.IT~pvtSt•tl•ttcti ft'l(l(iJ\I - lN'Ol.ICll!WtSU'tltttci 5641: lOG; ~
• Datal>Uot Olagnosck Ats 1•1 l!tl•• ll •1l tl9 : lti .... S1)4.ll l Flltll) fUefactor,.cjllO(Mtl<I) l Oelt1T~St.atl1tlc1: t,.1<1(11\1 - f~SU'tlttl<t SoUit: (Af,
• mo-ld31b361.ll"IO.ilfP.COI l"l 1tlt•ll •1l " : U: .... SJbl_,.. I Flltll) flldtC\Ot'),<#(MiM) l hlttT~P\l{Stttl.ttltt: frl(ltiJ\c - lhrou""'1tStatl1t1<1 S7U; lOG

....... 14J ltll·ll·ll '9: 19: ... W:l>&J6 I ~il1IO


Jlllf1(\9f'Y.C1PO(MlM) : O.ll1T""°"Ct'PVtS11tl1tl(t: lt'e<i;l"I - ll'""'•"Cf\PlltS11tl1tl(I MU:
Olf•
corn~r
t.., lttl·ll · Jt M:l'l:n.t111•s I s..n-tc1 St•M111p c•t•1ot«<( ....7} : - t • <.,t•l~,.,1..,tnfo{Nllcis): Id·»•, t)'PI-•
14' M11·ll·ll n:a:tt.t1l17' I s.r.1t.:S.t1M111p ut•lot.tc(....,.) : _ , , <•t11ope..11on111fo{lelcs): Ill•»•. t~l
1-. rll·11·11 M:19:M.'tM774 I ~r1_S.t•l"t11p 'J'fM>l1,,(c(l"9I} : l60ltl1llrh• ,,.,_ c•t•lot I> "°""''
'""""""" 141 etll·ll·JI M:l'l:n, ,.....1p I s..ntlc1_St•M111p lptM>ln.cc<•J.M>> : ·······-··--····-·-···· "5
I ... "·•·ll·ll n:a:tt.9'M7A I s.r.1t1._S.t1Mwp '~t•l11.tc(t»M) : ltSt ........t • • dltl ... I-It.cl
r1IAlt••, -.l tl'*'odl•I, \e,....h:ifype-
...,....t
1t1t11• ••••••••••••••••••··-····

I . . rll·ll · JI M:l'l:". -t1$ I Sf'notc1_ $t1M11p -.y.t•lc--..cc(•JJU) : $epeflt Info •flid•I, cl--.,1...:JWUJ)
1... Jell·ll·11 M : ze:.., , ""'°', I M ....l<•Jt-. . UllJ1,.•tl.w..cc{-.) : ll:lo6t- • IV•tlon ttMtltd: S.Uifi(.llT_USIQ'__, -:D, C.C::Wli lllll_(DU,M_I
ISi Mll· ll· l:l M 1H:M."'6lff I $oonll<•.St-. . ™'•"•tl•. <<(tM3") ! lb.6t- 11lv•tlon ft..liMcl: _,..JllGMTI(lll', SfeouJ.US.tU:JW, JOllO
1Sl Mll •ll •l:l M 12t:'9."6UJ: I $oonllt1Jt-• ~t._..1tet".1t-.Ct(..,).I) l IOo6t- •l&l'ttlc_. 1t1tw1: 1M.'illl'l.JUW110lll, S.f~_l.IS.fiG(J"'''. I
IS.I2tll•ll •l:l " : 2':'9, ,...7)7 I SINlct_st_.t. . ~1-.>l'~let"_t.t-.Ct(ll&41) : ""t10fl tll'YlCt 1t ~.
0.
ISA .lell•ll• l:l '912tut.Ultlt t $..l~l!wt ~s....1.eo1 .c...tl2tM) I S-Hillt C:W"""" •-..Olio•""''°"'! ), ~,_, .... lot jlOti•llfl! "
ISS 2tll•ll •l:l M:M:ll,UlllS"' $..l"'flOUil ~~1Atbol .c:...tl211S) : l(ll f: &M:ll:l.I' CMT4 ~to.,._. 1"9t0¥11.-ll1ty of tl\t ditt..to.tt

lst 2tll• ll •l:l M : 2t:ll,»ll1l I SINtta.Stwt. . tf'-IQC.t<(llS-") l 0. •lttl¥1tlflC; - l - ,..,...t. lac ltlolff.....l,.
lS1 .lell•ll •l:l '9. lllll.U.,_.I I •11141> t llXl"411ldo..-...,. , c:Pft(l13"1) ; ,.,.1.t•t-1 tt.,.td "1U. 0!01- )
ISi 2tll•ll •l:l " : M:ll,4711.J) I t,,_1(08\U't t r;a.cl((lftt.-t,c:pp(lll.11) : UM-I'll-•, SUt-tb:JKt.IUClfll~l111S.J»S1
2tll•1l•l:l M !2tUl.•111J) I $oonlltt_st-. . <•U!.ot:.tt(llMl) I S.tll-"C ._ 1t1tl1tlc1 ,_.,. ...Clll"tty "°""
1M IJ) llll·ll·U "':le:11.lJ1171 I »o1;oolnt $1YfpOl~tl911l.cpp(tltM) ; $...-.point Clll'....,.l llYfpOIAt "•nloo.; J, ,..1t1,.t ,.HO lot pOlltlon
tr.l )) l'lll·l1·11 M:19:11.,1~1 "'S.W-lnt \.lwpolQl911l.c19(t1tll\) : llOlf: MOU.II' QAl4 - to,,.._, rK-H'i0btllt7 of llW d•I .....••
16J Jlll·l1·ll . ,. ;ie:11. 1JJlt7 I r .....:.COOtt•rt Jra<l(-t••t.<pp(11117) : ~-·· St•t-lfqoc11tlo<1t~11•1MJJIH

1r.1 ltll·ll·ll 1': 21:11.IJ)I... I~ 1$$o<1-.a.(ff("'-ll) ; XS M.""-' 4091 not tlll1t, <"*'""
dffNlt cO<l't. .t
IW letl·IJ · Jl M:l9:11.1111tt I)($$(--.. xss.c-.a.cf1P(M7l4) : cr1~t1Wt••tSch-..Vft'1!on: c:.....tt.,. r 1 po-1ltCN")' lllf•wll cont1nt • • •
Ir. Jetl·l1·11 . ,: ;ie:11. q1M1 l 11'.KfCOOttfrt l t'loCl(-tl•t.<pp(11117) : ~t'll-•, Stat_U_tlont!1444'1J7•t"9JJl)I
IM ltll·ll·ll 1': 21:11 ....MSI I •1110! ; 1u1;1..e.,xs..._.cpp(IUM) : Ct't*ll'S)lsl.OISc......-
161 letl·l1·1-1 M:Je:l4. WSJ76 I froK.C:OOtt1rt f r1<.C-t1•t.cpp(l lll7) : V..t'll-•, s1..t - t t u..11tlC<11-J7fll4JJISI
16* 2tll•ll •21 M : 2t:l4, ,.SM9 I SINl<•..St-• $)1,..,.,..,..(((tlotM) : °"°""'...
1•11 S'l'1.M_U._~_uix...l . tot l'l<~•t•
tit 11) Mll• ll •U MtM!,,_,,.,$.46 i S....-..ic:1.St-... 1y......,,C<(l).I))) I ~ftillC i"""'x '°"
M.ltS.l<ll.6AAIW;f_UllX._)_
11' 2tll•ll •l:l M:M:l•,,,,... i ery,to ~t~(lltJ'TJJt1.S-1ct.(l'!l(lll•S) l .._.,_... - kt)' (Jl(tll•M~tl•IS.t-. plMordJ~
111 JIJ Hll• ll •U M:M1ts,lll7tJ I C:rypto ~ttlllt'YPll~lC•.C#(llllS) l '*-•tH - Uy (ll(:•ll-fS.lS-1-, Plt<ordlOoli's.€.St""' f@

Figure 3.16 Data base Explorer: Trace File Viewer

Technology Background
In Chapter 2, you encountered the three building blocks of the in-memory comput ing
engine: TREX, P*TIME, and SAP MaxDB(liveCache). Messages in t he t race fi les remind
us of this legacy.

117
3 Administration

In addition to the documentation, how-to articles and other knowledge base articles
published on the SAP ONE Support Launchpad can serve as great sources of informa-
tion. Particularly helpful are the Guided Answers. By answering a number of ques-
tions, you'll be guided to relevant notes and knowledge base articles with more
information about the issue. For each component, like the database engine (HAN -DB),
application services (HAN-AS), SAP HANA studio (HAN-STD), or lifecycle management
(HAN-LM), there is a specific code. To find information in the knowledge base, search-
ing by component code provides a convenient shortcut. Incidents (support tickets)
are also tagged by component code. To collect diagnosis information, you can use
SAP HANA cockpit, SAP HANA studio, or the command line. Diagnosis information
will be returned in an archive (ZIP), which can be attached to the incident.

Learn More
General system monitoring topics are documented in t he SA P HANA Administration
Guide, which you can read or download from t he SAP Help Portal.
For information specific to performance issues and t roubleshooting, see the follow-
ing guides on t he SAP Help Portal:
• SAP HANA Troubleshooting and Performance Analysis Guide
• SAP HANA Performance Guide for Developers

Particularly helpfu l when facing performance problems are t he Guided Answers


from SAP Support at http://s-prs.co/v488415.

SAP Notes
For add itional information, see the following SAP Notes:
• SAP Note 2000000 - FAQ: SAP HANA Performance Optim ization
• SAP Note 2000002 - FAQ: SAP HANA SQL Optimization
• SAP Note 2669621 - FAQ: SAP HANA Capture and Replay
Many more FAQs are available, all carefully written and highly recommended.

3.2.3 Resource Management


Resource management is related to monitoring and performance analysis, but with a
focus on three main resources: memory, CPU, and persistence. For example, one con-
cern is filling up disk space and lacking sufficient memory. Do you get sufficient write

118
3.2 System Administration

and read performance from the storage subsystem when redo log entries are flushed
from the log buffer to the redo logs? Using solid-state drive (SSD) technology typi-
cally provides better performance. For very large databases (VLDBs}, loading all the
data into memory at system startup can take a considerable amount of time when
using a slow storage subsystem. Persistent memory, or the fast restart option, makes
use of the different characteristics of the main and delta memory areas of the colum-
nar table and can significantly reduce system restarts. Of course, more traditional
approaches like partitioning data volumes are also available.
Probably even more important for a resource to manage is memory. To support the
system administrator with memory resource management, the SAP HANA cockpit
includes the following tools:
• Memory Usage
This tile on the System Overview page, as shown in Figure 3.17, provides an instant
update about used and resident memory statistics. From this screen, you can nav-
igate to the Monitor Performance, Analyze Workloads, or Analyze Memory His-
tory apps.

System OveMe\v v

CPU Usage Memory usage Disk usage

Disk IO: 340761 186.73 Gi6


TOCll US19t S2 18 Ge - -
Oa4i11 3 95 Gi8 •
"' Log
Traot
202Ge
20 1MIS

.. ""'-
. h*UMd~

""""' - """ I/Witz• ....._ ,..,OI)' I


..
..
-P-nco -- · <b:. Mon1tonng
Alerts tM>n«or petfOfmance
1-titi al'Mj Medh.m Alen$
t.AOnllor sys1em ~altl'I

" Total
tM>nll.or la ble usage
Open blOOk.e-d 1.ransac1i0os

• 10 IS t.iQnJtor nerv.'Of1C

...... 12' IS
••
1 0

Overall OataDase Status


0 0
mo-te331b361 0

0 0
~ Running with 1Ssues
Threads
0 0 Related Al8ft5

Figure 3.17 SAP HANA Cockpit: System Overview

119
3 Administration

• Monitor Performance
App displaying graphs and statistics for all resource counters. Preconfigured
graphs (presets) can be selected, including for memory, and custom charts can be
created.
• Analyze Workloads
App displaying statistics for all resource counters, not only memory, with focus on
SQL statements, background jobs, and threads, as shown earlier in Figure 3.11.
• Analyze Memory History
App displaying memory statistics over time, as shown in Figure 3.18. The top graph
shows a timeline graph with quick selectors to select the last 6 or 4 weeks, 7 days or
24 hours, and a calendar for custom selection. Top consumers, memory compo-
nents and allocators, tables, and out of memory events are shown in the vie,vs on
the bottom pane.

~1e1110Jy Analysis v

Jul
..., last~ server ltne

t~ 2011. tat:tl AM
12.27 from. 7 1.1. 19 12 27 To 71S.19 1227
-
4S tl)M8
Hott~~

········-····-·· -······-····-·····-················ s.rnc. ~ U"M. u nsw


51 ,,7,,..,
1'"""*' (.ttofl NoM ')) tor Mef'llOr)' 1Js.19t S1ON M8
....·r·......
~
l"" U'Md Mttrlofy- ' ).&4 M8
M090MIJ
(Cid! on ~ to • dowln)
77 06&Mll

11 (I.IS M8

9023 M8
I
OM•

""" ..... ..... .,.... ...... ...... """

components (8> N. Jul IS 2019, 11 29 19AM ( )

Row Stort Tllbles


CodtSize
Used Memo<y
(MB)
TY1'0

9 47 Tables

1.863 3A Sys1em
·-
. ....
·-freeMo

c $\-Stem l 006 26 SVStetn


C CcbM Stoc"e TeblH 63920 Tlbles

Sta:ement Ocecution & lnt«mec:illt RtMl!s 470 18 \\'Oc'ICino


Momo<y
22675 SyMtm

21856 SysAem
•.
Figure 3.18 SAP HANA Cockpit: Memory Analysis

However, to make sense of the numbers, your administrators will need a sound
understanding of memory management concepts, and knowledge base articles (for

120
3.2 System Administration

example, 1999997-SAP HANA Memory FAQ) are important assets. In the Learn More
and SAP Notes boxes in this chapter and throughout the book, the most relevant
knowledge base articles have been listed, but many more are available. Together with
the how-to articles and the Guided Answers on the SAP ONE Support Launchpad,
knowledge base articles are essential resources when working with SAP HANA.
A comprehensive alerting infrastructure will inform your administrators about
resource issues long before these issues become critical. The Alerts tile is displayed
on the Syste m Overview page in the SAP HANA cockpit, shown in Figure 3.17, which
displays high and medium alerts for different categories (Backup, Availability, CPU
Usage, Configuration, Diagnosis Files) or KP!s (Ava ilability, Performance, Capacity).
From this page, you can navigate to the Alerts app, as shown in Figure 3.19, which dis-
plays all alerts triggered for the current system with more detailed information like
next scheduled run for the alert, its intervals, alert checker description, and a pro-
posed solution.

Alert Checker "


,_
Alert Checkers (120) Alert Checker Conftgura1w:>n

lis-> cq
Host physical memory usage n
U.. Rt.- Jill 1S 20tt ~

ThreshOldS for Pnon11zed A1en1ng (day)


DISk usage
LM1 R1.M. .M 1S 2019
Hsi> 20

- 7
Inactive seMCes low s
LM1 Ruro .M tS 20tt

Restarted servtCeS Schedule


Interval 24 hol.n

Host CPU Usage SdM!CUe Adie 'ifi•>


&..- Run, M tS 20tt

Email Reaptent of Alerts

--..
Delta merge (mergedog)
configuration
e
U11 Rull "'1s 201t
¢ CW, lhe newr~s)d be noliStd lbolJI alttts is.sutd by Hs 1f.trtcNck.0t The dtfd r~s)MI not

Memory usage of name server


-...
l.nl RIM M tS 2019 AIJ;t.'9
Proposed Solution
L<Xk \Y&1t bmeout configurabon By S>P Perloml a cm. blek\Jp as 500tl as possbe

Figure 3.19 SAP HANA Cockpit: Alerts

121
3 Administration

You can configure each alert and define the thresholds, scheduling properties, and
email recipients. From this app, you can also manually trigger an alert run, for exam-
ple, to double-check whether the proposed solution actually solved the issue.
More recent is the integration of SAP HANA cockpit with SAP EarlyWatch Alert for
proactive monitoring, introduced with SAP HANA 2.0 SPS 03. This service for SAP
Support is covered by the maintenance agreement and provides you with an over-
view of KP Is and alerts on a weekly basis. From the SAP Ea rlyWatch Alert tile on the
Landscape Overview page, you can navigate directly to the SAP EarlyWatch Alert Solu-
tion Finder, as shown in Figure 3.20.

~ ~ E.ar!yWatc:h Alt rt SolutM>n Findtr Knowledge Base v

System 10;
cSJ E.nr•t Sysi•m ID
Alert Rating
v fnt., AIM RMinl v

Alert Category.
v Entff Aft<t C~tegory NllJH v

A /)

493 ....... @:..& :.....__ ®~

Known Issue (St•tement)

0 CM<k the tntntiOMd SAP Noct{s)


applicable.
'°' tht r~atiOn conc:tn'lina: the su1tmtnt and •PP'Y the rtcornmendatlOn if

SAP Application Release · Mainttnance Phases (Softw••• Configuration)

Wt ft(~ th.It yov uplftd• your systtm. For rtMr~ons that 1ppty to yovr sys.tem d\rina cus.tomtt-spteific
f'l\llnte-nanct, Sff suppon sap eomtma1n.~~ fOf SAP rtt..Hs and SAP BuslnHSObt«fs rit!eases bas.ct on SAP
0v
Net\'kaver, SAP offers customef·spec.lflc malrtenanc:e after the end ot rnahstream malnttnanee. For mote infonnation
about the m.&a"lt~nu phases offered fOf SAP and SAP &Si~s softw.are, see support.541p.eomfm.aintenane.
In Octoi. 2014, SAP an~ne.ci • mainttn.Met txtens.lon for SAP Bus.intn Suitt 7 core *J)p(QtiOn ret•asn to 2~.
If you are R.WV'llng a tetevant release, see SAP Note 1648480 for mote details and apptlca.ble res.trictloos
0 • 0 & • • • • • • 0 • • • • • • • A 0 0 • & - 0 • 0 • A

~ ow-c.--r~
~ Sh.o1r1• YOUI f-l'Cl'db;;ick Aboul I~ L.1urchp;ld St.:ilw. Term!; of U!IC' Copynp,ht .ind Tr.tdc-m.-irk.•, Lc-p_.-il Oi...~lo:wr1i Pnv;1cy f°llCPi';i 09().16015:, 2

Figure 3.20 SAP EarlyWatch Alert Solution Finder

Workload management enables you to proactively manage your resources. To con-


trol CPU consumption and set memory limits, you can define workload classes for
specific types of workloads. You might, for example, assign different priorities and
limit resources for a data load job that requires several hours to complete. Part of
workload management is a feature called admission control, which enables you to
define rules about ho•v the system should react vvhen running under stress during

122
3.2 System Administration

peak load. By defining at what stage the system should start to queue requests, you
can avoid the system becoming overloaded. For both workload management and
workload admission control, the SAP HANA cockpit has applications to configure and
manage workloads.

Learn More
Resource and workload management is documented in the SAP HANA Administra-
tion Guide, which you can read or download from the SAP Help Portal.
For SAP EarlyWatch Alerts, visit http://s-prs.co/v488476.

SAP Notes
For additional information, see t he fol lowing SAP Notes:
• SAP Note 1999997 - FAQ: SAP HANA Memory
• SAP Note 2100040 - FAQ: SAP HANA CPU
• SAP Note 2400005 - FAQ: SAP HANA Persistence
• SAP Note 2445867- How-To: Interpreting and Resolving SAP HANA Alerts
• SAP Note 2222250 - FAQ: SAP HANA Workload Management

3.2.4 Security
While the security architect-the topic of Chapter 6-will mainly focus on a sound
design of the security infrastructure, your administrators will still need to monitor
critical security settings and take care of routine operations.
The Authentication tile on the System Overview page of the SAP HANA cockpit shows
the current status of the pass,vord policy, single sign-on (SSO), and the last time the
password was changed for the SYSTEM user, as shown in Figure 3.21. A well-documented
best practice is to disable this database's super user account and implement the prin-
ciple of least privilege (Po LP). In other words, you'll create, for example, a user admin-
istrator with only the required system privileges to create users and also create a
backup administrator for performing backups instead of using a single administrator
with both sets of privileges combined. Granting only what is required to perform the
required tasks avoids having a single hacked password compromise the security of the
entire system.

123
3 Administration

8 < ~ & HAO@HAO (S)"Sttll'l'I) System Overview v c ®


S>#r(deh Database OpenSQL ~@ ~
HAO@HAO
v

Auditing User & Role ~ianagement Anonymizatlon Report

&....._ ............ Manage users View available anonymization views


Sl111tus On Asslon rOle to usetS
Assign privileges to users Authentication
Audit Trail T.-get 0.tflbhe t.bto Manage roles
Manage user groups Password P*r:
El'llbled Mil Policies
• ~Mcniiod

OiMlbled Audit Polkios 0 Security Relatod Links


.... ...,,,......
Singf<Sion«"

Tum Off Auditing Manage certificates SYSTEM Usor Posswotd:


Ml'lnage certlflct1tos eolleetlons CN~ on Oec 21 , 2018

VW!/W netwotk security information


Data Encryption Manage SAML idontley providers
Mant199 J!NT identity ptovlders
Data Volume Enef)'Ption
Root key <hinged on
•·#••> S6writy administration holp @)

Dee 2 1, 2018, 9:17:19/W SAP HANA security website cgl


Serurlty ehed<kt c!ll
Redo Log Encryption
Root key dlilrved on
•·#••>
Ooc2t, 2018, 9:17:28AM

Backup Enayplion
Root key ctienged on
•·#••>
0ec 21, 2018, 9;17;33AM

Figure 3.21 SAP HANA Cockpit: System Overview, Security

Notice how, with the SAP HANA cockpit, you can easily create users and manage priv-
ileges and roles together with certificates using Security Assertion Markup Language
(SAML), SSO, and Lightweight Directory Access Protocol (LDAP). Security in SAP
HANA is described in more detail in Chapter 6.

Learn More
More recommendations for users, roles and privileges, network configuration,
encryption, audit ing, trace and dump files, and other topics are documented in the
SAP HANA Security Checklists and Recommendations guide.

3.2.S Backup and Recovery


Mastering backup and recovery tasks is an important objective for any administra-
tor. Careful planning, practice, and command of the tools are essential. Since we can
easily fill up an entire book on this topic, for this introduct ion, we'll have to limit

124
3.2 System Administration

ourselves to the most important aspects. How can you make backups and perform
recovery tasks for SAP HANA systems?

Backup
Making backups using the SAP HANA cockpit is a simple task. Select the backup type
(complete, differential, or incremental) and the destination (a file or third-party
backup solution) and then execute, as shown in Figure 3.22.

8 ( ~ ~ HAO@HAD (•,_,,) Backup v

Backup Prog1ess - HAO Run '" B11e.kground

Bld:up Type: Compl... om e.cicup


Started: May 31, 2019, 8'.20:33 AM

1 or2 seMoes becked up.

mo-fc337b361 .mo.sap.CCfP

t63G8oflf.309

90 Maol80M9

....
:~: Last Successful Ful Backup

I m No ~data backlJp .....,.bit

Figure 3.22 SAP HANA Cockpit: Backu p

Designing a solid backup and recovery strategy, on the other hand, will require more
attention. You'll need to know when to create data backups. Of course, you'll need
backups at regular intervals, but how often is often enough? Then, you'll have to con-
sider exceptional but critical situations: before software updates and after initial
loads or changes that cause an interruption to the log writer.
To automate data backups, you can use the backup scheduler, which is included with
the SAP HANA cockpit Backup app and which is an easy interface for scheduling back-
ups at regular intervals. You can create multiple schedules for complete, differential,
or incremental backups; configure their labels and destinations; define the recur-
rence of backups (weekly, monthly, every tv.ro months, etc.); specify time zones; and
adjust many more parameters to fi ne-tune backups to meet your requirements. Dif-
ferent calendar views display how backups are scheduled for the database, as shov"n
in Figure 3.23. Log backups are automatic by default and don't need to be scheduled.

125
3 Administration

Backup v c (!)

Backup Schedules + 0
v Today < August 2019 >

1~1~ 1 ~1~ 1~ 1~1~ 1~ 1~ 1~ 1 ~ 1 ~ 1~ 1 ~ 1~ 1 ~1~ 1~ 1 ~ 1~ 1~1~ 1~1~1~ 1~

I
,.,,.
~tus:

ReeurTenc:e (UTC):
~......,,.. monlh
Blclwp Type'
~· o...&.(IQ.Ip

Figure 3.23 SAP HANA Cockpit: Backup Scheduler

For a quick point-in-time recovery (PITR) database restore, you can complement data
backups with data volume snapshots-with caveats. Some questions to ask include
the following:
• How do system and tenant database backups relate to each other?
• What should you consider when working with dynamic tiering or system replica-
tion?
• What is the effect of release compatibility?
• What should you consider when working with the BACKINT SOK for SAP HANA?
• How do you manage encryption root keys for data and log backups and also for
data volumes?
• What is the recovery point objective (RPO), and what is the recovery time objective
{RTO)?

You'll need to design your backup strategy 'llvith these questions in mind.

Recovery
What good is a backup if you cannot recover the data? When it comes to recovery,
you should keep the following considerations in mind:

126
3.2 System Administration

• Recovery requires downtime. The database must be shut down. During the recov-
ery process, neither users nor applications can access the database.
• When you need to recover an entire SAP HANA system, the system database must
be recovered first before you can start to recover the tenant databases (one by
one). However, you'll only need to recover the system database if that database has
been corrupted. If only tenants are affected, you won't need to recover the system
database, which can remain online together with all the unaffected tenants.
• You cannot recover a tenant database of release SPS 04 to a system running on
SPS 03.

The human factor is also something to consider. Stress might start to play a role. How
failsafe are your procedures? The more you can automate, the more predictable
recovery will be.
Especially, when working within service-level agreements {SLAs), your administra-
tors will need to practice different recovery scenarios regularly, including the follo\v-
ing cases:
• Data volume corruption
• Log area unusable when recovery is no longer possible, only restore
• PITR to correct logical errors
• Recovery with system replication

You should also know ho'"' to work with the hdbbackupcheck and hdbbackupdiag com-
mand line tools to validate your backups.
The hdbbackupcheck tool, shown in Figure 3.24, allows you to perform a number of
checks on a backup set. With the backup diagnostic tool, you can perform a more
extensive analysis of a backup set, although this tool is more likely to be used for sup-
port cases. On the recovery side, you can use a Python script called recoverSys . py to
perform a PITR for system database, which allows you to recover databases on the
command line until a particular time stamp and which also includes remote recovery
capabilities.

Code Clinic
For an example of remote recovery, see t he following:
ssh haladm@serverl23456 "HDBSettings .sh recoverSys . py
--command=\ "RECOVER DATABASE UNTIL TIMESTAMP '2019-07-14 15 :00 :00' \ '"'

127
3 Administration

ti' rooc cmo-rc.J.)7\1)61,mo.up.c:o1p~


" x
ha0acb\@mo•fc337b361 . mo : /hana/shared/HA0/HOB00/backup/dat a/DB_HAO> hdbbackup.check -h •
usa9e : hdbbackupcheck (opti ons) <backup>

Options : I
-h : display this usa9e information
- v : display th• h••d•rs of the backup
-i <backupid> : cheek whether the backup has th• backup id •~citied
-p <directory> : use this directory for the 109 tiles
- • <•bid> : e xtern3l back'u p id tor 3 l»ickint call
--backintParam.Fil• <filename> : use parAmeter tile specified tor a backint call
--dw:tp : dw:np contont of tho bockup (109 ~nd topol09y ba;ckup only}
ha0ad.~8mo- fc337b361 . rao : /hana/shared/HAO/HOBOO/ba.ckup/data/DB_HA0> hdbbackupcheck - v 2019_05_31_08_ 20_ 33_databacku
p_O_ l
Ch•ck backup ' /hana/sh•r•d/RAO/HDBOO/backup/data/DB HA0/2019 OS 31 08 20 33 databackup 0 l '.
Destination of Type : file , Version : 10 - - - - - - - - -
Destination header information :
O.tabaseld : 7c17b4lf- 81Sc- 654b- 9d5c- 3914S8f964fS
Interna lStar tTime : 1559290833246 I 2019- 0S- 31T08 : 20 : 33+00 : 00
CurrOestlnformation : (FIL£)(/usr/sap/HAO/HOBOO/backup/data/DB_HA0/2019_05_31_08_20_33_databackup_O_l]
backupid: 1559290833208
Ser vice Name : indexserver
NumberOfVolumes : 2
HostName: mo-fc337b361 . mo . sap.cor p
Volumeld : 0
Dest id : 1
NumberOf Des t : 1
SI D: HAO
Databa seName : HAO
Hanaversion: 2 . 00 . 034 . 00 . 1539746999
Hanaweekstone : 0000 . 00 . 0
Architecture : lit tle endian
s r cPoolinformation(O) : (TOPOLOGY) Backupid : 1559290833208
SrcPool i nformation(l) : (OATABACKUP_ INFO) Backupi d : 1559290833208
srcPoolinformation{2) : {SSFS) Backupid : 1559290833208
DstPoolintormation{O) : [ FIL£) [/usr/sap/HA0/HDB00/backup/data/DB_HA0/2019_0S_31_08_20_33_databackup_0_1J
Sourc• header information :
srcType : 4
sourcetnfori:N:tion : [TOPOLOGY] v

Figure 3.24 Check Backups with hdbbackupcheck

Third-Party Backup Tools


To integrate SAP HANA backups with a larger enterprise backup solution, a certifica-
tion program was launched (HANA-BRINT) and an application programming inter-
face (AP!) BACKINT SDK for SAP HANA made available almost from the outset. You
can find all certified configurations listed in the SAP Certified Solutions Directory.
Although beyond the scope of this book, note that each vendor has extensive docu-
mentation about how to install, configure, and perform SAP HANA backup and recov-
ery with their solution. In addition, on several vendor websites, white papers
documenting best practices are also available.

Learn More
Backup and recovery is documented in the SAP HANA Administration Guide, which
you can read or download from the SAP Help Portal.

128
3.2 System Administration

SAP Notes
For additional informat ion, see t he fol lowing SAP Notes:
• SAP Note 1642148 - FAQ: SAP HANA Data base Backup & Recovery
• SAP Note 2444090 - FAQ: SAP HANA Backup Encryption
• SAP Note 1730932 - Using backup t ools with Backint for HANA

3.2.6 Additional Responsibilities


SAP HANA system administration is the topic for a whole book, not just a chapter. A
broad range of topics can be covered, and in this introduction we've only scratched
the surface. Let's look at some of the key intersecting areas:
• Data centers
The system administrator will also need to be familiar with tenant databases, vir-
tualization, and different technical deployment modes, a topic we'll return to in
Chapter 9 about data center architecture.
• Application administration
Often, as already mentioned, the SAP HANA administrator will work in the context
of SAP application administration and will require ABAP and Basis knowledge and
familiarity with tools like SAP Solution Manager and SAP Landscape Management.
• Availability and disaster recovery
Backup and recovery are but two facets of the broader topics of high availability
and disaster recovery design, which might also involve system replication and
database copies.
• Scale-out environments
Scale-out environments require yet another set of competencies, and you'll need
to be familiar with data distribution, table placement, and partitioning.
• Data aging
Data aging or data tiering involves multitemperature storage management for
best performance and optimal resource utilization. This requirement is common
and directly impacts monitoring, resource management, backup and recovery,
and other system management topics.

129
3 Administration

• Development
Finally, some responsibilities of the administrator will be related to development
and the application server runtime, topics we'll return to in the last two sections of
this chapter.

Depending on how responsibilities are defined for the different job roles, these tasks
may also require considerable attention from t he system administrator. In brief, sys-
tem administration is a demanding topic and requires significant study and experi-
ence for successful execution.

Learn More
Aside from the SAP HANA Administration Guide, the SAP HANA SQL and System Views
Reference is also a valuable resource on the SAP Help Porta l.
The administration of related technologies, such as SAP HANA dynamic t iering, SAP
HANA stream ing analytics, and SAP HANA smart data integration (SDI), to name but
a few, is documented sepa rately on the SAP Help Portal.
SAP Education offers courses and certification about SAP HANA administration,
including the fo llowing:
• HA200-SAP HANA 2.0 - Installation and Adm inistration
• HA201- SAP HANA 2.0- Using Monitoring Performance Tools

SAP Notes
For additiona l information, the follow ing SAP Note lists recommended tasks in the
areas of administ rat ion, monitoring, and housekeeping:
• SAP Note 2400024- How-To: SAP HANA Admin istration and Monitoring

3.3 SAP HANA Lifecycle Management


SAP HANA Lifecycle Management comprises two related but distinct topics: platform
Jifecycle management (the installation, updating, and configuration of the SAP
HANA platform itself) and application lifecycle management (of applications devel-
oped for SAP HANA XS, both classic and advanced). Application lifecycle manage-
ment not only concerns the installation of applications on the SAP HANA platform

130
3.3 SAP HANA Lifecycle Management

but also concerns migrating (or transporting) development content to test, quality
assurance, and production environments.
Both platform lifecycle management and application lifecycle management are
potentially system administration activities. In larger enterprises, application lifecy-
cle management typically will be a separate function, in particular, when the DevOps
approach is favored, in which case application lifecycle operations will be more or
less integrated into the development organization. When SAP HANA is acquired as an
appliance, platform lifecycle management activities might require the involvement
of the hardware partner. For the SAP Cloud Platform, SAP HANA service, platform life-
cycle management activities fall under the responsibility of SAP, including some of
the more traditional system administration tasks, like backup management. Yet, if
you opted for just the infrastructure and already have an SAP HANA license, you
might well have to install SAP HANA and perform updates. So, cloud deployment
itself does not liberate the system administrator from all platform lifecycle manage-
ment duties.
What's important about lifecycle management for the platform and for applications?
We'll vvalk you through key tools and processes in the following sections.

3.3.1 Platform Lifecycle Management


You'll use a single tool for all platform lifecycle management tasks (hdblcm), including
installing the SAP HANA server, updating SAP HANA clients, or additional compo-
nents to the server like the Application Function Library (AFL). You can also use the
tool for the more common landscape configuration tasks, like adding or removing
hosts from a distributed system, renaming the system identifier (SID), or registering
the system in the System Landscape Directory (SLD), an SAP NetVveaver tool to man-
age your SAP IT landscape.
Although platform lifecycle management in SAP HANA is a single tool, three user
interfaces can be accessed:
• Command line
The command line is probably the most used approach, since this approach allows
for the automation of installation and update tasks, which is convenient if you
need to update a large number of SAP HANA clients to the latest release.
• X-Windows
The Linux X graphical installer is intended for one-time activities but is generally

131
3 Administration

not used because the SAP HANA appliance does not include a graphical environ-
ment. A common security best practice on Linux platforms is to only install the
software that is needed. Agraphical environment may be convenient on a desktop
client but has no purpose on a database server. (Another Linux server security best
practice: only install essential components.)
• Web
For one-offs, we recommend using the web interface with the familiar SAP Fiori-
based UI shown in Figure 3.25. The vveb interface is integrated with the SAP HANA
cockpit administration tool and is the only approach that allows you to connect
directly to the Softwa re Downloads area of the SAP ONE Support Launchpad, so
you can download, extract, and update software all in a single workflow.

View System Update System and Install or Update Configure System


Information Components Additional Landscape
Components Directory
Registration


I

Configure Inter- Add Hosts Remove Hosts Add Host Roles


Service
Communication

* bl+
Remove Host Roles Uninstall Download Upload/Extract
Components Components Components

Help

Figure 3.25 SAP HANA Plat form Lifecycle Management

132
3.3 SAP HANA Lifecycle Management

3.3.2 Product Availability Matrix


Before you can start installing SAP HANA, you'll first need to make the necessary
preparations. A good place to start is with the Product Availability Matrix (PAM), as
shown in Figure 3.26.

a.nor.. HormMIOl'I Ttcnnal Release WiorrnDcn SAP Soft...,. OowNoad ewi:or Syslom Dela
: Dotailli Oei. FW.-i ~ ~ Sl.wortP'act• Staeb
1

Details for Product Version SAP HANA PLATFORM EDITION 2.0 Essential Information
Oftlcl.. Hime: SAP HAHA. pl•llofm Odllion 2.0
Proclui:t: SAP HAHA PLATFORM EOfTION
Prock.tel C•tito«Y ' UN: r~ PIMIOml > SAP tw.IA
Type ot PfocNc1 Vetalon.: Standllcne
AoiMeM ~: Slan61rd
C4.irl'9nt S&aol1,11; UIYWltleltd av.-..
SAPHAHARM*-•: 0 Rffdv

Release Plan • _J Related Links


1t.10.2011 ,.. SAP AollOMlriP
RMMM1ocim-cATC); 30.11.2018
Gtnttal A.,,.._bflllty: 01.12.2016 f'Ul'lhot lnlcwmallon ,. SAP lrlno<Mtbn D1900WfY
,. &.won lnlo In lhe Ullncl'lped
~-
,t
.....
...,._lion I Upgrade Guido

~-­
........... ~,.,..

,. ~ ~.. 1n•onneli0n

Other Versions of Product


SAPHANAP\.ATFOOM EOO. 1.0
SAP HANA 1.0, plotlorm dtioli

Figure 3.26 Product Availability Matrix: SAP HANA Platform Edition 2.0

The PAM shows a number of tabs and panes, as follows:


• Gene ral Information
The main tab including the following key subtabs:
- Details & Dates : Contains the following information:
• Details for Product Version : Lists official product name and category
• Release Pla n: Lists release to customer and general availability dates
• Essent ia l Information: Links to the SAP HANA hardware directory
• Related Links: Links to the roadmap, product homepage, documentation,
and several important guides
• Other Versions of Product: Links to previous (or next release)

133
3 Administration

Related Product Versions: Graphically shows options for upgrades and add-ons
by product version, listing all the different SAP applications "powered by HANA."
The Upgrade To and Required Product Versions boxes are empty for the SAP
HANA platform edition 2.0.
Support Package Stacks: Released SPSs with release data and links to the release
notes.
• Technical Release Information
The actual matrix with support information about the SAP HANA database, SAP
HANA client, SAP HANA studio, AFL, and other components fo r the operating sys-
tem, databases for SAP HANA smart data access (SDA), web bro,vsers for SAP HANA
cockpit, etc.
• SAP Software Download Center
Links directly to the location where you can download either the complete media
set or the latest updates for specific components, as shown in Figure 3.27. Since the
SAP HANA platform is only one of 1,700 products listed on the PAM, creating
shortcuts for specific products that you need to download is a great timesaver.

$AP HANA PLATFQRM EotTlOl'f 2.0(SUPPOR'T PlliCMGES ANO Pitr.TCHE.$) I

SAP HANA DATABASE 2 .0

OOWNLOAOS "IFO ECCN 1NFO

ID ~fVWc: Pkk~ ~ M l8rlff than 4 GB wll be padced In tn ltdM. ~ Is spUl inco • G8 J)a!U, /IJ,l &tdWts flffd tO be ~IO&ded and unpack!KI, fi>t" mote de~ on
rnW:hplnnlrc lf'ld how to •XU.CC tht muW.pM ..... artl'Wrt on UNIX s.. $AP Note 896535.

Items Available to Download (5) LINUX ON X816_&4 k8rT v


••
0
''""'
IMOB_SERVER20_ 040_CM00020Jl.SAR
Patdtlevtt ...,,.. He Sil~ Rf'~().ete

°"""'°"'
R~t~lfllo

0 Rt\tslon z.oo.040.o ($PS04) 1or HANA oe 2.0


IMDB_ SERYER20_037_C).80001031.SAR
0 SAA l*lSl K8 0$.04 2019 O$.(J4 2019

0 R~ Z.00.037.0 (SPSOJ) lor HANA 08 2.0
0 SAA Zt502&l K8 19.0J 2019 19.0l.2019

• .... •
IMOB_SERVER20_02A_ t..aooo20ll.SAR
0 R~ 2.00.024.9 (SPS02) lor HANA 08 2.0
J509618K8 14.0J 2019 14.0J.2019

0
IM08_SERYER20_036_o-800020Jl.$AR
R~ 2.00.036.0 (SPSOJ) ror HANA 08 2.0
0 .... 285$970 l<8 22.0L2019 22.01.2019

0
IMOBSERVEROBGO.U..O.I00020ll..P1,TAR
~, ~ Pack.«ge IOf SAP HAHA R~ 021 part.fl
0 30000001(8 06,10.2017 06.10.2017

(') fOf ~tlon Of'lly

:>a.>.'f'!!o.ad Bi'IO\k.:t V.~n Mmu

<-;.. ~ C,,.,... G.,....,._,, Ta~


~ Shi'lr~ YO<.lf ~ttdba;dt Abovl '!h~ Llundlpad Status Term$ ol L.!>C Copyng"'ll :ind Tradtm.1.M Leg~ O.Sciowrc Prrvacy 1'lCPa<l904601 '5't 2

Figure 3.27 SAP Software Download Center

134
3.3 SAP HANA Lifecycle Management

Make sure you bookmark the PAlvl so you can easily navigate to all the other relevant
sites (including the equally essential Product Support Info resource on the SAP ONE
Support Launchpad}.
The SAP HANA platform edition is released in SPSs once a year, with intermediate
revisions in between. The platform edition bundles different components, usually
defined as separately installable units. Components like the SAP HANA server, the
SAP HANA client, the SAP HANA cockpit, SAP HANA studio, or the AFL are commonly
found in most installations. Other components are only used for specific use cases,
like the hardware configuration check tool (described in Chapter 9, Section 9.4.2). and
might only be documented in a referenced SAP Note.

Technology Background
The Software Download Center uses the general terms Installation and Upgrades,
which map to SAP HANA SPS releases, and Support Packages and Pat ches, which
map to SAP HANA revisions.
Under Installation and Upgrades, you'll find the complete media set for the currently
supported SPS releases (one for each arch itecture: Intel/Power). For the latest SAP
HANA2.0 SPS 04 (April 2019) version, t he download is a single 14 GBzip file, as shown
earlier in Figure 3.27.
Under Support Packages and Patches, you'll find a download for each of t he compo-
nents, for each revision, for each supported platform. For example, the SAP HANA 2.0
client fo r 64-bit Windows revision 04 is a small download of 110 MB. Only the latest
patch level is available for download.
Additional com ponents for SAP HANA are somet imes released as an SP. The SAP
HANA cockpit, for example, is bundled with t he SAP HANA platform, but new fu nc-
tionality is released several t imes a year in an SP, which are fi led under Support Pack-
ages and Patches.
Separately licensed components, like SAP HANA dynamic tiering for example, will
have t heir own entry in t he PAM and likewise are also separat ely listed in t he Soft-
ware Download Center.

3.3.3 Installation and Update


Once you've properly prepared your environment and fulfilled all the documented
hardware and software requirements, installing SAP HANA is a simple task. The plat-
form lifecycle management tool (hdblcm) will detect the available components for

135
3 Administration

installation. All you need to do is select \ivhich components you want to install,
choose the system type {single-host or multiple-host), define several system proper-
ties like the system identifier {SID) and the installation path {most take on default val-
ues), and enter the password for the super user accounts like the <sid>adm operating
system account (software owner) and the SYSTEMdatabase user.
To perform an installation of a scale-out distributed system of multiple hosts, we get
an extra dialog where we specify the host names, as illustrated in Figure 3.28. To
install multiple components together with the database server (SAP HANA client,
SAP HANA cockpit, AFL, SDA, SAP HANA dynamic tiering, SAP HANA XS Advanced
runtime, etc.), just select the component to install in the component selection screen,
and the installer will take care of the rest. The installation process is optimized to
avoid multiple system restarts, and a typical SAP HANA server installation (even dis-
tributed) should only take a few minutes.

" x

C..001e S\ttcllM Ty,.. O•i11t S}'ttu• l'roptttlt• OtA~t S•M•tt l'tt,..lti•I Ott\111 Ctl'tilct!tl Dtft111 Mt1ttt ,,.,,..,,4
,,.,.rdtl

('\ $!n9'1-M11t Sll't•m

9 l'Wltl~l.--<HOlt Syltt•
x

- Ho1tn1m.t.: • 1.........., J
••••••••- -l §aMW<dJtr(-':>w) vttl
~ .•c•11.•g:.
- Hl9h.llt..tllt~!l ,ty GtMtp: 0•~1wori:.c-1t.,1 ,___ _ _ _l[!ru
- - - --1 Oat~t St-'by(tt~)
l~
~ T°Ml'it19 Vt.'Ofkoet ( trtended.,st«~ """'k•)
O)'tltrric t"..,W, St.w'ldby (•o.t~_jlOI'. _..~)

Su1-W.~1(•1~

XS Advanc:-411t..-dntWorro. lo:J_-ltrl
XS Acfvanc:•d llt....un. $t..wby (io:s_rt~t

,_
,. """lw• I •••" I c..,..1

Figure 3.28 SAP HANA Lifecycle Management, Distributed Installation

136
3.3 SAP HANA Lifecycle Management

Installing the SAP HANA XS Advanced runtime is more time consuming, in particular
when selecting a large number of SAP HANA XS Advanced applications (SAP Web IDE,
the database explorer, the SAP Enterprise Architecture Designer, etc.).

SAP Notes
Maintaining release parity between the database server and components is gener-
ally recommended (and often required). Although an SAP HANA 1.0 SPS 12 client will
connect to an SAP HANA 2.0 SPS 04 system, you'll run into issues when you try to
implement t he latest feat ures, like client-side encryption, ifthe client does not sup-
port it.
For more detailed information, see SAP Note 1906576 - HANA client and server cross-
version compatibility.

As shown in Figure 3.29, with the command line installer, you can generate an instal-
lation template file, which can then be called on the command line to perform auto-
mated installations in batch mode. Passwords are passed using a separate file for
additional security. Parameters specified on the command line overrule those speci-
fied in the configuration file, which enables you, for example, to perform multiple
installations with the same parameter file while simply providing the values that
need to be unique on the command line.

~o-fc331b361:/hana/inseall/SERVER/SAP_HANA_DATABASE #
mo-fc337b36::/hana install/SERVER/SAP_HANA_DATABASE I ./hdblcm --action•install \
> --du.mp_confi9file_template=/trnp/install . rsp

SAP HANA Lifecycle Management - SAP HANA Database 2 . 00 . 041.00 . 1560320256


••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Scanninq software locations . ..


Detected components:
SAP HANA Database (2.00 . 041 . 00 . 1S603202S6) in /hana/install/SERVER/SAP HANA DATABASE/server
Config fil• templ&te ' /tmp/inst&ll . rsp ' written - -
Password file template ' /tmp/install.rsp.xml ' written
Confiquration file template created
~o-!c331b361:/hana/.nseall/SERVER/SAP_HANA_DATABASE f vi /tmp/install.rsp
~o-fc331b361:/hana/install/SERVER/SAP_HANA_DATABASE # vi /tmp/install . rsp . xml
=o-fc337b36l:/hana 'install/SERVER/SAP_HANA_DATABASE t cat /tmp/install . rsp . xml I ./hdblcm --aid• DBl \
> --read_password_from_stdin=xml --confi9file=/tmp/install.rsp -b
I
SAP HANA Lifecycle Management - SAP HANA Database 2 . 00 . 041.00 . 1560320256
••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Scanninq software locations ...


Detected components :
SAP HANA Database (2.00 . 041 . 00 . 1560320256) in /hana/install/SERVER/SAP HANA DATABASE/server

Figure 3.29 Automated Server Installation with Configuration Template File

137
3 Adm inistration

To update your system, you'll use the same tools and the same procedures. This activ-
ity will be far more common as you would typically only install a system once and
then update the system many times. If you're using SAP HANA as an appliance or
using a BYOL cloud-hosted system, you won't even perform the initial installation.
Technically, updates and installations are similar processes. A sophisticated design of
the file system, shown in Figure 3.30, separates user data from system data and
enables the quick replacement of a previous installation with a fresh copy. The same
design also explains the similarity between single-host and distributed systems and
why adding and removing hosts to/from a distributed system and performing dis-
tributed installations is simplified.

<SID > = System ident ifier, e.g. HAO


I <nn> =Instance number, e.g. 00
<h> =Host number
<v> = Volume identifier
usr/sap/ hana/

1-- hostctrl (SAP host agent) data/ <SID>/


,____<SID> L mntOOOO<h>/
home
SYS L hdbOOO<v>/

log/ <SID>/ L datavolume 000.dat


L mntOOOO<h>/ -
L hdbOOO<v>/
I shared/ t-- <SID>/ L logsegment_OOO_OOOOOOOO.dat

HDB<nn> -----------------)> HDB<nn>


global
profile
exe
hdblcm

Figure 3.30 SAP HANA Recommended File System Layout

Every server has a mount point for local files and for shared files. The local mou nt
point / usr/sa p only contains the files specific to that host, mainly log and trace files,
a local copy of the SAP host agent, a list of symbolic links to system executables, and
even the home directory of the software owner <sid>adm. The shared mount point
/hana contains the actual database data and log files and the executables.
vvhen you update SAP HANA, you're simply removing the shared server files and rec-
reating the symbolic links on the host(s). With each installation/update, a local copy

138
3.3 SAP HANA Lifecycle Management

of the platform lifecycle management tool is also included (resident hdblcm) for ver-
sion compatibility. When you perform an update to a new revision, the resident tool
will prompt you for the location of its installation kit.
The web interface for hdbl cm is launched from the local SAP host agent. For this rea-
son, you cannot perform a completely new installation using this tool as no host
agent would be available.
Technically, updating to the next revision and updating to the next SPS release are
the same. Going from the initial SPS 03 (revision 30) to the next update revision 31 is
the same as going from revision 31 to revision 40 (SPS 04) or even going from 1.00.12
(SAP HANA 1.0 SPS 01) to 2.00.30 (SAP HANA 2.0 SPS 03). SPS revisions enable new
functionalities and update the revision counter to the next decade.

Learn More
How to inst all and update SAP HANA with platform lifecycle management tools is
documented in the SAP HANA Server Installation and Update Guide, which you can
read or down load from t he SAP Help Portal.
The SAP HANA Master Guide is the entry point for planning t he installation of an SAP
HANA system la ndscape and is an even better place to st art.

SAP Notes
For related notes and articles on the SAP ONE Support Launchpad, component HAN-
LM-PLT/HAN-DB, see SAP Note 2115815 - FAQ: SAP HANA Dat abase Patches and
Upgrades.

3.3.4 Application Lifecycle Management


Although q uite similar in name and similar in purpose (as a tool to install, update,
and configure software), SAP HANA application lifecycle management is quite differ-
ent from the platform lifecycle management activities discussed so far. Application
lifecycle management is more of a development and administration topic and much
less a system administration responsibility.
Conceptually, application lifecycle management works the same for the classic SAP
HANA XS implementation as for SAP HANA XS Advanced model. Technically, how-
ever, these runtimes are completely different, and so, you'll also use different tools.

139
3 Administration

SAP HANA XS works with delivery units while SAP HANA XS Advanced works with
software components. For SAP HANA XS, you'll use the hdbalm command line tool,
whereas for SAP HANA XS Advanced you'll use the xs CL!. Both environments have a
web interface for installation and updates.
You'll use the same XSA Application Lifecycle Management product installer to install
or update both SAP HANA components (for example, the SAP Web IDE for SAP HANA)
as any other business application "powered by HANA" that you or your business part-
ner might have developed for SAP HANA XS Advanced or for the SAP Cloud Platform
Cloud Foundry runtime. Figure 3.31 shows the product installer; after selecting the
organization and space, you'll see a list of installed software components and prod-
ucts, along "llVith an installation history.

Manoge Software Components

Installed Software Components (9)

XSAC_ALM Pl UI (up.com)
GUI kit HALM tor XSA (tt~
-
113 2 AfK 15, 2019, 12:0927 PM by
XSA_AOMIN, Proc.u 10 4207
-.Info

Support Info

prodU(t installtr) \'tr$10n 1

XSAC_FILE_PROC (up.com) 1.0.36 AfJI 15, 2019, 11:33 21 AM by Support Info


XSA_ADMIN, ProcttS ID 2501
XSAC fllEPROCESSOR 1 0

XSAC_HAHA_ EA_ O (up.com) 15.11 Ap 15, 2019. 11;40:38 AM by Support We>


XSA_.AOMIN, Process 10 2725
SAP Enterpns.f Atc.htte-aure On!pr
1.0 for SAP HANA

XSAC_HRTT ( s-ap.com) 2.9.23 Ap lS. 2019. ll;45:30AM by Support Info


XSA_AOMIN, Process 10 3033
SAP HANA toob f« .ciceulng ~tatoa
content. data prt"Mw, SOL consolt,
fl(.

XSAC_PORTAL_SERV (up.com) 140 Apl5. 2019, ll-47-S7AMby ~Info


XSA,..AOMIN, Proc.ss 10 3257
Dew(op <ind run poital MNk:es f0t
CUSOl'Mf apps on XSA

XS.AC_SAP_WEB_IDE (up.com)
SAP \Y•b IOE W•b Cliotnc
4 .¢.0 ... l5. 2019. 115allAMby
XSA_AOMIN, Process 10 3403
-Info
Figure 3.31 SAP HANA Application Lifecycle Management

Learn More
Application lifecycle management is documented in SAP HANA Application Lifecycle
Management Guide for bot h the SAP HANA XS and SAP HANA XS Advanced model,
wh ich you can read or download from the SAP Help Portal.

140
3.4 Application Server Administration

Tutorial
For some hands-on exercises, try out the following t utorials from the SAP Developer
Commun ity, wh ich show step-by-step how you can deploy development content
from SAP HANA stud io (using SAP HANA XS) or from the SAP Web IDE (using SAP
HANA XS Advanced) to Git and Jenkins for transport to t est and production systems:
• Continuous Integration (Cl) Best Practices with SAP - SAP HANA Extended Appli-
cation Services (XS), classic model
• Continuous Integration (Cl) Best Practices with SAP - SAP HANA Extended Appli-
cation Services, advanced model (XS advanced) on SAP HANA

SAP Notes
For re lated SAP Notes and knowledge base articles on the SAP ONE Support Launch-
pad, component HAN-LM-APP, see:
• SAP Note 2768258 - Central Not e for SAP HANA Applicat ion Lifecycle Manage-
ment SAP HANA 2.0, XS Classic
• SAP Note 2495800 - Release Notes for XS Advanced Application Lifecycle
Management Product Installer

3.4 Application Server Administration


In Chapter 4, we'll explore the topic of SAP HANA development in more detail, but
some activities related to SAP HANA XS typically belong to the responsibilities of the
system administrator.
For SAP HANA XS Advanced, the platform lifecycle management tasks may include
the following:
• Installing the runtime, either in the system database or in one or more tenant
databases
• Configuring scale out with multiple hosts and optional standby systems
• Configuring default domain and routing mode, either port numbers or host
names
• Setting up SAP HANA XS Advanced to run behind a reverse proxy for load balanc-
ing or other considerations

141
3 Administration

The original SAP HANA XS implementation comes with the system and does not
require any special platform lifecycle attention.
In addition, application lifecycle management tasks, like installing SAP HANA XS
applications, are also often system administration responsibilities, in particular,
when dealing with production systems.
For the system administration tasks described in this chapter, like system parameter
configuration, resource management, backup and recovery, monitoring and perfor-
mance analysis, you'll use the same tools and techniques for SAP HANA XS as for the
SAP HANA database. However, for several application server-specific configuration
requirements, you'll use other tools at your disposal.

3.4.1 SAP HANA XS Ad min Tool


The SAP HANA XS Admin tool web application complements the development per-
spective (functionality) of SAP HANA studio. Content is stored in the SAP HANA
repository, and the runtime is provided by SAP HANA XS (xsengine; see Chapter 4,
Section 4.4.1). Although this functionality has been deprecated in the latest SAP
HANA 2.0 releases, in some situations, you might want to use this tool, for example
to enable cross origin resource sharing (CORS) for the Information Access (InA) ser-
vice, a prerequisite for live connections to SAP HANA from SAP Analytics Cloud.
For static content (such as images or text), both the SAP HANA XS and the SAP HANA
XS Advanced runtimes use the SAP Web Dispatcher, also found on the SAP NetWeaver
platform. For administration, the same SAP Web Dispatcher interface is available.

Learn More
Administration tasks related to t he SAP HANA XS are list ed in t he SAP HANA Adminis-
tration Guide, which you can read or download from the SAP Help Portal.

3.4.2 Deploying SAP HANA XS Advanced Applications

To perform system administration tasks related to the SAP HANA XS Advanced run-
time and the deployment infrastructure, you'll need a cockpit, a CLI, and a SQL
prompt. We'll look at each in the follov.,iing sections.

142
3.4 Application Server Adm inistration

SAP HANA XS Advanced Cockpit


Most of the administration and configuration tasks for SAP HANA XS Advanced run-
times and applications can be performed using the SAP HANA XS Advanced cockpit
web application, as sho\vn in Figure 3.32. Because SAP HANA XS Advanced and Cloud
Foundry use the same technology, users familiar with the SAP Cloud Platform Cloud
Foundry environment will instantly recognize the UI and know ho\v to interact with
the cockpit and how to create organizations and spaces, core concepts for both SAP
HANA XS Advanced and Cloud Foundry. We'll return to this topic in more detail in
Chapter 4, Section 4.4.

~ Space: SAP - Applications

""' ..
_.,_
.....
4jfTft!,I

f.if.; •.1.:.•
-
Name ............
111
--- -
6'M8
.......
I> ® Iii

--
~ 0.1 18 M8 I> • Iii
,,. ....
--
f.itt@• ~-· I> ® Iii
'",,,
f.i®§".• ,,. .... I> ® Iii
.._... ..........
--
4itG¢·• 111 6'M8 I> ® Iii
,_...._ ,,. ...
--
4i!\t!t·• 1/1 I> ® Iii
*ll 1.1,:.1 ,,,

--
coctJ>lt-.d"*'uMw: 12&"8 I> ® Iii
•11nr;::.1 ,_....,_,..,. ,,, I> ® Ii
™""
,......
--
f.i@@• codi¥>il..tv:ll>-1YC
'" I> ® Iii
4i!TtHft·• _........... 111 128"8 I> ® Iii
•1r.r.n:.1 codiPl.o&lncl~IVC 111 128"8 I> ® Iii
,_.................. ..........
--
«.irtti@• 111 1<>:24 MB I> ® Iii
4$$¢".• ~-tetetftell'y.....C
'" ....... I> ® Iii
..........
--
f.il@@• ~-
111 $12M8 I> ® Iii
4'!@¢·• coclrOit•ua-svc 111 ,..... I> ® Iii
f.ii· i·i :.• c~149gi11ry.<11> Oii 18 MB I> • Iii

Figure 3.32 SAP HANA XS Advanced Cockpit

You can use the SAP HANA XS Advanced cockpit to map spaces to tenant databases,
and this tool is where the schemas and other development artifacts will be stored.
You can also use the tool to create users and role collections, enabling you to bundle
different roles from each of the deployed applications. As with the SAP HANA XS
Admin tool, you also use the SAP HANA XS Advanced cockpit for SAML trust configu-
rations and managing the trust certificates used to establish secure connections

143
3 Administration

between the SAP HANA system and SAP HANA XS Advanced applications. Within the
context of a space, you can stop and start applications or add instances to scale up.
Views allow you to monitor applications on resource consumption and in the Ser-
vices view, you can add or configure different microservices.

SAP HANA XS Command Line Interface


Convenient as it may be, you can't perform every task in the SAP HANA XS Advanced
cockpit. For some activities, you'll use other web applications, like the product
installer described in Section 3.3.4 for SAP HANA XS Advanced application lifecycle
management. However, sooner or later, as an administrator, you'll need to open a
command prompt or terminal and use the SAP HANA XS CLI. The CLI is installed on
the SAP HANA server when and 111•here you installed the runtime, but you can also
download the CLI and install it on your computer (Linux, macOS, or Windows).
Although the command is xs (and not xsa), this CL! exclusively works with SAP HANA
XS Advanced model and serves no purpose for the previous SAP HANA XS implemen-
tation. Start 111•ith xs help or look at the command line reference to get started. Users
already familiar with the Cloud Foundry CL! (cf) will be at an advantage because most
commands work the same.

SAP HANA Deployment Infrastructure


To deploy development artifacts to the runtime environment, SAP HANA uses the
SAP HANA Deployment Infrastructure (HD!}.
Although mostly a development topic that we'll return to in Chapter 4, Section 4.6,
HD! also requires a bit of attention from the administrator. For example, you'll need
to enable HDI and create an HDI administrator with the appropriate privileges. As an
HD! administrator, you can then proceed to configure general HD! parameters and
create and configure containers and container groups.
The container concept is central to HDI and provides the required isolation for both
design-time development artifacts and runtime database objects. Artifacts are stored
in design-time containers (DTCs), while database objects are stored in runtime con-
tainers (RTCs). A DTC is always attached to a target RTC and is owned by a dedicated
technical database user. Examples of HDI configuration parameters are transaction_
lock_wait_ti meout, max_parallel_jobs, and treat_errors_as_warni ngs. Container
groups can be used to delegate the administration of sets of HD! containers to differ-
ent HD! administrators.

144
3.5 Summary

Apart from the SQL prompt. no app or user interface for HDI administration exists.

Learn More
As for all administration topics, you'll find security-related concepts documented in
the Security Guide, wh ile installation topics are covered in the Installation and
Update guide, and t he hands-on administration topics are in the SAP HANA Adminis-
tration Guide.
For the SAP HANA XS CU, see the XS Command-Line Interface Reference. You can read
or download these guides from the SAP Help Porta l.

SAP Notes
For related notes and articles on the SAP ONE Support Launchpad, component BC-XS-
RT, see SAP Note 2596466 - FAQ: SAP HANA XS advanced.

3.5 Summary

In this chapter, we introduced you to the SAP HANA administrator persona and
described its role and responsibilities. You learned about the different tools an
administrator might use to perform day-to-day activities, starting with the tools spe-
cific to the SAP HANA platform like the SAP HANA cockpit, the database explorer, the
SAP HANA XS Advanced cockpit, and the platform lifecycle management tool as well
as command line tools like hdbsql and xs. Depending on the extent to which SAP
HANA is integrated into your broader SAP system landscape, your administrator
may also work with the SAP Solution Manager or SAP Landscape Management and
the SAP NetWeaver-based DBA cockpit.
A system administrator will have many different responsibilities, so we described
system configuration, resource management, backup and recovery, performance
monitoring and analysis, and security administration. In addition, we covered
administration activities associated with the different SAP HANA XS and SAP HANA
XS Advanced application server runtimes and explored lifecycle management for the
platform and for applications.
In the next chapter, v.•e'll meet our second main protagonist, the SAP HANA devel-
oper.

145
Chapter 4
Development
In reality, programming languages are how programmers express and
communicate ideas - and the audience for those ideas is other pro-
grammers, not computers.
- Guido van Rossum

Simpler solutions are more likely to be correct than complex ones.


-Occam's razor

This chapter is for those of you working on the SAP HANA project who aren't devel-
opers and for developers with a different background who first want a comprehen-
sive overview. No need to take months off; a couple hours at most will suffice to learn
the essentials ofSQL and SQLScript, analytical modeling, and native development; to
understand the differences between SAP HANA extended application services, classic
model (SAP HANA XS) and SAP HANA extended application services, advanced model
(SAP HANA XS Advanced); to understand where core data services (CDS) and the
SAP HANA Deployment Infrastructure (HD!) fit in; to learn what you can do with a
platform-as-a-service (PaaS); and to find out 11vhere you can learn more.
In this chapter, we'll introduce you to the topic of SAP HANA development and
describe both the developer and the modeler role. We'll take a look at the tools devel-
opers will use, and we'll cover a wide range of development topics. Starting off with
the basics of SQL and SQLScript, and looping in ABAP when discussing code push-
down, we'll proceed with SAP HANA modeling and continue with the native develop-
ment domain '""ith SAP HANA XS and related topics like CDS, HD!, and application
lifecycle management. After a brief description of the NoSQL document store, we'll
then proceed with the SAP Cloud Platform, including the Cloud Foundry environ-
ment and the SAP Cloud Platform, SAP HANA service. Next, we'll describe the differ-
ent interfaces for the SAP HANA client (ODBC, JDBC, Python, OData, and more) and
present the SAP HANA, express edition, with a free developer license. Finally, we'll

147
4 Development

end our journey with SAP HANA Interactive Education (SHINE), the demo and train-
ing model.

Learn More
To fully master the SAP HANA development topic beyond the introductory level,
many resources are avai lable {although you may need severa l months to go through
all the material!). We recommend starting with the Developer Quick Start Guide and
then continuing with severa l guides for both native development and modeling (one
for each tool, more tha n 20 total).
To find your bearings, refer to t he Developer Information Map. The information map
points out what guide you need for each topic when developing SAP HANA XS or SAP
HANA XS Advanced applications.
Both guides are included with the documentation for the SAP HANA platform and
can be read or downloaded from t he SAP Help Porta l.

4.1 Role and Tools


What are the responsibilities of the SAP HANA developer, and what tools does he or
she have at their disposal? Jn this section, we'll briefly describe the job role of the
developer persona.

4.1.1 The SAP HANA Developer


The SAP HANA developer job role covers a number of different activities, all requiring
a good understanding of in-memory databases and the SQL and SQLScript languages.
When modeling, you'll create analytical views based on a number of source tables.
You can use the friendly user interface {UI) of your integrated development environ-
ment {IDE), whether a full client like SAP HANA studio or the SAP Web IDE for SAP
HANA, but inevitably, at some stage, you'll require a solid understanding of SQL and
SQLScript for some hardcore coding.
When developing an application specifically for the SAP HANA platform (in devel-
oper speak, natively; that is, not a generic HTMLS or Java app that runs more or less
anywhere). you'll use the same development tools and still need the same solid grasp
of SQL and SQLScript, but the scope will be much bigger. You'll define your data

148
4.1 Role and Tools

model in CDS, design-time artifacts that become runtime objects when deployed
with HD!. For the older SAP HANA XS infrastructure with (code) repositories, develop-
ment works differently, but the concept is much the same. It strictly separates the
development environment from production systems while allowing for a smooth
application lifecycle management process going from development, to test (quality
assurance), and finally to production.
For a native application, you'll also need the business application logic and a UI (likely
SAPUIS to avoid having to reinvent the wheel). Fortunately, for both interface and
logic, you can use JavaScript or Java. In SAP HANA XS Advanced, this approach is
called multitarget application (MTA) development, where the database. the UI, and the
business logic are all considered targets. These targets are developed using the same
IDE but can be deployed separately to different environments or targets, hence the
name. Artifacts that define analytical views can be part of your MTA development
project but are not required.
Apart from analytical modeling and native development, you could also develop an
application in a different development language and connect to the SAP HANA data-
base using either HTTP or the SAP HANA client. For '"'eb access, you can use OData
and the Information Access (InA) service. As client interfaces, ODBC, JDBC, .NET,
Python, Go, and others are available on multiple platforms and architectures. As a
result, you can access the SAP HANA database from any application. The SAP HANA
studio, for example, connects to the SAP HANA database using JDBC whereas SAP
Analytics Cloud connects to SAP HANA using InA.
To develop cloud-native business applications, integrate on-premise with cloud
applications, or extend applications by adding new functionalities, you can turn to
the SAP Cloud Platform. On this enterprise PaaS, SAP provides a large selection of ser-
vices ranging from ASAP runtime environments to blockchain, machine learning,
the Internet of Things (IoT). and more. One of those services is the SAP Cloud Plat-
form, SAP HANA service, and you can use the cloud edition of the database as an
alternative or to complement your on-premise {data center) systems.
With SAP's cloud-first strategy, you must keep an eye on the SAP HANA service for
the latest features and functions. SAP HANA developers can sign up for a free SAP
Cloud Platform trial account to get started and keep up to date. In addition, to learn
how to develop with the latest technologies, build a proof of concept, and even go
into production, developers can take advantage of the free SAP HANA, express edi-
tion.

149
4 Development

4.1.2 Tools
Regardless of whether you develop apps for the iPhone, for the Windows platform,
for Java, or for SAP business applications, you'll need an IDE. An IDE contains the edi-
tors you'll use to write your code (with code completion), debuggers to catch errors,
compilers to build the code (and link to any external library you decide to use), and a
deployer to validate your application in a test environment. We'll walk through your
options in the following sections.

SAP HANA Studio


Although not recommended for use with SAP HANA 2.0 and no longer available for
SAP Cloud Platform, SAP HANA service, SAP HANA studio is still frequently found on
older SAP HANA 1.0 development environments. The tool is easy to use, and many
developers are already familiar with its menus and its workflows.
For the initial releases of SAP HANA, for modeling and later for native development,
the Eclipse (Java) IDE was leveraged with plugins that provided modeling and develop-
ment "perspectives." Figure 4.1 shows the modeling perspective, with the Syst ems
view on the left pane listing all the SAP HANA systems you can access, and the Infor-
mation View editor on the right with Scenario, Det ails, and Output panes. The terms
"perspective" and "views" are used in this context to describe the different areas in
the Eclipse IDE and should not be confused with the actual development artifact also
called a view (i.e., a calculation or information view). In the Scenario pane, you'll
select the tables to be used as inputs for the calculation view, which is called the data
foundation . In contrast, semantics represents the output structure of the view. In
addition, a number of "views" show properties, job log, where-used lists, and other
information (most are hidden from display due to limited screen space but only one
click away on the toolbar to the right}. You can also create your own perspectives to
match your modeling preferences.
The Eclipse IDE was popular with developers, not only for Java but also for other
development languages. ABAP Development Tools (ADT), SAP Business Warehouse
(SAP BW} modeling tools, the SAP Cloud Platform software development kit (SOK} for
Neo, and SAPUIS tools are all available as plugins (this list is not complete). Most
developers will have worked with Eclipse before, which means instant productivity
without first having to learn new tools. In particular, for developers new to the SAP
HANA platform, the Eclipse IDE is quite easy to use compared to alternatives like the
ABAP Workbench with SAP GUI.

150
4.1 Role and Tools

0 workspace • SAP HANA Modeler • syste-m·local.bwbwseatch.SAPINJ.AOSO.METADATA::PRIMARY HOB (SYSTEM) • Edip~ Platform


-"
. • . •e;
ii fo Syslemi &I ... C •
0
systtrn·loc.albw.~1th.SAPIN1ADSO.METAC».Tk:PRIMARV HOB (SYSTEM) 1'3
;i l!ll • !ill II • "' I# 8 iO ~ system-local .bw.bwsearch .SAPI NJ A OSO.METAO
"
Cl
,, le HOB (SYSTEM) [Product'Ol'I Syrtem) ATA ::PR IMARY HOB (SYSTEM) !Y. ..od @ lt dll 0 0 . 4: .
~ S•ckup
.........
---
• ..... C.U&o9 Output

.,, ...
"' . . Conttne
.. Bl j)\lbliic

"' # systttn•~I
• • Coli.mm;
- ACllVATl.DATA: RSOADg "'

• IB ...
"' 1B bwf.t,.-ch --
·-

().ta'°"'"'....,,
-·----· ··-··--·
---·-·
- AC11Yll: .SQWSQ.OCfTJJ.AC
- ADSOt™: RS'Q.CDSOT71J.,AD:
s

'""°""""""J ·--
-·- - CIUATEOBY: RSOADSO<TQ.Col?o.i 1
"' f! WIN.1
''°""°"" ~- I CRlATEDOH: RSOAOSO\"l'C).C"
• 18 AOSO
flEB
" SI
• 18 AKI
AINX
ALvt
--·-
fltolCSCn (TIJ
··~

·-
--
--
-~-
-- I CUB-lOCLTAOff\Y: RSOADSO(Ti ,
I Df'SCRJPTIOH: RSOA.DSOT{rl)
I l>IR£CJ.UPOATE:RSGtOSO(Tc7,l

~
I GROUP.,HAMbRSGtOSO(TQI.~


w~

• 18 AKO ~­
• IB "'"-'
• Ii COEM
fl Bl DESl
·--
--
~-
I INJOAREA: RSOADSC<TO- lMOA
I lASTCHAHGl08Y: lfSCMDsom;
lASTCHANGlOOM: A'SGtDS0(7i
NO_AQ_DElffiON: ~SQ('L"
fl Elf DMOO
• SI ELEM I • •
.=..._
fl fit FBPA
• 18 HAAP
fl Elf HCPR •
......,
Pro.- Y11ut
fl (It IOBJ
N6mit PPJMAAY
• EB lQRY
Llik- SAP8W-
• 18 LSVS P..cL l)'UM'l··-
't IB
et ltSOS°""' Acb... SAPMH
Act•- 2016-0L

fl £B SEGR
fl
fl
£B TttC-S
£B TAfN
'"-·-
Cciu- K)IN
"' . , goMtr«td
9i <.lcS<tNtiOS ...... 2
,, i>ffl•tt:
I> tiit Prvmt0n11''19 AppL
S> • Sc<1.1rlly

< •
Figure 4.1 SAP HANA Studio Modeler Perspective

New feature development on the SAP HANA studio IDE stopped ~vith SAP HANA 1.0
SPS 12 (2016) with deprecation announced for SAP HANA 2.0 SPS 02 (2017). However,
as a component, SAP HANA studio is still in cluded with the SAP HANA platform, an d
you can still download the latest version (as a plugin) from http://s-prs.co/v488417.

Learn More
Dedicated guides f or native development and for modeling w ith SAP HANA studio
are available, aptly named th e SAP HANA Developer Guide for SAP HANA Studio and
the SAP HANA Modeling Guide.

SAP Notes
For additional informat ion, see t he fol lowing SAP Notes:
• SAP Not e 2073112 - FAQ: SAP HANA Studio

151
4 Development

• SAP Note 246S027 - Deprecation of SAP HANA extended application services,


classic model and SAP HANA Repository
• SAP Note 2693731 - St atement on SAP HANA St udio and SAP Cloud Platform, SAP
HANA Service

SAP HANA Web-Based Development Workbench


As clearly indicated by its name, the SAP HANA Web-Based Development Workbench
is a web-based development tool (the name inspired by the SAP NetWeaver-based
ABAP Vvorkbench). This tool was developed as a native SAP HANA XS application.
With the introduction of SAP HANA XS Advanced in SPS 11 (2015), further develop-
ment ceased, and the tool is no longer used much today.

SAP Web IDE for SAP HANA


The SAP Web IDE for SAP HANA is the local on-premise version of the SAP Cloud Plat-
form SAP Web IDE (full-stack) for the development of native SAP HANA XS Advanced
MTAs. This IDE includes a 'Neb-based or mobile UI, business logic, and data model for
the SAP HANA database. The SAP Web IDE itself is an SAP HANA XS Advanced appli-
cation and uses the HDI to build and deploy design-time artifacts into runtime data-
base objects, which is the terminology used to distinguish "code" from "executables."
Artifacts are vvhat developers create, perhaps a table definition, a role, or a procedure.
Artifacts are stored in a code repository. When you build (or activate) an artifact, a
runtime object is created, an actual table in a particular database, which you can then
use to insert data. How this process exactly works differs for the different SAP HANA
XS models and will be described later in this chapter.
SAP Web IDE's features, as shown in Figure 4.2, include the following:
• Editors for SAP HANA smart data integration (SDI)
• Tools for integration with the SAP Cloud Application Programming Model
(see Section 4.9.2)
• SAP Fiori launchpad site plugins
• A layout editor
• Text analysis development
• OData annotation modeler
• Tools for Java and Node.js development

152
4.1 Role and Tools

Like you might expect, the SAP Web IDE includes syntax correction and code comple-
tion as •veil as tools for debugging and testing. In addition, graphical editors are avail-
able for CDS data models and calculation vie\vs. The SAP Web IDE integrates with
GitHub as a central code repository. To browse runtime database catalog objects and
execute SQL, the SAP Web IDE integrates the database explorer web application, the
same used with the SAP HANA cockpit for database administration (see Chapter 3,
Section 3.1.2).

Global Preferences Features


Code Check Ef\4bl0 tho SAP Web IOE tooturos you wani:, savo, and ro"toSh lhO bl'OW$OI'.
Code Completlon
Code EClitor
eore oa1a SOMoes.
Dala Prl\llO'N
SAP Cloud Platform Business
AppMcatlon Otvtlopmtn1 Tools •·::•·>
lJ'Se these lOOIS 10 develop l\Jl·stack bUslness
031.abOSO E>cplOtet aPf)Ucatlons based on the applfcatlon programming
Default Ed110t'$ model tor SAP Cloud Pfa1form.
Git settings M«e lnlonMtion
KeybOalel Shortcuts
SOl Code Compellcn
Automatkalty k>ads these reawres:
SOL Console SAP se
SOL$cr1>1Debugger Toots for NodeJs Oevetopment ...
Worttt:pae-• Preferences
OalaSIOfe Oetault Yalues
Features
Modeler
SAP HANA O.atabase Development
Tools •·::•·>
These tOOls enable you lo develop SAP HANA
08\&00$0 (H08) ~IOS \'lnQ: detab3$0 artlf~S. U$0
the SAP HANA DoplOytntnl lnfrasuucnn (HOI), an ...

MOtO Information

Automatlcaly k>ads these features:


SAP se
SAP HANA Database ExplorM

SAP Flort Launchpad Sitt Q Off

Use this plugln to cteale a SAP Flori launchpad site


tor SAP HANA XS Ac!V3noecl Mo<tel.

Figure 4.2 SAP Web IDE for SAP HANA: Features

Learn More
The SAP Web IDE is documented in the SAP HANA Developer Cuidefor SAP HANA XS
Advanced, available from the SAP Help Portal.
For information about the SAP Web IDE in general, the topic page at SAP Community
is a great place t o start.

153
4 Development

Tutorials
For some hands-on exercises, try out some of the tutorials on the SAP Developer
Community for the topic "SAP Web IDE", for example, "Tutorial Navigator: SAP Web
IDE''.

4.2 SQL and SQLScript

Every SAP HANA developer should be fluent in SQL and ideally SQLScript. Although
for convenience and speed, you'll often rely on development tools to generate the
SQL for you, for advanced functionalities, for the latest features, and for trouble-
shooting security or performance issues, you'll need to understand what the SQL is
doing and use SQLScript for what SQL cannot do (or would do poorly).
In this section, we'll describe both SQL and SQLScript as they relate to SAP HANA. In
addition, we'll also cover how SQLScript can be used in ASAP Managed Database Pro-
cedures (AMDP), which, as the name indicates, are ABAP development objects and
SAP HANA procedures at the same time, which enables you to include SQLScript
inside your ASAP objects.

4.2.1 SQL
SQL is the linguafranca of the database, but implementations can differ widely. To
effectively work with SQL in SAP HANA, you'll need a copy of the SQL Reference Guide
on your desk (preferably on the desktop of your computer, as the latest SPS 04 guide
consists of 2,259 pages). In this guide, you'll find the available data types, operators,
expressions, predicates, SQL functions, statements, error codes (all 5,737), and system
limitations (for example, 16,383 table locks, 4,095 tables in a statement, 2 GB SQL
statement length, and 1,945 GB size of all stored procedures combined).

Technology Background
The Structured Query Language (SQL) is as old as IBM's System R, the fi rst relational
database management system (RDBMS), and goes back to the early 1970s. SQL has
been an ANSI/ISO standard since the mid-1980s, and from t ime to t ime, a new ver-
sion is published (called a dialect), the latest being SQL:2016. Most databases are
ANSI-compliant to some extent, most often SQL:1992, which means that you can
run t he same SQL statement on all compliant databases with the same result and

154
4.2 SQL and SQLScript

wit hout errors. In pract ice, databases have vendor-specific extensions to t he SQLlan-
guage t o take advantage of specific features, and SAP HANA is no exception. For
example, t he SQLst at ement SELECT TA .al , TB .bl FROMTA, LATERAL (SELECT bl , b2
FROM TBWHERE b3 = TA. a3) TBWHERE TA . a2 = TB. b2 uses lateral joins and th us wilI only
execute on SAP HANA and requ ires a specific release level t hat supports lateral joins
(SPS 04 or later).

SQL views are used extensively in SAP HANA modeling and present a virtual table as
input for analysis. Through the use of SQL functions, WHERE clause filters, and JOIN
statements, a specific and dynamic result set can be returned when the view is
accessed. Although you can create views at runtime with the CREATE VIEWstatement,
most often views will be defined by the developer as design-time artifacts (Pur-
chaseOrderi tem. hdbview) and deployed to the repository or, in case of SAP HANA XS
Advanced, to an HD! container (see Section 4.6).
Although SAP HANA includes different store types (described in Chapter l, Section
1.2.4) and you can access the database using different clients (ODBC, JDBC, Python,
.NET) and protocols (HTTP/OData), you'll still access the database through the same
SQL interface. This main access gate to the SAP HANA platform is important, and
developers must be familiar with the different functionalities it provides (the most
important of which we'll cover in this chapter). When you interact with the database
using the SAP HANA studio or the SAP HANA cockpit- every action, almost every
click (create a table, change a parameter) is converted into a SQL statement. Every
performance graph or pie chart with table values is the result of a SQL query, which,
again, is the only 'vay to interact with the database. One exception is starting/stop-
ping the database; instead, you'll connect to an operating system process and exe-
cute a sapcont rol command. The same executable is used with SAP NetWeaver
systems, although not every option and parameter is supported as used for SAP
HANA.
Another indication of the importance of SQL is that a new functionality is typically
first released on the database side (the "backend") with only a SQL interface. The
frontend, the client UI (see Section 4.10), is often added later. Lightweight Directory
Access Protocol (LDAP) authentication, for example, was introduced in the first SAP
HANA 2.0 release with a modification for the CREATE USERSQL statement. The corre-
sponding configuration interface in the SAP HANA cockpit arrived later, in a subse-
quent release, and because SAP HANA studio is no longer under development, no UI
exists for LDAP authentication at all. Although a long list and not always easy to

155
4 Development

understand at fi rst. the release notes for changes to SQL and SQL views provide a lot
of information about development priorities.

Code Clinic
Support for additional feat ures (capabilities) is provided through SQL funct ions. For
example, with the full-text LANGUAGE fu nction, SAP HANA returns the language of a
specified column:
SELECT LANGUAGE(CONTENT), CONTENT FROM T;
The JSON VALUE funct ion parses JSON (see Section 4.8):
SELECT JSON_VALUE('{ "iteml":lO}' , ' $.iteml ' ) AS "value" FROM DUMMY;
Series data functions provide functiona lities fo r SAP HANA (time) series. These func-
tions are aggregate functions for ana lytics; security funct ions; spatial fu nctions;
hierarchy functions; functions to perform mathematical operations; and functions
t o work on strings, arrays, dat a type conversion; and more.

For good performance, you'll need good SQL. In SQL, you can sometimes get the same
result in different ways. Sometimes, the response time will be comparable, but some-
times, changing a SQL expression turns a 10-minute query into a split-second
response time. SQL statements are optimized for execution by the SQL parser. Statis-
tics on the database objects (the number of rows, the number of empty values) pro-
vide inputs to the parser to determine the most optimal execution plan. However, in
some situations, the developer will need to provide the parser with additional infor-
mation to come to the best plan. This information are called hints, and you can
include them in your statements.
To analyze SQL statement performance, you can use SQL Analyzer {Plan Visualizer in
SAP HANA studio), the Expensive Statement app, and SQL plan cache, to name a few
applications. More advanced tools are the SQL trace and the Expensive Statement
trace. Trace files can be difficult to read, but tools are available to help you parse the
information, like the SQL Trace Analyzer.

4.2.2 SQLScript
The objective for SQLScript is to embed data-intensive application logic into the data-
base. In a traditional three-tier architecture (see Chapter 1, Section 1.2.1), the middle
tier, the application layer, tends to dumb down the database and executes all the

156
4.2 SQL and SQLScri pt

business logic. For example. the application might perform the following steps:
Select all rows from table A, move to the application server, and then loop through
each row to perform some action. A massive data copy is a common approach with
imperative languages like Java or ABAP, but this approach fails to leverage the (mas-
sive} parallel processing capabilities of SAP HANA with multicore CPUs and all the
data residing in-memory. Code pushdown is required to get the best performance,
and SQLScript makes code pushdown possible.
Conceptually, the language is related to stored procedures and uses a combination of
declarative and (imperative} orchestration logic (loops and conditions}. You can use
the SQL data types available in the database as well as create your own user-defined
types, just as you can create user-defined functions (UDFs} and libraries. Anonymous
blocks and autonomous transactions are supported, as are features like SQLScript
encryption.
Afew key best practices to keep in mind when using SQLScript include the following:
• Break down complex queries into subexpressions: Allows the compiler to recog-
nize patterns and avoid repeating expensive computations.
• Reduce dependencies and avoid cursors (loops}: Maximizes the opportunities for
parallel processing.
• Avoid dynamic SQL: Dynamic SQL is generated at runtime and requires compila-
tion and query optimization for each call. Static SQL is compiled once and can be
executed many times, which results in much faster performance.
To help you write SQLScript code, the SAP Web IDE for SAP HANA includes a SQL-
Script debugger, also available in the ADT for Eclipse.

Learn More
SQL and SQLScript are documented in two reference guides, ava ilable from the SAP
Help Portal:
• SAP HANA SQL and System Views Reference
• SAP HANA SQLScript Reference

SAP Notes
For additional information, see the following SAP Notes:
• SAP Note 2000002- FAQ: SAP HANA SQL Optimization

157
4 Development

• SAP Note 2142945 - FAQ: SAP HANA Hints


• SAP Note 2412519 - FAQ: SAP HANA SQL Trace Analyzer

Tutorials
For some good hands-on exercises, try out the fo llowing SQLScript tutorial group on
t he SAP Developer Community: "Tutoria l Navigator: Leverage SQLScript in Stored
Procedures and User Defi ned Functions"

4.2.3 ABAP Managed Database Procedures

To leverage parallel processing and the in-memory database for business applica-
tions powered by SAP HANA, the same code pushdown development paradigm
found in SQLScript has also been also promoted for ABAP development. AMDP are
central to this approach.

Tech nology Background


The ABAP programming language, short fo r Advanced Business Application Program -
ming, was first released in 1983-halfway between C {1972) and Java (1995). Initia lly,
ABAP was a general reporting preprocessor (Allgemeiner Berichtsaufbereitungsproz-
essor) for SAP R/2. Lat er, ABAP evolved as the development language f or the SAP R/3
(1992) platform, mainly for Reports, Interfaces, Conversions, Extensions, Forms, and
Workflows (RICEFW objects). ABAP is a proprietary language wit h object -oriented
extensions added in 1999.
ABAP programs are stored inside the database but abstract specific database imple-
mentations using Open SQL, which works on any other database (AnyDB). With the
development of SAP business applications t hat only run on SAP HANA, like SAP
S/4HANA and SAP BW/4HANA, code pushdown is the new parad igm. Code push-
down is also referenced as code-t o-data, and calls for data-intensive operations t o be
pushed down to the database, leveraging parallel processing and in-memory com-
puting on the dat abase tier as much as possible, which is promoted by the use of CDS
and AMDP.

AMDP is a framework that enables you to call SQLScript embedded in an ABAP objects.
Figure 4.3 shows an ABAP procedure with between the brackets of the execute_ddl

158
4.2 SQL and SQLScri pt

ABAP function call SQLScript code. The development, maintenance, and transport of
the SQLScript are all performed on the ABAP side.

S... workspace · ASAP - Program ZRS_NATIVE_SOLSCRJPT_(All (A4H) • inKtiYe, IO<Xed - A4H_001_dtvelope<_eo_1 - Ectipse Platf0<m
e :..--
f.tot TOOis Edit ~r<otCodot N.._.tftt Sutc.h Projt<t litilfl Vli"ltow Htlp

(j · bllt:) "- ' i!i Q. l!°I . ~ t Iii t ~ X () @ : . 1> · 0 · .• • g . q. . Gil ,p . · ~ · >- · '>¢> •
IQ Pro:stct~ t! 8 ~ v .,. 0 (l •(:.4HJZR$.NA.1'1Vi.~SC~PT _(~l t?
-
B
C> '5 ~H.001.d«-"doptt'_e,..
"a MJi..001.developef.tn.1 IMH.001. OMLOPf~ t...1 ~ ~ 0-~~:~~~~~~~~~:~~~.:-~::.-.-~~-.."'.~--
" 1) F~...:e P..cUgitt •• Set~P te•t • r.d pcoe:ed~re
"S STMP • ()(\'EL°"EA ..................... ................
1> Ell SEQ,,.GlN • Cre•te te•t t.t>le
• i& SEQ.GW. MAT v try,
1> e& Ci«ion•ry •~t_ret •>exec~te_ddl (
" Qt. SourceCodelilfff)' C•tch cx_aql_exce~1on .

" 0 Pr09ftmJ en<ltry.


1> Q GP000818ll-4\'19llaovw.tlXTOCftS
I> 0 GPOCW-lfWTMGZOAIG«QZVHSYIXMKV •t&t_ret •>exec~tc_ddl (

1> 0 GP050Qe'Yu9ft!Ul4SAAHCGHSWO 'CP.v..Tt T:.SLZ zrs_teatprcc_t~( key INT PRIMARY KtY. va.11.le NV'..RCR:..RC2SS> ) • >.
•t&t_ret •>e•eC~te_~pclt.te (
1> 0 Groc:CIRD7VHVZMMBW:VGMWJ.i6U
I> Q CiPIE1JG'f'JEKRZNZOEU>G40lWAQ
'INSERT rNTO ira_testproe_tab VALOES(l. ••teat v• ll.le '' )' ) ,
p Q GP1f~70~ZS.:ICOIC«TNOG89PE1
I>Q GPIGASIMAHZV.CT876f8RISHIXIGI
p Q GP1G8SYl9'RSY20JllHTCC9NVSNCOT
t> 0 GP1RGMlUJ!ONP.H60f'lfMl7tTQH
t> 0 CiPJ.3Yl.NKVVC65Me:P91SIXIKT8X.9
t> 0 GPJf™H9HIOWY/()A.CH37AO'l,_LOA
t> 0 GPJWC8X19ZS2EPC8TI.QmTXSJ a t&t_ret•>e•eCl.lte_ddl (
t>
fl
0
0
CiP3WUZVAUM.8VS4U07UGQl)()([CW
GPlXVKOLHMS).21N7l'OU01P7°'"° .,..
•CR.t;.TE PROC!!OQP.t ir•_tc•tproc( oar tl
• 11£\DS SQ;. Q;>l A :.S ' ' '
zr•_tc•tProc_t•~ > ."
g:: Ovllitlt tt •' J\ • .... v-
0
0
,, 0 ZRS.NAT!Ylsa.scllPT.CAU ·wo·
).
0 CON.NAME
• R(SUlT.T
0 SQURR.,REF
0 CO"-.RU
0 STMT.J'!f <
0 RIS..REF
0 R(SIJlT.TA.8 ,,T~ ~tor>n Tai ~t • D10ti s l:]P~ $:.& • lto'l'l~·t~ Jl~.v.~ IJFtt0~ .-rr~arg.,n.l:>Cf ~
0 ltOW.CHT
!JP
SlAAT·Of-·~lECTION I; [A4HJ ZRS. NATIVf.SQLSCRIPT. CAl l
DI EXlCUTL'f'llTH_TAANSla_TABlE
61 OOCUT(...wtTH.GEN.TtMPTA8LES ........
__J

IJ HMtDLE..SCl. iXCEPTION
DI OUTPUT_RISUlT

Writ.bit

Figure 4.3 ASAP Development Toolkit: Calling SQLScript in ASAP

Learn More
A good place to st art is the ABAP for SAP HANA Development User Guide, available
from the SAP Help Portal.

Tutorials
For some ha nds·on exercises, try out some of the tutorials on the SAP Developer Com·
munity for topic "ASAP Development": "Tutorial Navigator: ASAP Development".

159
4 Development

4.3 Analytic Modeling


As mentioned earlier, SAP HANA combines transactional and analytical data- online
transaction processing (OLTP) and online analytical processing (OLAP)-resulting in
what some call translytical data and others call hybrid transaction/analytical pro-
cessing (HTAP). In a traditional data warehouse environment, you would use some
kind of OLAP tool to create a data cube with aggregates stored on disk (MOLAP) or
combined 1.vith a relation database (ROLAP) or a combination of both (HOLAP). You
could access the data using multidimensional expressions (MDX), ODBO (OLE DB for
OLAP) or XML for Analysis (XMLA) instead of SQL, ODBC, and OData. We'll return to
ODBO and XMLA later when we describe the full SAP HANA client (see Section 4.10)
and web-based access to the client (see Section 4.11).
Although SAP HANA includes an interface to connect with XMLA or ODBO and
exchange MDX (for example, using a Microsoft Excel or an SAP BusinessObjects Web
Intelligence client), SAP HANA does not store aggregates in cubes and does not
include an OLAP engine. Instead, SAP HANA uses calculation views as part of the cal-
culation engine, which we'll discuss in this section.
SAP HANA's calculation engine instantiates calculation views at runtime. A calcula-
tion view typically uses inputs from several sources, which can be tables, OLAP views,
or the output of other calculation views (models). Initially, SAP HANA supported dif-
ferent view types, together known as information views, but these views have all been
consolidated into the graphical calculation views. As a result, "information vie~v" and
"calculation view" are now synonyms. Calculation views describe (or depict) a busi-
ness scenario and are used (consumed) by reporting and business intelligence (BI)
tools, from Microsoft Excel to SAP Analytics Cloud.

Technology Background
In itia lly, SAP HANA contained different view types (attribute, ana lytic, calculation),
which define dimensions Uoining relationships), aggregations (key figures), and add-
ing complex calculations (virtual table). Calculation views could be created using a
graphical editor in SAP HANA studio, but you could also create SQLScript-based calcu-
lation views. Each view cou ld be executed in a different engine (JOIN, OLAP, SQL/CE),
and if the information model was not designed correctly, suboptimal performance
wou Id resu It.
Design-time development artifacts created in SAP HANA studio (or the SAP HANA
Web-Based Development Workbench SAP HANA XS application) were stored in the

160
4.3 Analytic Modeling

repository under the _SYS_RE PO schema (cont ent). When deployed (act ivated), the
views were saved as runtime objects in the _SYS_BIC schema with t he related _SYS_
SI C schema storing metadata like variables, t ime dimensions, and cont ent mappings
(catalog).
To support SAP HANA XS Advanced native application development wit h CDS and
HDI (see Section 4.5 and Section 4.6, respectively), these different view types were
consolidated into a single type: graph ical calculation views. You'll use the SAP Web
IDE to create them.

Figure 4.4 shows a calculation view in the SAP Web IDE for SAP HANA. In the left pane,
you'll design the data flow of the view from the source tables to the final projection.

~
• Projection
~j x
D •AFM .., ¢
.... »

..
t.. · ~ ., A ....P'lg Cak:ulated COllMT'll'\S (0) Parameaers (0) COUMs(23) Fiiiet ExpteS'!ion
(JI)
•• ... (9

. "" I
y

........_ c;i v •
.._-..,.
v
-

b ·- ·-
lll ·-
G
8
.... v QJ;Plocl~Otte

f PAATNERID
! COMPNNNAME ~
I PARTNERIO

I C.Ot.1PIJ.HYNAMI!

• PMOU<:llO
ti-

re
f PROOUCTIO
~ I TYJ'fCOOE

@) •
....
!'nit,...,..
El • R:EAOMt.md
'1

"
f TYP£COOI!
t hod~lf90'Y
f CUFtRENCY ~ .I PIOO.lt'fCllegO!y

""""""''
' ""'CE
"' ~ ,arr
.. t!U_ercl'WM
I ""'°"
"""""'
· r....-..
~
" f CITY I POSTAl.CQOE

cm
t POStAl.COOE
f STREET ~ I STA£EJ

I 8UILOING
I BUILDING
f COUN'TR'I' ~ • COUNTRY

I REGION

I RfGtON
~ ,mmo

·-
I TEXTIO
I W<GUMlE /--: ' '"'"""""

H-: PAFtTNEFtl:>

0.11 TYflt' Nll'AAC~

Lengfl; to

Figure 4.4 Calculation View in SAP Web IDE for SAP HANA

161
4 Development

In the right pane, for each of the phases, you'll create the mapping between data
source and output columns, add calculations, filter expressions, and define parame-
ters.
The building blocks for analytical or information modeling are called attributes and
measures. Attributes qualify the data (geography, time, product, customers, etc.).
Measures quantify the data (fact tables, key figures). Measures can be aggregated
(sum, count, average, minimum, maximum).
Calculation views enable developers to define multiple layers of calculation logic
with attributes and measures coming from different sources (column and row store
tables, multiple fact tables and/or calculation views). As you would expect, featu res
specific to SAP business application (currency conversion, SAP clients, language) are
supported. To control access to the data, analytical privileges must be defined. While
SQL defines privileges at the object level (SE LECT privilege on a table means that you
can access all rows), analytical or structured privileges \¥Ork at the row level and pro-
vide fine-grained access control.

Learn More
Separate modeling guides are available for the SAP HANA studio, the SAP HANA
Web-Based Workbench, and the SAP Web IDE for SAP HANA, all available from the
SAP Help Portal. For t he SAP HANA XS Advanced-compatible modeling, see the SAP
HANA Modeling Guide for XS Advanced Model.

SAP Notes
For additional information, see the following SAP Notes, component HAN-WDE-EDT-
MOD:
• SAP Note 2325817 - Migration of Analytic, Attribute and Script based Calculation
Views to Graphical Calculation Views
• SAP Note 2618790- Graphical View Modeling in SAP HANA- How to Avoid Unex-
pected Resu Its

Tutorials
For some hands-on exercises, t ry out some of the t utorials on t he SAP Developer
Community for topic "SAP HANA":

162
4.4 SAP HANA Extended Application Services

• "Create Calculat ion Views with XS Advanced"


• "Create Calcu lation Views in SAP HANA Service and Integrate with SAP Analytics
Cloud"

4.4 SAP HANA Extended Application Services


For native development, the SAP HANA platform provides two different application
server technologies under the same name: SAP HANA XS. The initial version was
introduced in 2013 (SPS 05). The same code pushdown development paradigm shift
described for ABAP development also applies to native development for SAP HANA
applications. With SAP HANA XS, the role of the application server is significantly
reduced. Data-oriented business logic is executed inside the database with SQLScript,
views, procedures, and application functions. In addition, with HTML5/SAPUI5, the
rendering of the UI can be delegated to the (mobile) client. What remains is the
mainly procedural application logic. In SAP HANA XS, this logic is written in server-
side JavaScript (XSJS}.

Technology Background
Java and JavaScript might sound similar, but t hey have noth ing in common. Java is a
programming language like C or C++ and requ ires compilation before it can be exe-
cuted. JavaScript is a scripting language and is interpreted by a runt ime engine and
executed on the spot. Why is it called a JavaScript? Because in 1995, when JavaScript
was first released, Java was popular (than ks to the marketing department of the Net-
scape browser, the precursor of Mozil la Firefox). JavaScript forms a t rinity with HTML
and Cascading Style Sheets (CSS) as t he core t ech nologies that creat ed t he World
Wide Web. Almost every website uses it, and all browsers have a JavaScript engine
built-in to execute the code. If you run JavaScript on t he server, you get server-side
JavaScript (XSJS). A recent implementation example is Node.js (2009). XSJS is the
server-side JavaScript implementation for use with SAP HANA XS.

TWo years and six releases later (SPS 11), a new application server architecture was
introduced, called SAP HANA XS Advanced, which added additional runtimes using
the same Cloud Foundry technology as on the SAP Cloud Platform. Architecture-wise,
SAP HANA XS Advanced provided many benefits over the initial SAP HANA XS imple-
mentation, now identified as "classic" SAP HANA XS, which will be covered in more

163
4 Development

detail in the following sections. Within one or two releases, most native applications
developed by SAP were updated, and developers \>Vere encouraged to migrate their
own SAP HANA XS applications with migration wizards and documentation.
With SAP HANA 2.0 SPS 02 {2017), SAP announced the deprecation of SAP HANA XS
together with the repository and SAP HANA studio as a development environ-
ment. SAP HANA XS is no longer included in the SAP HANA cloud edition (the SAP
Cloud Platform, SAP HANA service on Cloud Foundry), but neither is SAP HANA XS
Advanced, since Cloud Foundry provides application services on an enterprise
platform-as-a-service (PaaS). For native development on SAP HANA 2.0, SAP HANA
XS Advanced is the most relevant platform, but because the classic SAP HANA XS
is still available and for some application services still used (not all migration proj-
ects have concluded), we'll describe both with a particular focus on the differences
next.

4.4.1 SAP HANA XS


SAP HANA XS is typically described as lightweight application server. If you compare
SAP HANA XS with SAP NetWeaver, WebSphere, or many others, it certainly is light-
weight. SAP HANA XS is a built-in application server and thus an integral part of the
SAP HANA system. Extended application services are provided by an operating sys-
tem process called the xsengine assisted by the SAP Web Dispatcher. The SAP HANA
XS engine can be embedded inside the database engine process hdbindexserver. With
SAP HANA tenant databases (see Chapter 2, Section 2.4.1), xsengi ne embedding is con-
figured automatically.
SAP HANA XS artifacts (JavaScript code) include the following:
• Jobs
• SAML
• SMTP
• HTTP destinations
• Trust stores

For runtime configuration of these artifacts, you'll use the SAP HANA XS Admin tool.
To develop SAP HANA XS artifacts, you'll use the development perspective of the SAP
HANA studio or the SAP HANA Web-Based Development Workbench. Both the SAP
HANA XS Admin and the SAP HANA Web-Based Development Workbench tools a re
SAP HANA XS applications.

164
4.4 SAP HANA Extended Application Services

To access the SAP HANA XS Admin tool and the SAP HANA Web-Based Development
Workbench, you'll need the specific functionality role, e.g. sap . hana . xs . admin . role : :
Runt imeConf Admi nistrat or or sap . hana . xs . ide . r oles : : Developer. Unlike SAP HANA
system privileges, SAP HANA XS runtime roles are not automatically grated to stan-
dard database users (like the database super user SYSTEM). Although granting SAP
HANA XS roles to all users might be tempting, a more secure approach would be to
create a new user, e.g. XS_AOMIN and XS_DEV, and grant the user the required privileges.
For web server functionality, SAP HANA XS includes the SAP Web Dispatcher, as dis-
cussed in Chapter 3, Section 3.4.1. If you have any background in Basis administration,
you'll be familiar with this process and the administration tools, which function the
same as on SAP NetWeaver systems. The SAP HANA XS engine (or the SAP Web Dis-
patcher to be more precise) listens to a public URL defined as a (virtual) host name
with the default HTTP and HTTPS ports appended with the SAP HANA system
instance number, for example ports 8000 and 4300.

Technology Background
The SAP HANA XS engine uses the SpiderMonkey JavaScript runtime engine. This run-
time engine was originally developed for the Netscape Navigator browser (fi rst
release 1996) and soon released as open source with Firefox. Obviously, the engine
has evolved considerably over time (cu rrently version 60). Apart from browsers, t he
SpiderMonkey engine is also used in MongoDB. A popular alternative to SpiderMon-
key is t he (Google) VB engine used in the Chrome browser and by the Node.js Java-
Script runtime engine.
The SAP HANA XS engine starts a new virtual machine for each application (to com-
pile JavaScript into executable code) but provides little control for each machine indi-
vidually. All the virtual machines run t he same version, and you can't configure
memory settings for an individual app. Also, little protects against a virtual machine
running out of control, wh ich could affect the entire xsengine process.

4.4.2 SAP HANA XS Advanced

Although similar in name and function as SAP HA.NA XS, SAP HANA XS Advanced
uses a completely different application server architecture. Unlike SAP HANA XS, SAP
HANA XS Advanced is a separate component to do\vnload and install and comes with
its own roles (xs _wor ker and xs _standby). As a result, in a distributed multiple-host
scale-out environment, when you assign a host only the xs _worker role, the server

165
4 Development

will be dedicated to SAP HANA XS and not host any other database processes. With
the SAP HANA XS engine process, this is not possible. The SAP HANA XS engine, as
described, is built-in; that is, it's included with every SAP HANA server installation. In
addition, there's not much we can do to scale or size the SAP HANA XS engine.

Technology Background
SAP HANA XS Adv a need model is a restricted implementation of Cloud Foundry tech-
nology extended to integrate with the SAP HANA platform. SAP HANA XS Advanced
enhances Cloud Foundry with SAP HANA database integration, compatibility for SAP
HANAXS XSJS, and other features.
Originally developed at VMware (2009), the software was made open source under
the Cloud Foundry Foundation of which SAP is a (founding) platinum member (2014).
As with diffe rent Li nux distributions, different Cloud Foundry platforms also exist,
typically hosted as PaaS, like the Cloud Foundry environment of the SAP Cloud Plat-
form. SAP HANA XS Advanced, released with SPS 11 in 201S, brings application server
runtime services to SAP HANA on-premise. As both environments use the same tech-
nology, you can develop and deploy locally first and then to the cloud, or vice versa,
depending on the business case.
Applications are deployed in a container, and externa l dependencies are attached as
services. In case of SAP HANA XS Advanced, for database dependency, only one flavor
is possible: SAP HANA (the SAP Cloud Platform offers several database services). In
addition, SAP HANA XS Advanced includes a specific deployment technology (the
HDI) and a specific development environment (the SAP Web IDE).

SAP HANA XS Advanced supports multiple runtime engines called buildpacks. SAP
provides customized versions fo r Java, Node.js (VS JavaScript engine), and Python,
but custom buildpacks are also supported so you can bring/build your own. Instead
of a single xsengine process, with SAP HANA XS Advanced, each runtime instance
(application) runs as a separate operating process. When you deploy an application,
the runtime is included in the container. As a result, you can, for example, run differ-
ent runtime versions side-by-side. Each application can be configured separately for
memory, security, and other settings.
Shared services are provided by the xscont roller service, which provides an interface
for deploying, running, and monitoring applications, while the xsuaaserver process
provides the User Account and Authentication (UAA) service, a central user manage-
ment environment supporting both named database users (default) and external

166
4.4 SAP HANA Extended Application Services

identity providers (IdPs}. The xsexecagent process manages the execution agents,
which start and stop applicat ion instances, and monitors uptime.
SAP HANA XS Advanced supports both port- and domain-based routing, which means
that you can configure your applications to listen to the URLs: https://publicserver-
name:50060, https://publicservername:50061, and so on, or use https://appnamel.
publicservername, https://appname2.publicservername, and so on. By default, port-
based routing is used.
With the SAP HANA XS Advanced command line interface (CL!}, you can control the
ent ire application lifecycle. You can upload applications vvith xs push, redeploy with
xs restage, start with xs start , and so on (scale, stop, delete, l ogs). You can manage
organizations and spaces, manage plugins, domains and routes, and work/ bind with
the services on the (local} marketplace, as shown in Figure 4.5. With the xs login com-
mand, you can connect to the SAP HANA XS controller application, which is the appli-
cation programming interface (AP!) endpoint. Applications run inside a space (here
SAP), part of an organization (HANAExpress). The xs apps command lists all t he applica-
tions in the space.
xeadr:l@hxehost : /usr sap/HX&/HDB90> xs 109in

PI_URL : https://hxehost : 39030


S£RNAME : XSA_ADMIN
AS SWORD>
uthentic•ting . . .
RG : HANAExpress
PACE: SAP
PI endpoint : https : //hxehost : 39030 (API version : 1)
ser: XSA AOMIN
rg : HANA&xpress
pace: SAP

xeadl:l@hxehost : /usr/sap/HXE/HOB90> xs apps

tting apps in orq "HANA£xpress" I space "SAP" as XSA ADMIN .. .


ound apps : -

ame requested state instances memory disk alerts urls


-----------------------------------------------------------------------------------------------------------------
uditloq-broker STARTED 1/1 64 . 0 MB <unlimited> https : //hxehost : SlOOJ
uditloq- db STOPPED 0/1 16 . 0 MB <unlimited> <none>
uditlo9-octata STARTED 1/1 128 MB <unlimited> https : //hxehost : Sl007
uditloq- server STARTED 1/1 256 MB <unlimited> https://hxehost:51002
uditlo9- ui STARTED 1/1 64 . 0 MB <unlimited> https : //hxchost : 51008
ockpit-admin-web-app STARTED 1/1 128 MB <unlimited> https://hxehost:Sl049
ockpit- adminui- svc STARTED 0/1 128 MB <unlimited> https://hxohost:51048
ockpit-collection-svc STARTED 1/1 768 MB <unlimited> https , //hxehost , 51041
ockpit- flp- content STOPPED 0/1 32 . 0 MB <unlimited> <none>
ockpit-hd.b-svc STARTED 0/1 768 MB <unlimited> https : //hxchost : Sl043
ockpit-hdbui-svc STARTED 1/1 128 MB <unlimited> https : //hxehost:51045
ockpit- health- svc STARTED 0/1 64 . 0 MB <un 1 imi ted> https , //hxehost , 51039
ockpit-landscape-svc STARTED 0/1 128 MB <unlimited> https://hxehost : Sl044
ockpit- message- svc STARTED 0/1 128 MB <unlimited> https://hxehost:Sl040

Figure 4.5 SAP HANAXS Advanced CLI

167
4 Development

To configure the SAP HANA XS Advanced environment, you can also use the SAP
HANA XS Advanced cockpit web application, shown in Figure 4.6, which offers the fol-
lowing advantages:
• Provides a friendlier UI for user management
• Enables tenant databases for SAP HANA XS Advanced development
• Binds the database to a particular SAP HANA XS Advanced space
• Manages organization and spaces
• Configures routes
• Enables services from the (local) marketplace
• Monitors resource usage

& HAHAExpcess g} SAP v

'51 Space: SAP · Applications 0 ©


All:"''
Seard!

State

41@.t
OCsk Ouola· Unlimittd
Name

audcloa.oroker
Instances

111
Memory

64M9
-
I> ® l!I

41c.:e·M·• ~ auttittoc.<fb Oil 16MB I> • ii


Disk Quota; Unlimited

ljt#&.t aoiaog-«tata 111 128M8 I> ® ii


Disk Quola. unUmittd

i1t.Ufj.i aud•log-se-cwr 111 256MB I> ® l!I


Oisk Quota Unlimited

ii&@·• Miltof'4.'i 111 64MB I> ® ;;


Disk Quota; Unlimited

ii»httt·• c~-ad~~app 111 128M8 I> ® l!I


Oisk Qoota· unlimited

Figure 4.6 SAP HANA XS Administration Cockpit

Learn More
Separate development guides are available covering development with SAP HANA XS
(with the SAP HANA studio and the SAP HANA Web-Based Development Workbench)
and SAP HANA XS Advanced (with the SAP Web IDE) from the SAP Help Porta l:

168
4.5 Core Data Services

• SAP HANA Developer Quick Start Guide


• SAP HANA Developer Guide for XS Advanced Model
• The SAP HANA XS Command-Line Interface Reference

SAP Notes
For additional information, see SAP Notes, component BC-XS-RT, such as the follow-
ing:
• SAP Note 2596466 - FAQ: SAP HANA XS advanced
• SAP Note 2465027 - Deprecation of SAP HANA extended application services,
classic model and SAP HANA Repository

Tutorials
For hands-on exercises with SAP HANA XS Advanced, you can try out the following
tutorials on the SAP Developer Community:
• "Tutorial Navigator: Get Started with XS Advanced Development"
• "Tutorial Navigator: Build a Basic SAP HANA XS Advanced Application"

4.5 Core Data Services


You use CDS to define database design-time artifacts. You can create CDS documents,
entities (tables), associations between entities, user-defined types, views, and exten-
sions. Unlike the technical SQL data definition language (DDL) syntax, which
describes, for example, exactly how a table must be created by the database engine
(either in generic SQL ANSI format or in a SQL dialect that only the database under-
stands), CDS provides an abstraction. In other words, you'll define your table in
generic terms, and the compiler will turn this definition into specific SQL that takes
into account technical implementation details like database version. In the docu-
mentation, this feature is described as "semantically rich" because you can add con-
text to the data persistence model with annotations, for example, as shown in Figure
4.7.

169
4 Development

Purdl&.se(Jrder.td>c:ds • PurchaseOrdierJ'lclbcds •
1 .. ~ol'lt~t ""'r<l\ls~ffr {
+ AFM ,,. "} 2 type tusl.ncss.(~ : $tr1'ig( ll );
l type SDatc : l.ocol.Oot(';
LJ • HNfA..J".Pf> ;.....,,
::i . .ch& •s typt Cl.ll"~()'T : Strtl'ISl'( S);
type MountT : 0ttt.o(( 1S, 1 );

e ...
• coro_xsjs
• type Quantity! : Ol'c{.11al(l J, J);

..... 7


type UnitT : Str(ngt J>;

e ·~ ,.••
11
type St.ttt.1ST : Stl'-(~( 1 );
type HlStOl")'T {
fC~t : ·e.rcatcd ly'
UfAlE08Y : Bucin.t,Sr'ty;
12 (ICc-ent : '(f'tlttd ~tt'
u (A[AT(IMT : SO!Jtc;
tc~t : 'Ch~g~ ly'
"lS CHAH(iEOIY : Mtnitsslt'ty;
® • hdiconllg 16 (ICc-tnt : '011t1gt Oatt'
17 OIAHG.EDAT : St»tt;
[I • PDCb9t pen
11 );
::i . ...
li,.l • mtt.yaml "
29 f<O-ent : 'Pi.ir"<hliSe Ol"dtf' IWUll''
(!) • REAOME.md 21.. flltity Headcr {
22
,.,, 2l
24
kty PUtCIU$EOROCRJO : 111ttfl#,. 14'fl•l'.at•d by defa-.ilt . , ttt"tity(st.al't with 2eeNeeee
ITEMS : assoclatlon[l . e .• • J to I tt9 on Hta6er,P\MCKA.SCOROCltID •
trw:~t by t
PVl~COIU>CR.IO;
"'° •i"
t!l Ti'neSeries HISTORY : lrtstot"yT;
' Tr~ 1 "
26 fc-M : 'Not•s' c:::i
NOTEIO : eustMSS(ty null;

,.""
..
)l
PAATN[R
feo-cint :
C\.M.R(H(Y
: "'sWssXf'y;
'C 11rrtncy'
: C"N'tt'l(yT,;
)2

Figure 4.7 Table Definition in CDS using SAP Web IDE

These annotations can be used to control specific behaviors on the client side with
SAPUIS and SAP Fiori. CDS is best understood as a programming model with different
technical implementations. As a result, CDS 11vorks differently in SAP HANA XS and
SAP HANA XS Advanced.

Technology Background
CDS was introduced with SAP HANA 1.0 SPS 06 (2014) and extended to include ABAP
with SAP NetWeaver 7.4 SPS (2014) and later SAP applications and SAP Cloud Plat-
form to enable a single data model rega rd less of the technology, initially to promote
the new code-to-data or code pushdown paradigm. For SAP HANA, CDS was
extended to provide support for SAP HANA XS Advanced and HDI with SPS 11 (2016).
The SAP Cloud Application Programming Model uses a conceptually similar approach
called Core Data and Services (see Section 4.9.2). Technically, all CDS are imple-
mented differently.

For SAP HANA native development with SAP HANA XS Advanced, CDS works hand-
in-glove with the SAP Web IDE and the HD! (see Section 4.6). For example, the SAP

170
4.6 SAP HANA Deployment Infrastructure

Web IDE will present the table definition automatically in a graphical editor. When
the IDE builds the application, the CDS file extension (as defined in . hdiconfig) trig-
gers the appropriate plugin to parse the document and generate the code to create
the actual database runtime object (using HD!). Ho"vever, CDS is not your only
option; you can also use plain SQL DDL to define database objects.

Learn More
For the documentation, see "Defining the Data Model in XS Advanced" in the SAP
HANA Developer Guide for SAP HANA XS Advanced Model (or the Developer Guide for
SAP HANA XS). Both guides are available on the SAP Help Portal for the SAP HANA
platform.

Tutoria ls
For hands-on exercises using CDS, many are available to choose from on the SAP
Developer Community, including development for ASAP, SAP Cloud Platform, and
SAP S/4HANA. The SAP Developer Community also covers the new Core Data and
Services programming model so you can stay up to dat e. To lea rn how use CDS to
model both the client UI and database, see "Tutorial Navigator: Create an SAPUIS
application with SAP HANA XS Advanced".

4.6 SAP HANA Deployment Infrastructure

The HD! is a service layer of the SAP HANA database and helps create runtime data-
base objects from design-time artifacts. HD! manages dependencies; for example, a
table might need to be created before we can create the view. HD! also executes as a
transaction, that is, the \vhole operation either succeeds or fails (we do not want to
make a mess of our database). HD! was introduced with SAP HANA 1.0 SPS 11 (2015)
together with the SAP HANA XS Advanced application development Node.js and Java
run times and the SAP Web IDE for SAP HANA development tool. Technically, HDI is a
Node.js application.
In the first release of SAP HANA, development artifacts were stored in the repository.
This repository "vas central to the application lifecycle management, as we'll see in
the next section. Although not technically a part of the SAP HANA XS environment,

171
4 Development

the repository is closely related, and both have been deprecated since the SAP HANA
2.0 SPS 02 release. HD! differs significantly from the repository in two key areas:
• HD! offers no version control or lifecycle management capabilities. For these func-
tionalities, the SAP Web IDE integrates with GitHub.
• HD! only deploys database objects, not JavaScript, OData, or any other objects
related to the application layer or UI layer.

HD! containers always come in pairs: a design-time container (DTC) and a corre-
sponding runtime container (RTC). The runtime objects are created in an HD! con-
tainer based on the CDS persistence data model, which not only allows for multiple
deployments but also for the deployment of multiple versions of a single application
into the same SAP HANA database (which is not possible with the repository).
Inside the database, the HD! container is represented as a schema but is owned by a
technical user and isolated from other database objects. Only local object access
inside the container is allowed, and to access objects outside the container. syn-
onyms are required with explicit grants from the object owner. As a result, the devel-
opment of database objects is schema-less/free. In the repository, all objects were
owned and accessible by a single technical user _SYS_ REPO, and all modeled views
were owned by _SYS_BIC/_SYS_BI.
HD! services are provided by a process called the diserver. This service is automati-
cally configured and started with the installation of SAP HANA XS Advanced. Once
your SAP HANA XS Advanced development environment has been configured. exe-
cuting a Bui ld command from the SAP Web IDE will execute the required steps to cre-
ate HD! containers in your databases and to create the database objects, which will be
displayed as shown in Figure 4.8. Alternatively, you can interact with HD! on the com-
mand line with the xs (and cf) CLI or in the SQL prompt using the SQL APL

Tutorials
For hands-on exercises using HDI, you can try out the following tutorial on the SAP
Developer Community:
• "Tutorial Navigator: Get Started with XS Advanced Development"
• "Tutorial Navigator: Bu ild a Basic SAP HANA XS Advanced Application"

172
4.7 Applicat ion Lif ecycle Management

,_
• />$M
.,
.... ' ....__ .......
-- --...."""""" • ..•
A A
()J>tnHOI ~

-
ll)
El •
......11<.tt ' f'UACHU(OflOCftO
-
.' """
0

a
® ., .,.._,. "-*" ........
"'"' ,,_...
HOmD ~

-----·
'
® ••
-J Cul xx
"' .............
(!)
"""""""'"
.,,. lk,
c.., XC
~:J "'
(!) Tllx•...:MIHT

-
xv
· r~ .......
P•'1•
F2
(!)
(!)
_...,,,.
t..FEC'l'Q.ESW\1$

Modding A.dionl
'
(!)
Cll
-·""'"""
Ofl:O(bo!C$TATU$
(!) ~TATI.19
0-. ©
.... ' r1nalti1n9 ... oll
M.ke 1\!Cc.t<lff (0 va.tolJ'l911 : I f1111 ftplOr-d (lff.Ctiv1 l>, 0 fil11 11"4ieplO)'ecl (effe<:t1ve OJ, 0 depend1nt
Kall.1n9 • • • ok
&i.iid s.-- f . .

... Startln9 . .k• ln the oont1in1r •01. 1• v lth I fil11 to dflplO)', 0 file• to undeploy .•• o\
••••>
---
l >eployin9 tc;i YI• CX111t&in11: •oa_1· ... ok (41
lo def111lt- ..::c-e11- rol1 h•ndlin<; oeoededi 9loti.l .role ·o•_l 1 1 a<:Cil11_l'Ol1" will not be edapt9d
» lnlockin9 the COlllta1ner "DB_ I" , ,,
1nlockin9 the container ·oa_1· . .. o.t (01 0..)
lieploy.ent to oontainer oa_t ck>fi• (O.plor-ent 101 no~I ·
j5• 42). . ,
Rt*'e:th WO!'k"'9C* hemt
12:02:55 (Olluild> •••••••••• Cnd of IHAIVt._ AJ>P/db &aild "°' .......... Lb.
12102155 t019uildl 9uild r.1ult• liak 1 https1//hxehotlt15l075/ch•/bllilder/work•poc•p2ccc2y60JC07qcj•/dowlllo.d••I
1a10215S flullderl luild of /llA!l.A_AJiP/db ~leted •1a1X:•••fully. ~

Figure 4.8 Building Design-Time Artifacts and Deploying to Runtime Database Objects

Learn More
For the documentation, see the SAP HANA Deployment Infrastructure (HD/) Reference
and "Deployment-Infrastructure Services in XS Advanced" in the SAP HANA Deve-
loper Guide for SAP HANA XS Advanced Model. Both gu ides are available on the SAP
Help Portal for the SAP HANA platform.

4.7 Application Lifecycle Management

SAP HANA application lifecycle management defines the different phases of an appli-
cation's lifecycle, from modeling, development, assembly, and transportation to test,
production, installation, and configuration. How exactly these phases are imple-
mented depends on your organization. In traditional IT environments, the install
and configure phases for production will be managed by operations. In a DevOps
organization, the install and configure phases will be a shared responsibility between
development and operations. These phases are described in Chapter 3, Section 3.3.4.

173
4 Development

In the SAP HANA XS environment, development artifacts are stored in packages.


Packages that logically belong together are bundled in delivery units, and a product
contains one or more delivery units. Delivery units are independently transportable,
and you can use the hdba lmcommand line tool or the SAP HANA application lifecycle
management web application to configure and perform transports (native SAP
HANA transport). SAP software logistics includes a Change and Transport System
(CTS+) to manage the application lifecycle for ABAP objects. CTS+ also includes non-
ABAP objects and can be leveraged for SAP HANA content transportation. Alterna-
tively, you can use SAP HANA transport for ABAP (HTA).
Which tool you use depends on the scenario. If the SAP HANA development is closely
related to or relies on ABAP development objects, HTA is recommended. If no such
relation exists but you're already using CTS+ to transport non-ABAP objects (or you
use SAP Solution Manager change request management or quality gate management
functionality), then native SAP HANA transport with CTS+ is the right choice. In SAP
HANA standalone environments for SAP HANA XS applications, SAP HANA's native
transport capabilities can be used.
For SAP HANA XS Advanced applications, as described in Section 4.4.2, you'll use the
HD!, which can also be used in combination with HTA (HTA for HD!) for mixed trans-
ports of SAP HANA and ABAP objects. This approach is necessary when development
object content is dependent on each other and must be transported together.

Learn More
For the documentation, see the SAP HANA Application Lijecycle Management guide.
This guide mainly covers SAP HANA XS (not SAP HANA XS Advanced).
For documentation about SAP HANA transport for ABAP, you'll need go to the SAP
NetWeaver documentation porta l, see Using SAP HANA Transport for ABAP-ABAP
for SAP HANA Development User Guide and HTA for HD/ - Software Logistics.

4.8 JSON Document Store

SAP HANA 2.0 includes a JSON document store, which adds a document-oriented
database to the SAP HANA platform. A "document" is a JSON naming convention
and has no relation to PDFs or other type of documents. Usually, you would use a
relational database for transactions that require ACID (Atomicity, Consistency, Iso-
lation, Durability) compliance. For other storage requirements, NoSQL databases

174
4.8 JSON Document Store

are good candidates. in particular when you need to store large volumes of data
without any predefined data structure and require the agility to handle frequent
data model changes. With a JSON document store on the SAP HANA platform, ho\v-
ever, you can query and manipulate )SON data using SQL and join JSO N documents
with relational column and row store tables, which makes document store transac-
tions ACID-compliant.
You'll enable the document store for a tenant database, which starts a separate pro-
cess: docstore. The document store is a regular SAP HANA service, automatically par-
ticipates with backups, and integrates into the high availability architecture of
system replication and multiple-host scale-out systems (see Chapter 2, Section 2.4).
The JSON document store adds an enterprise-ready NoSQL database to the SAP HANA
platform while still allowing you to use same SAP HANA tools for administration and
development.

Technology Background
JavaScript Object Notation (JSON) is a syntax for exchanging and storing data (.json
file). The syntax is the same as the code for creating JavaScript objects (hence the
name), but because JSON is made of text, it can be read and used as a data excha nge
format by any programming language. Similar to XML, JSON is much faster and eas-
ier to parse by a browser, which is where t he tech nology comes from.
JSON data can be nested and is schema-less with no predefined fields and data types.
JSON data is semist ructured, however, in that the data describes its own structure,
for example:
{''first name'': ''John '', ''lastname'': ''Smi t h'' , '' age'' : 45 }
You can store JSON as documents in a database, usually in a Not-Only SQL (NoSQL)
database. Different types of NoSQL databases are available, of which the document
store is just one. MongoDB is a well-known NoSQLdatabase for documents. Other
examples are Neo4j for graph and Redis for key-value, to name but a few.

Documents are stored in a collection, which you'll need to create first. Collections are
presented as a table into which you can insert JSON documents using SQL or import
data from a CSV file, for example.
Documents are presented as rows. The document store has its own DDL (create) and
data manipulation language (DML) (insert) statements, and SQL functions (JSON_

175
4 Development

TABLE, JSON_QUERY, JSON _VALUE) can query JSON text and present results as a relation
table, for example. Figure 4.9 shows how you can interact with the JSON document
store using SQL.

~ + C SOL Con- 1lql x

•••
• -' Catalog
21 COlltCTIO'I ltt f.avoi.or1tt ltl'lrt t"t' Ct.1\l •t• • tl'I tl'lt' :o?
IAAP<etS 29 • WITK ptoductVtnr AS ( SllECT ·1d 0
"&tnrt• F~ WElS"OP . "ProductCo\ltctlon" WllEll:E "IJtnrt" IS SET)
,

• Agent Groups JI StlECT TM 1 r . "Jt"tt", COUHT( 0 ) AS "COUll'T" fltOf'I Wf&S"°P . "Cvsto-er· C


)I JOtlf Wt:&SltOP. "Ordtr" 0 On O.CustOffrlD • C. 10
0 Ai?ents ll JOJll wttSHOt.·oratrf'osltton· OP 011 OP.OrotrlO 0 . 10
2: ColurM VM!ws )) JOJlf 9todl;(tV1tw P ~ P "1d" Of', PtO<llKtlO
fl Cubes )4 -.t1(1tf C. 10 • ·z·
JS G~P 8Y P " &tnrt"
Ii OataStotes
~ Functions
J'
)7
ORDER BY COUNT Df:SC:

*fl t,,.
Gtaph \VofkspCKes
Indexes
0 JSON Co.lectlons
.
JI
)9
(Ollf(TIOll rt.lilt'• 11 ISOM "tl'lt tty •itl SttEC"" COi .11n<1
St:lf('J i "procluc tlO" : "id ", • ar ticltlf••t": "nt111t". •.art1cltPri c •·: • pric•·, · ~rt 1<ltType: •: " boolc " } f ltOPI wt9SHOP. "

ml utwar>C-S "
Resu11 x
'
~es.sages x
WE8SHOP 6'
~ Rows (!) !] SOL .!. C ~
genre COUNT
1 Fdk 2

Figure 4.9 Working with JSON Collections in the SQL Console

Learn More
The SAP HANA JSON document store is documented in two guides, which you can
read or download f rom the SAP Help Portal:
• SAP HANA JSON Document Store Guide
• JSON Document Store Statements

Tutorials
For hands-on exercises with the JSON document store, you can try out the follow ing
tutorial on the SAP Developer Community (the title may suggest otherwise but it
concerns the document store): "Tutorial Navigator: Explore Advanced Ana lytics w ith
Node.js and PHP".

176
4.9 SAP Cloud Platform

4.9 SAP Cloud Platform

SAP Cloud Platform is an enterprise platform-as-a-service (PaaS) that provides a wide


range of development services like mobile, big data, machine learning, the IoT, and
blockchain, and also includes the SAP HANA database-as-a-service, which will be the
focus of this section. In particular, we'll foc us on software development. With SAP
Cloud Platform, you can build, extend, and integrate (SAP) business applications in
the cloud. The three main use cases for are as follows:
• Innovate
With a cloud platform, you can create new "cloud-native" applications using any
combination of the development services available on the platform in combina-
tion with any other technology or infrastructure.
• Integrate
You can use a cloud platform to connect separate systems and increase efficiency,
regardless of whether the applications are running on-premise or in the cloud. In
fact, a cloud platform is probably the best place to integrate your corporate data
center with cloud-based business applications.
• Extend
With extensions, you can add functionality to existing business applications.
Since you can personalize, but not customize, cloud applications (we all use the
same Facebook and Gmail), to modify or add functionality you need to extend.
Adding functionalities works the same way whether you want to extend applica-
tions running in your corporate data center or want to extend cloud-based appli-
cations like SAP Ariba.
When using a PaaS, you can start right away- no hardware to purchase, nothing to
install or configure. The cloud platform also instantly scales to more users as needed
while also providing the elasticity to scale down and adapt to seasonal patterns. In
today's business and marketing terminology, a cloud platform provides agility and
fast time-to-market.
In this section, vve'll briefly describe various SAP Cloud Platform environment
options, the SAP Cloud Application Programming Model, and the SAP Cloud Plat-
form, SAP HANA service.

177
4 Development

Learn More
The best way to learn about the different environments, capabilities, and services of
the SAP Cloud Platform is to sign up for a free tria l account at http://s-prs.co/
v488478.
Another good place to start is the SAP Developer Center, where you'll find an over-
view of t he capabilities, a long list of tutorials, biogs, Q&As, and other resources. You
may also want to bookmark the SAP Cloud Platform SAP Community site, which
includes more links to resources, like free openSAP courses, for example.

4.9.1 Cloud Foundry and Neo


Two environments are available with the SAP Cloud Platform: Cloud Foundry and
Neo. Neo is exclusively hosted on SAP data centers worldwide. For Cloud Foundry,
the infrastructure is (mainly) provided by SAP partners like Amazon Web Services
(AWS), Microsoft Azure, and Google Cloud Platform (GCP), with SAP operating as the
platform layer.

Technology Background
SAP's enterprise PaaS project started with creating an on-demand, cloud-based ser-
vice offering for the SAP NetWeaver Application Server for Java (SAP NetWeaver AS
for Java), also known as "NetWeaver on-demand," or Neo for short (2012). The plat-
form was launched as the HANA Cloud Platform, later renamed to SAP Cloud Plat-
form (2017). You can download the "Neo" SDK from http://s-prs.co/v488479, and neo
is also the name of the CLI.

Cloud Foundry, like Neo, provides a cloud-hosted runtime for applications but is not
limited to Java. Cloud Foundry also includes runtimes for Node.js, PHP, Python, Go, R,
Ruby, .NET, and more because you can create and upload your own runtimes (or
buildpacks as they are called). In fact, the objective of Cloud Foundry is to provide a
cloud-native architecture for the continuous delivery of applications from develop-
ment to production.
Cloud Foundry works with containers. In other words, Cloud Foundry is completely
virtualized, which means that you can either run it on your own computer or use it

178
4.9 SAP Cloud Platform

on-demand from a PaaS provider, the same as you would run Docker containers or
virtual machines, either locally or "as-a-service" from a cloud infrastructure provider.
The architectu re of SAP HANA XS Advanced is based on Cloud Foundry, using the
same microservices architecture, the same UAA service, and the same routing ser-
vice. As a result, developing SAP HANA XS Advanced applications is easy since you
can develop the project on-premise on the SAP HANA platform and deploy your
applications to the SAP Cloud Platform for production, with the associated scalability
and elasticity. When working with both SAP HANA XS Advanced and Cloud Foundry,
you will face little to no learning curve. The CL!s xs and cf, for example, work in
exactly the same way (see Section 4.6).

4.9.2 SAP Cloud Application Programming Model


Before you start developing, extending, or integrating applications for the SAP Cloud
Platform, you'll need to fam iliarize yourself with the SAP Cloud Application Program-
ming Model. Although beyond the scope of this book to cover in detail, this program-
ming model is too important to leave unmentioned. Like for most models, the
objective is to facilitate development and enable developers to focus on the problem
to solve, the domain logic, and not on the infrastructure, the plumbing.
The SAP Cloud Application Programming Model is compatible with any develop-
ment environment but, no surprise, SAP recommends using the SAP Web IDE full-
stack. The term "full-stack" here references the fact that you are developing the back-
end (database), the middleware (business logic), and the client (presentation). To go
from design-time to runtime, the SAP Cloud Application Programming Model pro-
poses CDS, which u nfolds as Core Data and Services and is slightly different in imple-
mentation from the CDS used with SAP HANA described in Section 4.5, although
similar conceptually.

Learn More
For more informat ion about the SAP Cloud Application Programming Model, see the
Getting Started Guide for the SAP Cloud Platform on the SAP Help Portal (Working
with the SAP Cloud Application Programming Model).

179
4 Development

Tutorials
For some hands-on exercises, t ry out some of the tutorials on the SAP Developer
Community for topic "SAP Cloud Application Programming Model":
• "Tutorial Navigator: SAP Cloud Application Programming Model"
• "Use the SAP Cloud Application Programming Model to Create a Full-Stack App"

4.9.3 SAP Cloud Platform, SAP HANA Service


The SAP Cloud Platform, SAP HANA service is the SAP HANA database as-a-service.
Initially and internally, SAP development used the name DBaaS and also "HANA-as-
a-service," or Haas, but these are not officially approved names, which is why you
find "dbaas" used in the URL but not in the documentation. It provides most of the
functionality of the SAP HANA platform, with the exception of the SAP HANA XS
Advanced application services, as this is provided by Cloud Foundry on the SAP Cloud
Platform.
How you develop applications with the SAP Cloud Platform, SAP HANA service differs
in each environment. In the Neo environment hosted from the SAP data centers, cur-
rently you can create an instance of the latest SAP HANA 1.0 maintenance release and
select whether you want a single or tenant database system. To develop applications,
you can use the SAP HANA tools and the UI development toolkit for HTMLS plugins
for Eclipse available for download from the SAP Development Tools website (and turn
your Eclipse IDE into SAP HANA studio). When you're working with an SAP Cloud Plat-
form trial account, you can also enable the SHINE tutorial application (see Section
4.13). This environment is the most suited for classic SAP HANA XS development.
To develop SAP HANA 2.0 applications in the Cloud Foundry environment, you'll first
need to create an instance of the SAP Cloud Platform, SAP HANA service, and decide
which edition to use and how much memory to allocate. The Feature Scope Descrip-
tion for SAP Cloud Platform, SAP HANA service at the SAP Help Portal 1.vill help you
select the version you need.
Next, you'll need to create an instance of what is called the SAP HANA service broker
(SAP HANA schemas and HDI containers). This service broker will set up an HDI con-
tainer for you in your instance. You can then bind your application to the container
to build and deploy design-time development artifacts into runtime database
objects.

180
4.10 Client Interfaces

Learn More
Development for the SAP Cloud Platform, SAP HANA service is documented on a sep-
arate portal on the SAP Help Portal:
• Developing SAP HANA in the Neo Environment
• Developing SAP HANA in the Cloud Foundry Environment
• SAP Cloud Platform, SAP HANA Service - Getting Started Guide - "SAP Cloud Plat-
form, SAP HANA Service in AWS and GCP Regions"

Tutorials
For some hands-on exercises, try out some of the tutorials on the SAP Developer
Commun ity for topic "SAP Cloud Platform, SAP HANA service": "Tutorial Navigator:
SAP Cloud Platform, SAP HANA service."

4.10 Client Interfaces

You can connect to the SAP HANA database either using a full client or through a
web-based interface. For web-based OData, XMLA, and InA interfaces, see Section 4.11.
In this section, we'll introduce the full database clients.

4.10.1 SAP HANA Client Installation


The SAP HANA client is supported on Windows, macOS, Unix, and Linux operating
systems, both 32 and 64 bit, and on multiple architectures (Intel, Power). Exact ver-
sions are listed in the Product Availability Matrix (PAM), as described in Chapter 3,
Section 3.3.2. As of SAP HANA 2.0 SPS 04, a single public release strategy exists for the
client, which means that you can always use the latest client version regardless the
SPS level or revision of the SAP HANA database server. To install or update the client,
you can use the graphical installer (the SAP HANA Lifecycle Management tool hdblcm,
described in Chapter 3, Section 3.1.2) for one-off installations or the command line
installers for scripted installations (batch).
To encrypt communications between the SAP HANA client and the server, you'll
need to install the CommonCryptoLib cryptographic library (described in Chapter 6,
Section 6.3.3). This library is required \ivhen using LDAP authentication or client-side

181
4 Development

encryption or when you want to connect the SAP HANA client to the SAP Cloud Plat-
form, SAP HANA service. With CommonCryptoLib, mutual authentication can be
configured for additional security. In this setup, the client validates that it is connect-
ing to the right server (preventing man-in-the-middle attacks), and the server only
accepts known client connections.
To avoid entering the connection string (server name, port, database, user name,
password) 1.vith each connection, you can store the string as a key in the secure user
store \ivith the hdbuserstore command. The store and the command are included with
the SAP HANA client. For service connections, we recommend this approach to avoid
storing passwords in text files or in the Windows registry.
SAP HANA-specific features are provided by a separate layer called SQL Database Con-
n ectivity (SQLDBC) . This layer sits between the client driver and the SAP HANA data-
base. Not all clients require a client driver. Some tools, like the SAP HANA interactive
terminal (hdbsql), connect directly to SQLDBC. For troubleshooting non-ODBC appli-
cations, you can activate tracing at the SQLDBC layer. Network traffic can be com-
pressed, but doing so doesn't always necessarily improve performance. Better results
may be obtained with using result set prefetching, extensive usage of stored proce-
dures, and other techniques.

Learn More
How to install or updat e the SAP HANA client is documented in a dedicated guide on
the SAP Help Portal: SAP HANA Client Installation and Update Guide for SAP HANA
Platform.
You can download the SAP HANA client from t he Software Downloads section of t he
SAP ON ESupport Launchpad or from t he SAP Development Tools website (free):
• SAP HANA Client 2.0 (Support Packages and Patches)
• SAP Development Tools - SAP HANA Clien t 2.0

SAP Notes
For additional information, see t he following SAP Note 2393013 - FAQ: SAP HANA
Clients.

182
4.10 Client Interfaces

4.10.2 SQLDBC
All SAP HANA clients, except JDBC (see Section 4.10.3), connect to the SAP HANA data-
base through SQLDBC, which is a runtime library to execute SQL statements to access
or modify data specific to SAP HANA. Since the SQLDBC library contains all the intel-
ligence about how the in-memory database exactly works, using this layer provides
much better performance when compared with generic ODBC drivers, in particular
when used by clients such as Python or ADO.Net. SQLDBC is a proprietary protocol
and, apart from tracing and error codes, not publicly documented. Because of this
shared SQLDBC layer, all the SAP HANA clients support SAP HANA-specific features
like active/active read-enabled system replication, client-side encryption, and more
out of the box.

Technology Background
The SQLDBC runtime library originates from SAP MaxDB 7.6 where it replaced the C/
C++ Precom piler for embedded SQL. SQLDBC is optim ized for SAP NetWeaver connec-
tivity with a matching server-side component. This heritage explains t he similarity
between the SQLDBC t race and t he (hdb )sql dbc_cons utility present in both SAP
MaxDB and SAP HANA, fo r example. You'll also find similarities between command
line opt ions and paramet er syntax for t he ODBC/JDBC driver, t he interactive termi-
nal, and the secure client user store.

4.10.3 JDBC
Together with ODBC, JDBC drivers provide the most common way to connect a data-
base client to a database server. The driver, which is simple Java Archive (JAR) file, is
usually embedded in the application, as is the case with the SAP HANA studio Eclipse
plugin, but the driver can also be used on the command line for testing. The SAP
HANA JDBC driver is called ngdbc . jar. The name of the file (ngdbc for "next-generation
database client") reflects the seniority of the driver, as it predates the "SAP HANA"
branding. "Next-generation database" was one of the early names used internally by
SAP development.
The JDBC JAR file is part of the SAP HANA client media, but since ngdbc is self-contained,
it does not require a client installation to function. To use the driver with alternative
JDBC clients, like the SQuirreL SQL client for example, you can just copy the driver JAR
file to the required location. The connection properties support client-side encryption,

183
4 Development

system replication, cloud connector, host failover, and other SAP HANA-specific fea-
tures. These features are included with the driver and do not require SQLDBC.

Tech nology Background


Java Database Connectivity (JDBC) is the API that defines database access for t he
Java programming language and is included with the Java Standard Edition (Java SE).
The Java language itself was originally developed by James Gosling at Sun Microsys-
tems (acqu ired by Oracle in 2010) with its first release in 1995.

Code Clinic
The getConnecti on() method is used to make a connection:
j ava .sql .Connection conn= java. sql .DriverManager .getConnection
( "j dbc :sap ://host . exampl e. com/?inst anceNumber=90&databaseName=
HXE'' , '' SYSTEM'' , ''*****'');
Alternatively, you can make (test) a connection on the command line:
java -jar ngdbc .jar
-u SYSTEM, Welcomel -i 90 -n host .example .com:39015 -d HXE
-c "SELECT DATABASE- NAME FROMM- DATABASES"

Learn More
For the documentation, see "JDBC Application Programming" in the SAP HANA Client
Interface Programming Reference on the SAP Help Portal.

4.10.4 ODBC
Together with JDBC, ODBC drivers provide the most common way to connect a data-
base client to a database server. On Linux and Unix operating systems, the ODBC
driver is a shared object (.so) file, which links to other library files and 11vill need the
LD_LI BRARY_PATHenvironment defined to function properly. On Microsoft Windows,
the environment is registered in the registry, and the ODBC driver is a dynamic-link
library (DLL), conceptually the same as shared objects. As with the SAP HANA JDBC
driver, the name of the file (libodbcHDB.dll and libodbcHDB.so) also reflect the senior-
ity of the driver, this time referencing the "Hybrid DataBase" internal name ("hybrid"
because the in-memory compute engine combined row, column, and object store).

184
4.10 Client Interfaces

The HDBODBC driver is included with the SAP HANA client. Before you can create
ODBC connections, you'll first need to install the appropriate version. For some plat-
forms, only the 64-bit client is supported, but for others, like Microsoft Windows and
Intel Linux, for example, you can install both 32· and 64-bit clients.
On the Microsoft Windows platform, you can use the ODBC data source administra-
tor to define data sources, as shown in Figure 4.10. A data source name {DSN} contains
the server and port part of the connection string. You'll need to provide a user name
and password when using the DSN. With the ODBC data source administrator, you
can create SAP HANA DSNs for personal use or for system-wide usage as system DSN
and also configure generic settings for connection pooling and other properties.
Using this tool helps you define ODBC connections, including more challenging envi-
ronments, for example, when using web sockets to connect to the SAP Cloud Plat-
form, SAP HANA service.
On Unix and Linux platforms, ODBC configurations vvill be file based. You'll need to
install an ODBC driver manager, which is usually not included with the system.

iii;) OOBC Data Source Adm1n1strator (6.l·bit) x


User OSN System OSN File OSN Drivers Tracing Connection Pooling About

User Data Souro..:


Name Plollorm Driver Add... I
Excel Files N/A Microsoft Excel Driver \ xis, ·xisx. ·x1sm. ·x1sb)
HANALDAP 64<>1 HOBOOBC I ROIOOve J
HANASeMce 64-bi HOBODBC
c- ~ . .-=i
ODBC Configuration for SAP HANA x
< Data Source Name ._
IHA
_N_A_SeM
_ ·ce
_ _ _ _ _ __,

fin ODBC User data SOl.l'CO st Descrl>tion ISAP HANA SelVice


User data souce is only visible t
Seiver and Port
Servet:Port Izeushana.prod.eu<:enlral·1.whitney.d I
OOBC ~ver Ver>ion: 2.3.130

OK I Cancel leoMeet ...I I Setting• ... I

Figure 4.10 ODBC Configuration for SAP HANA

185
4 Development

As with JDBC, you can use SAP HANA client secure user store {hdbuserstore) to store
the ODBC connection string including user name and password as a key in an
encrypted file (the user store). The client can then connect with the key instead of
using password, which helps avoid entering passwords in configuration files or regis-
try keys for service connections.

Technology Background
The Open Database Connectivity (ODBC) API predates JDBC by a few years (1992). In
the early days of computing, you had to compile your code with embedded SQL,
which worked differently for every language and every database. The Windows oper-
ating system includes an ODBC driver manager and configuration interface, the
ODBC data source administrator. On Linux and other operating systems, you'll need
to inst all the driver manager. Like SAP for the SAP HANA database, most database
vendors provide installation packages with specific ODBC drivers for the database in
question.

Code Clinic
The odbc . ini file (or Windows registry entry) defines a specific database connection
using a specific driver. Listing 4.1 shows a sample configuration connecting to SAP
Cloud Platform, SAP HANA service, using encryption:
(Haas]
dri ver =/usr/sap/hdbclient /libodbcHDB .so
serverNode=zeus .hana .eu-central l .whi t ney .dbaas .ondemand. com: 5432 1
encrypt=Yes
sslCryptoPr ovider=commoncrypto
ssltruststore=$SECUOIR/sapcli .pse
Listing 4.1 ODBC Configuration

To test the connection on the Linux platform, you can use the isql tool included with
the unixODBC driver manager package:
$ i sql Haas username password
SELECT VERSION FROM M DATABASE

186
4.10 Client Interf aces

Learn More
For t he documentat ion, see "ODBC Application Programming" in t he SAP HANA
Client Interface Programming Ref erence on t he SAP Help Portal.

4.10.5 ODBO
0080 is the equivalent of OD8C but for multidimensional databases. OD80 is spe-
cific to the Microsoft Windows platform and most often used in Microsoft Excel. The
SAP HANA client includes an OD80 driver, which enables you to execute MDX que-
ries directly. Connecting \Yith Microsoft Excel is easy using the data connection wiz-
ard, sho\vn in Figure 4.11. The connection is made to a specific cube, which is how
calculations views are exposed.

g ~ ~ &ookl [,,(~ ~ IYl - (J x


fdc Homt I~ P·~'0<.11 Fotmul.u Ot!A ~- V1~ Help \) Tdlmtwh.ilyouw.vittodo ,Q SNrc

Al ,,. -.
B 0 f ,, 0 p 0
-
1 I
A

! ' ' i;:j

~ Comecwi Attrced M
)( l M N

'
4 SOtcllY It'« foloM'l9 '° <.Or"l'lt(t:
Tut Cont1t<tiofl )(
5

• ..... I•.fc.W'o.)61
7

9
10
........
""""""""" _ @
o.............
®-..-
Test COl'IM'C1101'1 wccffdcd.

OK
11 @u.-o.~

12 - 1-
..
13

""'
,_. 1-
Osn•DI..,.,
:J
,.
-
15
I•• •••.••
l7
18
T8t Comee..-.
19
.,t..S. 21.lt ()2-bQ
20
21
22 OK

,.
23

25
>L
1 ....... ®
t.c•ctr !I o.~pa.y Stthn9~ It
• l!!l - I • "'""
Figure 4.11 SAP HANA ODBO Client in Microsoft Excel

SAP HANA supports Microsoft Excel features like drilldown, creation of named sets,
report filters, insert slicer, and more. As with SQL, many MDX functions are available
like Aggregate, Ancestor, Ascendant, and Avg, to name just a few starting with A.

187
4 Development

ODBO is the full client equivalent of XML fo r Analysis (XMLA) when u sing web-based
data access (see Section 4.11.3).

Code Clinic
Listing 4.2 shows a sample MDX statement.

WITH
MEMBER [Measures] . [Special Discount] AS
(Measures] . (Discount Amount] * 1.5
SELECT
[Measures] . ( Special Discount ] on COLUMNS ,
NON EMPTY [Product ] .[ Product] .MEMBERS ON Rows
FROM (Sales ]
WHERE [ Product] . [ Category] . [ Widgets]

Listing 4.2 MDX Statement

Technology Background
ODBO is t he acronym for OLE DB for OLAP, which, when fu lly spelled out, stands for
"object linking and embedd ing database for onli ne analytica l processing" (the OLE
DB abbreviation is a long story). A Microsoft technology and an industry standard,
ODBO is the API for mu ltidimensional data processing. While ODBC and JDBC con-
nect with t he database using the SQL language, ODBC speaks MDX, t he language
understood by the OLAP database to query data stored in cubes.

Learn More
For t he documentation, see "ODBO Application Programming" in the SAP HANA
Client Interface Programming Reference on the SAP Help Portal. The refe rence lists all
supported MDX fu nctions but for a ful l explanation you're directed to the MDX Refer-
ence on https://docs.microsojt.com/.

4.10.6 Python

The Python programming language has been around for a long time, but is suddenly
popular again for use in data science projects. Although Python has been included
with t he SAP HANA client since its initial release for internal usage purposes, support

188
4.10 Client Interfaces

for Python as a database client was introduced more recently with SAP HANA 2.0 SPS
02 (2017).
The SAP HANA client includes a Python driver that implements the Python Database
API Specification (PEP 249}. For those familiar with Python, installation is standard
procedure using the PIP package manager using the command pip install hdbcli .
You'll connect with a function call to the DBAPI with dbapi. connect. As sho,..,n in
Figure 4.12, you can run the Python code inside a Jupyter notebook, a common and
popular data science tool, and you can use the connect ( ), cur sor (), execute( ), fet ch-
all (), and close() methods.

:-:
_ JUpyter HaaS Python Last Checkpoint: Last Wednesday at 3:33 PM (unsaved changes)

File Edit Vrew Insert Cell Kernel Widgets Help

~ + :I( eei ~ + +
conn.cl ose()
H Run
• c .. Code •• Cl

Connecti on to SAP HANA Service successful.


SID = HOO
Dat abase Name • HOO
Ver sion= 2.00.040.00.154 1428564

In ( 5] : from hdbcli import dbapi

conn • dbapi .connect(


address• 'zeus.hana.prod.eu- central - 1.whitney.dbaas.ondemand.com' ,
port• 21447 ,
key• ' HAASKEY' ,
encrypt• 'true' , I
sslCryptoProvider• 'commoncrypto ' ,
sslTrustStore• '$SBCUDIR/sapcli . pse'
)

with conn.cursor() as cursor:


•sql • "SELECT SYSTBM_ ID, DATABASB_ NAME, VERSION FROM M_ DATABASE"
•cursor .execute(sql)
•resu l t = cursor.fetchall()
print ( "Connection to SAP HANA Service successful." )
print ( "SID•" , result[ O][ O])
print ( "Database Name=" , r esul t[ O][ l ))
print ( "Version=" , result[ OJ[ 2 J)
conn. close ( )
Connection to SAP HANA Service successful.
SID • HOO
Dat abase Name = HOO
version= 2.00.040.00.154 1428564

Figure 4.12 Connecting with Python

189
4 Development

As mentioned, Python has been part of SAP HANA since its init ial release. To collect
diagnostic information for support purposes, for example, you would execute the
Python script f ullSystemi nfoDump . py. To automate the execution of additional pro-
cesses during host auto-failover or system replication takeover, the SAP HANA nam-
eserver process provides a Python-based AP! called the HA/DR provider. In addition,
several tools have been written in Python, for example, the application lifecycle man-
agement tool hdbalm.

Technology Background
Python is a programm ing language created by Guido van Rossum. First released in
1991 {the name was inspired by Monty Python's Flying Circus), it remained relatively
obscure until the Internet made Python a success; the first version of Google was
written in Python, for example. Today, together wit h C and Java, Python is among the
most used programming languages. For data science projects, machine learning, and
artificia l int elligence (Al), Python is often t he preferred choice.

Learn More
For t he documentation, see "Python Application Programming" in the SAP HANA
Client Interface Programming Reference on the SAP Help Portal.

4.10.7 Node.js
Node.js is one of the most, if not the most popular development framework in the
world right now. As open source, Node.js is freely available and is supported for the
most common operating systems (cross-platform). Node.js is a runtime to execute
JavaScript code, and is equally popular as a programming language. Like Python,
server-side Node.js was already available as a runtime for SAP HANA XS Advanced,
but support for Node.js as an SAP HANA client was only added in 2017 with SAP HANA
2.0 SPS 01. The runtime comes with the client. but alternatively, you can also install it
from the SAP node package manager at http://s-prs.co/v488420, as shown in Figure
4.13. The client includes a module that exposes streaming functions, so you can also
use Node.js also with SAP HANA streaming analytics, the complex event processor
(CEP) described in more detail in Chapter 5, Section 5.7.

190
4.10 Client Interfaces

ii Adminastr•tor. Command Prompt

C:\Users\saphanaacademy\nodeapp>npm config set @sap:registry https://npm.sap.com

C:\Users\saphanaacademy\nodeapp>npm install @sap/hana-client

> @sap/hana-client@2.4.139 install C:\Users\saphanaacademy\nodeapp\node_modules\@sap\hana-client


> node build . js

+ @sap/hana-client@2.4.139
updated 1 package and audited 3 packages 1n 2.329s
found 0 vulnerabilities

C:\Users\saphanaacademy\nodeapp>node hana.js
Oatabase name SYSTEP'OB

C:\Users\saphanaacademy\nodeapp>type hana.js
~ar hana = require("@sap/hana-client");
var conn = hana.createConnection();
var conn_parms = {
host "mo-lcaae8fcb"
port 39613, '
uid "SYSTEM"
pwd "Initiall' .. ,
}
conn . connect(conn_parms, function(err) {
if (err) throw err;
conn.exec("SELECT OATABASE_NAME FR<l-1 M_OATABASES", function(err, result) {
if (err) throw err;
console.log("Oatabase name", result[0].DATA8ASE_NAME);
conn.disconnect();
})
});
-:\Users\sanhanaacademv\nodea~~>

Figure 4.13 SAP HANA Node.js Client

Technology Background
Node.js is an open source, cross-platform JavaScript runtime, written by Ryan Dahl,
initially released in 2009 and built on the Google Chrome browser JavaScript engine.
For web developers already fam iliar with client-side JavaScript, writing server-side
code is relatively easy, in particular when compared to other programming lan-
guages. Working with a single language (full-stack) simplifies web development
projects (smaller teams, reduced development time, code reuse). In addition, the run -
t ime provides good scalability and high performance because of its event-driven
architecture (EDA): a single event loop with no threading or waits.

191
4 Development

Learn More
For the documentation, see "Node.js Application Programming" in the SAP HANA
Client Interface Programming Reference on t he SAP Help Portal.

4.10.8 Go
With the Go programming language slowly gaining momentum, as of SAP HANA 2.0
SPS 02 (2017), the SAP HANA client now also includes a driver that enables Go appli-
cations to connect to the SAP HANA database using the Go SQL AP!. Go runs on mul-
tiple platforms (Linux, Windows, macOS). Unlike the other clients, you'll need to
build a Go driver from the source code. When you've installed the SAP HANA client,
the source code for the Go driver and three code samples are included for working
with transactions, statements, and large objects. As shown in Figure 4.14, creating the
driver is not particularly complex if you have some familiarity with Go. The driver
supports all the SQLDBC connection properties, so you can also connect Go to the
SAP Cloud Platform, SAP HANA service with a web socket URL, for example.

e toot0mo fcl37b361 l'!'IO.\.IP.C0tp:/U'l.t1ocal,.'JO/


-fc337b36l:/usr/loca~/go/src t cp - r /usr/sap/hdbclient/golang/src/SAP
-fe337b36l:/usr/locai/go/sre i ls -1 /usr/sep/hdbclient/libdbc•piHDB . so
- r - xr- xr- x 1 root root 714 73 4 96 J an 1 2019 / usr/sap/hdbclient/libdbcapiHDB . so
-fc337b36::/usr/local/go/src t e xpor t CGO_LOFLAGS=/us r/sa p/hdl:>cl ient/libdbcapiHDB. so
-fc337b36::/usr/loc•l/go/src f 90 install SAP/90-hdb/driver
-fc337b361:/usr/local/go/src t expor t LO_LI BRARY_ PATH=/usr/ sap/hdbclient
-fc337b361:/usr/local/go/src f go build SAP/go- hdb/driver /examples/transactions
-tc337b36~:/u•~/loc•l/90/•rC t . /transactions - dsn hdb : //OBA : Initiall@mo- !c337b361 : 30013?DATABASENAME5 ffA0
2019/07/1 4 13 : 57 : 0 4 1 rows a ffected
2019/07/1 4 13 : 57 : 0 4 1 rows affected
2019/07/1 4 13 oS7 o04 l rows affeceed
2019/07/1 4 13 : 57 : 0 4 value is : waterloo
2019/07/1 4 13:57 : 0 4 Value is : Kitchener
2019/07/1 4 13 : 57 : 0 4 Value is : Kitchener
2019/07/1 4 13 : 51 : 0 4 l rows a ffected
2019/07/1 4 13 : 57 : 0 4 4 is t he row count of the tab le
2019/07/1 4 13 : S1 : 0 4 Commit successful
2019/07/1 4 13 : 51 : 0 4 The isolation l•vel is SERIALIZABLE
2019/07/1 4 13 : 57 : 0 4 Rollback successful
-fc337b36~:/usr/local/90/src t 0

Figure 4.14 Build ing Go Driver and Running Transactions

Technology Background
Go, or golang, is programming language designed at Google by Robert Griesemer,
Rob Pike, and Ken Thompson (yes, from Unix fame). Go is open-source and combines
the speed of a dynamic language with the performance and security benefits of a

192
4.10 Client Interfaces

com piled language-Python meets C++, as it was initially introduced when it was
first released in 2009. The programming language is gaining in popularity (Docker is
written in Go, for example), but nowhere near as popu lar as C++ or Python yet.

Learn More
For the documentation, see "Go (golang) Application Programming" in the SAP HANA
Client Interface Programming Reference on t he SAP Help Portal. The reference
includes a number of sample applications.

Tutorials
For a hands-on tutorial, visit the SAP Developer Center, and check out "How to write
a simple go application t hat queries HANA, express edition."

4.10.9 ADO.NET
If you've done any development for the Windows platform, you'll be familiar with
the .NET application development framevvork in general and the ADO.NET data
access technology specifically. For SAP HANA, support for ADO.NET was added with
SPS 08 (2014). When the SAP HANA client installer detects the presence of Microsoft
Visual Studio 2017, a plugin is automatically added, which works with both SAP
HANA, platform edition, and SAP HANA, express edition (see Section 4.12). With the
plugin, you can do the following to facilitate creating ADO.NET applications:
• Directly access SAP HANA databases from within the Visual Studio's Server
Explorer
• Debug SQLScript stored procedures
• Access the SQLScript editor with code highlighting, error correction, and object
name prompts

In the programming reference, you'll find the SQLDBC connection properties with
extensive examples (code snippets) using the .NET programming languages C# and
Visual Basic for connections, data access and manipulation, stored procedures calls,
transaction processing, error handling, and tracing support. In addition, a full AP! ref-
erence for the provider is available.

193
4 Development

Technology Background
ADO.NET is the data access technology used in the Microsoft .NET Framework for use
with programming languages like C# or VB.NET.
ADO.NET replaced the older ActiveX Data Objects {ADO) technology, which dates
from 1996 and replaced Data Access Objects (DAI). This alphabet soup, like OLE DB for
OLAP, makes perfect sense to a Windows platform developer but is not all that intel-
ligible to anyone else.
The .NET application development framework dates from 2002.

Learn More
For the documentation, see "Microsoft ADO.NET Programming" in the SAP HANA
Client Interface Programming Reference on the SAP Help Portal.

Tutorials
The reference includes sample projects and tutorials, but hands-on tutoria ls are also
available on the SAP Developer Center, such as:
• "Install and Use the SAP HANA Plugin for Microsoft Visua l Studio"
• "How to connect to SAP HANA using Data Provider for Microsoft .NET"

4.10.10 Ruby
If you've done any web development in the last 10 years, you'll likely be familiar with
the Ruby programming language and the Ruby on Rails web application develop-
ment framework. As of SPS 03 (2018), the SAP HANA client no\v also contains a Ruby
driver, so you can use the SAP HANA database to pov;er your web applications. You
could use the SAP HANA, express edition, described in more detail in Section 4.12, for
example, which comes with a free developer license and runs {without the SAP HANA
XS Advanced runtimes) on as a little as 8 GB of RAM.
Two installation packages are available, called "gems" in the Ruby vernacular, and
you can use the RubyGems package manager to install. In other words, for those
familiar with Ruby, connecting SAP HANA to Ruby is as easy as connecting to any
other database. The two gems are:

194
4.11 Web-Based Data Access

• Hanaclient: The actual database driver.


• activerecord -hanaclient -adapter: Adapter to connect the SAP HANA client to
ActiveRecord. ActiveRecord is part of the Ruby on Rails web application frame-
work and maps Ruby classes to relational database tables.

Technology Background
Ruby is an interpreted programming language, like Python. Developed by Yukihiro
Matsumoto, its release history goes back to 1995, but the language was fa irly obscure
until the release of t he Ruby on Rails web application framework (2005), which made
it much easier to bu ild websites than PH P, for example. More recently, alternatives
like Node.js are gaining popularity, and Ruby is in slight decline, but t he web frame-
work is st ill widely used, including for some la rge websites.
To distribute Ruby programs and libraries, you'll use the RubyGems package man-
ager and "gem" packages, which makes installing and updating your Ruby environ-
ment easy.

Learn More
For t he documentation, see "Ruby Applicat ion Programming" in the SAP HANA Client
Interface Programming Reference on the SAP Help Portal.

4.11 Web-Based Data Access


Let's switch gears to discuss web-based data access. You can access an SAP HANA
database via HTIP(S) in three ways :
• OData
• InA service
• XMLA (multidimensional services [MDS])

OData services can be used or consumed, as it is usually phrased, by Java and Java-
Script applications. The InA service and XMLA are mainly consumed by analytical
(web-based) reporting tools and access either SAP HANA information views or the
MDX engine directly. These services rely on the classic SAP HANA XS environment
and require installation and additional configuration in case we want to use them
with SAP HANA XS Advanced.

195
4 Development

Let's take a closer look at each in the following sections.

4.11.1 OData
For Java applications, the latest and most current version of OData (4.0) can be used,
implemented with the @OData . publ i sh annotation in a CDS document. In defining the
OData service, you'll specify which table or view should be made available, or
exposed, as an OData collection for use by the client application.

Technology Background
The Open Data (OData) protocol defines how to provide and consume (create and
use, if you prefer) RESTful APls. The in itiative for the standard/protocol comes from
Microsoft (2007) but is now managed by the Organization for the Advancement of
Structured Information Standards (OASIS).
Representational State Transfer (REST) defines how to create web services. Services
that conform to the definition are called RESTful and provide a set of standard HTIP
methods (GET, POST, PUT, DELETE) with a media type (J SON, ATOM/XML) and a URI.
Many different OData libraries are available, for example, .NET, Java, and JavaScript
including SAPUIS. OData is often explained as "ODBC of the Web," and like ODBC,
OData is not limited to database access.

For JavaScript, you'll put the OData 2.0 service definition in an xsodata artifact, which
just a regular text file with the .xsodata extension. To consume the OData 4.0 service,
you can add a Java module to an SAP HANA XS Advanced MTA and route the OData
request to the Java component. Alternatively, you can use the OData 4.0 service with
Node.js. OData 4.0 for JavaScript technologies is work-in-progress at the time of this
writing (summer 2019), as the SAPUIS OData 4.0 model has a limited feature scope
and is not supported by SAP Fiori elements.

Code Clinic
Creating an OData service can be as simple as creating a new file in the SAP Web IDE,
for example, with name businessPartners.xsodata, containing only the namespace
and the name of the table:
service{ "MD.BusinessPartner" as "BP"; }
After building the Node.js module containing the service, run t he web modu le and
append the name for the file to the path /xsodata/businessPartners . xsodata of the

196
4.11 Web-Based Data Access

URL to access the data in an OData service. For the exact steps and a hands-on tuto-
rial, see "SAP HANA XS Advanced, Creating a Simple OData Service" at the SAP Deve-
loper Center.
Figure 4.15 shows how to define the service in the SAP Web IDE.

· ~·~"
1 .......,,,. (

e a 1 ·111.trdi.t~tOr• .lflt...-·
• twfA_APP ~ ) as • .,,,..."°"'. .....,..•tts ( "U • " •s -.Olt•~I:

Ill •.<ho •
" • CIOl'9_Uj$ •• "IJl>rt»~.0.-. I t • •

" ..,
. , "l'Ol l ••"•
G:l • .<lw
•' •t. .t-ttoo ·•t-· ,..1""u..1 -~-r~• 11>· 1

" • >Oil
El · """'IS
..
u
• ..lt.t#l1<1t,. ·1• ~ 'fr01t•"("~•"**»°"11tut• ) •ltl,UcUy •.-;

""""*
l!l •
"'""""'
liJ ·~-
EI ·-
m ·noo._mxuei
G:I • ""
l!l · -
9 ·-i-
9e:i """"'"'
Ill •<t>
• ..,.,.

r'il • well
...
0 Run klOe:l.nlml
_.
~lsllllrtng
.,......
Ml19 &:00:51.1&1 AM SAPPfl.o)OUf S«ver~ on port4Ml&
M/19 8:02:45 59"1 AM ~1.(1) SYS •2(112019 0508
® &

Figure 4.15 Define the OData Service

As shown in Figure 4.16, appending "$metadata" to the URL will display the field
descriptions for all attributes of the OData service.
f- • C 0 A Nol SeC\llf! N'IK .,~et'.O~l ' · ' ' ' e ;
• <..U..1Edsa . .1,..,...,.•1u.tp•//1~1.a.!c,....oft.c-'adoll•OJ/O'/.-x " V•r1lo11-•" l . O">
.. .:.c1..,.,
D•C1Je.-.lc11 -1 n• • - • "'-'P' //..,i.-1 . atcroeoft .~.-,./2001/01/d•U.H.-v le.1/-tU1t1 • at O.US.rv lc1V1r1 I_." l . 0 • >
• Cf;c:t.1... ,..,i,..,4.•11ttp1//1ct:..s.1 . aleroeott . c...,oodo/l0•1/0tlct..t1a1cvl.,.•" ..ln11.,." llttp1//..,11..,..1. alc.-ot1oft.eoa/ado/2001/0l/dat... •rvic••l. .t..i.ata •
..lr.a•'llttp1J/..,he. . .. al.c..oM>ft.C>Oll.lectollOOl/O./...,,.• 11...·~··ct.t•ull ">
• <l:nlity':'ypo _ ...,,_.d•rTypo'>
• <J;er>
<7tOf10tl)'h! . _...l'\.'X'.11.UCOIUll:IUO' I>
<.(Uy'/'
qropert,- 1 1 -· tuacu.stOarlitalO" ~.. •r..Strii.t" 111;lla'bt.,.• tal•• " JlaalAo,Ul •" IO '/'I'
qropert,- 1 1 -· •rSt"Oar . ctnTtOOY " T)'p.-' Ma. St.ti.no" lllUlA..,.U... • 10• 1.,,
qtoperty 1 1 -" llISt'Oar . ctnT'tOfl.t' T)'pe,.' Eda. O.te'f1- ' I>
qroperty · -· •nSt"Oar . ca.uic:tOOT " Tr!Ml'"' Eda. St.ti.no" Jlaa!A""'°'"' 10' /)
<:l>tope rt y I I -' Ill St'Oll!T . CllAllCll:Ofl.T' TJ'!Ml'"' it<b.. 0..te'f 1-' />
<?ll'Operty 1 1 -" tlOft.lO' T)'peo•'&doo.Stri11"• Jlla~th.. ' l• "I>
<?r"Operty 11-· '•AAnu:a ' """"'£•.ltll'i.,.' ....i..-.th•' IO '/>
<1'tope.t"ty 1 1 -' C'UllAUCT ' ~.. · e•.Stll'U.. ' ~otll ..' S '/>
<l'•otie•ty 11-·~· Ty.,...· e...c.et..1• •r.el•lo11.. • 1s· tcal••"2 '/>
<Prope:r-ty 1 1 -· 1ttNICllUll1.. T')'p.- ' e..,OeeU..l ' f't.Cl•IOllo•' IS ' kal.,.' 2 ' />
<J'ropeny 11. . . ...,~,".. T')'p.- ' U.,O.C-iN.l ' Pt.ei•IO.•'IS ' s.e.1..· 1 ·1..
<:Propeny 1 1 -' LJPllCTC':LltStATUS ' f')'p9•'tdllJ.ltri.a..· -.:ia...11oti.-· 1 ·1..
<J'ropen y 1 1 -. u•lOYAUTA!VS . 'f'niol9•. t:•. 1....
Stt
<:Prope:r-ty l l -' t'OllPIMSTAT91 ' !'YPr' !dlt.Stti. .' ~th •' l '/>
..lll.Mttfl•' l ' />

<J'ropeny 1 1 -' 0ltt>QUICSTAttll ' ,.,....••, • • Strt... • . .lll.Mtth•' l '/>


<:Property ....... JllYOICJllCSTATUS ' ,.,.......tdllJ.ltrt...• -..ia....oti.-· 1 ·1..
<ll•Yi'J•t1o...,..o,.rty - . -"l'Olt•' a.l•tl••h1.-"•l•ult ,J\WT)'po' r....-01-· ~a..Prl&eip.a.l' T>Obl- ' l'Olt..01p 1•-111\ • /'>
</CfltltJ"Ty,.,.
• <Zatit'(:')'pa - -· ·l'01.....ryp.· ..... </811\itJ"Ty,.,.
• <M-1at10fl a -· 'lt_,.,.,..,,
<&ad tno-•"O•t•lt.,....,.rtypa· a.o1... -,...oor>rtno1,..1· *1U.pl1cclty•"l .I>
<sad '"'9-"0•t•lt.l'OJt.,.yypo• •ol.. ' l'OJt...OO~nt ' . . lt1,11e1t.,..· • /> 0

<IU•OC'1•tiOA>
• <Zht i t~ont•i. .r I I -· Y2 • • • l•l>ota1,1lta.t.itrco-t•ino.ro •tn>•• >
<&ntit'(Sot 11...-· POlllN4or· &ntit.,,.,,,... · ,..t•ult.l'Ollo•O•.rTroo'I'>
<&ntit.,S.t 11...-· POtt.._. *"tityT),.·•" Oota'!lt.tolt~"/>
• <....,90eiati0118ot 11....· it. . .. A••OC''•\i.,...'4of•~ll.It...Tyoo'>
<a..d
<RMI
..,1•.
·......,..,priaoipl" l"llt,.,.'l.•" l'Oh•der"/>
llole•'l'Ol~......"'" C•ti'l.ySel•"tol....,../>
<IA•aooi•\i~l>
<111"til1'COnl•lr..r>
<l•c:~
<C/...... ~.,. . .l"'l'iC:~
.:1. . . .1:.,.,.

Figure 4.16 OData Metadata Service Definition

197
4 Development

Learn More
For information about how to work with OData services in SAP HANA XS Advanced,
see the fol lowing guides, available from the SAP Help Portal:
• "Maintain ing OData Services in XS Advanced" in the SAP HANA Developer Guide
for SAP HANA XS Advanced Model
• "Data Access with OData in SAP HANA XS" in the SAP HANA Developer Guide
• "OData V4 Model" in the SAPUl5 documentation

Tutorials
Many tutorials on the SAP Developer Center are related to the "ODat a" topic (you can
use this keyword as filter). Below is a selection, one introducing OData and the others
to learn how to implement OData with SAP HANA:
• "An Open Data Protocol (OData) primer for developers"
• "Tutorial Navigator: Create an SAPUl5 appl ication with SAP HANA XS Advanced"
• "Tutorial Navigator: Expose Entities Using OData and XSJS with SAP HANA XS
Advanced"

4.11.2 Information Access


SAP HANA includes an InA service for analytical queries over HTTP. The service is
provided by the SAP HANA XS bc.ina.service.v2 web application and is used by both
web clients as full desktop clients like SAP Analyt ics Cloud, SAP Lumira, and SAP Ana-
lysis for Microsoft Office.
The InA service was included with SAP HANA as early as SAP HANA 1.0 SPS 04 {2011)
together with the SAP HANA XS runtime and a UI toolkit for building web-based
search applications. InA has been part of every SAP HANA 1.0 release since, but for
SAP HANA 2.0, InA is no longer available in a standard installation, and you'll need to
install it separately. The InA service is bundled with MOS in a component called EPM-
MDS. {The InA service is also used by SAP Enterprise Performance Management appli-
cations, hence the acronym EPM.)
To access the service, simply append the path /sap/bc/ina/service/v2 to the URL of
SAP HANA XS. As shown in Figure 4.17, by appending GetServerinfo, you can query
the service to test the functionality. The service returns information about the SAP
HANA system in JSON format.

198
4.11 Web-Based Dat a Access

To expose the InA service for SAP HANA XS Advanced, you can use the SAP HANA
analytics adapter, which is an SAP HANA XS Advanced application that you'll need to
install and deploy in yo ur environment to be included with yo ur SAP HANA XS
Advanced application.

• • • h!tp1 lfhJc~~t lib cloud ~ " + ..,


f- • C 0 Iii https nxehost 14b cloud '31> • ' , ' ' . '(,: :

1 II Z01908e6091159
z II https://hxehost.\ob.cloud.sop:4390/sap/bc/ino/service/v2/GetServerlnfo 0
3
4 • {
5 .. '*Server Info.. : { ,.
6 "BuildTioe" : "2919-91-17 06: 16:43" , v

7 "Cl i.ent" : "900000000000000'" .


8 "ServerType" : "SAP HAHA'",
9 "Syst emld" : "HXE" ,
10 "UserLonguogeCode" : "EN'",
11 "Version• : · z.09.036.09.1547699771"
12 },
13 .. "Servi ces" : (
14 • {
15 .. "Capabil i t ies· : [
16 • {
17 "Capability" : "ResultSetStote" ,
18 "MaxVersion" : 194,
19 "MinVersion" : 100
20 },
21 • {
22 "Capabilit y" : "OynomicResul tsetFocets" ,
23 "MaxVersion" : 104,
24 "MinVersion" : 100
ZS },
26 • {
27 "Capability" : "InaSeorchModel" ,
28 "MoxVersioo" : 104,
r- 6) BltNntt COl'«llt scuc. ~ ~ Mer'l'IOtY ~ 5ecut)' '4.ldb : x
• $ • 9 Q. VleW: :: ' ~ br ft'WN Pf9MM log DiAblt c.::he 0-... No llvotli'lg
Y-lter ' f tldo di:lli:I URU rZJ XHR JS CSS lmg Modla f<:W'll Doc WS MiYlllosl Olrlot

........,
A9CJ*I URt.: At tps : //llathojt. \M, CIOllO . ' ' ' ' 4)M/,,..,k/ lllt/'I,.., 1Ct/vl/'4t$ttv1tl 1110

2~ 11,t l<B~ ~r ftdky;: 110-<elerrtr'"Vhen-dOWntrMle

Figure 4.17 lnA Services GetServerlnfo Metadat a

Learn More
For information about how you can use the lnA service with SAP HANA XS Advanced,
see t he Developer Guide for SAP HANA XS Advancedfor the SAP HANA Platform from
t he SAP Help Porta I.
To download t he SAP HANA analytics adapter, visit t he SAP Development Tools web-
site on http://s-prs.co/v488427.

199
4 Development

4.11.3 XMLA
SAP HANA also includes an XMLA API to enable reporting tools to connect directly to
the SAP HANA MDX engine over HTIP{S) connections. Consider this API the v,ieb
equivalent of the ODBO client (see Section 4.10.5). Figure 4.18 shows the sample code
for a POST request to the SAP HANA XS server with /sap/hana/xmla/requestbasic
appended to the URL. In the command, you'll enter the MDX statement. As with the
InA service, XMLA is included with the SAP HANA 1.0 release but requires installation
for SAP HANA 2.0 (the EPMMDS plugin). For SAP HANA XS Advanced applications,
again as with InA, you'll need to install and deploy the service as an application
(XMLA MTA).

o• • XMLA.html •
~ XMLA.html - -/Downloads

1 Sample Code
2
3 POST htt ps : //<servername> : <PORT>/sap/hana/xmla/ requestbasic
4
5 <Envelope xmlns ="htt p: //schemas . xmlsoap. org/soap/enve lope/ ">
6 <Header>
7 <Version Sequence="l09" xmlns="http : //schemas . mic rosoft . com/ana lysisservices/2003/engine/2 " />
8 </Header>
9 <Body>
10 <Execute xm lns=" u rn: schemas-m i c rosoft- com: xml-ana lys i s " >
11 <Command>
12 <Statement>
13 SELECT {(K3) . [K3). [All) . [( al l) )} on 0, {Measures . Ml } on 1 FROM MDX_TEST_03_CV3J
14 </Statement>
15 </-=--
16 <Properties>
17 <Propertyl ist />
18 </Properties>
19 </Execute>
20 </Body>
21 </Envelope>

-/Downloads/XMLA.html' 20:8 LF UTF·B HTML 0 GitHub <>- Git (0)

Figure 4.18 Sample Code for an XMLA POST Request

Technology Background
XMLA is a protocol for data access to multidimensional data sources {a lso known as
OLAP) accessible over HTIP. Like OData, the specification originates from Microsoft

200
4.12 SAP HANA, Express Edition

(2000) but has since been ma intained by t he XMLA Council. The query language is
called mu ltidimensional expressions (MDX}, which you can t hink of as SQL for the
OLAP dat abase.

Learn More
For more information about using XMLA with SAP HANA XS Advanced, see t he fol-
lowing resources, available from t he SAP Help Portal:
• "Data Access with XMLA in SAP HANA XS" in the SAP HANA Developer Guide for
SAP HANA XS Advanced Model
• "Mu ltidimensional Expressions (MDX}" in the SAP HANA Developer Guide for SAP
HANA XS Advanced Model

4.12 SAP HANA, Express Edition


Since a minimal SAP HANA, platform edition installation requires a system with at
least 64 GB RA.M, running the in-memory database on a personal computer is not an
option. To make the technology more accessible and to promote building native SAP
HANA applications, a special version of SAP HANA has been made available called the
SAP HANA, express edition. This edition was introduced to the developer community
at the SAP TechEd event in 2016.
SAP HANA, express edition is technically the same as SAP HANA, platform edition-
same source code, same executables-but the distribution has been optimized to run
on laptops, commodity servers, and mini PCs like the Intel NUC. Enterprise features,
that is, anything that requires multiple systems and complex storage and network-
ing requirements like distributed multiple-host systems, dynamic tiering, or system
replication, have been excluded as this would exceed a PC's resources but otherwise
is the same SAP HANA. SAP HANA, express edition comes with a free developer
license and can be used for production purposes for configurations up to 32 GB. For
64, 128, and 256 GB configurations, an additional license can be acquired. Beyond that,
you'll need to switch to the regular SAP HANA, platform edition.
In this section, we'll describe several deployment options for SAP HANA, express edi-
tion, and how to get started.

201
4 Development

4.12.1 Deployment Options


SAP HANA, express edition is available in three different formats: as installation
media, as a virtual machine, and as a cloud deployment solution. Which version to
use depends on your available resources and your preferences. Let's look at each of
these deployment options briefly:
• Installation
Installing SAP HANA, express edition is easy. All you need to do is run a script. This
deployment option is the most suitable if you're a bit low on resources. All you
need is a (spare) computer with 8 GB of RAM that is running Linux. For the fine
print, see the Getting Started Guide first before getting started.
• Virtual machine
Running the express edition as a virtual machine is a convenient option. All you
have to do is to download the virtual machine and power it on to get started. Noth-
ing to install, prepare, or configure. Ho\vever, you do have to include a little bit of
overhead for the virtualization. Computers with 12or16 GB of RAM would be more
suitable candidates.
• Cloud
For cloud environments, you can be a little bit more generous and select compute
instances with up to 32 GB of memory. In particular, "''hen running both the in-
memory database and the SAP HANA XS Advanced runtime(s) V1rith multiple appli-
cations, like the SAP Web IDE, database explorer, and the SAP HANA cockpit, to
name but a few, a bit more memory \Vill be needed than may be available for a
local installation and virtual machine deployments. A sizing guide provides exact
figures for what you need for each of these features.
If you have an account for the SAP Cloud Appliance Library on http://s-prs.co/
v488422, you can select the latest solution for SAP HANA, express edition, and
power up an instance in a few clicks. Otherwise, you can to the marketplaces for
AWS, Microsoft Azure, or the GCP and launch SAP HANA, express edition from
there. The license for SAP HANA is for free, but you'll be charged (paid-per-use) by
the cloud provider for running the instance. Frequently, trial offers include credits,
so it pays to shop around a bit.
Figure 4.19 shows the SAP HANA, express edition (server+ applications) solution in
the GCP marketplace. Note that a server-only solution for SAP HANA, express edition

202
4.12 SAP HANA, Express Edition

is also available, but this version does not include the SAP HANA XS Advanced run-
time environment with the different applications. AWS and Azure only provide the
full version.

= Google Cloud Platform :• SAP HANA Academy T Q.

SAP HANA, express edition (server+ applications)


SAP

-·-
SAP HANA
In-memory Platform for Business Digital Transformation

LAUNCH ON COMPUTE ENGINE 2 PAST DEPLOYMENTS

Runs on Overview
Google Compute Engine
SAP HANA, express edition is a streamlined version of the SAP HANA platform which enables developeJs to
Type jumpstart application development in the cloud or from a personal computer 10 build and deploy modem
Virtual machines applications that use up to 32GB memory - without incurring any license fees. SAP HANA. express edition
SingleVM includes the in-memory data engine with advanced anatytical data processing engi"les for business. text. spatial
and graph data · supporting multiple data models on a sing le copy of the data The software license allows for both
Last updated non·production and productk>n use cases, enabling you to quiekty prototype, demo and deploy next-generation
3125/19, 10:09 PM applications with SAP HANA. express edition.

Category Learn mo.re c!


Databases
Oevelopec stacks
About SAP
Version
SAP SE Is a German muttlnatlonal software corporatJon that makes enterprise software to manage business
HANA 2.0 SP03
operations and customer relations-
Operating system
Learn more
SUSE lil'IUX Enterprise 12

Figure 4.19 Deploying SAP HANA, Express Edition on GCP

Apart from local installations, virtual machines, and cloud deployments, another
option is to deploy SAP HANA, express edition on Docker. For those not familiar, the
Docker container technology (introduced in 2016) provides a lightweight alternative
to virtual machines. Instead of a complete operating system, a container only con-
tains the software, libraries, and configuration files needed to run a particular piece
of software. This software could be a simple "Hello World!" application but also, yo u
guessed it, the SAP HANA, express edition.

203
4 Development

4.12.2 Getting Started


To get started with the SAP HANA, express edition, go to the topic area on the SAP
Developer Center. SAP HANA, express edition is always featu red on the homepage so
finding the solution should be easy. To download the free version, you'll need to reg-
ister fi rst, which is mainly required so SAP can present you with the m aster software
developer license agreement for SAP HANA, express edition, which yo u'll need to
read and accept (which given the number of pages and items is actually feasible
unlike some other license agreements we've come across). To actually download the
software, use the SAP Download Manager. a Java application that requires a Java run-
time.
In the SAP Download Manager, shown in Figure 4.20, select the platform Linux or
Windows, and the "image," virtual m achine, or installation media {binaries). Apart
from the Getting Started Guide already selected for you, you can check the box for the
following :
• Server only virtual machine
A complete SAP HANA, express ed ition, but without SAP HANA XS Advanced.
• Server+ applicat ions virtual machine
SAP HANA XS Advanced run times and applications (SAP HANA cockpit, SAP Web
IDE, SAP HANA XS Advanced cockpit, database explorer, product installer, etc.)
• Text analysis files for additional languages
Text analytics in English is included with SAP HANA. Th is file contains the other
supported languages. (Text analysis is described in Chapter 5.)
• SAP Enterprise Architecture Designer
SAP HANA XS Advanced application also requires the "Applications" environment
(described in Chapter 8).
• SAP HANA streaming analytics/SAP HANA streaming analytics stud io plug-in
A version of the CEP for SAP HANA, express edition includes the Eclipse plugin for
monitoring and administration. (Described in Chapter 5.)
• SAP HANA Externa l Machine Learning Library
The Application Function Library (AFL) for External Machine Learning (EML). Con-
tains the software required to process machine learning using an external Tensor-
Flow Model Server (described in Chapter 5.)
• SAP HANA Automated Predictive Library
The AFL for APL. Contains the server-side algorithms used with SAP Predictive
Analytics (described in Chapter 5.)

204
4.12 SAP HANA, Express Edition

• Clients
For Linux (Intel and PowerPC}, Microsoft Windows, and Apple macOS, contains the
ODBC, Python, Go, ADO.NET and other client interfaces including the xs CLI
(described in Section 4.10).
• SAP HANA smart data integration
With Data Provisioning Agents for Linux and Microsoft Windows and SAP HANA
smart data access (SDA), you can connect to other data sources including data-
bases, Hadoop, files. and more (described in Chapter 7).

• • Version 2.00.036.00.20190223.1
SAP HANA, Express Edition Download Manager

Platform Unux/ x86-64 B


Image , Virtual Machine B
Save di rectory Downloads Browse ...

Stltc-t Packa.gt SIZt (MB) Status


II Getting Slaned with SAP HANA. express edition (Virtual Machine Method) 2
II Server only virtual machine 3.406
m Server + applkatlons virtual machine 12,058
n Text analysis files for addltlonal languages 732

TG SAP Enter rise Archnecture Desi ner


SAP HANA streaming analytics
SAP HANA streaming analytics studio plug-in
..all
1,449
770
II SAP HANA Interactive Education 328
G SAP HANA External Machine learning Library 41
G SAP HANA Automated Predictive Library 58
0 Clients (Linux X86/ 64) 420
=:J Clients (Linux PPC/ Uttle Endian) 256
j Clients (Windows) 290
G Clients (Mac) 156
G SAP HANA smart data Integration I
G SAP HANA sman data Integration - Data Provisioning Agent (Linux X86/ 64) 716
I SAP HANA sman data integration - Data Provisioning Agent (Windows) Sil

Progress Detail

Qui t Download

Figure 4.20 SAP Download Manager for SAP HANA, Express Edition

SAP HANA, express edition also includes a binary version of the SAP Download Man-
ager, so once you have your environment up and running (local. virtual machine, or
cloud}, you can always and easily add additional components.
When you start the installation or connect to SAP HANA, express edition for the very
first time, you'll be prompted to provide a master password, which will be used for
operating system administration account (hxeadm), for the SYSTEM database adminis-
tration account on the SYSTEM database and the HXE tenant database, for the SAP

205
4 Development

HANA XS Advanced accounts (XSA- ADMINand XSA- DEV), and for the SHINE and SAP
HANA streaming users, when installed. To be up and running with SAP HANA,
express edition, the server only takes as little as a minute on the virt ual machine and
cloud deployment environments. To create the complete SAP HANA XS Advanced
environment, with application it takes 30 to 40 minutes. For the fine print on how to
install additional components and how to configure SAP HANA streaming analytics
or SDA. including some best practices like deactivating the SYSTEM database account
and making backups, see the Getting Started Guide included with the installation.

Learn More
SAP HANA, express edition has its own documentation site on t he SAP Help Portal,
where you can find the Getting Started Guide and Sizing Guide.

SAP Notes
As is often the case with free developer licensed products, support is provided by t he
developer community and not t he officia l support channel. With SAP HANA, express
edition, you can post your question (and answer the questions of others) on the SAP
Community fo r SAP HANA, express edition.
For more information, see SAP Note 2373S55 - SAP HANA Express Support Strategy.

Tutorials
For hands-on exercises, we recommend exploring the great collect ion of t utorials on
the SAP Developer Center: Tutorial Navigator: SAP HANA, express edition.

4.13 SAP HANA Interactive Education

SHINE is a demo and training application, created to make it easier to learn how to
develop applications for the SAP HANA platform. SHINE was introduced with SAP
HANA 1.0 SPS 07 in 2013 and is based upon the SAP Netweaver enterprise procure-
ment model (EPM), a framework that should be familiar to most ABAP developers.
SHINE comes with demo data and the design-time developer objects or artifacts
required to create tables, views, and other runtime database objects, together with

206
4.13 SAP HANA Interactive Education

web, Node.js, and XSJS content to provide the application control flow logic and the
user interface. In this section, we'll cover deployment options for SHINE and describe
how to get started.

4.13.1 Deployment Options


For the full developer experience, you can download the SHINE application from
GitHub di rectly into the SAP Web IDE, as shown in Figure 4.21, and build and deploy
the application yourself.

Ml'Ytl',jl JI Gt
1 /•rsltnt no•cori\ole: t•/ 0..

·- -
e .ti•nM'*-'... t-. ,,,,,
.........
2 t•eslil'lt·env node, es6 •/

.....,_ •S
@ 0 @
v•r xsjs • ~vire( "fs•P/xsjs" ); ""' 0;)
.,..
.....><ti. 6
7
..,.,,,. xseov • rrqul~( "(b1p/xHnv" );
....,. Port • pr«:ess.env.POfl;T 11 )ilM;
R•posltcwy. ~no-XN

-
f:,_ • node.Jl'IOCh,,IM II glotial ._b.ise • _dim_. • • 1·; Branch: masw
0 ·~~ ,.' . .....,
·- -
V'lit' ot>tiOl\S • { \\)-
// a"°n)WOUS : tl"Ue, // ,....,..,, to authentic1te c1lls
a..,,...
11

•• W9b
12
13.
rtdtrecturl: "/illclex.xsjs", re,
context: {

,.
u&er-db base: glob1l._~se,
"
1.-;J •

• uw;ava lS tnv: Pl"O<•ss.tnv,


• uw·llli• ani.MC!r: •2
17 }
18 };
ID • LICENSE 19 .. try(
ID • mt.1.y,em1
ID • REAOME,mcl "
21 • ..,.,,,. op • xscnv.filter<,Services((
ID • SHINE·XSA..tnd i 22 lati.1: 'ti.an.»' ,
ID • t!wle.muextlempelt• I 23 plan: 'hdJ•s"arctd'
24 })(&J.crf'Clentl1ls;
ID • xa-MCUntyJ5on
e mUi_atdlives
COtl\.Utp.tet.apps.&fllM
"
i 26 var ~n:i_optlons • ( 'han:i' : oP );
A.1(11) Errors (0) W~rN-ig$(1) I lnfOS (10) c lhana1hln.·ualc:ore·xsjs

s... v .,.,.,.,..., file LOClllion


""'_,.
esa..ric: <ouoce•l ~· muti l sefW!(,jS(22. 16) 11\an&-Shlne-x... S!'yllStle tss.ue

ESl.h: (Mtllt) Str1relt must l seMff'Jt(2J. 15) 11\an&-Shlne-x... S('ilStlCISsue

ESl.klt (~) lddlet' 1 teMrJ$(26. S) Nna-shlne.<x... S!)'IStletHt.Je Commd Commit and P14li

Figure 4.21 Deploying SHINE Using t he SAP Web IDE for SAP HANA

For the deployment target, you can use a local SAP HANA XS Advanced runtime (for
example, a runtime of the SAP HANA, express edition) or go cloud-first yourself and
use Cloud Foundry on the SAP Cloud Platform.

207
4 Development

Alternatively, you can download the application from the Software Downloads area
on the SAP ONE Support Launchpad as an MTJ.\R file and use the xs command line
tool to deploy the application. Note that the component name is SAP HANA DEMO
MODEL and not SHINE.
The previous version for SAP HANA XS comes as a delivery unit and can be deployed
using SAP HANA studio. Deploying both versions could be quite useful if you want to
study application migration from SAP HANA XS to SAP HANA XS Advanced.
The SAP HANA XS Advanced M igration Guide documents in detail how to prepare,
migrate, and deploy applications from the classic SAP HANA XS model to SAP HANA
XS Advanced. To automate most steps in the migration, you can use the SAP HANA
XS Advanced Migration Assistant (also available under Software Downloads). The
guide shows exactly how this works by taking the SHINE SAP HANA XS application as
input and delivering an SAP HANA XS Advanced application as output, thus illustrat-
ing how to run the assistant, how to read the report, what content is migrated auto-
matically, and what you'll need to do yourself.
A third option is not to install or build anything at all but rather use the SAP Cloud
Platform. When you create an SAP Cloud Platform, SAP HANA service instance (data-
base) in the Neo environment, you can specify that SHINE should be included.

4.13.2 Getting Started


The SHINE dashboard shown in Figure 4.22 shows the tiles for the latest version, spe-
cifically the following apps:
• Data Generat or
With this application, you can reset or reload both master data and transactional
data. Master data includes business partners, products, and so on, while transac-
tional data concerns the sales and purchase orders, vvhere we can indicate both the
volume (number of orders) and the time interval.
• Purchase Order Worklist
Application demonstrating purchase order management, with list view, search
functionality, add/remove and accept/reject order workflows, export to Excel, and
reporting.

208
4.13 SAP HANAInteractive Education

~ SHINE (SAP HANA fnteractlvt Educ.atton)

1=
-
I I •
=
Data Generator Pun:hase Order Wortlist Sales Dashboard Sales Worklist U-serCRUO

0
:,_ ...~

- - ---- ._.,ea..,

--- . ..~
~ - --- •
·- -
-. • - - I~

·-
xsunk Tests
Spatial Demo Sales Dashboard Mobile Flori Launchpad XSOataSeMces ~ ...

o~
..
-
---
Full·tex1 Searth with
SAPUIS, ODATA. and
---
Runtime Job Schecfuling ETags en<:I Null values in
xsooata
cos

Figure 4.22 SHINE Dashboard

• Sales Dashboard
Application with analytical views (pie and bubble charts, bar diagrams) from the
sample ITeLO company showing Sales by Region, Sales by Country, Sales Rank, and
Compare Product Category Sales Year to Year with details tab listing all sales
orders.
• User CRUD
Application demonstrating how to manage users in the system using CRUD oper-
ations (create, update, and delete) in Node.js and Java implementations on the
same database container.
• Spatial Demo
Application showing how spatial featu res and analysis can be integrated with an
SAP HANA XS application, for example, by using latitude and longitude data to cre-
ate a product sales heat map.

209
4 Development

• Fiori Launchpad
To leverage SAP HANA UI integration services.
• Full-text Search with SAPU IS, OData, and CDS
Application demonstrating how yo u can define a search model with CDS and how
to use SAPUIS to build a search interface using OData.
• Runti me Jo b Schedu ling
Application demonstrating how to use the SAP HANA XS Job Scheduling APis for
job creation, job scheduling, and job log view.

SHINE also includes additional developer content like XSUnit tests and SAP HANA XS
data services.

Learn More
SHINE documentation is included with the SAP HANA platform documentation set
on the SAP Help Porta l:
• SAP HANA Interactive Education (SHINE} for SAP HANA 2.0 SPS 04
• XS Advanced Migration Demo-SHINE-SAP HANA XS Advanced Migration Guide
For the latest updates, check the SHINE repository on GitHub (http://s-prs.co/
v488423).
The openSAP course "SHINE Reference for Native SAP HANA Application Develop-
ment " (2016) mainly covers the SAP HANA XS classic model, but you may still find the
content useful.

SAP Notes
For additional information, see the following SAP Note, component HAN-AS- XSA-
SHN: SAP Note 223909S - SAP HANA XS ADVANCED DEMO MODEL - SHINE XSA
Release & Information Not e.

4.14 Summary

In this chapter, we introduced you to the most important topics related to SAP HANA
development. We started \Vi th a short description of the developer persona and the
most common development tools (the SAP Web IDE; for older releases, SAP HANA

210
4.14 Summary

studio). Next, we dove into SQL and the code pu shdown facilitator SQLScript. We also
briefly looked at some aspects of ASAP development as it relates to SAP HANA.
An important part of SAP HANA development concerns analytical modeling, and we
covered this topic in some depth. Just as important is native application develop-
ment, which will require the extended application services of SAP HANA XS and SAP
HANA XS Advanced, which we both described and compared in this chapter. To build
and deploy SAP HANA applications, you'll use CDS and the HD!, also addressed in this
chapter. For classic SAP HANA XS, you can use native SAP HANA application lifecycle
management or rely on the technology of SAP software logistics and CTS+. SAP HANA
2.0 also includes JSON document store, a NoSQL database, and we described how this
can be used.
For cloud-based development, we covered the services offered by the SAP Cloud Plat-
form, in particu lar the SAP Clo ud Platform, SAP HANA service. Differences between
the Neo and Cloud Foundry environments were addressed, and we described how
Cloud Foundry relates to SAP HANA XS Advanced. For on-premise development, we
looked at the d ifferent available SAP client interfaces, which apart from the usual
ODBC and JDBC, also includes Go, Python, and .NET. Most SAP HANA-specific func-
tionality for the SAP HANA client, like support for system replication, is provided by
the proprietary SQLDBC client. For web-based access to the SAP HANA database over
HTTP/S, yo u can connect with OData, InA, and XMLA.
Of course, for those new to SAP HANA development, we covered a Jot of material to
digest. To help yo u get started, SAP provides a free development version, the SAP
HANA, express edition. Content-wise, this edition is complemented by the SHINE
learning application, the topic 11vhich completed this chapter.
With the administrator and the developer personas on our contact lists, let's turn the
page and meet the advanced analyst, these days more commonly known as the data
scientist.

211
Chapter 5
Advanced Analytics
The moral is: Not everything that can be counted counts.
- William Bruce Cameron

It has been said: the whole is more than the sum of its parts.
-Kurt Kaffka

For the data scientists among us, and for those that insist on the correct usage ofter-
minology, let's start this chapter with a remark abo ut the terms "analysis" and "ana-
lytics." Analysis is usually defined as a "detailed examination" whereas analytics
expresses the systemat ic analysis of data. In other words, "analytics" represents the
science behind "analysis." In daily life, in product names, and in marketing publica-
tions, however, this distinction is not always strictly observed, and you'll find the
terms used interchangeably. For example, yo u perform text analytics with SAP
HANA text analysis and perform predictive analytics with the SAP HANA Predictive
Analysis Library (PAL) or with SAP Predictive Analytics. What's in a name? It is what it
IS.

You've seen throughout this book how a key strength of the SAP HANA database is
provided by a single data copy that brings online transaction processing (OLTP) and
online analytical processing (OLAP) in-memory, thus combining transactional and
analytical processing. We also discussed that a key asset of the SAP HANA platform
is how it enables different technologies to interact directly with this single data
copy and execute tasks inside the same database. leveraging parallel processing, in-
memory storage, and other hardware technology enhancements. You'll use the
development tools included with the platform to model data and create th e multi-
dimensional information views to be consumed in business user reports- SAP
HANA modeling for business analytics in action.

213
5 Advanced Analytics

The different capabilities, features, and functionalities brought together under the
umbrella of advanced analytics broaden the scope of analysis :
• Predictive analytics
Predictive analytics enables you to analyze past and present data in order to make
predictions about the future.
• Machine learning
Machine learning enables computers to process a dataset without explicit instruc-
tions, that is, without any IF THEN ELSE programming instruction. Through the use
of machine learning algorithms, computers can perform pattern recognition in
video, pictures, music, or any other raw data.
• Spatial
Spatial capabilities add a geograph ic dimension to your analysis and analytics.
• Graph
Graph processing enables you to understand relations and connections.
• Series data
Series data is data collected at a measurable interval, often as time, and for this rea-
son, this kind of data is also called "time series data."
• Text analytics
Text analytics enables you to analyze unstru ctured data, which according to some
estimates may accou nt for up to 90% of all enterprise data: log files, office docu-
ments, Twitter feeds, email traffic, messaging, images, video, the output of Inter-
net of Things (loT) devices, and so on.
• SAP HANA streaming analytics
SAP HANA streaming analytics allows you to process massive amounts of event
data. You wouldn't typically store this data due to its volume or velocity (changes
occur to quickly), but you'll want to analyze this data to look for exceptions, as
aggregates, as they occur in "real time."

Together, advanced analytics provides a robust and complete analytical platform.


The whole scope of capabilities is clearly more than the sum of its parts.
In this chapter, we'll introduce the advanced analytics capabilities of the SAP HANA
platform to provide a brief but comprehensive overview of the different technolo-
gies, the problems (or challenges, if you prefer) the platform solves, how it works,
where to find more information, and how you can try it out for yourself.

214
5.1 Roles and Tools

5.1 Roles and Tools


What are the responsibilities of the SAP HANA data scientist, and what tools are avail-
able to do the job? In this section, we'll introduce you to the data scientist persona.

5.1.1 The SAP HANA Data Scientist


Had vve written this book several years ago. we certainly wouldn't have used the term
"data scientist" for the persona in this ch apter; we probably would have used
"(advanced) analyst" instead. Data science, however, resonates well in the industry
now (even tending towards overuse, as in the term data science citizen to describe
someone who uses data science tools without understanding the math), so we'll
gladly align.
Although actual data scientist's job role descriptions diverge widely, if we take a step
back and look at the function, most would agree that data science requires a combi-
nation of mathematics (statistics), computer science, and domain expertise. Data sci-
ence has its roots in the well-established fields of predictive analytics, statistics, and
data mining. However, as we've seen, data science encompasses a somewhat broader
scope. The goal has not changed: extracting knowledge from data. But today, a suc-
cessful data scientist needs to build expertise in other analytical dimensions as well
and include all sorts of unstructured data, events streams, and graph and spatial pro-
cessing. A key strength of the SAP HANA platform is that it enables data scientists to
perform all of these different types of analytics in a single environment on a single
data copy using a single set of tools.

5.1.2 Tools
You don't need to learn new tools to use the advanced analytics functionality of the
SAP HANA platform. Whether working with External Mach ine Learning (EML) or t he
PAL, whether vvorking with spatial data types, series data, or graph models, you would
interact vvith the data using SQL (see Chapter 4, Section 4.2) since everything is pro-
cessed first inside the SAP HANA database using SQL statements.
How this interaction with your data is implemented technically d iffers. To execute
PAL application functions, for example, wrappers are used. Wrappers add a bit of SQL
code around the actual application function, which makes it possible to send it to the

215
5 Advanced Analytics

database even though the actual processing will be delegated to a different engine.
Spatial and series data have specific data types and methods you can call. You'll have
to consult the relevant developer and reference guides to find out exactly how this
works (which may be a steep learning curve), but at least you won't have to learn new
tools.

Code Clinic
For example, for specific processing data types, Listing 5.1 shows the CREATE TABLE
syntax for a series data t able. The st atement resembles t he syntax for creat ing a reg-
ular table, except for the SERIES descriptor. In this descriptor, you'll define the prop-
erties for series data: SERIES KEY, NOT EQUIDISTANT, MINVALUE, MAXVALUE, and PERIOD
FOR SERIES. See Section 5.5 for information on how this code works.
CREATE TABLE ExampleStockTrades (ticker_symbol CHAR(S) ,
trade_ti me TIMESTAMP, price DECIMAL(l0,2) , volume INTEGER)
SERIES (SERI ES KEY(ticker_symbol) NOT EQUIDISTANT MINVALUE ' 2020-01-01'
MAXVALUE ' 2021-01-01' PERIOD FOR SERIES(trade_time) );
Listing 5.1 Create Series Data Table

To execute SQL and view the result set, you'll use the SQL prompt of the database
explorer in SAP HANA. You can access this tool from the SAP HANA cockpit or inte-
grated into the SAP Web IDE for SAP HANA. Alternatively, if you prefer a local client,
you can use the SQL console in the SAP HANA studio.
The PAL works with input tables, parameter tables, and output tables. To make PAL
easier to work with, you can use the Application Function Modeler (AFM) in SAP
HANA. As shown in Figure 5.1, in the AFM, you can add PAL functions to a flowgraph
and specify the parameters and input/output (I/O) tables to generate a procedure
without having to write any SQL code. You can execute the procedure for the result of
the function and save the generated SQLScript code for a next time, which is quite
convenient. The AFM is available both in the SAP Web IDE for SAP HANA and in SAP
HANA studio.
Similarly, when interacting v,rith the graph database, you'll find the graph workspace
viewer a welcome addition, since this tool can instantly show you how the relations
(or in math theory terms, the nodes and edges) are defined (see Section 5.4). The graph

216
5.1 Roles and Tools

workspace viewer is inclu ded in the SAP Web IDE for SAP HANA bu t not available for
the SAP HANA studio. As mentioned elsewhere, the SAP HANA studio tool is no lon-
ger un der development and, for this reason, no longer includes the latest enhance-
ments and functionalities. Apart from the graph workspace viewer and the AFM, for
other advanced analytics functionality like series data, spatial or text analytics, all
you need is a SQL interface since all interactions use SQL. Thus, any SQL client will do.

--
XS.A DEV Logou
011t11 Source om T•rvet S..s.lc: om Quality
Oaia Source OaU Target

- 4' <I> 00

® """"'
Date Gonetal!Ot PrOjedion
Cleanse

0.000..

• AFM t-"""1 Row Gen«ew Maleh


fn rm...·~
t•st
.. 0 Ftow Control ........,... fundlonal <C •
,.
®-
ID
""
mt1.y;im1
r±J TmeSorios
.jlen
_.......

-
ca..
HlsioryP~

LOOkup

.... °""''°"
"'-
Preclietive Anatj8f9

~ ·r~ ,_
• ...... """'
10°"'

~
,.... .,_......,

0"1A RfSlilT )

PAAAMCTCRS MOoel. )

Figure 5.1 Pred ictive Ana lytics Flowgraph, SAP Web IDE f or SAP HANA

SAP HANA streaming analytics comes with its own set of tools and even its own SQL-
like Continuous Computation Language (CCL) (see Section 5.7). SAP HANA streaming
analytics is, however, also integrated into the SAP HANA platform, and for monitor-
ing and administration, for example, you can use the SAP HANA cockpit. For design
and development, you can use the SAP Web IDE, but first, you'll need to enable the
functionality, as shown in Figure 5.2. For previous releases of SAP HANA streaming
analytics, this is also available as Eclipse plugin (similar to SAP HANA studio).

217
5 Advanced Ana lytics

CodeChecl< Features

Code Compl<ttion Enable the SAP Web IDE features you want. save. and refresh the browser.
Code Editor

Data Preview

DataStore Default Values


SAP WeblDE Text Analysis Front-End
Features
•·$••>
SAP Web IDE front-end features. which allow for developing,
building and testing Text Al1alysis artifacts

More Information
Keyboard Shortcuts

MDX Console
SAP SE
Modeler

SOL Code Completion

SOL Console
Layout Editor c.:1••>
SOLScript Debugger The layoot editor allows yoo t o edit your application and to
preview tl1c contont of its XML views as they will appear in
Database Explorer the published application.

Mom lnfonnatlon

SAP SE

•+¥·•
Figure 5.2 Enabling Features in the SAP Web IDE for SAP HANA

5.2 Predictive Analytics and Machine Learning

Data analytics and reporting on transactional data can help you understand what has
happened in the past, which provides business intelligence (BI) and allows you to
make informed decisions about how to proceed, which road to take. Predictive ana-
lytics supports this type of business decision-making. By using a range of statistical
techniques, you can start to foretell the future (or predict unknowns in more general
terms). Predictions are based on solid science; you don't have to make "educated
guesses" or rely on "your gut." Instead, predictive analytics can scientifically deter-
mine which product a customer is most likely to buy next or which device may need
to be replaced.

218
5.2 Predictive Analytics and Machine Learning

In this section. we'll provide an overview and introduction to predictive analytics as


used with SAP HANA and cover application functions, the PAL, integration with the R
programming language and with the EML, and automation with Automated Predic-
tive Library (APL).

Technology Background
The science behind predict ive analytics originates from t he research institutions of
la rge corporations and universities. The first models were developed for weather
forecast ing, logistics, and credit rat ings. Some well-known names in t his fiel d like
SPSS (Statistical Package for the Social Sciences) and SAS (Statistical Analysis System)
trace back their roots to academia in the 1960s and 1970s.
After a slow gestation, predictive analytics went mainstream during the Internet
boom of the 1990s, when startups like Amazon and Google built the technology to
personalize online shopping experiences and maximize sea rch result relevance.
Combined w ith big data and the hyperconnectivity of both mobile devices and the
Internet of Things {loT), predictive ana lytics continues to fuel social media likes, rat -
ings and recommendations, bots, and personal assistants like Siri and Alexa.
Arti fici al intelligence (Al) and mach ine learning are closely related to the science
behind predictive ana lytics. Currently, both may suffer from inflated expectations
from th ings like t he Gartner Hype Cycle for emerging technologies and, not surpris-
ingly, may also be under attack by critics who frame predict ive analytics as "glorified
stat istics." Most businesses appear not to agree with the sentiment, and a lot of
investment is directed to this doma in. Who knows? With Al and machine learning,
we may enter the next phase in data analytics, requiring less human intervention,
w ith new use cases and an even wider impact.

Learn More
To learn more about data science in general and SAP Predictive Analytics as product
in particular, you can sign up for t he openSAP course "Getting Started with Data Sci-
ence."
Updated versions may be made available in the future, so be sure you check the
https://open.sap.com/ website regularly. Cou rses for machine lea rn ing with SAP Leo-
nardo are available as well.

219
5 Advanced Analytics

5.2.1 Application Function Library


Predictive analytics performs complex operations on large amounts of data. For per-
fo rmance reasons, code should be executed as close to the data as possible, inside the
database ideally, and not move the data first to an application server. However, for
complex code requirements, using SQL or SQLScript would not be sufficient. The
solution is to use external procedures. On the SAP HANA platform, these external
procedures are called application functions and are written in C++ and then bundled
in an AFL. You can call AFL functions using SQL and within SQLScript. This process is
similar conceptually (although technically the reverse) to the ABAP Managed Data-
base Procedures (AMDP) we encountered in Chapter 4, Section 4.2.3, where we
embedded SQLScript code inside an ABAP procedure.
For financial functions, a dedicated Business Function Library (BFL) is provided to han-
dle business calculations like annual depreciation, days outstanding, internal rate of
return, and present value, plus some other SO functions familiar to the business ana-
lyst. For predictive analytics, the algorithms are bundled in the PAL. To call any of the
BFL or PAL functions, you'll need to install the AFL component and enable the script
server. All AFL objects are created under the _SYS_AF Lschema, and to execute any of
the procedures, you'll need the required AFL roles.

Lea rn More
How to install t he AFL component is documented in t he SAP HANA Server Installation
and Update Guide. For business functions, see the SAP HANA Business Function
Library (BFL) reference. Both guides are available on the SAP Help Portal.

5.2.2 Predictive Analysis Library


The PAL contains well over a hundred algorithms and functions, which are catego-
rized in the following nine different groups:
• Clustering
Clustering algorithms investigate relationships between objects. In the PAL, you'll
find numerous clustering algorithms like affinity propagation, cluster assign-
ment, density-based spatial clustering of applications with noise (DBSCAN), self-
organizing maps, the Gaussian Mixture Model (GMM) and latent Dirichlet alloca-
tion (LDA), K-means, K-medians, and K-medoids. (We'll return to K-means in Chap-
ter 6, Section 6.3.2, when we describe "knowing without seeing" with real-time data
anonymization.)

220
5.2 Predict ive Ana lytics and Machine Learning

• Classification
Classification algorithms investigate how new objects relate to the properties of
existing ones. In this group, you'll find classification algorithms like area under
curve (AUC), conditional random field, (random) decision trees, the confusion
matrix (try it out, it really helps), K·nearest neighbors (KNN) classification, naive
Bayes, support vector machines, and more.
• Regression
Regression algorithms investigate the relationship between different variables. In
the PAL, you'll find regression algorithms like bivariate geometric and bivariate
natural, cox proportional, exponential, multiple linear, and polynomial regression
algorithms plus generalized linear models.
• Association
Association algorithms identify patterns of association within the data and
include apriori, FP-growth, sequential pattern matching, and K-optimal rule dis-
covery (KORD).
• Time series
The largest group of algorithms in the PAL, time series algorithms predict based on
time stamp values. This group includes algorithms like ARIMA; exponential
smoothing (single, double, and triple, auto and Brown); seasonality/trend/white
noise tests; Croston's method; and the fast Fourier transform, to name the most
common ones.
• Preprocessing
Preprocessing algorithms prepare your business data for predictive analysis, for
example, with discretize, multidimensional scaling, missing value handling, prin-
cipal component analysis, and random distribution sampling.
• Statistics
Statistics algorithms group together common statistical methods, which don't
belong in any of the other group, for example, Anova, Chi-square goodness-of-fit
test, entropy, Grubbs' text, Kaplan-Meier survival analysis, and many more.
• Social network analysis
Social network analysis groups together algorithms that link prediction and page
rank for social network analysis.
• Recommender systems
Recommender systems groups together algorithms that investigate and predict
user preferences to generate personalized recommendations. In this group, you'll

221
5 Advanced Analytics

find algorithms like alternating least squares, factorized polynomial regression


models, and the field-aware factorization machine.
• Miscellaneous
Miscellaneous algorithms include ABC analysis, weighted score tables, and T-
distributed stochastic neighbor embedding.

Which algorithm in the PAL to select is based on what is required by SAP applications
and what is most commonly used. By simply referencing the PAL functio n in your
application code, you can run complex algorithms on large datasets in-memory.

Learn More
For t he documentat ion, see the SAP HANA Predictive Analysis Library {PAL) on t he SAP
Help Portal for the SAP HANA platform.

Tutorials
For a good underst anding how to work with PAL, check out the tut orial series on t he
Developer Center "Learn to Use the SAP HANA Predictive Analytics Library (PAL)." A
search on the term "PAL" will also return many hits.
For hands-on tutorials videos, see the Predictive Analysis Library playlist on the SAP
HANA Academy YouTube channel.

5.2.3 R Integration
Although the PAL contains well over a hundred different algorithms to address the
most common business requirements (at least for SAP applications), you're bound to
come across scenarios that require algorithms not covered in the library. For these
cases, SAP HANA provides R integration. The way R integration works is similar to
how business functions (from the BFL) and application functions (from the AFL) are
executed, that is, by embedding code inside SQL, in this case, R code. This integration
enables you to include R in an SAP HANA calculation view, for example, to execute a
custom statistical function. The SQL will be processed by the database engine, with
the execution of the R code delegated to the R server.

222
5.2 Predictive Analytics and Machine Learning

Technology Background
Like predictive analytics, the R Project for Statistical Computing finds its roots in the
world of big firm research inst itutes (Bell Labs) and universit ies (Auckland) wit h a
first release in 1993. Ris open source, freely available, and qu ite popular among stat-
ist icians, data miners, and data scientists. Over 13,000 packages are available in the
(very) comprehensive Rarchive network at http://s-prs.co/v488424.

The R server is not included with SAP HANA (nor does SAP provide R support). To use
R, you'll need to install and configure Ron a separate environment. As a result, you'll
also need to transfer data to the R environment, thus losing the benefits from single
data copy, in-memory, in-database processing. For t he best performance, SAP HANA
can present the data in the format required by R (vector-oriented) and not the format
used when processed in the database (tuple-based).

Code Clinic
In t he code sample shown in Listing 5.2, from the t utorial series on t he SAP Developer
Center "Machine Learning in a Box: Set Up Your SAP HANA, express edition System
for Machine Learning," a SQLScript procedure specifies RLANGas language. The code
between BEGIN and END is R. You can then call t he procedure and query t he result set
from a regular table.
CREATE PROCEDURE LOAD_IRIS(OUT i ris "IRIS")
LANGUAGE RLANG AS
BEGIN
library(datasets)
data(iris)
i r is <- cbind(ir i s )
END·,
Listing 5.2 RLANG SQLScript Procedure

As shown in Figure 5.3, the application sends SQL with R code embedded to the SAP
HANA database. R is extracted and presented to the R operator. The R client of the cal-
culation engine issues a request to the Rserve process on the R server for an execu-
tion environment (runtime). The R client transfers code and input tables to the R
process fo r execution. The resulting data frame is returned to the calculation engine,
which converts this information into a result set. As you can see, R is well integrated

223
5 Advanced Analytics

with the SAP HANA platform, with the R client built into the calculation engine. For R
integration, the platform goes beyond only including the R ODBC driver.

Application

SAP HANA R Server

SQL Interface RServe


f
Calculation Engine

R Client

t
Tables data.frame

Figure 5.3 SAP HANA R Integration Technical Architecture

All communication \vith the R host can be encrypted with Transport Layer Security
(TLS) (see Chapter 6, Section 6.3.3). To work with R, the CREATE R SCRI PT privilege is
required.

Learn More
For the documentation, see the SAP HANA R Integration Guide on the SAP Help Portal
for the SAP HANA Platform.

Tutorials
To get hands-on, you can try out the tutorial on the SAP Developer Center "Configure
the SAP HANA R Integration with SAP HANA, express edition."
For tutorial videos, see t he R Integration for SAP HANA playlist on the SAP HANA
Academy YouTube channel.

224
5.2 Predictive Ana lytics and Machine Learning

5.2.4 External Machine Learning Library


With the EML library, you can integrate TensorFlow with SAP HANA. Like R, Tensor-
Flow is an open source machine learning framework. and it was originally developed
by Google. EML is included in the AFL component but requires installation and a run-
ning script server. EML was added to the AFL in SAP HANA 2.0 SPS 02.
Tensors are mathematical objects; as a programmer. you can think of them as an n-
dimensional array. In one dimension, they are called vectors; in two dimensions, a
matrix. However, more dimensions can be used, like 30 tensors (often used for time
series, medical scans, stock prices, text data), 40 tensors for images, SD for videos, and
so on. By performing calculations on these Tensor objects (not exactly entry-level
math), you can change the tensor, or to use the math lingo, you can make themjlow
(hence the name). In practice, TensorFlow is used for voice/sound/image recognition,
recommendations, automatic translation, fraud detection, fake news detection, and
sentiment analysis, to name just some common applications.
As shown in Figure 5.4. the EML AFL contains a TensorFlow ModelServer (Tl'v\S) client
that connects to a TMS using gRPC, a specific (Google) implementation of a remote
procedure call {RPC), the traditional interface for remote execution. Conceptually,
the implementation is similar to R integration although technically works quite dif-
ferently.

Application Tensorflow Model Server TMS)


Tensorflow ModelServer TMS)
TensorFlow ModelServer (TMS)

SAP HANA

SQL Interface

1
AFL Framework

gRPC Server
TMS Client

CloudHook Client
CloudHook Server Model Persistence

I External Services I
Tables
I gRPC Server I
Figure 5.4 SAP HANA EML AFL Technical Architecture

225
5 Advanced Ana lytics

With CloudHook functions. external services can be integrated using SQLScript from
the SAP Data Hub, for example, or external third-party cloud providers. This integra-
tion is controlled by the CloudHook server, which can also connect to TensorFlow
SavedModels using gRPC.
The code snippet shown in Figure 5.5 illustrates how the implementation is similar to
PAL, with two input tables for data and parameters and one output table for results.

0 Pu1i requests Issues Marketplace Explore a. + .. fii ..

Cl saphanaacademy I EML

<> Code Issues 3 ~ Pull requests o Proiec•s o Wiki I Insights O Settings

ei-anct1. ma,tH... EML / Code Snippets / EML 13 Score Multiple Digits.sq!

Fetetiin g contributors...

41 lines (Jl iloc) t.H !Ct

•• <l•;w\ up
OllOP T'W£ "J_ PAAN"IS";
OJIOP TYPE "J_W!TA";
I
4 OROP n1"f_ "1_ Rt.SUl1S" ;
OJIOP TAil( "SIGNATI.ltl";

OltOf' TAIL( "ltfSUlTS";


CAl.l ·svs·. "Allc..w$_WIW'Pfl.JltO((OUlll_OllOf'" c'OtlUSf•' . ' SCOl'IJ>lGITS. );

• • 1-ciort ...1s1 t.Olt

•• <Nt• t• tab le iyp.s


Clt(AT( 1VPE " T_f'AllMS" AS TAILE ("f>ar. . ter" \IAAOIAA( t • ), 9Val11t" VAJICIWl ( 1ee));
CltfAT( lVPf " T_DATA" A.S TA.Ill ("llbtl" TWTFGE•, "taa,.· ai.oe);
C11£ATE lYPE · r_aESULTS" AS TASlE ( "llbtl" lHTt<iEll, "Classt• VARCHAA ( t ee), ·c1ass2· v.uotAA( 199), "ClassJ" VAAOWt( let), · c1. ,s4- VAAOW1:( 18'

• cre.-te sS.cn•ture t..,le t.htl'I 1-r•te stored proctdure


CRlAlE COlt.fllt lAllll ·s1GHAT0Rt" ("POSlllON" IHlfGER, "SCMEM_llME" WAAOIAA( 2S6), "fVPf_ li.W" N\l'UOWl:(2% ), "PAIWlf1ER_ lYPf" VUCIWl( 7));
JHSl•T IH10 "SIGllAMl" VA.lUlS ( 1, 'DllUS!l' , 'T_PAAMS', 'IH' );
111Sl•1 INlO "SIGllAl\llll" VM.U(S ( 2 , 'lMUJSER' , 'l_MlA' , ' L'I'');
lHSl•t lHTO "SIGllAT\IRl" VM.UlS ( ) , '("lUS(R' , 'l- llSUllS", 'OUT');
~l "SYS • • • Alll.NIG_MIW'PlRJf'IO(.lOUlf_CR(Alf. ( •Oil. • •"-COl(l". • • VllUSlR. • •scoo_otGI rs.. "SIGJMME.);

·· <l'tate t•bles
(RU.1( l ...l ( "'AMltS• t..llt( "T_,MNtS";
(,l(AT( T...l ( " At$1A.T$ " LJ~( "t_R($Ul1$";

• • par• s

IJISl•1 INlO "PARAl'S" VALUES (·"°6et' . · ~1st•); •• .wld•tory: .odtl ,._ (09ttonal: slpiatu,.. f l - )
••INSERT 11(1'0 "f'ARNtS" VALUES ('Ort.telllne' •• , .... , ; •• optional: . . . •lllls.ec:Ol"lds to . . tt

•• scorlnc : rtsults tnltiw


~l "SC01tf_o1,11s· ("PARNtS". "IWlST". 1);

•• '-COl"h11 : rt'-Ult,_ in ta«>lt


TRl#CAT( TAall "l(SUlTS";
~l "SCOll:(J>I,ITS" ("'AAW", "IW'IST", "llSUlTS") WITH O\llM(W;
SEltCT • ffl:Cll!, "lESULTS";

Figure 5.5 EML Code Sn ippets for t he SAP HANA Academy Tutorial

226
5.2 Predictive Analytics and Machine Learning

You 'll first need to create the procedure wrapper with a call to SYS.AFLLANG_WRAPPER_
PROCEDURE_CREATE, after which you can call the external procedure just as you would
call a regular procedure or function.

Learn More
Getting started, deploying models, and Cloud Hook are documented in the SAP HANA
External Machine Learning Library {EML} gu ide for t he SAP HANA platform on t he SAP
Help Portal.
For more information about TensorFlow, see http://s-prs.co/v488425.

Tutorials
If you want to try out EML for yourself, check out t he t utorial series on the SAP Deve-
loper Center: "Discover SAP HANA External Machine Learning Library (aka Google
TensorFlow integration)."
For hands-on tutorials videos see the SAP HANA External Machine Learning Library
playlist on the SAP HANA Academy YouTube channel.

5.2.5 Automated Predictive Library

The APL is another AFL used to execute external procedures inside the SAP HANA
database. The APL contains similar models as found in the PAL (see Section 5.2.2) like
classification, regression, segmentation, and ti me series. The difference is that the
APL performs database processing for another product, SAP Predictive Analytics, as
shov,rn in Figure 5.6. v\lhereas PAL, R, and EML all focus on the data scientist, the APL
performs calculations for business users using SAP Predictive Analytics. The technol-
ogy integrates with other SAP business applications like SAP S/4HANA.

Technology Background
SAP Predictive Analytics integrates KXEN lnfinitelnsight technology. Short for
"Knowledge extraction ENgines", KXEN was founded in Paris in 1998, later headquar-
tered in t he US, and branded itself t he "Data Mining Automation Company." SAP
acquired KXEN in 2013. lnfinitel nsight t echnology automates variable selection, data
preparation, model fitting, model testing, and model deployment, greatly reducing
the t ime required for data modeling and t hus ena bling business users to engage in
data mining.

227
5 Advanced Analytics

f_i ~AP Pre-d!Cl ive An.:ilyhc '®


E1le l::lelP

Jlata Manager

Automated Analytics Welcome to


Modeler
SAP Predictive Analytics®
.S.ocial

Recommendation

Expert Analytics
Create a Classlflcatlon!Regresslon Model
Ioolkit
Create a Clustering Model
Create a Time Serles Analysis
Create Association Rules
Load a Model

Figure 5.6 SAP Predictive Analytics

Learn More
For documentation related specifically to integration with SAP HANA, see the SAP
HANA Automated Predictive Library Reference guide for the SAP HANA platform on
the SAP Help Portal. For the product itself, see the SAP Predictive Analytics topic on
the SAP Help Portal or visit the SAP Predictive Analytics area on SAP Community for
the roadmap, solution briefs, e-books, and much more.

5.3 Spatial Data Processing

SAP HANA spatial services enables you to process, model, and analyze geographic
data. The platform includes a separate engine for spatial data processing and sup-
ports spatial columns (data types), spatial access methods, and spatial reference sys-
tems, effectively adding a complete geographic information system (GIS) to the
platform while providing a common database for both business and spatial data.
Spatial (also often called geospatial) data describes the position, shape, and orien-
tation of objects. You can store this information in the SAP HANA database as

228
5.3 Spatial Data Processing

geographic locations, routing information. or as shape data and use it, for exam-
ple, to calculate distances or to determine where points intersect. To interact with
spatial data, you'll use SQL with special spatial data types and an extensive list of
spatial methods. For those fami liar with SQL but new to spatial technologies, the
learning curve might be a little steep.

Code Clinic
As shown in Listing 5.3, from t he SAP HANA Spatial Reference on t he SAP Help Portal,
you ca n create a spatial shape's table and insert points, line st rings, shapes, polygons,
and multi-points.
CREATE COLUMN TABLE Spat ialShapes (ShapeID int eger, shape ST_GEOMETRY) ;
INSERT INTO Spatial Shapes VALUES(l, NEW ST_Point( ' Point (2 . S 3.0) ' )) ;
INSERT INTO SpatialShapes VALUES(6 , NEW ST_
LineString( ' LineString(3 .0 3.0, 5.0 4.0, 6.0 3.0) ' ) );
INSERT INTO SpatialShapes VALUES(l l , NE~J ST
Polygon('Pol ygon ((6 .0 7.0, 10.0 3.0, 10.0 10.0, 6.0 7.0))' ) ) ;
INSERT INTO Spati al Shapes VALUES(l6, NE~J ST_
MultiPoi nt ( 'Mul t i Point( (0 1) , (2 2) , (5 3) , (7 2) , (9 3) , (8 4), (6 6) ,
(6 9) , (4 9), (1 5) ) ' )) ;
Listing 5.3 SAP HANA Spatial Data Types

The different spatial data types are shown in Figure 5.7. All spatial data types (ST) are
of type ST_Geometry. which are either points, line strings, circular strings, or polygons,
or a collection of points, strings, or polygons. To manipulate spatial data, methods
and constructors are used. similar to programming but not to SQL.

IST_Point
ST_LineString

ST MultiPoint

ST_GeometryCollection IE----l ST_MultilineString

ST_CircularString ST_ Multi Polygon

Figure 5.7 Hierarchy of Spatial Data Type (ST)

229
5 Advanced Analytics

The spatial data types have well over a hundred associated methods, which enable
you to perform the follo\ving calculations:
• Calculate object measurements (distances, surfaces. volumes)
• Determine object relationships (intersects. contains)
• Determine object attributes (number of points)
• Construct geospatial data from text information (addresses)
• Create completely new geospatial objects

To visualize the content, you can use the map content and map client provided by
HERE (a company t hat also provides mapping services to Bing. Facebook. and Yahoo
Maps). Figure 5.8 shows the 30 polygons and 5,638 coordinates required to display the
Canadian province of Quebec.

DliitlC•Y lnt 1>1


Total Number~~ 30 ~~~ICl:DJJ
Total Nu"'ber d Cooi'd-..1 . SG)8
c -...1 btfo• ~--~_.e=I
Not"'o~
' • Nnp to pdrgon • o..... "'IQ

.t


·'"
I


0Mol~\ff
...,
---- 1Chicaigo
™~"""
~
' ·y.
·.it lrrldl"'!.tpolis
""'
.,.Cot11f}'lbl.IS
"
,.,.,. •HrWYOtk
'l>h1i <Mtetphia
. crndnn.t.1
Stt~ ·""""""'91nr1

, MIO l M ,

Figure 5.8 HERE Maps with Spatial Client Content Viewer

230
5.3 Spatial Data Processing

HERE and other mapping companies like TomTom also provide geocoding services.
You can use these services to convert address information into geographic locations.
Thus, you can use this type of business data for analysis. SAP HANA smart data qual-
ity (SDQ) also provides geocoding information for use with SAP HANA spatial ser-
vices. Geocoding uses the index type GEOCODE, which is similar to the FULL TEXT index
used in text analytics (see Section 5.6).
For spatial clustering, you can use several algorithms, some of which we already
encountered with predictive analytics in Section 5.2, such as the following:
• Grid
Provides an easy but way to group data points, •vhich may be useful to create first
impressions.
• Hexagon
Creates a honeycomb-like shape around data points.
• K-means
With this clustering algorithm, you can map more complex data point collections.
• DBSCAN
Like K-means clustering but more suited for non-spherical clusters.

Spatial clustering enables you to analyze store profitability or device failure due to
geographic circumstances (too hot, too cold, or too humid). Figure 5.9. shows some
sample SQL to perform spatial clustering using the grid, K-means, and DBSCAN algo-
rithms on a set of geospatial points.

Learn More
To learn more about spat ial, you can sign up for t he openSAPcourse "Spatial Analysis
with SAP HANA Platform." For t he documentation, see the SAP HANA Spatial Refer-
ence for the SAP HANA platform on the SAP Help Portal.

Tutoria ls
To t ry out spatial for yourself on the free SAP HANA, express edition, check out this
tutorial on t he SAP Developer Center: "Int roduction to SAP HANA Spat ial Dat a
Types."
For more hands-on t utorials, see the videos in the SAP HANA Spatial playlist on the
SAP HANAAcademy YouTube channel.

231
5 Advanced Analytics

O· .
D HOB - exetclses_fln.al.sql ~
6
'le q) HOB (HSGS_USER) [Production System] 34.76.102.6500

lilkSQl.I
, .............................................****••••••****'
- GRID clustering
~ The basic syntax for a 18xl8 grid:
SELECT S T_CLUSTERID() AS "CI D" ,
ST_CLUSTERENVELOPE( ) . ST_Trans form( 4326) . ST_asGeoJSON() AS "Envelope" ,
ST_CLUSTERENVELOPE( ) . ST_CEHTROIO(). ST_Transfora(4326) . ST_asGeoJS<J< () AS "C•ntroid" .
COUNT (*) AS "Number of Awardees in this cluster..
FROlt "HSGS" . "AWAROEE" AS A
GROUP CLUSTER BY A. "LOC_l857" USING GRIO X CELLS 19 Y CELLS 10
ORDER av "CID" A.SC;
- Note that the cluster 10 (Cit);&) contains awardees which could not be located
- The same CiAID clustering, now with additional aggregations (e.g. St.11(AH0l.llT)), using the AWAfW and the AWAROEf table
SELECT S T_CLUSTERI O() AS "CI D" ,
ST_CLUSTERENVELOPE(). ST_Transfora(4326). ST_asGeoJSON () AS "Envelope" ,
ST_CLUSTERENVELOPE () . ST_ CENTROID( ) . ST_Trans form(4326) . ST_asGeoJSON( ) AS "C•ntroid" ,
- aggregations
COUNT( DlSTlNCT A. "IO" ) AS "Number of Awardccs" ,
COUNT( DISTINCT P. "IO" ) AS "Number o f Awards" ,
SUM( "AltOl.NT" ) AS "SLll_AMOt.NT" ,
TO_OECIMAL( AVG( "AltOlNT" ).8,2) AS "AVG_AllOlNT"
FROM "HSGS" . "AWARD'' AS P, "HSGS" . '"AWAROEE" AS A
WHERE A. "IO" = P. "AWAROEE_IO"
GROUP CLUSTER BY A. "LOC_l857" USING GRIO X CELLS 19 Y CELLS 10
ORDER BY "CID" ASC;

/~*#..W.• •••• ·***"~~***·~****' ........../


-- KMEANS clustering
- l<>IE~S requires the number of clusters as input parameter
SELECT ST_CLUSTERIO() AS "CID" ,
ST_CLUSTERCENTROID( I. ST_Trans form( 4326) . ST_asGeoJSON() AS "Cent ro!d" ,
ST_CONVEXHULLAGGR(A. "LOC_l857" ) . ST_Trans fo r m( 4326 1. ST_asGeoJSON( I AS "ConvcxHull" ,
COUNT (*) AS "COU"
FROM"HSGS'• . "AWAROEE" AS A
GROUP CLUSTER BY A. "LOC_3857" USING I01EANS CLUSTERS 10 ;

'********** ............. , .1::4 •****-*****************~-***/


-- DBSCAN clustering
- for DBSCAN, you define ••neighborhood radius" (EPS) and the "minau• number of data points•• (HINPTS)
SELECT ST_CLUSTERIO() AS "CI D" , COUNT( • ) AS "COU"
FROM"HSGS'• . "AWAROEE" AS A
GROUP CLUSTER BY A. "LOC_3857" USING D8SCAN EPS 1000 HINPTS 8

e Writable Smart risert 520 : 32

Figure 5.9 Combining Grid, K-Means, and DBSCAN Clustering wit h Spatial

5.4 Graph Data Processing


Although the R in RDBMS stands for relational, RDBMSs are in fact not all that good
for managing relations beyond the primary key-foreign key type. The SALES_ORDERS
table might include an order_id primary key and customer_i d foreign key to define
the relation bet\1'1een the ORDER_DETAILS and CUSTOMERS tables. However. pushing the
analysis further will require excruciating and error-prone SQL to use the database to
determine fully ho'"' customers and orders are related and to make discoveries of
type "customers who bought this also bought that". To address this limitation, dedi-
cated graph databases have emerged to handle the storage and retrieval of complex

232
5.4 Graph Data Processing

hierarchical structures. Linkedln connections and Facebook friends are well-known


examples, but graph database use cases can also be found in fraud detection, recom-
mendation engines, compliance, and asset management. Graph databases, typically,
are NoSQL databases, and to access the data, proprietary languages or application
programming interfaces (AP!s) are used.
The SAP HANA platform includes a graph engine that allows you to execute graph
operations on the data stored in the database. Again, like with spatial processing, pre-
dictive analytics, or any of the other advanced analytics, no separate datastore is
needed.
A graph database v.rorks with edge and vertex tables in the context of a graph work-
space. (The terminology comes from graph theory in math.) To access and interact
with graph data on the SAP HANA platform, you'll use GraphScript, vvhich works sim-
ilar to SQLScript.

Code Cl inic
As shown in Listing 5.4, from t he tutorial "Get Started with SAP HANA Graph" on t he
SAP Developer Cent er, you'll see t he language defined as GRAPH; the GRAPH, VERTEX,
and MUL TISET objects; and t he Neighbors, minDepth, and maxDepth fu nctions used.
CREATE OR REPLACE PROCEDURE "NHOOD"(
IN startV INTEGER,
IN minDepth INTEGER,
IN maxDepth INTEGER ,
OUT res "TT_NODES")
LANGUAGE GRAPH READS SOL DATA AS
BEGIN
GRAPH g = Graph("SKIING");
VERTEX v_s = Vertex(:g, :startV) ;
MULTISET<VERTEX> ms_n = Neighbors( :g, :v_s , :minDepth, :maxDepth);
res = SELECT :v. "node_id ", :v. "name" FOREACH v IN :ms_n;
END ·
'
Listing 5.4 Using Graph in SQLScript

GraphScript allows you to define complex graph algorithms. Some of the available
built-in graph functions include the following:
• VERTEX: Constructs a vertex from a graph. A vertex is a place where points meet
(also called nodes or just plain points).

233
5 Advanced Analytics

• EDGE : Constructs an edge from a graph. Edges connect vertices (also called links or
lines).
• SHORTEST_PATH: Calculates a shortest path from start to target vertex.
• NEIGHBORS: Returns all reachable vertices from a start vertex (or set of vertices) in a
given distance range.
• GRAPH: Constructs a graph from a graph workspace.

Besides GraphScript, SAP HANA graph also supports a subset of the industry standard
openCypher graph query language for pattern matching, which enables you to define
more complex conditions to find the right edge in a forest of vertices.
To visualize graph models, the database explorer in SAP HANA includes the graph
workspace viewer, shown in Figure 5.10. This example screen from an SAP HANA
Academy tutorial shows how airports and flights are related.

,.. + C lr~frwwel09 '1111* • T~.~l'llghb "

• rJHXt....,_<~>
.. n r.....ioe~
~.; »a v. <> ©
i\ Pubie~
-, 120 ~ si-tt ... .,,,
~ .,.._-

120

..........
·-
,,.,.._
CI R...-~-·

c--
:;i -
r-..
i'!!

g ,.,..
::;._.
11!!-
COG
~

$FO

-- +
- f9

Figure 5.10 Graph Workspace Viewer in the SAP Web IDE for SAP HANA

234
5.5 Series Data Processing

Learn More
To learn more about graph, you can sign up fo r the openSAP course "Analyzing Con-
nected Data with SAP HANA Graph." For the documentation, see t he SAP HANA
Graph Reference for the SAP HANA platform on the SAP Help Portal.

Tutorials
To t ry out spatial for yourself, take a look at the tutorial "Get Started with SAP HANA
Graph" on the SAP Developer Center. For hands-on video tutoria ls, see the SAP HANA
Graph playlist on the SAP HANA Academy YouTube channel.

5.5 Series Data Processing


Although relational databases can store data that comes in (quasi-)regular intervals
(stocks, prices, measures from IoT devices), they're not particularly good at it. To pro-
cess series data effectively, you typically needs to resort to an external program or to
an application function. However, with the SAP HANA platform, using external tech-
nology is not required for this use case because SAP HANA can process series data
natively. Further, because series data is a built-in functionality in SAP HANA, you can
also leverage the other capabilities of the in-memory platform and combine series
data with graph or spatial data.
You can use series data, for example, in the following scenarios to detect and forecast
trends:
• Price fluctuations
• Seasonal patterns
• Machine efficiency
• Energy consumption
• Network flow

Series data is stored with high compression, saving lots of memory. As shown in Lis-
ting 5.1, a series table is just like a regular table but with additional properties defined.
Using special scalar functions like SERIES_PERIOD_TO_ ELEMENT and SERIES_ELEMENT_TO_
PERIODmakes analyzing the data easier. With the SERIES_GENERATE function, you can
generate a dataset for testing.

235
5 Advanced Analytics

Code Clinic
The following code sample, from the SAP HANA Series Data Developer Guide on the
SAP Help Portal, shows the SERIES_PERIOD_TO_ELEMENT function in action. The code
queries the database for the day in a date range. The result will be July the 14th.
SELECT SERI ES_PERIOD_TO_ELEMENT( '2019-07-14 12 :00 :00 ', ' INTERVAL 1 DAY ',
' 2019-01-01', ' 2019- 12 -31' , ROUND_HALF_DOWN) FROM DUMMY;

You can aggregate data in one of two ways:


• Vertical aggregation allows you to combine data from multiple series tables, as
shown in Figure 5.11.
• Horizontal aggregation allows you to transform an equidistant series from a finer
to a coarser interval (and vice versa, with disaggregation).

Series Data..sql x SOt. Console 2.sq1 x SOLC~e 3.sql x

® '
99 • wtTM Mt AS (
let SCLlO SfNSCllll,
181 SCRltS_~(Tli.£11 , 'tlfltl!VAL 1 HOl.M' , ltl()l.N)_oewt) A$ T!M(lt_MOUfl,

..
182 R.EADING
1eJ •liO!t SClll(SJM.TA.MOIIKt'_RfM>INGS
, )
1es SlLlCT
1N . . . S{NSO.,
187 Mt. TIN'lt_ HCUR,
181 A'IG(l'ftll ...tAOJJIG) AS llU.OlMi.,AYG.,.ttOI.*,
189 IWC(IU. Tt..r>fbTIA'tE) AS 104PtU.ME
119 f - Mt, SlltlES_OATA . MO«l NE_TfMPflUTI.«E l'(f
111 llt4Cl( .wt. SlNSOA • l'llll:tl. SOISCa
112

,..
tl l
MG ~ . TDll.~i'OJR • llT.T1"lll
~ 1Y Mt . SENSOll., MM . TlMER_HOUll:; I I
us

Rows (743) () SOL .!. C :Bl


SENSOR TIMERJiOUR READING_AVG_HOUR TEMPEAAT\JRE
1 MACHINE_! 2018-01-01 00:00:00.000000000 29.97 33.70
2 MACHINE_! 2018-01-01 01:00:00.000000000 29.45 34.40
3 MACHINE_! 201e..o1-01 02:00:00.000000000 30.06 32.20
4 MACHINE_l 2018-01-01 03:00:00.000000000 29.78 32.20
5 MACHINE_l 2018-01-01 04!00:00.000000000 29.96 32.79

Figure 5.11 Vertical Aggregation on Series Data

236
5.6 Text Analytics and Sea rch

Learn More
For the docu ment ation, see the SAP HANA Series Data Developer Guide for the SAP
HANA platform on the SAP Help Portal.

Tutoria ls
For hands-on tutoria ls, see the videos in the SAP HANA Series playlist on the SAP
HANA Academy YouTube channel.

5.6 Text Analytics and Search

Google the question "How much data is unstructured?" and the answer you'll get is
80%, 90%, or more. Unstructured data can be anything, from sensor data and surveil-
lance videos to Facebook posts. Businesses collect massive amounts of it: operational
systems, support systems, call centers logging, patents, Excel sheets, emails, Twitter,
PDFs, PowerPoints, more Excel sheets, and so on. A substantial amount of this
unstructured data is textual data.
Typically, only structured data is stored in databases, so only structured data makes
its way into our reports, analysis, and business decision-making, and 80% to 90% is
not. What if you could also use unst ructured data for this purpose? The potential use
cases are many: customer brand experience, marketing campaign effectiveness,
operational insights in equipment failure, or drug therapy side effects.
Search, text analysis, and text mining are all interrelated technologies that we'll
describe in this section. The technology itself is not ne'"· far from it, and does not
depend on in-memory processing. For example, you'll find text data processing in
SAP Data Services. However, also integrated into the SAP HANA platform, you can use
text analytics to unlock unstructured data for search, categorization, and analysis.
Stored inside the SAP HANA database, you can join unstructured to structured data
for use in predictive analytics, machine learning, or any of the other platform tech-
nologies.

237
5 Advanced Analytics

Technology Background
The origins of t ext analytics and SAP HANA text analysis go back to the fi nite-state
technology used to model natura l languages, called natural language processing
(NLP), which was developed at Xerox's Palo Alto Research Center (PARC), w hich also
brought us t he computer mouse, ethernet, laser printers, the GUI, and what-you -see-
is-what-you-get (WYSIWYG). In 1997, lnXight was founded to commercialize the
finite -state NLP technology, with success, as the company was acquired by Business
Objects in 2007 to strengthen its portfolio of business intelligence applications. After
another acquisition round in 2008, th is time by SAP, the technology fou nd its way
into the SAP HANA platform and other SAP products.

5.6.1 Search

Any database allows you to perform a standard string search with the LI KE operator
with %and _ as wildcards. If you know what you're looking for and provide exactly the
right keyword and make no typos, the right results might be returned, but this string
search is a far cry from your average Google search where you can enter roughly what
you're looking for and expect a fast and accurate response.
SAP HANA search works more like an Internet search, although some preprocessing
will be required. You need to create a full-text index on a table column using SQL (see
Chapter 2, Section 2.2) or CDS annotations (see Chapter 4, Section 4.5), which have
similar syntax.
The creation of this index is delegated to the preprocessor process that converts any
binary document format (like PDF) into text ; optionally identifies the language (the
latest SPS 04 added support for 66 additional languages, bringing the total number of
recognized languages to 99); and then performs tokenization and stemming. Exactly
what happens in this phase will depend on the language, but tokenization decom-
poses a word sequence into isolated tokens (magnifying+glasses), which can then be
normalized to t he linguistic base form (magnify+glass). Stemming reduces inflected
words to the stem, base, or root form (consultant. consultants, consulting, and con-
sultancy all have the stem consult). The resulting full-text index is attached to the
source table column as a hidden (shadow) column.

238
5.6 Text Analytics and Sea rch

Code Clinic
To create the full-text index, you'll use t he CREATE FULL TEXT INDEX statement, which
in its basic form is easy enough, to enable language detection; MIME type detection
(PNG, JPG, MP3, PDF, etc.); text min ing and text analytics feat ures; synchronization
configuration on the source data; and much more, as shown in Listing S.S.
CREATE FULLTEXT INDEX Myindex ON MyTable(MyColumn)
MIME TYPE COLUMN ' appl ication/pdf'
LANGUAGE DETECTION ('EN ' , 'DE ' , ' JA' )
FUZZY SEARCH INDEX ON
TEXT ANALYSIS ON
CONFIGURATION 'EXTRACTION- CORE -VOICEOFCUSTOMER'
TEXT MINING ON
SYNCH;
Listing 5.5 Full-Text Index Example

To search for data, you must model the data first using calculation views (as
described in Chapter 4, Section 4.3) using the built-in procedure sys . esh _config() or
using CDS annotations. To access the data, you'll use the same procedure again, SQL,
or OData in case you want to implement search in a web application using SAPUIS, for
example. For full-text search with SQL, you would use the CONTAINS predicate.
You can specify the follov.ring search types:
• EXACT: Result set returns exact matches only.
• LINGUISTIC: Returns all words with the same stem (consult, consult-ing, consult-
ant, consult-ation) using a stem dictionary.
• FUZZY: Fuzzy search allows for fault-tolerant search, Vl•hich means that a result is
returned even if the search term is incomplete and/or contains spelling or other
type of errors.

These search types can then be combined with the different functions for additional
information about the result or for how the result set should be returned :
• SNIPPETS: Returns an excerpt of the content with the search terms marked.
• HIGHLIGHTED: Returns the content with the search terms marked.
• SCORE : Returns the score, a numeric value between 0 and 1for queries with the CON-
TAINS predicate.

239
5 Advanced Analytics

Code Clinic
Listing 5.6 shows a sample stat ement showing the SCORE function used toget her
wit h t he FUZZY search type.
SELECT SCORE() AS score, *
FROM documents
WHERE CONTAINS(doc_content, ' Driethanolamyn ', FUZZY(0 .8))
ORDER BY score DESC;
Listing 5.6 Fuzzy Search Type Example with Score Function

Learn More
For the documentation, see SAP HANA Search Developer Guide for the SAP HANA
platform on the SAP Help Portal. For a more detailed introduction to t he topic, you
can sign up for the openSAP course "Full-Text Search with SAP HANA Platform."

5.6.2 Text Analysis


Text analysis expands the full-text index functionality of search with features to dis-
cover and classify entities in documents and to continue the work done during full-
text indexing like tokenization and stemming. The results are not stored in a shadow
column but in a results table named $TA- <index- name>, which unlike the shadow col-
umn, is accessible for querying.
The following text analysis configurations are provided:
• LINGANALYSIS _BASIC: Provides tokenization (also known as segmentation), which
breaks up a sequence of strings into elements called tokens (verb, noun, proper
noun, number, noun, adverb, punctuation, abbreviation, etc.), which can serve as
input for additional processing.
• LINGANALYSIS _STEMS : As above, adds stemming, the identification of word stems or
dictionary base forms.
• LINGANALYSIS FULL : As above, adds tagging to identify and label the part of speech
for each word in context, for example as plural noun {Nn-Pl tag) or as present
tense, third person singular verb (V-Pres-3-sg), for text interpretation.
• EXTRACTION_CORE : Extracts entities of interest from unstructured text, such as peo-
ple, organizations, or places.

240
5.6 Text Analytics and Sea rch

• EXTRACTION_CORE_ENTERPRISE: Special focus on enterprise-relevant content such as


management changes, product releases, acquisitions.
• EXTRACTION_CORE_PUBLIC_SECTOR: Special focus on security-related events.
• EXTRACTION_CORE_VOICEOFCUSTOMER: Special focus on customer sentiment and
requests.
• GRAMMATICAL ROLE ANALYSIS : Identifies grammatical relationships between ele-
ments (English).

Code Clinic
Let's consider an example of classifying predefined entity types. Greta Carbo= PER-
SON, Sweden = COU NTRY, and entities can be related (that is, match sentiments with
topics), for example, in t he text " I love Greta Ga rbo":
[Sentiment ] I [StrongPositi veSenti ment] l ove [/StrongPositi veSenti ment ]
[Topic] Greta Garbo [/Topic] . [/Senti ment ] .
This code enables you to full index a text , not just on keywords but on every word, for
example, in t he text "Gret a Garbo bought two houses in New York in 1952":
<PERSON> Greta Garbo </PERSON> bought <QUANTITY>2</QUANTITY> houses in
<PLACE>Ne1~ York</PLACE> in <DATE> 1952</DATE>.

NLP technology applies linguistic and statistical techniques to correctly classify enti-
ties, so that Bill signs the bill returns a person and an object, not a single keyword.
Entity extraction identifies who (e.g. people, job titles, national identification num-
bers); what (companies, organizations, products); when (dates. days, holidays, time
periods); where; how much (currencies, unit of measures); and generic concepts
(machine learning). Fact extraction identifies the relationships between entities (or
the state of an entity) and is used in different core extraction enhancements for
enterprise data, security-related data, and voice-of-customer sentiment analysis.

Learn More
To learn more about text analytics with hands-on exercises, sign up for the openSAP
course "Text Analytics with SAP HANA Platform." For the documentation, see t he SAP
HANA Text Analysis Developer Guide for the SAP HANA platform on the SAP Help Por-
tal.

241
5 Advanced Analytics

Tutorials
To try out text analytics for yourself, check out t he t utorial on the SAP Developer Cen-
t er: " Perform Text Analysis with SAP HANA Express Edition."

5.6.3 Text Mining


Text mining operates at the document level (one level up when compared to text
analysis). The technologies are complementary; text mining uses the results
obtained by text analysis. With text mining, you can identify similar documents
based on keywords and related terms, compare documents for ranking and statistical
analysis, and categorize or classify new documents based on specific characteristics.
Principal use cases for text mining include the categorization of a stream of input
documents (like news articles or support incidents) or for search applications to pres-
ent related documents and terms or to suggest terms.
Supported functions in text mining include the follovving:
• RELATED TE RMS: Top-ranked related terms based on co-occurrence
• RELEVANT TERMS: Top-ranked relevant terms that describe the document
• SUGGESTED TERMS: Top-ranked terms matching initial substring
• RELATED DOCUMENTS: Top-ranked documents related to document
• RELEVANT DOCUMENTS: Top-ranked documents related to term

Text mining supports categorization using KNN classification, which we encoun-


tered in our discussion of the PAL in Section 5.2.2. In addition, text mining supports
statistical analysis in related and relevant documents, and the term functions
RELATED, RELEVANT, and SUGGESTED use similar clustering and correlation matrices we
have already described (see Section 5.2.2). Note that text mining uses its own technol·
ogy and not the PAL AFL.

Learn More
For the documentation, see SAP HANA Text Mining Developer Guide for the SAP
HANA platform on the SAP Help Portal.

242
5.7 SAP HANA Streaming Ana lytics

5.7 SAP HANA Streaming Analytics


Events are messages that are sent when something happens, for example, a stock
price went up or a plane landed (too early, too late, or on time). IoT devices constantly
send out messages, often in different formats, making processing these messages
and generating alerts for exceptions difficult. Especially for the most interesting
events (exceptions), the goal is to store this information in the database for further
analysis to identify patterns, detect problems, and predict trends.

Technology Background
Complex event processing (CEP) technology emerged in the 1990s and quickly
become usefu I for operat ional intelligence and business process management
(BPM}. Financial services became early adopters of the event-d riven architecture
(EDA) for use in algorithmic trading. Software vendors who pioneered t he technology
were eventually acquired by larger vendors, like TIBCO, Oracle, IBM, and Sybase/SAP.
Through these acquisitions, the Aleri CEP engine, t he SQL-like CCL from Coral8, and
the Stream Processing Language Shell (SPLASH) all made their way into SAP HANA
streaming ana lytics. The explosion of loT devices and big dat a provided new use
cases under t he more generic banner of stream processing.
Today, SAP offers CEP technologies integrated in the SAP HANA platform as SAP
HANA st reaming ana lytics, as a service in SAP Streaming Analytics, and t hrough t he
standalone SAP Event Stream Processor.

SAP HANA streaming analytics enables you to analyze high-volume, high-velocity


data streams to extract data. For example, let's say a Formula One car has 120 sensors
recording 1,000 data points per second. Including test rounds, for a team of 2 cars,
about 9 GB+ of data is collected in a single race. SAP HANA streaming analytics tech-
nology can parse data streams like this in real time and perform analytics fo r real-
time responses (before the race is done). With guaranteed delivery of data and no
data loss, all messages are processed. Event stream processing runs on dedicated
streaming servers, which can be clustered and support high-availability configura-
tions; a complete picture of the architecture is shown in Figure 5.12.

243
5 Advanced Analytics

SAP HANA Platform

SAP HANA Database

l t
Streaming Engine

Sensors ----l Stream 1--- - - - ---il! Alerts

~M_e_ss_ag_e_s:-+-H~IBl"L ~ IStream 1~ Output Adapter +-1~1 Dashboards I


Transactions - . I Stream I -..,.. I I
. Stream_ .......,..
Market Data 1-+-if-+""l"W" Output Adapter Hadoop

Figure 5.12 SAP HANA Stream ing Analytics Architecture

Code Clinic
To interact with event streams, you can use the CCL, which is like SQL but with its
own statements, clauses, and funct ions, extended in CCLScript, as shown in Listing
5.7.
CREATE INPUT WINDOW InputWindowl SCHEMA (ID INTEGER , Value INTEGER )
PRIMARY KEY ( ID ) KEEP ALL;
CREATE FLEX FlexOut IN InputWindowl OUT OUTPUT WINDOW OutWin SCHEMA (ID
INTEGER , NewVal INTEGER , OldVal INTEGER ) PRIMARY KEY (ID) KEEP ALL
BEGIN
DECLARE
typeof(OutWin) outrec;
END ,·
ON InputWindowl {
if (not isnull(InputWindowl_old)) {
outrec := [ ID = InputWindowl.ID; I
NewVal = InputWindowl .Value;
OldVal = InputWindowl old .Value;
l;
out put setOpcode(outrec ,upsert) ;

244
5.7 SAP HANA Stream ing Ana lytics

}
};
END;
Listing 5.7 CCLScript Example

You can use the SAP Web IDE for SAP HANA or the SAP HANA streaming analytics stu-
dio {shown in Figure 5.13) to design the event stream processes visually in a streaming
project (including filtering, normalizing, combining streams). Apply CCL functions,
either built-in or user-defined, to transform your raw data and store the results in
SAP HANA for analysis, for example, as inputs for machine learning algorithms. For
larger data volumes, you can use Hadoop files or other databases.

0 ~" · $A1 ~~ Suewn"'9 Oir.~ · '*'1*."ffl.,.tbMl'potdok.wl..-~<~t>Oft· ~ - a x


~ t• ti...;,.tc St#~ ftojcd &.-> ~ UtlP
c:l · I O · O :> £:l ! ·e# .- •. ·• ~ · «- · · 1.-1!:1 .._ «0.A-Cr::J tJI •"~ •I IOl.ikt A<<a.•I. a I'i: 4S -\. ~
0 0 ~ ~ t: • 0 ·~

. , a.tl. .,..,ttoc~796
~~39040
... e ~..o.
a....,, m ............ . .
• lob<•ntt
~.,....... - =
r::J Priccfecd
':::..;•;_,..,....ol
ill Schema (lnrint)
8 0ttier
Adapter1
I "'"
• Slt••mt ....t W.......
b-i ~Sl:JNm
C: OetMd Strum
..._
& kh_
,.,_
: i- -
({i lnoi St•um

i:; l>e!iwd Wmdow


{,D flei:
E:;~ Jtef~·
' '"'°""'

""""""
:\!. .........
fo,c..,....
vr.11..

Ed VWAP • L; lnd1<Aduafbsitlons •
¥' m..,, - -
e 1Pw..i ~

l!;Schema (lnltne) Ill Schema (lnlint) B N.......SStll«!w


(ijMo<Mec
EtiCOlurM ExprffSiOt\S IBColumn Expfesslons
[l l09St-
8 .toin Cot1chtions -----<~ fBJoin Conditions
ffiOt"" 8 0!her
CI M4'l'IOly 5*•
B enl)f s..~ x,,_.. ti-plM)
Eil '"""" ljj lnpuls
8 Vnioos A Un•Ot\$
S ~rti tions 8 Pcirtftions •

·-- -"'-
Figure 5.13 SAP HANA Streaming Ana lytics Studio

SAP HANA streaming analytics also integrates with the SAP HANA cockpit for real-
time project monitoring, for starting and stopping streams, and for configuring
alerts. You can connect to streaming projects with web service clients; develop cus-
tom applications that publish or subscribe to data streams using C, Java, or .NET

245
5 Advanced Analytics

SDKs; and develop custom adapters to connect SAP HANA streaming analytics to any
external data source.

Learn More
A great place to start is the SAP HANA streaming analytics topic area on the SAP
Developer Center with technical information, a broad range of tutorials, links to
biogs, and Q&As on the SAP Community, plus some additiona l resources like white
papers and how-to guides. For the documentation, see SAP HANA Streaming Analyt-
ics on the SAP Help Porta I.

Tutorials
For t he tutoria l videos, see the SAP HANA Streaming Analytics playlist on t he SAP
HANA Academy YouTube channel.

5.8 Summary
In this chapter, we covered the advanced analytics technologies integrated into the
SAP HANA platform. We described the AFL wrapper mechanism to execute external
procedures and described the PAL, R integration, and the EML library to access Ten-
sorFlow, all through the use ofSQL. The same holds true for SAP HANA spatial, graph,
and (time) series data. You can use the same tools and the same interfaces, which
enables you to perform different types of advanced analytics together on a single
platform. For unstructured data, you can leverage SAP HANA text analytics and data
mining, for example, to perform sentiment analysis. Finally, we looked at how you
can gain insights from event streams using SAP HANA streaming analytics.
In the next chapter, we'll turn to the security architect persona, who will work closely
with all the personas we've already covered (the administrator, developer, and data
scientist personas) as well as the personas we'll cover in later chapters (the data inte-
grator, data, and data center architect personas).

246
Chapter 6
Security
Reports that say that something hasn't happened are always interest-
ing to me, because as we know, there are known knowns; there are
things we know we know. We also know there are known unknowns;
that is to say we know there are some things we do not know. But
there are also unknown unknowns - the ones we don't know we don't
know.
- Donald H. Rumsfeld

Security concerns us all. A common understanding of the most important SAP HANA
security concepts can greatly contribute to a secure computing environment. For
this reason, the information in this chapter is relevant not only for the security archi-
tect but also to anyone involved with SAP HANA.
In theory, the objective of security is simple. All data is stored safely and is always
accessible when needed, but only to users that have been authorized. However, often,
the difference between theory and practice is bigger in practice than in theory. In
practice, computer or information security is complex, with an ever-increasing num-
ber of potential threats and countermeasures.
Stored safely? Data breaches are common news headlines. Victims include govern-
ment, retail, but also finance, and, in particular, high-tech. In fact, the Internet giants
themselves have been among the worst hit. Yahoo! is number one with 3 billion
records hacked. Adobe, Facebook, Linkedln, and more- all have been affected.
Always accessible? That's part of the problem. Today, more people own cell phones
than toothbrushes. The modern citizen is always online and expects the same from
enterprises and the government. To comply with this demand, companies and gov-
ernment alike have embraced cloud computing. Who can afford not to?
Let's start with cyberattacks and consider another common news headline: "Bank
XYZ suffers DoS attack." Today, denial of service (DoS) attacks are even offered "as-a-
service" (just search for "RUDY," which stand for "R-U-Dead-Yet").

247
6 Security

What has made these vulnerabilities worse is that the main assets underpinning the
most valued companies today is no longer physical: it is data. With big data and the
Internet of Things (IoT), access points and attack surfaces have only grown. To protect
the interests of its citizens, governments increasingly scrutinize how data privacy
and security are handled by businesses, which has resulted in a growing number of
rules, regulations, and serious fines for noncompliance. As a result, not only does
your company need to protect its data, but you'll also need to prove that your com-
pany is protecting its data properly with an audit trail that holds up in court.
In this context, an entrepreneur may be tempted to unplug and hide his or her assets
in Fort Knox. While this approach worked well in t he past with gold, in the digital era,
however, data needs to move. Data is the new oil, according to some- it needs to
flow, which poses a challenge. The enterprise platform needs to secure but not
restrict.
In this chapter, we'll describe how security is handled by the SAP HANA platform.
We'll start with the security architect persona and then proceed through key security
topics: user management, data privacy, data protection, and auditing. We'll then con-
tinue this chapter with SAP HANA extended application services (SAP HANA XS) to
manage security services, concluding with some general recommendations.

6.1 Roles and Tools

What are the responsibilities of the SAP HANA security architect persona, and what
tools does he or she have to do the job? In this section, we'll briefly describe the job
role of the security architect.

6.1.1 The SAP HANA Security Architect


The SAP HANA security architect is, literally, the chief security builder. The security
arch itect designs the security concept, oversees its construction, and oversees its
implementation. As an architect, they will be the person in charge of secure opera-
tions and secure configurations. They will need to be intimately familiar with all
security aspects of SAP HANA and how this relates to the overall IT system landscape.
One important consideration is to distinguish between network encryption (data in
transit) and storage encryption, including backups (data at rest).

248
6.1 Roles and Tools

The security architect needs to make sure that all access points are known and under
control, ensuring that the operating systems running SAP HANA and all hardware
involved are hardened. Of course, part of the job is also to stay up to date with the lat-
est best practices and security standards, anticipate threats, identify possible weak-
nesses, and react appropriately to discovered security vulnerabilities for any of the
components involved. The security architect can advise developers, administrators,
data provisioners, data scientists, and other stakeholders involved with the SAP
HANA project on all security topics and promote overall security awareness.
The function of the SAP HANA security architect is typically part of a wider security
responsibility, although we've started to see job profiles on the market for full-time
SAP HANA security consultants and developers. Typically, knowledge of SAP security
in general and SAP applications like governance, risk, and compliance (GRC) might be
required when a function leans to the compliance side. On the operational side,
familiarity with cloud architecture and expertise in securing data centers could be
part of the profile.

6.1.2 Tools
No dedicated SAP HANA tools are provided for security, but the relevant functional-
ity has been included in the available administration and development tools.
For operations, the SAP HANA cockpit includes functionality for the following secu-
rity topics, as shown in Figure 6.1:
• Auditing
• Data Encryption
• User & Role Management
• Authentication
• Certificate Management
• Single Sign-on
• Anonymization Report

Most of the screenshots found in this chapter are taken from the SAP HANA cockpit.
For development of SAP HANA XS Advanced applications, as described in Chapter 4,
Section 4.4, the SAP Web IDE for SAP HANA is the tool you'll use.

249
6 Security

0 < ~
~ HAO@HAO (OBA) System Overv1e'v v c ®
Sw0d>°"""'9 Open SQl Ccm<>le (gl ~
HAO@HAO
A

Aud1bng User & Role Management Anonym1Zat1on Report

so.... On tAanage users Vte+N available anonymtzauon views


Assign rOle to users
AudC Trtl Tatllfl O.tabeMl*t Assign prtv11ege'S to users
AuthentJcatton
tAanage role$
Enabltd Audit ~idK 3 tAanage ~r grouJ)1; P_.Pdlcy
c.st-ed
~ Al.idil Poicits 1
sngi.sq....,
Secunty Relaled Lmks
.... conl\gured
Tum ()I A""°"9
Manage ceftlnca1es SYSTEM U:w Pnsword
~ ...... 16 2019
tAanage cerutieates co11ec11ons
Data Encrypbon View ntl'\l.ort: seeumy nf.ormaoon
tAanage SAMl. IOentlty provioers
Oat.I VOiume fntrypuon
Root key cf\anged on
•·lt••> tAanage JWT Identity providers
sec.unty aQmlfllWat»on help ~
0.C212018.9-1719AM
SAP HANA secufiry !f>·et>S1te ~
sewniy c11ecJc11>1 ig;
Reoo Log En<tyption C.liie)
Rootkey~on
Dec 21 2018. 9 17 28AM ~

Backup encry~iOn
Rootkey~on
•·a•·>
Dec 21. 2018. 9' 17 l3AM

Figure 6.1 SAP HANA Cockpit: System Overview, Security

For the earlier SAP HANA 1.0 release, you can use SAP HANA studio with its adminis-
tration, modeling, and development perspectives. The Security vievv shown in Figure
6.2 brings together some of the security functionality listed earlier (user and role
management, password policy, audit ing, identity providers [IdPs], data volume
encryption) but not all. Security groups, for example, were introduced with SAP
HANA 2.0 and are not included in the SAP HANA studio interface; instead, you'll need
to use SQL and the SQL console.

Learn More
SAP HANA security concepts are documented in the Security Guide. Activities are doc-
umented in the SAP HANA Administration Guide. In addition, you can consu lt the SAP
HANA Security Checklists and Recommendations guide. Al l SAP HANA guides are
available on the SAP Help Porta l for the SAP HANA platform.

250
6.2 User Management

Extensive as all this material may be, th is documentation is not complete. You
should also consider hardware, operating system, and network. Because SAP HANA
runs on Linux, guides like the Operating System Security Hardening Guide for SAP
HANA for SUSE Linux Enterprise Server also provide highly relevant material.

• IOSl420 • Syst• m: HAOOHAO Host mo-fcll1bl6 1.mo,wp.<OtJ> lnstanc•: 00 Connt<1.td US.r. SYSTEM Sfsttm U"»gf': Custom System · SAP HANA ~udio " x
ct . ,<lu!<k A«w, : II! ~
Jo Sylt•ms '3 .... CREATE COCKPIT RESOURCE USER.1ql II HAOt t+lAO '1 Security HAOOHAO =(

ll!l • ii! II · "' '9 e ~ Security HAO@HAO (SYSTEM) mo·kl31bl6•'""'"P·'°'P oo o ..,.. E'. ~
"
v lfllMAOOHAO (SYSTEM) Audtt11"19 Pas.sward Poky SAML kHntrty Pro-Mtrs Dat• \loeutnt Etl(ryj)Cion
® s..c!iup P•stWOtd Poli<y
> • c.•o&og
P•s.swotd length .net Composition
> • eonttnt
> ·Pr~ioning Mlnlmum P•sJWOtd let"ogttl 8
.., • s.curity RtquQd Ch.-Kttf TYJ>ff! 0 t.ov.'ttt*M tfettf E2J Upptrc~ loftttt eJ Numtri<;ti d'911t 0 ~ill char.Kttf
" S.C•rily
> f) u..., Uw lode S.nlngs
> \liJ Roles @> Loct Ustr For. 0 SYSTEM Uw lock
>!Qi SVSTEM~H4C CSYSTEM)
> (Pi SVSTEMOOO-HAO CSYSTEM) M tKf'lllMOUS

B uw must chang• Pf-Ssword •t fitS't logon: Last Us.cf PassWOfd: s


NumbH of Allowed Niiied lOC)On AtttmptS.' lif•thnt of tnitill ~d: =:::
1!0.,. •
M.nlmuM P•ssword lifetlmt: Mf.Jcinwm Ol:.Jr•tion of Uw lnKtiwty: ••s10.,. •
Notification of PassWO«f bpif"•tion: "Jo.,. •
Pasiwotd 811-cldilt
+ IC T
Si.ctlisttd Word Cone~ In ~SS-WO«f

O he ms selected

Figure 6.2 Security in SAP HANA Studio

6.2 User Management

In Chapter 2, we described different SAP HANA use cases: as a data mart, as a database
in a three-tier architecture, and as a database and application server combined for
native SAP HANA XS applications. How SAP HANA is implemented impacts the secu·
rity model for user management. How you create your users and define their roles
also will depend on other factors. Do you wish to implement SSO, Security Assertion
Markup Language (SAML), or Kerberos? Different options for both authentication
(tell me who you are) and authorization (and I'll tell you v.rhat you can do) are present.
This section describes user management essentials for SAP HANA.

251
6 Security

6.2.1 Implementation Scenarios


How SAP HANA is implemented affects user management. The following three main
implementation models can be set up:
• SAP HANA as a data mart
Figure 6.3 shows connectivity for the data mart scenario, which typically involves
multiple tenant databases and multiple source systems and likely multiple client
types. Each user connecting with the SAP HANA client may need a database user
account with the appropriate privileges. Alternatively, users could connect
through an intermediary like an SAP BusinessObjects Business Intelligence (SAP
BusinessObjects BI) server. In this case, the con nection could be established with a
shared database user account, with personal accounts, or with a combination of
both.

SAP HANA Client Bl Client


ODBC/JDBC Excel
Python/ADO.NET
Node.js/Ruby/Go SAP HANA Client
SAP Busi nessObjects ODBC/ODBO
Business Intelligence

SAP HANA Client


ODBC/JDBC
I
---------, I
I I
I I
I I
I I
I I
' '
System
Database
Tenant Database A : : : : : : : : : : : _ _ __ _ ~ Source System I
'--~~~~~~~~-'

SAP HANA

Figure 6.3 SAP HANA as a Data Mart

• SAP HANA in a three-tier architecture


In a three-tier architecture, as shown in Figure 6.4, user security is typically man-
aged at the application server layer. You'll see only a single technical user connect-
ing to the database on behalf of the many application end users, which is the case,
for example, with SAP S/4HANA and SAP Business Warehouse (SAP BW). User

252
6.2 User Management

management in such cases will be mainly a concern for the Basis administrator,
not the SAP HANA database administrator. However, some overlap may exist.
ABAP shared business authorizations enable the use of authorizations, defined at
the application level, for the database (see Section 6.2.4). As a result, a data scientist
connecting with the Python database application programming interface (AP!)
(for example, using ODBC) directly to the database will get the same view of the
data in terms of authorizations as he or she would connecting with SAP S/4HANA.
The three-tier architecture is described in detail in Chapter 2.

I SAP Client
I
I
I
I
I

SAP NetWeaver AS ABAP

SAP HANA Client


ODBC/SQLDBC

I
I
I
I
'
System Tenant Database A
Database

SAP HANA

Figure 6.4 SAP HANA in a Three-Tier Arch itecture

• SAP HANA with SAP HANA XS/SAP HANA XS Advanced


The third type of architecture involves connectivity when using the SAP HANA XS
and/or SAP HANA XS Advanced application servers, as shown in Figure 6.5. You
connect with a browser over HTTP(S) directly to the web application hosted by
either SAP HANA XS or SAP HANA XS Advanced. With SAP HANA XS Advanced,
you can use an external IdP for user authentication. Otherwise, the SAP HANA
database is used for this purpose, in which case database user accounts must be
created. For the classic SAP HANA XS model, database user accounts will ahvays be
required. The SAP HANA XS and SAP HANA XS Advanced architectures are
described in Chapter 4, Section 4.4.

253
6 Security

Browser Browser
HTTP(S) HTTP(S)
I
I
I
I

System
Database
SAF!HANA
-. IApp B I --- Identity
Provider

SAP HANA XS

SAP HANA

Figure 6.5 SAP HANA with SAP HANA XS/SAP HANA XS Advanced

6.2.2 User Types and User Groups


Although conceptually you can distinguish "real" database users from technical
users, from the point of view of the SAP HANA database, both users are the same. SAP
HANA only distinguishes between users and restricted users. The latter can be, for
example, our SAP S/4HANA business users. These users can only connect to the data-
base through the application server. They cannot create their own tables and won't
need to view the object catalog.
Figure 6.6 shows the User Management screen of the SAP HANA cockpit. By selecting
No for the Creat ion of Objects in Own Schema radio button and selecting No for the
PUBLIC Role radio button, you'll turn your regular database user into a restricted user
(and vice versa). Typically, for a restricted user, Yes for the Disable ODBC/JDBC Access
will also be selected, although doing so is not a requirement.
Depending on which implementation architecture is used, you'll either connect
directly to the SAP HANA database with your own personal database user account or
through some intermediary, like an application server. In the second case, the appli-
cation server will connect to the database on your behalf (and on behalf of all your
colleagues). Because the application server database user does not correspond to a
"real" user, this type of account is called a technical database. Besides application
servers, IoT devices, for example, may also connect using a (shared) technical user.
From the point of the view of the SAP HANA database server, however, no differences
exist between your database user account and the user account for SAP NetWeaver.
The difference is only conceptual. Still, technical database users have their own
characteristics. For example, whereas a common best practice has been to prompt

254
6.2 User Management

database users to change passwords every 3 months, for technical users, such a
prompt would be undesirable. The technical user would stubbornly enter the old
password until it gets locked out. The database administrator thus needs to manage
these users differently, and user groups are a good way to differentiate between these
types of users.

8 < e:t W HAO@HAO (system) User Management v

General 1nf0<matlon Authortzatlon ti.iodc Authcntlca11on Custom User Propcrti.es

• user Name: HANA


user Group:
Emal!: hana@sap.com

Valid From: MlcJ.n h:mm a

Valid To: Wdlyy, h .mm a v

creation of ObJec1s In own scnema: ® Yes No

PUBLIC Role: @ Yes 0 No

Disable ODBCIJDBC Access: 0 Yes @ No

Comment: Standard database accoun1


I

AUTHORIZATION MODE

Autllortzatioo Mode: • Local LDAP

AUTHENTICATION

* Authentication Mechanism:
0 Passvro<d

@ Local Q LDAP
*Password:
* Password Confi1'nation:

* FO<Ce Passvro<d Change on Next Logon: @ Yes O No

0 Kefberos

External 10:

D SAP Logon 11cke1

D SAP Assertion Tlcltel

0 SAML · You must add at leasl ooe ldenbty provider

Add SAML ldenuiy

Save Cancel

Figure 6.6 User Management in the SAP HANA Cockpit

255
6 Security

You can use user groups to distinguish technical accounts from regular accounts, but
other scenarios are possible as \'Jell. With user groups, you can separate employees
from partners or temporary workers, or you can create a group for training purposes.
User groups can have their own dedicated administrators. As a result, you can pre-
vent a crucial technical account from being deleted accidentally. In addition, you can
assign different password policies to a user group, requiring complex passwords that
don't need to be changed often for technical accounts but following a more relaxed
approach on password complexity for accounts used by human users. You can create
user groups with the SAP HANA cockpit in the User Groups interface, as sho\vn in
Figure 6.7.

8 ~ ~ HAD@HAO(OBA) User Groups v c 0


User Groups

Use< G<oops (2) ~ New User G<oup t~

Uset Group Name

User 9'0Us> for tecflniiea.I dat.abase


Tedrical Aooounts SYSTEM
accounts ) ©
06A G«M.ip and user adrrinisttators ) ®

Figure 6.7 SAP HANA Cockpit: User Groups

6.2.3 Authentication
If you've ever stood before a border security officer at an airport, you know what
authorization is. Before letting you go through, the officer must validate that you =
you. Are you the same person as stated on your passport? This validation is exactly
what the SAP HANA database does with each access request. For this task, SAP HANA
can use its own authentication mechanism or delegate the task to an external
authentication provider. The built-in mechanism performs basic authentication
based on user name and password.
The User Management screen in the SAP HANA cockpit (as shown earlier in Figure
6.6) provides access to the available authentication mechanisms, which we'll walk
through in the following sections.

Basic Authentication
Every operating system, database, or application server needs some type of built-in
authentication mechanism, and SAP HANA is no exception. The SAP HANA database

256
6.2 User Management

authentication component only understands SQL, so typically the client tool will
present you with a logon screen where you can enter a user name and password.
Regardless of how the client requests credentials, the authentication component will
receive this information as SQL and will check if the name is in the internal SYS. USERS
table and ifthe password matches the stored value. Passwords are stored encrypted,
b ut you can use SQL or your favorite tool to query the users table, as shown in Figure
6.8. Together \<Vith user names, the table also stores additional metadata, like a valid-
ity period and whether the account is active or not. For example, when new hires
arrive on the first day of the month, you wouldn't want to call your database admin-
istrator and find out that he or she has a day off today. Instead, the database admin-
istrator should have created the users in advance with the VALID FROM attribute set.
Similarly, for temporary employees with contracts expiring, the attribute VALID_ TO
should be active. In total, the users table has 35 attributes including one for com-
ments.

~ + c USERS •
~
• B HAOCHAO (mo-fcJJ7b
• !I C.!"°£
V.twNlrM
S<"'"'" Type
~
11 CoWmn VIVM @e•s II SYS ] @w J """'o...
"°'...
..
Column.s CR!AT! Sutemern
$ ().)~Pr~,..
SOl O.lti Type
t i °"taStOt~

11!* 1• - 1
\lleweot......

usm_tw..iE NVAACHAR{256)
Noti'd

x
0 ...
""""""'
Namt of the uset
Graph WOticspaces
ID 1ndexn 2 USEfUO 81GINT x 10 of !tit user
O JS<lNC.U.-. 3 USERGROUP_NMtE NVAACKAA{256) N&nW of the ustrfOOP. 1M user bttonp 10
... l.ilnrits
Cl ProctdlM"eJ 4 USER._MOOE VAACHAR(8) x fAode of the ~: 'lOCAL'/GL.OeAl"l'EXTERNAL.'

r; ,,._ """""" 5 ElCTERNAl.._IOE"HTITY ~'VAACHAR(2S6) ExterMI. ~ii)' of tht IMf


t:L RM'IO(e Sources CREATOR NVAACHAR( 256)
6 Cttacor of lht ustJ
~ Retr'IO(e SObscripti<
7 CREATE_TIME n.~ESTAMP Otadonli~

® a VAUO_FAOM n.~ESTAMP Start Mw of usefs validiiy

~ VAUO_UNTIL nMESTAMP End time of usefs validity

10 lAST_SUCCESSfUL_CONNECT RY.ESTAMP Time of the last successf\A connect of me uset

11 lAST_INVAl.IO_COHNECT_AJTEMPT TlY.ESTAMP nme of the last lrrvald connecl attef11X


12 INVAUO_CONNECT_ATTEMPTS INT£GER Nl.nt>« of invalid cOIV'leCl an~ since In SI>

13 AOMIN_GIVEN_PASSWORO VARCHAR(S) Specifies If !:ht pass.word was glwo by~·


14 lAST_PASSWORO_CHANGE,.:nMe TllAESTAMP Time of last pa$$WO(d chan&t

lS PASS\VORO_C.W.:GE_NEEOEO VARCHAR(S) Spe<lfleos: Ii user ts forctd io <han~ h1$ pa$SWOtd

16 IS_PASSVIORO_UFETIP..1E..atECK_E1' VARCKA.R(S) x Spe<ifitt ii pe:ssword-i!"~ime will be chtdctd '°'


[@

Figure 6.8 Users Table

When a user enters a bad user name/password combination to the database, the user
can try again. How often depends on the password policy defined. You can try at least

257
6 Security

once as the value of O means indefinitely. Once you pass the number of allowed failed
attempts, your account will be locked, USER_DEACTIVATED= TRUE, and you'll need to con-
tact t he database administrator to unlock your account, although maybe the app or
logon web page may have a self-service mechanism for this task.
The password policy editor, shown in Figure 6.9, contains a number of variables, as
follows:
• Password Length and Composition
Apart from rules and regulations around what to do with passwords, the password
policy also defines what a password should look like. The minimum length is
8 characters by defau lt. Required character types are lowercase, uppercase, and
digit, the same as for many other SAP systems and applications. "Welcome!'', "Ini-
tiall", "Passwordl", and "Individuall" are well-known examples. Special characters
are not enforced by default, but when enabled, any Unicode characters may be
used.
• User Lock Settings
The policy also defines how long you're punished for entering a bad password. The
user lock could only last one minute, or it may be indefinite. You can also specify
whether you want the SYSTEM user to be exempted from locking.
• Password Lifet ime
You can define the minimum and maximum lifetime of passwords. Set the life-
time of the initial password, typically provided by the database administrator or
by a logon script, and whether you need to change the password at first logon. For
real-life people, requiring a password at first logon is typically a good idea, which is
why this setting is activated by default. But if the connection comes from a techni-
cal user, you'll usually disable this setting, which is also the case for notifications
about passwords expiring.
• Miscellaneous
In this section, you can define the Number of Allowed Failed Logon Attempts,
which defaults to 6, and the number of last used passwords, for example.

A chain is only as strong as its weakest link. To protect your system and all its users
against a single user choosing an easy-to-guess password, a password blacklist can be
maintained. You can add complete passwords to the list or just partial ones, for
example "pass" will exclude any password containing those four characters sequen-
tially. In addition, you can indicate if passwords are case sensitive. Even some seem-
ingly cryptic passwords are quite common and easy to guess like "!@#$%A&*" and

258
6.2 User Management

"1q2w3e4r5t." Adding the most common passwords to the blacklist is a simple but
effective way to make your system more secure.

8 < w 95f8319f·bacf-4c79-ab2. Password Policy and Blacklist v c Q)

System: HOO
Password Policy: Default

Password Length and Composition Password Lifetime


MotWnum NumbfW ot ChatactW"S 8 Ltetime ol ll'llt.al Pas.<iword 7 days
LOWO<Case ltcters Required 1 Minimum Pa~ lifetime- 1 day
Uppete&Se Letten Required_ 1 Maximum Pas.swotd 1.Jfebn'le. 182 dl)ys
Numetic:al Digit. Required t Maximum Ourabon of Vier ln.a<:1M1y- 365 days
Sc>eeial Characten Required 0 Nohftcation °'Pass.word Expiration. 14 days

User Lock Settings MisoellaneoU5


User lock Time: 1,440 minutes Numb« of AllOwed Faded Logon Attempts_ 6
SYSTEM User Is Exempt from lodl.irl$1 No Number of Last UMd PaN~l That Cannoe Be Re\IMd- 5
Pass'NOtd Change Requited on Fittl Logon. Yes
Oecaileel Error lllformation on Failed Logon- No

Figure 6.9 Password Policy and Blacklist in the SAP HANA Cockpit

External Authentication
Besides built-in mechanisms, the SAP HANA database also supports external authen-
tication methods. A great advantage these external mechanisms have over basic
authentication is that they can be used to enable SSO, which allows users to log on
once and then navigate from (web) application to application without the need to log
on every time.
The following external authentication methods are available:
• Kerberos
Kerberos is typically used in environments where the client (which could be the
application server) runs on the Microsoft Windows platform. Kerberos allows you
to connect with SAP Crystal Reports or any other SAP BusinessObjects application
directly in the SAP HANA database, for example.

259
6 Security

Technology Background
Kerberos might not sound fam il iar, but Microsoft W indows surely does. Kerberos is
the default authentication protocol for the operating system since Windows 2000.
The protocol has been around quite some t ime and was designed initially for a cli-
ent/server architecture to securely connect computers over a potentia lly insecure
network. Because it does t his quite well, Kerberos is still widely used. You'll find Ker-
beros included with other operating systems, in particular, if that syst em needs to
collaborate nicely in a Microsoft Windows environment. For t his reason, Kerberos is
one of the available authentication mechanisms for SAP HANA as well.

• SAML and JWT


SAP HANA supports both SAML and )SON web tok ens (JWT) as external authentica-
tion mechanisms {OAuth). Like Kerberos, SAML and JWT are typically used in an
enterprise environment for web client SSO.

Technology Background
SAML is an open standard to exchange authentication and authorization informa-
t ion. Open standard means that the technology is not related to any specific vendor.
In fact, SAML is pa rt of t he XML family, like HTML, both open standards as well. SAML
goes back to the early 2000s, when web technologies overtook client/server architec-
t ures. SAML works with a service provider (SP) and an ldP with you, or rat her t he
browser, in t he middle. SAML also addresses authorization, w hich makes it a bit more
complex.
Due to the way t he ldP directs t he client back to the SP (HTTP redirect and HTTP Post),
using SAML in mobile phone environments is challenging. For t his reason, from t he
labs of companies like Twitter and Google, another framework was developed,
known as OAuth. In fact, when you use your Twitter, Google, or Facebook account to
log on to the website of your favorite newspaper or web shop, OAuth is w hat you're
using. OAuth only does authentication. Not to be confusing, but the token used in
OAuth can be in SAML format, and other form ats are possible as well. Another for-
mat is the JSON (JavaScript Object Notation) format, which gives you a JSON web
token, JWT in short (pronounced "jot").

• Logon tickets and assertion ticket s


Logan tickets and assertion tickets in SAP are mainly used in SAP NetWeaver appl i-
cation server for ABAP and Java environments. Logon tickets are used for end-user

260
6.2 User Management

authentication and SSO. Assertion tickets are typically used for authentication
between systems and work similarly to Kerberos and SAML.
• X.509 client certificates
Finally, you can also authenticate SAP HANA XS application users with X.509 client
certificates (both SAP HANA XS and SAP HANA XS Advanced). Despite its cryptic
name, X.509 certificates are quite common. For example, they are used to secure
web traffic with HTIPS. The certificate contains a public key and identity in Light-
weight Directory Access Protocol (LDAP) format signed by a certificate authority.

With Kerberos for Microsoft networks, logon tickets and assertion tickets for SAP sys-
tems, SAML for multivendor enterprise environments, and JWT or X.509 for the latest
and greatest web applications, SAP HANA provides support for the most common
authentication requirements.

6.2.4 Authorization
At this point, you've managed to get into the system as an authenticated user. Next,
SAP HANA needs to check your authorizations. vVhat are you allowed to do? What
system privileges do you have? What are you allowed to see, and what can you
change? For the overall security of your SAP HANA system, getting your authoriza-
tions right is as important as proper authentication. Typically, for database authori-
zation. the built-in mechanism is used, although SAP HANA also supports LDAP as an
external authorization provider.
In this section, we'll cover uses and roles, predefined users, and the different types of
privileges.

Users and Roles


You can grant system and object privileges directly to users, which is easy to do but
typically not the best approach. Getting authorizations right can be complex and
requires care because needing to start all over again if/when a user leaves the com-
pany or takes on another job function requiring other privileges would be a waste of
time.
For this reason, normally you 1.vould grant privileges to roles and then grant those
roles to users, which has two advantages:
• First, you can now build a hierarchy of privileges modeled on business roles. For
example, you can create a role for the TENANT AOMI N system privilege, which allows

261
6 Security

you to start and stop tenant databases, and a role for the SERVICE ADMIN system
privilege, which allows you to perform those operations on the system services.
You can then grant both roles to a new role, the system admin istrator, which
allows you to stop and start services for both the system database and the tenant
databases.
• Second, should your user requirements change, no problem. You can simply
revoke the old role(s) and grant a new one(s).

Now, you have a reusable authorization concept, which allows you to implement
complex requirements matching actual business functions . The governing thought
behind this functionality is the principle of least privilege (PoLP), a security best prac-
tice that advocates giving users only those privileges essential to doing the job. No
more, no less.

Predefined Database Users


The SYSTEM database user has all system privileges by default. For this reason, the SYS-
TEMuser should be used only to create lesser-privileged users for particular purposes
after which the SYSTEMuser account should be disabled.
To update SAP HANA, in most cases, the SYSTEM user is not required, and a lesser-
privileged user can be used, which addresses a classic security loophole: SYSTEM
access during upgrades. A carefully crafted PoLP implementation would be sus-
pended temporarily if you needed to enable the SYSTEM super user for upgrades,
which introduces a vulnerability. Note that the SYSTEMdatabase user does not have
access to objects created in other schemas (without explicit grants) nor can it grant
itself access. However, as a USER ADMIN, you can easily change user passwords and
connect and grant schema access.
Other predefined database users like SYS, _SYS_ REPO, or _SYS_STATISTICS are technical
users. These users are either object owners or support specific functionalities. You
cannot connect to the database with these accounts.

Predefined Catalog Roles


By default, every SAP HANA system also includes a number of predefined catalog
roles. Like the SYSTEM user, some of these roles are contain a lot of privileges and
should only be used as templates for creating more restricted roles. Examples
include CONTENT_ADMIN and MODE LING. Other roles are used for specific purposes, like

262
6.2 User Management

the AFL_SYS_AFL_AFLPAL_EXECUTE role for t he Application Function Library (AFL} and


the Predictive Analysis Library (PAL). These roles should not be extended, neither
adding additional privileges nor restrictions.
Every user will have the PUBLIC role, which enables filtered, read-only access to the
system views. When you revoke the PUBLIC role from a user (and revoke CREATE ANY ON
OWN SCHEMA and DISABLE CLI ENT CONNECT), you create a restricted user. Restricted users
have no privileges, can only access SAP HANA through client applications, and do not
require full SQL access. To fine-tune restricted users, you can grant the RESTRICTED_
USER_JDBC _ACCESSand the RESTRICTED_USER_ODBC _ACCESS roles, which only grant access
to the JDBC or the ODBC interfaces, respectively.
Another role worth mentioning is the SAP_ INTERNAL_HANA_ SUPPORT role, which has
read-only access to all metadata (but not customer data). Because this role is quite
powerful, restrictions apply {limited to one user, cannot be granted to SYSTEM or
another role}, and an information alert is issued every hour when the role is granted.

System Privileges
System privileges authorize users to perform system administration tasks. By
default, an SAP HANA system can involve 50 different system privileges. When you
install optional components, like SAP HANA dynamic tiering, additional system priv-
ileges will be added.
Some privileges are related but distinct. For example, BACKUP ADMI N and BACKUP OPERA-
TOR are different: An admin can perform all backup and recovery activities, including
catalog configuration, while an operator can only start backups. The same distinction
exists for the AUDIT system privilege and for I MPORT and EXPORT privileges.
Some privileges are powerful. I NFI LE ADMIN, for example, allows you to make changes
to all system settings. The SAP HANA Security Checklists and Recommendations guide
lists critical combinations that should not be granted together, for example USER
ADMIN and ROLE ADMI N, or AUDIT ADMI Nand AUDIT OPERATOR.

Managing system privileges is performed in the SAP HANA cockpit, as shown in


Figure 6.10, where you'll select the different privileges you want to grant to specific
users and roles.

263
6 Security

' . SAP '


I
-'-~·'·"·-
' ' '"'" •
-
'

C\ o BACKUP_ADMINISTRATOR
AFL.PM_CREATOR_ERASER Select System Pft.Aleges
ECUTE

AFL.PM_ONLINE_REGISTRA
N_EXECUTE )

AFL~SYS__AFL_ERPA_EXE
E

AFL~SYS_AFL _ERPA_EXE
E_WlTH_GRANT_OPTION

BACKUP_ADMINISTRATOR 0 8ACl<uP OPEAATOA


D CATALOG READ
Bl_META_OATA_CONSUMER 0 CERTIFICATE AOMJN

0 CLIENT PARAMETER H>MlN


CONTENT_AOMIN

CREATE_INTERMEDIATE_
ULATION_VIEW

MODELING

Figure 6.10 Select System Privileges, Manage Roles in the SAP HANA Cockpit

Object Privileges
Database objects are schemas (the containers), tables, views, functions/procedures,
and sequences, to name the most common ones. To access or change any of these
objects, you'll need the required SQL privilege. For example, to vie'"' data, you'll need
the SELECT privilege on a table or view. To put new rows into a table, you'll need the
INSERT privilege. To change existing rows, you'll need the UPDATE privilege, and to
remove rows, the DELETE privilege. Even if you have the IMPDRT system privilege, you'll
still need the right object privilege for the import to be successful.
What we've just mentioned are examples of data manipulation language (DML) com-
mand types. Data definition language (DDL) command types are also available, like
CREATE, ALTER. DRDP, or EXECUTEon SQLScript functions. Other object privileges govern
remote sources (CREATE VIRTUAL TABLE). development (DEBUG), or security features
(UNMASKED and USERGROUPOPERATOR).
Figure 6.11 shows the Assign Privileges 1,vindow in the SAP HANA cockpit. By default, a
database user receives the CREATE ANYobject privilege on her SCHEMA from SYS, which
enables the user to create tables, views, and so on. This user also has received this
object privilege WITH ADMIN OPTION(Grantable to Others), so he or she can directly grant

264
6.2 User Management

other users (or roles) the privilege to create objects in his or her schema. No need for
SYS to intervene; JANEDOE is queen of the castle.

,_
8 ( ~ ~ HAO@HAO (System) Assign Privileges v c <J>

user. JANEOOE ®
JANE DOE

Sysi•m PnvUeg•s (O) Objeci Prtvlleges (1) Analytic Pnvileg.. (0) Al>r>lieaUOn Pnvllegos (OJ Pact<ag• Pn\lilegos (0) PMrleges on u sers (0)

Object Name ObJecl Scnema Grantor Objecl Tyircs P!Mcgc Grantabfe 10 Others

JANEOOE SYS SCHEMA CREATE ANY Yes

Figure 6.11 Assign Privileges, Object Privileges in the SAP HANA Cockpit

Analytical Privileges
With analytical privileges. you can fine-tune data access requirements. As the name
implies, object privileges control object access: yes or no. If the SALARYcolumn is part
of the EMPLOYEE S table, and you have access to the table, you can view the salaries.
Analytical privileges allow for a more fine-grained, row-level access control. For
example, only HR_MANAGERcan view this column, or to be even more specific, you can
allow HR_MANAGER_US to access only the rows in this column for his or her region.
You can create analytical privileges using SQL with the CREATE STRUCTURED PRIVI LEGE
<name> FOR <act i on> ON <obj ect> statement, where <action> resembles a typical SQL
WHERE clause and <obj ect> references the table or view. However, more commonly,
you would use SAP HANA studio for the classic SAP HANA XS environment or use the
SAP \rVeb IDE for the SAP HANA XS Advanced environment and create your privileges
as design-time artifacts in a development environment to be deployed as catalog
(runtime) objects on your actual production system. See Chapter 4, Section 4.1.2, for
the difference between runtime database objects and design-time development arti-
facts.

Shared Business Authorizations


You can also use analytical privileges for, what are called shared business authoriza-
tions. For ABAP-based SAP applications like SAP S/4HANA, access control is defined

265
6 Security

through authorization objects. You can leverage these ABAP authorization objects in
SAP HANA, which helps you implement (and maintain) scenarios where new SAP
HANA XS Advanced applications and existing ABAP-based SAP applications should
use the same authorization model. Shared business authorizations were introduced
in SAP HANA 2.0 SPS 03.

Additional Privileges
For SAP HANA XS applications, additional privileges can be defined. Package privi-
leges authorize you to read, edit, activate, or maintain both native and imported
repository packages. Application privileges define specific usage rights, for example
View or Admin roles. These types of privileges do not apply to SAP HANA XS Advanced
applications, however, which uses an external source code repository and imple-
ments application-level authorization with scopes and attributes.
Another additional privilege type is the ATTACHDEBUGGER user privilege, which enables
a user to debug SQLScript code in another user's session, and is the only user privilege
currently available.

Code Clinic
You can grant privileges with the GRANT and REVOKE statements either directly using
SQL or by using client tools like t he SAP HANAcockpit and SAP HANA studio. The fol-
lowing is an example GRANT statement:
(GRANT CREATE ANY ON SCHEMA t ony TO maria ]
While the SAP HANA cockpit and t he SAP HANA st udio provid ing easy-to-use inter-
faces for t he most common funct ionalities, you'll often have to open t he SQL console
and perform actions in code.
When granting a privilege WITH ADMIN OPTION, this privilege can then be granted
again by the specified user or by t he users wit h the specified role. Otherwise, only t he
object owner ca n grant t he privilege.
If you delete an object or schema owner, all objects and (ad min) object grants are
deleted as well. Object ownership can be tra nsferred.

Troubleshooting Authorization Issues


Troubleshooting authorization issues for catalog (runtime) objects can be compli-
cated. As of SAP HANA 2.0 SPS 03, the database engine includes a global unique ID

266
6.2 User Management

with the error (258] : insufficient privilege : Detailed info f or this error can be
found wit h guid ' <guid>' .
As an administrator, you can then run the procedure get_insuff icient_privilege_
error_detail s ( '<guid>' , ? ) to find the cause of this error.
For earlier SAP HANA versions, you can enable an authorization trace in SAP HANA
studio together with the system views EFFECTIVE _PRIVI LEGES and STRUCTURED_PRIVI -
LEGES. SAP Support's Guided Answers (http://s-prs.co/v488426) for SAP HANA
Troubleshooting, shown in Figu re 6.12, can help you get started.

~ SAP HANA Troubleshooting

>> <eyeac1<000•1eo Troubleshoot the Error "Insufficient privilege: Not authorized" Altho... 0 s1a11over <<
Even If a user has the oorreci analytic privileges for a view, he st.Ill may receive the error tn•utticicnt privi l c90: Not. authoriicct if there Is
an issue w;th privileges at another fevel. r9i
l!J'

Prerequisites ~

To troubleshoot this issue, you require the f~lowing system priV1leges:

• CATALOG READ
• TRACE ADMIN

Procedure
• Verify that the _SYS_REPO user has all required privileges (for example, SELECT) with GRANT OPTION on the base tables of the view.
You can do lllis by M!lecting from Ille EFFECTIVE_PRIVILEGES system view:
SILECT. r ltOIC IPPICTlV1:_PA1VlLltCIS Nlt£a.E USEA_MAKI!:. · _s1s_a.EPO'J

• Verify that the analytic privi'eges required for any underlying vie'A'S have been grsnted to lhe user.
If the view is a top-level view (calculation view) with undertying views, the granted analytic pttvllege 9ran1s access only 10 this top.level
view. Analytic privileges are required for all undertying views. Note that analytic privileges have to contain at least a view attribute with or
without filter condition in order to grant access to the view.
You can verify a usefs privilges by seleciing from the EFFECTIVE_PRNILEGES system view:

• Uthe analytic privilege uses a database procedure to define dynamic value filters at runlime. check for errors in the execution of Ille
undettylng procedure.
To find out the actual error during procedure execution for analytical privileges. check the lndexserver_alert_<host> .trc trace file
(aooessible on the DiagnoSis Files tab of the Administtation editoc).
Source: Troubleshoot the Error ~I nsu fficient ~e: Not aulhorized" Although User Has Anatytic Priy1le9~

Did this help?

Te~ of Uso Copy11ghl and TradelM/ts Logal Dlllciosure Pnviicy

Figure 6.12 SAP Support, Guided Answers: SAP HANA Troubleshooting

267
6 Security

SAP Notes
For more information, see SAP Note 1809199 - SAP HANA DB: Debugging user autho-
rization errors.

LDAP Users and Groups


LDAP is, together with HTIP and TCP/IP, an Internet pioneer. Today, the LDAP server
is typically used in an enterprise to provide a central place to store user names and
passwords. The most well-known LDAP implementation is Microsoft Active Direc-
tory, but many more are available, even open source LDAP implementations. Sup-
port for LDAP authorization was introduced in SAP HANA 2.0 for users accessing the
database with OD BC/JDBC clients. You can even automatically create new users in the
SAP HANA database based on LDAP user group membership.

6.3 Data Privacy and Protection


In this section, we'll describe some additional features to safeguard data privacy: data
masking and real-time anonymization. We'll also address how unauthorized access is
made, if not impossible, then at least extremely unlikely with encryption of data at
rest and data in transit.

6.3.1 Data Masking


Data masking is a special type of object privilege that behaves like an analytical priv-
ilege. As v•e've seen, object privileges are coarse-grained. You either have access or
you don't. And if you don't, you get an error.
To obtain a more fine-grained type of access control, analytical privileges can be used.
However, this type of privilege must be designed and created. Before you can restrict
your sales manager to viewing the data only for his or her region, you'll need a table
with sales data and regions first. Once you have this table and the analytical privilege,
you can assign it to a user.
Consider a table with sensitive data (from a privacy point of view), which could be sal-
ary information in an employee table, credit card numbers in a customer table, or
medical records. The access policy for this data is "no access, except." In other words,
access is denied for everyone, and only users with explicit access grants can view the

268
6.3 Data Privacy and Protection

data. You could use object privileges to implement this policy, but this policy would
only work if the sensitive data is isolated in a dedicated table. However, for perfor-
mance reasons or other table design reasons, keeping the one sensitive column in the
table with other data might be essential. In this case, you could use an analytical priv-
ilege to implement this policy, but now, you'll need to make sure the privilege not to
see the data is assigned to all users, except for some users, which may be cumber-
some.
Data masking provides a more elegant solution and allows for more flexibility. With
data masking, when the wrong user accesses the data, that user would not get an
error. The data would be hidden from that user. If you consider a table with credit
card data, for example, you can create a mask that completely obscures the column
with the card numbers, so all that the user sees are x's. However, you could also
define that mask such that only the first or last fo ur digits are visible. This would
enable customer service representatives to use the card number to verify caller iden-
tify without revealing too much information.
How data masking is implemented is flexible, and you can use a simple template or
write a complex function. Using a function also allovvs you to separate the table or
view object owner from the mask object owner.

Code Clinic
The mask can be a simple template:
CREATE VIEW credit_view AS SELECT name, number
FROM cards WITH MASK
(NAME USING 'AAAA ', CREDIT_CARD USING 'XXXX');
The mask can be implemented as a function, as shown in Listing 6.1.
CREATE FUNCTION mask_owner .credit _mask(INPUT VARCHAR( 19) )
RETURNS OUTPUT VARCHAR(19) LANGUAGE SQLSCRIPT AS
temp VARCHAR(l9) ;
BEGIN
SELECT LEFT(INPUT, 4) 11 • -xxxx-xxxx- . 11 RIGHT(INPUT, 4)
INTO temp FROM SYS .DUMMY;
OUTPUT : = temp;
END ·
'
Listing 6.1 Create Function

269
6 Security

This function enables separation of ownership between the view and mask owner:
CREATE VIEW data -owner .credit- view AS SELECT * FROM cards
WITH MASK
(CREDIT_ CARD USING mask_01~ner . credit_mask( credit _card) );
To view the data without the mask, you'll need the UNMASKEDobject privi lege on the
table or view:
GRANT UNMASKED ON credi t _view TO super _user;

6.3.2 Data Anonymization


Data anonymization solves the puzzle of what's called statistical disclosure control:
revealing accurate statistics about a population while preserving the privacy of indi-
viduals. Data anonymization in SAP HANA is implemented through calculation
views (see Chapter 4, Section 4.3) and supports the methods K-anonymity and differ-
ential privacy. Both approaches are well-known standards in the field.

Technology Background
Differential privacy was first defined in 2003 by Cynthia Dwork. Th is approach
enables t he gathering of useful information from a group of people while at the
same t ime learning nothing about an individual.
Social sciences in the precomputer age used a similar approach to collect statistical
information about embarrassing or illegal behavior: flipping a coin. If tails, respond
truthfu lly (yes or no); if heads, flip another coin and respond "Yes" for heads and
"No" for tai ls, resulting in a 50% chance of the truth with plausible deniability of any
outcome. If repeated often enough, you'll gat her statistically viable information from
the group, wh ile knowing nothing for sure about the individuals.

The data controller-the person responsible for data privacy-defines the calculation
view and configures the parameters of the selected method. To access the view, you can
use a standard SAP HANA object authorization. You can configure the K-anonymity for
a calculation view using the SAP Web IDE for SAP HANA.
In addition, for compliance reporting purposes, a list is made available in the SAP
HANA cockpit for easy access to where a method is used in the Anonymization Views
screen shown in Figure 6.13.

270
6.3 Data Privacy and Protection

< Anonymization View s

All calCulatiOO Vte!WS Wit~ Aoonymllallon NOdes

Anonymization Views Search Q

CalCulation View Creation Time

STUDENTAPP_HDl_STUDENTOB_1 ~udentApp StudenlOB::StudenlSOP May 3, 2018, 10.03 AM >

STUOENTAPP_HDl_STUOENTDB_1 StudentApp.StudentOB::StudentsKA May 3, 2018, 10:03 AM >

STUOENTAPP_HOl_STUOENTOB_1 StudentApp.StudentDB: .dl"prlv May 3. 2018, 10.03 AM >

STUOENTAPP_HDl_STUOENTOB_1·StudentApp StudentOB::kanon May 3. 2018. 10:03 AM >

Figure 6.13 SAP HANA Cockpit: Anonymization Views

6.3.3 Encryption
Encryption protects both data in transit and data at rest. During an eavesdropping
attack, if the data is not encrypted, you don't need a sophisticated network sniffer
tool to capture user name and password combinations traveling over the Internet in
clear text (HTTP). Nor is it rocket science to extract valuable data from database files.
However, once the data is encrypted, making any sense out of raw data is almost
impossible. All data at rest can be encrypted, for example, the database files on the
data volume, the redo log files on the log volume, and any data or log file backup
stored on the file system. In addition, all data in transit can be encrypted as well. In
fact, most data in transit is encrypted automatically.
In this section, we'll address both types of encryption and explain how encryption
can be configured.

Technology Background
In the SAP HANA documentation, the protocol used for network encryption is
described as Transport Layer Security (TLS)/Secure Socket s Layer (SSL). SSL is a rela -
tively well-known Internet protocol for providing the secure "S" of HTIPS and the
green lock icon in t he browser. This protocol goes all the way back to the ea rly days of
the World Wide Web and the Netscape Navigator web browser.

271
6 Security

Today, SSL is almost obsolete, and typically TLS is used to encrypt traffic and aut hen-
ticate computers. However, because TLS is less well known, it is often referenced
together wit h SSL (as in TLS/SSL) or even simply called SSL. Regarding SAP HANA,
when reading about SSL, TLS, SSL/TLS, or TLS/SSL, note that we are referring to one
thing: t he TLS protocol.

Network Encryption
The communication between SAP HANA components is encrypted by default using
TLS. Communication includes traffic between the different processes (hdbdaemon, hdb-
nameserver, hdbindexserver, etc.) and with optional server components, like SAP
HANA dynamic tiering with its extended storage. In addition, communication can be
encrypted at the database tenant level, for multihost (distributed) environments and
between system replication sites, but these require explicit activation (global . i ni,
[communicatati on] ssl = syst emPKI) and some additional steps.

Network Zones
The SAP HANA network is further protected with different zones, as shown in Figure
6.14.

Storage Zone Int ernal Zo ne Cl ient Zone

SAP HANA
SAP HANA
SAP HANA
I iif!tMliI&.1 -----I SAP HANA Client I
~Syst~e
m II 11
Dat abase ' - - - - - - - '· '---_ _ ___,

Storage Zone Internal Zone

SAP HANA
SAP HANA

SAP HANA
11 Bf!t@l.@.I ---i Brow ser I

Figure 6.14 SAP HANA Network Zones

272
6.3 Data Privacy and Protection

A dedicated internal network zone fo r the SAP HANA processes on each host and
between hosts in a distributed system is also used for system replication. In addition,
a separate storage network zone controls network access between the SAP HANA sys-
tem and the storage area network (SAN} or network attached storage (NAS) device.
This zone is also used by the enterprise backup tools. Finally, any other type of access
occurs in the client zone. Each zone can be configured to use its own network adapter
(hence the different IP addresses), which enables you to physically separate internal
communication from outside access channels. We'll discuss this separation further
in Chapter 9, Section 9.11.1.
From a security point of view, the zone that requires most attention is the client zone.
In this zone, you'll find the following connections:
• Connections for administration purposes, for example, the SAP HANA cockpit or
SAP HANA studio
• SQL client connections for business users, for example, SAP BusinessObjects BI cli-
ents using ODBC/JDBC or from Microsoft Excel (also supporting multidimen-
sional expressions [MDX)) but also from the SAP S/4HANA and SAP BW
application server
• HTTP/S client connections fo r business users, like the SAP HANA XS Advanced web
client or the SAP HANA XS command line tool
• Connections for data provisioning, for example, SAP Data Services, SAP Replica-
tion Server, or SAP HANA streaming analytics
• Outbound connections, for example, the Solution Manager Diagnostic (SMD)
agent to SAP Solution Manager, the R client to an external R server, or the SAP
HANA Lifecycle Management tool to connect to Software Downloads on the SAP
ONE Support Launchpad
Careful configuration of the firewall between the SAP HANA system and the outside
world is important. For example, for administration access, you should only allow
traffic from specific IP ranges. You could consider adding additional network protec-
tion using network address translation (NAT} or virtual private networks (VPNs) with
IPsec. With NAT, you can map the public IP address to an internal IP address using
either software or additional hardware, while a VPN creates a private connection
between one for more computers allowing you to simulate local area network (LAN}
connections. Highly recommended, as well, is to configure network encryption (TLS}
for all client connections. These are just some examples, many others exist, and we
recommend checking with your network administrator for advice on specific imple-
mentations.

273
6 Security

System PKI and SSFS


A dedicated public key infrastructure {PK!) with an X.509 certificate can be set up
during the SAP HANA installation to support network encryption and is automati-
cally extended whenever you create a new tenant database or add a SAP HANA XS
Advanced host to the landscape. The PK! consists of a public and private key pair for
each host and tenant database and a public key certificate for their mutual authenti-
cation. The certificate authority is the SAP HANA instance itself, which signs all certif-
icates. The public keys are stored in a personal security environment (PSE) together
with the private key.
PK! and X.509 are common security technologies, but PSE and the associated SSFS
(secure store in the file system) are specific to SAP as is the CommonCryptoLib cryp-
tographic library used to encrypt the traffic. In the past, SAP used different cryptogra-
phy libraries for network encryption and digital signatures. Since 2013, these separate
libraries have been bundled into a shared library, the CommonCryptoLib. This
default library is used for all your cryptography needs with SAP HANA. SSFS is a tech-
nology shared with SAP NetWeaver systems; think of it as a safe to hold key files.
If you're receiving SAP HANA as an appliance from a hardware partner or powering
up an SAP HANA instance in the cloud, you should generate a new master key for the
PK! SSFS.

Learn More
The process for changing t hese keys is documented in "Change the SSFS Master
Keys" in t he SAP Administration Guide on t he SAP Help Portal.

Tenant Database Isolation


To enhance the protection of tenant databases, you can configure SAP HANA to run
in high isolation mode. In this mode, each tenant database will run in the context of
a dedicated operating system user and group, and not under the shared <sid>adm :
sapsys account.
Tenant databases are self-contained already, with separate users and object catalogs.
High isolation mode further strengthens this separation. Consider, for example, file
permissions on backups. In high isolation mode, a separate PK! is configured for
tenant database processes to ensure that only they can communicate with each other
(hdbindexserver with scriptserver, for example). You'll need to explicitly enable

274
6.3 Data Privacy and Protection

cross-database communication to allow one tenant to access data in another data.


This access is read-only and one-way (although bidirectional traffic is configurable).

Learn More
The process for changing the isolation level is documented in "Increase the System
Isolation Level" in t he SAP Administration Guide on t he SAP Help Portal.

Data at Rest and Backup Encryption


Knowing that network traffic can be protected is great, but what about stored data?
No surprises here, as you can encrypt data at rest as well. In fact, for the SAP Cloud
Platform, SAP HANA service, the in-memory database in the cloud, storage encryp-
tion is enabled by default and cannot be switched off.
For SAP HANA on-premise, you have a choice: You can enable data volume encryp-
tion, log volume encryption, and/or backup encryption. Backup encryption will typi-
cally be active when using any of the third-party enterprise backup solutions
supported by SAP HANA. Data volume encryption can also be activated with little
overhead as the in-memory database holds most data in-memory during operation
and data is only written to persistence by a background process during savepoints
every 5 minutes.
Tables stored on encrypted data files will take more time to load during system
startup, but this time is unlikely to be of significance as, again, most of the load will
happen in the background while the database is already open for business. For redo
log encryption, a performance impact might be noticeable as each commit will have
to wait for a write confirmation. On encrypted storage, this process will include some
extra CPU cycles. Your business users may not notice a difference, but the difference
may appear in comparative performance reports (around 5% difference is reason-
able).
The encryption root keys for data. redo log and backup encryption are also stored in
an SSFS. As in the case for the System PK! SSFS (which we discussed earlier in this sec-
tion), when you receive SAP HANA as an appliance from a hardware partner, you
should generate a new master key for the instance SSFS together with new root keys
for each service (data, log, and backup).

275
6 Security

Figure 6.15 shows how you can enable encryption by flipping a switch. The encryption
algorithm is listed (AES-256-CBC) as well as the time stamp of the last key change, in
this case the Advanced Encryption Standard (AES). using a 256-bit key in Cipher Block
Chaining (CBC) mode.

HAO@HAO (syste... Data Encryption Configuration v c ®


Related Alerts I Cata at Rest Encryption I Backup Encryption

III Data vOlume encryption 80d IOg vOlume enctypUOO can be 61'13bled separate!)'. But if )'OU require run protection in the persistence lay« . we rec.<Mr1meocl that you
enable both.

Manage Keys
Data Volume Encryption Redo Log Encryption

•·#••>
Root Key Change: Root Key Change
12121/18. 9: 17 AM 12121118, 9:17 AM

Last Eocrypbon Configurabon Change: Last Eneiypt'°" Conf;guraoon C""OQ&:


2/14119, 10;24 PM 2/14119, 10:24 PM

EneiypUon Algenttwn: Encryption Algorithm:


AES·256-CBC AES-256-CBC

Data Volume Encryption Status of Services Soaroh Ci.


Roo< Key Chang&
Host Service Port CurTent Key Version Status
Pending

mo- index.server -1 Encryption pending ...


te337b361 .mo.s.ap.OOfP
30003

30007
"" -1 Encryl)(ion pending ...
X$8flgiM
""
Figure 6.15 SAP HANA Cockpit: Data Encryption Configu ration

Figure 6.16 shows the location and time stamp of the system PK! and instance SSFS
plus the active version of the service root keys. Change Root Keys will start the Man-
age Keys wizard to guide you through the process, which involves the following
steps:
I. Setting a root key backup password (not to be confused with the backup root key).
2. Selecting the encryption root keys to change (data volume, redo log, backup, and/
or encryption service).
3. Saving the password-protected root keys to an external location.
4. Acknowledging that you've indeed saved the root keys; will never forget the pass-
word; and fully understand that, without these root keys and its password, you
cannot recover the database.

276
6.3 Data Privacy and Protection

HAO@HAO (system) Manage Keys v c ®


Data Enayptlon I System Pubtic Key Infrastructure (PKt) I
Master Key

Description: SSFS File Location: Lost Cl\anged:


This key protects the encryption root keys of an data· S{DIR_GLOBAL)lhdb/securitylssfs 12121118, 9:17 AM
at·rest encryption services. It Is st0<ed in the lns1ance
secure sto<e in the file system (SSFS). SSFS MostO< Key File l.ocotion:
S{DIR_GLOBAL)lhdb/securitylssfs

Sel Root Key Backup Password Back Up Root Keys Change Root Keys

Data Volume Encryption Root Key Redo Log Encryption Root Key Backup Encryption Root Key

Active VersK>n: Active Version: Active Vers0i:


0 0 0
See All Ve<slons See All VO<Slons See All Ve<slons

Last Changed: Lost Cl\anged Lost Cl\anged:


12121118, 9:17 AM 12121118, 9:17 AM 12121118, 9:17 AM

Application Encryption Service Root Key

Active vers;on: Lost Cl\anged


0 12121118, 9:17 AM
See All Versions

SYSTEM PUBLIC KEY INFRASTRUCTURE (PKI}

Master Key

Oesaiptlon: SSFS Fi~ Locotion: Lost Cl\anged:


This key protects the X.509 certificate infrastructure S{DIR_GLOBALYsecuritylrseessfsldata 12121118. 9:17 AM
used to seoure intemal TLS-based communication. ll
Is stored In the system PKI SSFS. SSFS Master Key Fi~ Locotion:
S{DIR_GLOBALYsecuritylrseessfslkey

Figure 6.16 SAP HANA Cockpit: Manage Keys

Application Encryption Service


The application encryption service can be used by SAP HANA XS and SAP HANA XS
Advanced applications to securely store encrypted values in the database, for exam-
ple, for a Java application to store encrypted credit card numbers. Both storage and
retrieval can only be performed using stored procedures owned by SYS, the object
owner of all system tables, procedures, and views, but \Vithout ability to log on. The
same service is also used by SAP HANA internally to store credentials required for
outbound connections, via SAP HANA smart data access (SDA}, and to store the pri-
vate keys of the SAP HANA server as database collection, which is the equivalent of
the SSFS PSE except that the PSE is stored in the database and not in the file system.

277
6 Security

This PSE or database collection is used for secure client-server communication, for
example, between a JDBC client (SAP HANA studio) and the SAP HANA system.

6.4 Auditing
An audit (literally. "a hearing") is an account of events. In our case, for t he SAP HANA
database and SAP HANA XS application server, an audit is a chronological, time
stamped record of selected actions or events. The audit trail or audit log tells you
what happened, who did what, and when (or attempted to). Such a record may be
required for compliance reasons or serve as evidence that your sensitive data has not
been accessed.
Like a surveillance camera, auditing per se does not protect your system; it merely
records what happened. You'll need to turn auditing on, and not everything will be in
scope. For example, the procedure to reset the SYSTEM user pass"llvord (system shut-
down followed by starting nameserver with -resetUserSyst em flag) runs outside of
the scope of the database engine.
For commands executed at the operation system level, which includes system shut-
down and startup, you would consult the Linux sys l og, which holds operating system
audit data. This limitation is also true for actions performed by the SAP host agent
like system updates or adding components. For this reason, configuring auditing to
use sys l og as audit trail target (not internal database tables) might be practical and
may also make it easier to integrate SAP HANA auditing with other auditing tools. For
privacy reasons, however, tenant audit events are written to the internal tables
(which are configurable). Designing a proper audit policy requires some careful
thought.
The SAP HANA audit policy defines the actions to be logged. You can define multiple
policies and enable or disable them when needed. Typical candidates for auditing
include the following actions:
• Authentications: Who accessed the system and when (outside office hours)
• Authorizations: Who granted access to whom. \vho accessed sensitive data
• Object changes or deletions: Unexpected in production systems outside mainte-
nance scopes
• System parameter changes: To avoid future blame games

278
6.4 Audit ing

When you create a new audit policy, you'll first need to indicate whether you want to
audit successful actions, unsuccessful ones, or both. Next, you'll select the type of
action and for which user. You can audit all actions, and you can audit all users but
not both (all actions by all users). All action policies are tagged as "firefighter" policies
and are flagged . The amount of data generated will be so massive that you may have
created for yourself a needle-in-the-haystack problem. Typically, you'll \Vant each
policy to capture specific actions, like defining specific objects, for example, tables
with sensitive data. Or, you might specify specific object actions. For each policy,
you'll indicate the level (info, warning, alert, critical, or emergency) and the audit trail
target (database table or syslog). This flexibility enables you to log critical and emer-
gency entries to the syslog for direct processing, while keeping info entries in the
database for reporting, for example.
Several best practices to keep in mind with regard to auditing include the following:
• Create as few audit policies as possible (better a single complex policy than several
simple ones).
• Avoid DML, which impacts performance more than DDL.
• Do not create policies for actions that are already audited by default (clear audit
log).
• Do not create objects that do not allow direct access (SYS . P_USER _PASSWORD).

Figure 6.17 shows the Auditing page in the SAP HANA cockpit where you can create
and enable audit policies, configure the audit trail (database or log), and view audit
trail records.
Under the Audit Tra il tab, you'll see audit entries for both the SAP HANA database and
the SAP HANA XS Advanced application server. Figure 6.18 shows the combined All
Logs view with the SQL statement included.

Learn More
See t he chapter "Auditing Activity in SAP HANA Systems" in the SAP HANA Security
Guide for more detail and further references.

279
6 Security

HAO@HAO (systom) Audrting v c Qi

System: HAO
A policy that auOts 81 actions (flre'Ohter policy) is enal>ted.
4 pol.c:aas enabktd, and 0 policies disabled

Audrl Policies Configuration Audit Trail

Audie Policy Policy StalUS


-
Auditod Actions
Audited Ac:cion
StaluS
~

Audit level
M'\O

users
Create Al.ld•I Policy

Audited Objects
c •
Audit Trail Target
'i7

Application
Monitor'!~
Enoble<I PERSONAL O... .,.,,,.
Suc:icfftlul
W;t1minQ AH users ALL OBJECTS Oat31>ase Ull:lle

Password POliey Enable<! INSERT, UPOA... All events C~ical Alluseo; M_PASSWOR•.• Oalaba.se tallle
System
oonr.guralion Enoble<I SYSTEM CON ... All events Alen All ..... All OBJECTS Oatal>a.sc table
change

,...
I Enable<! ALL ACTIONS .,..,,.
Successful
~ Info JANEOOE All OBJECTS Database table )

Figure 6.17 Audit Policies in Auditing, SAP HANA Cockpit

HAO@HAO (system) Auditing v c Qi

System: HAO
3 J><*les enabled, and 0 pollcles dlS8bled

Audi! Policies Configurobon Audit Tr&ll

Al l ogs (10) SAP 1-W'lA Logs (10) XSA Logs() Oele:e Audit Entries I©I
TimeStamp Pclcy Name l 8"el Stews User Name Statement

Al.TE.R SYSTEM Al.TER soe w statement


CONFIGURATION (
Sys.1em oonf'igutatlon
2019-02·10 12;07:20 ALERT SUCCESSFUL SYSTEM 'lndexseNer.ini','DATABASE')
ChOnge SET fpassword
Poicy".'fol'tll_ fit$l.J>M5WOl'd_c...

ALTER AUDIT POttCY ·system See Y statemeN


2019.02·10 12:04:55 Manc:latoryAucli;Polic:y CRITICAL SUCCESSFUL SYSTEM oonrtguration Change· ENABLE
CREATE AUDIT POLICY See h..- s1atement
"Sy$ttm conl'iguration chaf199"
2019-02·10 12:04:55 fAanclatoryAudi:Polic:y CRITICAL SUCCESSFUL SYSTEM AUDITING ALL SYSTEM
CONFIGURATION CHANCE
lEVEl ALERT

Figure 6.18 Audit Trai l in Aud iting, SAP HANA Cockpit

280
6.6 Additional Security Considerations and Concerns

6.5 SAP HANA XS Security

The SAP HANA XS (both the classic and advanced model) application servers are part
of the platform and share many security features with the database. Network encryp-
tion, for example, is configured at the system level. The same <sid>adm operating sys-
tem account owns both the database and application server software. In case of SAP
HANA XS Advanced, the default IdP (authentication service) for the application
server is the SAP HANA database. However, as we described in Chapter 2, Section 2.2.S,
the SAP HANA XS, classic model and SAP HANA XS advanced model application serv-
ers are also quite distinct, which impacts security aspects.
Authentication and authorization work have been implemented differently - not
just different when comparing SAP HANA XS, classic model with SAP HANA XS,
advanced model, but also different 1.vhen comparing each application server with the
SAP HANA database. To avoid three sections on authentication and another three on
authorization, which would result in much confusion and little clarity, we've chosen
to address the application servers in Chapter 4, Section 4.4, where we discuss security
in the context of application development.

6.6 Additional Security Considerations and Concerns

In this chapter so far, we've described the most important security topics for the SAP
HANA platform with a focus on the database. While database security is a good place
to start, your security considerations should not end there. To install or update SAP
HANA components (SAP HANA server, SAP HANA client, SAP HANA cockpit, SAP
HANA XS Advanced, AFL, and so on). you'll use a single tool: SAP HANA Lifecycle
Management (see Chapter 3, Section 3.3). This tool includes its own security features,
like software authenticity verification and using lesser-privileged users for updates
(leaving the SYSTEM user disabled). This tool also introduces new security consider-
ations as you may require root user access to the operating system and new ports to
open in the firewall.
With a single SAP HANA cockpit system, you can manage an entire SAP HANA land-
scape. But what privileges should your SAP HANA cockpit users have? And how
should you configure the technical user to connect to the managed resources?
Should you enable SSO. and even enforce it? The SAP HANA cockpit also comes with
its own security requirements and considerations, as does the database explorer.

281
6 Security

Although integrated into the SAP HANA cockpit and the SAP Web IDE for SAP HANA,
this application has its own security considerations regarding authentication, autho-
rization, and securing connections. Note also that you could use SDA for federation
or user replication technologies like SAP Data Services and SAP Landscape Transfor-
mation Replication Server, R and Hadoop integration with the SAP HANA landscape
and SAP HANA data warehousing foundation-the list goes on.
In addition, the responsibilities of the SAP HANA security architect don't stop at the
platform with its associated options and edition components. In this chapter, we
haven't really mentioned topics like the security implications of running SAP
S/4HANA or SAP BW on SAP HANA, SAP BusinessObjects integration and the EPM-
MDS plugin, or access between cloud applications like SAP Analytics Cloud and on-
premise SAP HANA systems.
Nor have we discussed how SAP HANA relates to other SAP products in the cyberse-
curity and GRC spaces. Once you go beyond the introductory level, you'll need to
address integration with products like SAP Access Control or SAP Identity Manage-
ment; with services like SAP EarlyWatch Alert, part of the security optimization ser-
vices; or with organizations as user groups for security, data protection, and privacy.
Security is complex, and we've only scratched the surface.

Learn More
SAP HANA product management mainta ins a microsite with information about
security for an IT expert aud ience (our security architect persona). For more informa-
t ion, visit http://s-prs.co/v488427.

SAP Notes
For add itional information, search the knowledge base for articles about SAP HANA
security. A good place to start is SAP Note 2159014 - FAQ: SAP HANA Security. The
component fo r the SAP HANA security topic is HAN-DB-SEC.

6.7 Summary

In this chapter, we covered the most important SAP HANA security concepts with a
focus on the database. We introduced the SAP HANA security architect as a persona
by looking at the job role and the most relevant tools. We provided a quick scan of the

282
6.7 Summary

SAP HANA user management implementation with the available options for authen-
tication, both built-in through user name and password policies and from external
mechanisms like Kerberos, SAML, and JWT. Similarly. we investigated vario us
options for authorization, including hybrids like ASAP-shared business authoriza-
tions and using LDAP as both authorization and authentication provider. After the
topic of secure access, we addressed data privacy and protection with data masking
and data anonymization as interesting new features. Then, we looked at data encryp-
tion at rest and in transit using TLS/SSL, PK!, SSFS, root keys and master keys. And to
comply with regulations, we did a quick tour of the audit functionality.
In the next chapter, we'll meet the persona responsible for connecting our SAP HANA
systems with the outside world, replicating data from source systems, integrating
with big data, or virtualizing remote data sources using SDA. Time to introduce you
to the SAP HANA data integration architect.

283
Chapter 7
Data Integration
I have no data yet. It is a capital mistake to theorize before one has
data. Insensibly one begins to twist facts to suit theories, instead of
theories to suit facts.
-Sherlock Holmes

Garbage in, garbage out (GIGO).


- WilfHey

In the early days of SAP HANA, when native applications for the platform like SAP
S/4HANA or SAP BW/4HANA were not yet available, the topic of data access
received considerable attention. If you pick up an old copy of the SAP HA1VA Master
Guide, of the three use cases described, tv,ro are primarily concerned with data pro-
visioning: SAP HANA as a data mart and SAP HANA as an accelerator. Provisioning
is generally understood the process of making data available to users (or applica-
tions) while maintaining data access security. You don't just want to move or copy
data from one system to the next. You also still need to maintain control over data
access.
Data integration concerns bringing together data from different, often heteroge-
nous, sources with the objective of providing a single, coherent view. SAP HANA sup-
ports several technologies to reach this objective, including replication, federation,
data quality management, and synchronization. Data access and integration brings
th e entire enterprise together under one roof, ready for analysis. Some of this data
might need to be replicated in real time, for example, stock prices or inventory,
where timing is of essence. Other data sources might be "dirty" and first need a good
scrub before you can allow it to enter the database. You might need to combine data
sources to add value, or perhaps you prefer to leave your data as-is, stored in a data
lake, but still need to connect to it when the need arises.

285
7 Data Integration

In this chapter, we'll describe all the data access technologies currently available for
SAP HANA, including the SAP HANA Data Management Suite, enterprise information
management (EIM), data federation, data synchronization, data replication, and big
data.

7.1 Roles and Tools

What are the responsibilities of the SAP HANA data integration architect, and ~vhat
tools are available to do the job? In this section, we'll briefly describe job role of the
data integration architect persona.

7.1.1 The SAP HANA Data Integration Architect


The data integration architect is responsible for providing access to (and from) an
SAP HANA database to other data sources and to map out the data integration pro-
cess. This responsibility could be part of a wider role as an SAP HANA (solution/enter-
prise) architect or could be defined as a fu ll-time job as a data integration consultant.
Affinity with EIM concepts is likely to be assumed.
Looking at the SAP product portfolio for EIM, you'll see products for master data
management; for enterprise content management; for extract, transform, and load
(ETL) processes; and similar acronyms. Depending on the size of your organization,
all these different activities and responsibilities might be shared among a team of
specialists.
The data architect's role is to advise on the best approach when integrating SAP
HANA into the enterprise. For example, regarding big data, at what stage should we
upgrade from Hive ODBC to SAP HANA Spark Controller? How can we handle
unstructured data? Can we leave the data where it is and just provide data access, or
should we integrate (some of) the data? What transforms should we apply? What are
our options to improve data quality? If you need to connect to SAP ERP systems,
when should we opt for trigger-based replication and when would redo-Jog replica-
tion provide a better alternative?
In this chapter, we won't be able to answer all these questions, but we will provide a
comprehensive overview of the different EIM technologies and hov; they relate to
SAP HANA's in-memory platform.

286
7.2 SAP HANA Data Management Suite

7.1.2 Tools
For the most part. data access and data integration functionalities are included in the
standard SAP HANA tools: the SAP HANA cockpit or, v.•hen working with SAP HANA
1.0 exclusively, the SAP HANA studio. You can design data integration flows, for
example, using the SAP Web IDE for SAP HANA. To create remote data sources and
virtual tables, you can use SQL, or you can perform these activities using special edi-
tors in the database explorer and in SAP HANA studio.
However. for other activities. you might need to sharpen your skills working with
new tools that don't use the SAP HANA cockpit or the SAP HANA studio, like SAP
Landscape Transformation Replication Server, SAP Enterprise Architecture Designer
(SAP EA Designer), or SAP Data Hub. In this chapter, we'll describe the different data
integration technologies that can be used with SAP HANA, together with the relevant
tools.
To facilitate the work of the data integration architect, SAP launched SAP Data Hub,
which is included in the equally new SAP HANA Data Management Suite. We'll dis-
cuss the SAP Data Hub further in Section 7.2.l.

7.2 SAP HANA Data Management Suite

The SAP HANA Data Management Suite is a data management. orchestration. and
governance solution, introduced early 2018. Data management is concerned with
topics like storage, security, integration, quality, and movement of data assets (to
name just a few), and is often the responsibility the chief information officer (CIO).
Data governance concerns are more recent (although typically considered a part of
data management) and focus on data quality, integrity, and security, including
accountability. Data privacy and compliance with rules and regulations are data gov-
ernance topics. The concept of data orchestration is even more recent, and defini-
tions are still being drafted, but the key notion is the separation of storage and
computing introduced with cloud computing. in particular with multicloud and
hybrid cloud/on-premise environments. These developments have added com-
pletely new dimensions to data management and governance. Where is the data
stored? Ho\v is it stored? How can you make sure that everyone inside the organiza-
tion has access (but nobody else)? Security, governance, performance, availability- a
whole new layer of complexity has been added to data management. which also
needs control from a cost perspective.

287
7 Data Integration

As mentioned earlier, the two core components of the SAP HANA Data Management
suite are SAP HANA and the SAP Data Hub, on-premise or as-a-service in the cloud.
Two additional products add capabilities for data management: SAP EA Designer and
SAP Cloud Platform Big Data Services. The suite itself is not a product as such-and
thus not listed in the Product Availability Matrix (PAM) or under Software Down-
loads on the SAP ONE Support Launchpad-but several components are brought
together as a coherent whole, or, as marketing might say, as an end-to-end solution.
At the time of writing (summer 2019), this suite is being redefined and now also
includes the new SAP HANA Cloud Services and SAP Data Intelligence. Both products
were announced at SAPPHIRE NOW in 2019 and are currently under development,
expected for release in late 2019. We described SAP HANA Cloud Services in Chapter
l, Section 1.6.

The SAP Data Intelligence cloud service focuses on the productive use of artificial
intelligence (Al) and machine learning. The orchestration concerns described earlier
also impact data science projects, especially siloed data and a multitude of tool and
technologies. How to deploy projects productively, how to scale, and how to manage
costs are typical concerns. SAP Data Intelligence solutions aim to bring the data sci-
ence and IT departments together and accelerate the development and deployment
of AI.

Learn More
To learn more about the SAP HANA Data Management Suite, visit http://s-prs.co/
v488428.
To learn more about SAP Data Intelligence, visit http://s-prs.co/v488429.
To learn more about SAP HANA Cloud Services, visit http://s-prs.co/v488430.

7.2.1 SAP Data Hub


Once upon a time, a data warehouse brought together multiple data sources for
analysis through an ETL process, a whole product category by itself. As mentioned
earlier, in our current state, with the growth of hybrid and multicloud distributed
data landscapes, these traditional processes are no longer sufficient. Enterprise data
can be found everywhere and anywhere, often kept in silos, making connecting all
this big data to business data, processes, and users complex and costly. End-to-end
data governance is a challenge, if not impossible.

288
7.2 SAP HANA Data Management Suite

To address these issues, SAP Data Hu b, a data orchestration solution, can extract
value from distributed data assets and provide automated data processing across
your entire data landscape. The key capabilities (functionalities) fo und in the SAP
Data Hub include the following:
• Data discovery: How is it all related?
• Data refinement: How to process raw data into (reusable) assets?
• Data governance: How to provide trust and compliance?
• Data orchestration: Scheduling and monitoring, data transfer, and remote task
execution.

SAP Data Hub takes as input data of any type, variety, and volume of data, including
databases, data warehouses, data marts, cloud datastores (data lakes), internal or
external applications, unstructured data, event streams, geospatial, third-party data,
and so on.
SAP Data Hub provides a single interface, shown in Figure 7.1, with different applica-
tions for monitoring; systems, license, and connection management; metadata
exploration; and audit log viewing. SAP Data Hub also integrates SAP Vora (see Sec-
tion 7.7).

RI
t_Q
Audit Log Viewer
"i
Connection

License
~
Metadata Explorer
Management Management

'

Modeler

I I
Monitoring System
Management
I I Vora Tools

Figure 7.1 SAP Data Hub Launch pad

289
7 Data Integration

SAP Data Hub is available both on-premise and in the cloud with elasticity provided
by Docker containers and Kubernetes technology. Under the hood, you'll even find
SAP HANA embedded in SAP Data Hub for metadata persistence.
Figure 7.2 shows the Data Pipelines app, launched from the Modeling tile of the
launchpad of SAP Data Hub, trial edition. In this app, you can see data orchestration
in action and learn ho'" to model data refinement.

~
+ <>
St~d'I
Hs!f i.ip!uh JSON
~•1 1 •1v~ ••
!fft'l'lirlall
v Ex#lll'les

.;::,"' ~
.. ...
, ,
,,,_,.
""
O.Q
Gtltflllof
r•e Sys~m
l
-
H OFS ....~
PlO"SlNamtt

..
53
...

HOfS~
HOFS ProOIM'r
open OOOGgurauon
Open Oo<umentation
Re"'°"'

......
v Mathine learM!g (beta)
.....
:t:::!
~~ ..
.....
:r::::
~- "
llla.EwntConsumet
c::::::J S.tll:f •frrt9 S«O'ICIJ "00
"'11, Mt~IST Tnin MNl:ST slla.Ewn!Ptoduc:tt
lmg ~eaN Model

Figure 7.2 SAP Data Hub: Data Pipelines

Learn More
To learn more about SAP Dat a Hub, see http://s-prs.co/v488437. For t he docu menta-
tion, search for "SAP Data Hub" on the SAP Help Portal.
We also recommend signing up for t he openSAP course "Freedom of Data with SAP
Data Hub."

Tutorials
Try out SAP Data Hub for yourself on the free SAP Data Hub, developer edition, and
check out the SAP Data Hub tutorials on t he SAP Developer Center.

290
7.3 Enterprise Information Management

7.2.2 SAP Enterprise Architecture Designer


SAP EA Designer is an optional component of the SAP HANA Data Management Suite.
This component is a data modeling tool also available standalone or as an "edition for
SAP HANA." You can design your enterprise architecture, your business processes,
and your information architecture with this tool, which we'll discuss further in Chap-
ter 8, Section 8.2.

7.2.3 SAP Cloud Platform Big Data Services


SAP Cloud Platform Big Data Services is the fourth (optional) component of the SAP
HANA Data Management Suite. This purely cloud-based service has no on-premise
equivalent. SAP Cloud Platform Big Data Services stores and manages data from
Internet of Things (IoT) devices and sensors, among other sources. This component
also can be used to offload old or less frequently accessed data from SAP ERP or other
enterprise applications running on SAP HANA.

Technology Background
SAP acquired the technology behind SAP Cloud Platform Big Data Services from Alti-
scale in 2016, a Silicon Valley company based in Palo Alto, California, and fo unded in
2012. Alt iscale provided two big data services: Altiscale Data Cloud and Alt iscale
Insight Cloud, categorized as Hadoop-as-a-service (Haas) or big data-as-a-service
(BDaaS), respectively.

Learn More
For the documentation, see SAP Cloud Platform Big Data Services on the SAP Help
Porta l.

7.3 Enterprise Information Management

EIM is a generic information technology term, often used as synonym for data man-
agement as described in Section 7.2. Although some would argue that EIM also covers
nondigital resources (making data management a subset of information manage-
ment, next to enterprise content management, business process management, and

291
7 Data Integration

even business intelligence), for our purposes, we'll focus on how SAP uses the term to
bundle several related products into a portfolio.
For data management in SAP several main tools and solutions include the following:
• SAP HANA Data Management Suite/SAP HANA Cloud Services
• SAPHANA
• SAP Data Hub
• SAP Data Intelligence

Enterprise information management in SAP, on the other hand, includes the follo11v-
ing tools and solutions:
• SAP Master Data Governance (SAP MDG)
A solution for master data management on SAP S/4HANA or SAP ERP.
• SAP Data Services
A solution for data integration and data quality using SAP BusinessObjects Busi-
ness Intelligence (SAP BusinessObjects BI) platform technology.
• SAP Information Steward
Includes data profiling and metadata management using SAP BusinessObjects BI
platform technology.
• SAP Agile Data Preparation
A self-service tool for data discovery, preparation, and quality (SAP HANA plat·
form).
• SAP Information Lifecycle Management
Extends data management with data retention policy management (SAP Net·
Weaver).

7.3.1 SAP HANA Smart Data Integration and SAP HANA Smart Data Quality
SAP HANA smart data integration (SDI} and SAP HANA smart data quality (SDQ) are
two different products, but SDQ is best understood as a plugin for SDI. As SDQ can't
be used independently, we'll cover both products together in a single section.
For the previous SAP HANA 1.0 release, SDI and SDQ were bundled as SAP HANA
enterprise information management as part of SAP HANA, enterprise edition. SDI
(but not SDQ) is included in the free SAP HANA, express edition.

292
7.3 Enterprise Information Management

SAP HANA Smart Data Integration


With SDI, you can connect to any data source, apply transformations, and load data
into SAP HANA (on-premise and cloud). The most common connection adapters
included out of the box are as follows:
• ABAP
• SAP Business Warehouse (SAP BW)
• Traditional databases {IBM DB2, Oracle, Microsoft SQL Server, Teradata)
• Social media (Facebook, Twitter)
• SOAP and OData
• Apache Hive
• Microsoft Office
• Files (e.g. Microsoft Excel)
• JDBC
Many other connection adapters exist. Standard connectors are complemented with
the SAP HANA Data Provisioning Adapter software development kit (SOK), v,rhich
enables you to build your own adapters. Like SAP Data Services, SDI works with what
is called a Data Provisioning Agent. The Data Provisioning Agent is installed and run-
ning on the data source system and provides a secure connection between the data
source and the data provisioning server running on the SAP HANA server.
SDI is completely integrated into SAP HANA and uses the same platform lifecycle
management tool for installation and updates (see Chapter 3, Section 3.3.3). For
administration and monitoring, you can use the SAP HANA cockpit or, if you prefer,
SAP HANA studio.
Before you can use SDI, first, you must install the Data Provisioning Agent on the tar-
get server and then register the agent with the data provisioning server and with the
correct adapter. Once this one-time setup is performed, the actual work can get
started, and you can start defining the data integration processes, as sho\vn in Figure
7.3. In the flowgraph, you'll add data sources and mappings; perform unions, joins,
and transformations; perform data cleansing; and set up data quality controls until
you arrive at the desired output.

293
7 Data Integration

..
•••
w

f
CA© +
c-.JM

r@
c-.

\
'
)

+
-
P relt<llon

r........
co.~)

0~ •-' . '"
CA©

-
~·-•"'"-
> _,

O.@

"'"
Co.@

Figure 7.3 SDI Flowgraph in the SAP Web IDE for SAP HANA

SAP HANA Smart Data Quality


The common targets for data quality processes are names. addresses, and other con-
tact information. The objective is to establish and maintain trust in the data. Cus-
tomer databases typically contain many incomplete, inaccurate, and duplicate
records. Bad or dirty data can negatively impact operational efficiency (call center
operators \vasting time identifying the proper customer record) and data analysis
(data is assigned to the wrong bucket) or may cause issues with data governance and
compliance.
With SDQ you can properly format and standardize your datasets (data cleansing),
identify duplicate records, and add geocode data (or return valid addresses based on
geographic coordinates). Sophisticated match survival rules help you deal with mul-
tiple duplicate records. The same SDQ technology is also embedded in products like
SAP Agile Data Preparation. SAP MDG, and SAP Data Quality Management.

Learn More
For the documentation, see SAP HANA Smart Data Integration and SAP HANA Smart
Data Quality on the SAP Help Portal.

294
7.3 Enterprise Information Management

Tutoria ls
For hands-on tut orials, see t he videos and t he playlists on the SAP HANA Academy
YouTu be channel, for example, "SAP HANA Smart Data Integration and Smart Data
Quality."

7.3.2 SAP Data Services


For the initial release of SAP HANA. SAP Data Services was positioned as one of three
data provisioning technologies, together with SAP Landscape Transformation Server
and SAP Replication Server. SAP Data Services served as the ETL option for batch
loads, complex transformations. and integration with other data sources.
You can do many things with ETL and SAP Data Services. As a standalone product,
SAP Data Services can serve any source and any target, including Google BigQuery, as
shown in Figure 7.4, and help you create new datastores (sources) while providing
web service URLs and authent ication details. Once defined, you can just drag data-
stores onto the canvas to serve as data inputs for a data integration flow.

~ fl'Olf<t [Ot YI~ !oott Q~ ~- ~Ip

: ' > ~ '&. @) t<i~


;!!::::<et~l==·!o'.:1"1: :. .: : : ~- c:_"_ _.:_
I ta. 1 -~;~~·~·""'··~I~·~·=-"'~!:':
::.'"-. :,'£·~\ll~
I ~IB~~-------~1
Pro;tG Afc+

"' CoalO«'tioon
~...... (ll;fl~&llOO'I
~llQlllSll'I 5ef¥et \.Ill
•s
hlii.:n-.,,is.QlOOdit.~lhUttbn
Auhnb\11:11'1 AaleW $clipe: hll;J9,:lfw•uo (lll~.~~y
s.v.c. A.(IC:o.l'll fatilf AdO'tw
seM:e~~,.,..,

s.-:e ~t $9\HTt *''""' .............


' ,...,_,. ~ ,,..,.., . . . •'
.t'ottlQnfflt-M.)fWo1 l:I Lot
Loc.i Ob,J«t tllbr&iy
!:Irr:~
o.~ lo..;
e o-
0 0 Nn..0--.
e eo c:J
- r-.
a ~~·> o
!!! .tt0ftf$$._PATA~~· 0
9 .IQ)RESSO*TAf'tr.,. 0
0 ,..,.,.olb~.) l I Cl( ~ WY I
EJ OOPY~... 0 /
~ a-""""'....,..·-ajM-~f~j.--~
. ,,.---------~ .. ,....,.....~,,.--rn'";---------"'
• •
efli 1~ "'!tfoll -lr Oo , f r. ~ .surtfl'•
..... P <1

Figure 7.4 SAP Data Services Designer

295
7 Data Integration

Technology Background
SDI and SDQ use same technology found in SAP Data Services. BusinessObj ects
(acquired by SAP in 2008) acquired the data integration technology with ActaWorks
from Acta Technology (2002).
One of the great features of Acta Works at the time was its connectivity to SAP ERP
and SAP BW systems.

Learn More
For the documentation, see SAP Data Services on the SAP Help Portal.

7.3.3 SAP Agile Data Preparation


SAP Agile Data Preparation is a self-service data preparation application aimed at
business users. This easy-to-use web application, powered by SAP HANA, leverages
the same data integration and data quality technologies and capabilities. In addition,
a component named Enterprise Semantic Services (ESS) enables semantic searches
(natural language keyword queries), data profiling (for content type determination),
and publishing data through its application programming interfaces (AP!s).
Figure 7.5 shows the user interface (UT) for SAP Agile Data Preparation. This tool can
help the casual business user add new data sources, paste in data from the clipboard,
or upload files from Microsoft Excel with some transformation capabilities, for
example, combining worksheets or pivoting tables (changing rows to columns, or
vice versa). Once the data is loaded, SAP Agile Data Preparation can also easily cleanse
data. aggregate data, remove duplicates, and perform all sorts of data preparation
tasks without needing to involve IT.
SAP Agile Data Preparation is available for on-premise use cases and as a service on
SAP Cloud Platform and works together with SAP Data Hub with further integration
on the roadmap. Although closely related to SAP HANA and its EIM capabilities, SAP
Agile Data Preparation is a separate product with its own documentation, PAM, road-
map, and so on.

Learn More
For the documentation, see SAP Agile Data Preparation on the SAP Help Porta I.

296
7.4 Data Federation with SAP HANASmart Data Access

= SAP Aallo Oata Preparation > TMDProl•ct WELCOME USER09 ~ (!)

~ Lil ADP- Salts Ott• v +


T rows: '4,0..6 ,,...... Q >
€1 81ows.t Data Sourcei

+ iji Upl*Fil~
+ l!'2. TRANS.ID k2. CUST_10
·~ El
~ Add f ormula c.olumn
PHte l="«>Cll Cli~rd
1 200001 89956 SS9
2 200002 41969 327
+ A4cl COiumn
ti;. l~rt from Twpl.att
3 200003 11007 4<S

• 200004 8S142 31 Cj Ouplieate Curttt1t Wofbhfft

'
20000S
200006
2S413
843S9
275
,.., em \V~hffts
COtnblne
'
"' o' . . .,.,. . .,
~ Aggtqatt Data
1 200007 96567
8 200008 67603 2'17
9 200009 31408 9334.706 2003-05·30
10 200010 66838 S980.094 2005-02·03
11 200011 1n96 4607.$02 2006-0$-22
12 200012 «277 509$.347 2001·11·17
1S 200013 69S4l 7483.904 2002-04·02
' ·~-· ...........
A ctions.
14 200014 320<-0 7$29.865 2002·1().03
History
1S 20001S 29849 2072.88 2009.07•06
774.691 Column
95066 2005·12·25
" 200016
17 200017 31425 9SS8.69S 2012·1().13 Properoes

Figure 7.5 SAP Agile Data Preparation

Tutoria ls
For hands-on tutorials, see the videos in the SAP Agile Data Preparation playlist on
the SAP HANA Academy YouTube channel.

7.4 Data Federation with SAP HANA Smart Data Access

Data federation technology enables the aggregation of data from different and often
disparate sources into a virtual database, so you can access the data without having
to replicate (or migrate) the data. In SAP HANA, data federation technology is called
SAP HANA smart data access (SDA), but sometimes the term "linked databases" is
also used in SAP Notes or in the documentation in this context.
To use SDA, you'll first need to create a remote data source. SDA makes remote con-
nections using ODBC, so in theory any database that supports ODBC can become an
SDA data source. However, to leverage the smart functionalities of SDA, the data
must be supported as a remote source, which is currently the case for SAP databases
(SAP HANA, SAP IQ, SAP ASE, and SAP MaxDB) and commonly used databases (Oracle,

297
7 Data Integration

Microsoft SQL Server, Teradata, IBM 082, and Netezza). In addition, SDA also supports
Google BigQuery, Hadoop, and Apache Spark.
After creating a remote data source, the next step is to create a virtual table. When
creating a virtual table, the metadata of the table (the names of the table and its col-
umns and the different data types used) is stored locally in the SAP HANA catalog just
like a regular local table. Thus, you can create synonyms, use the table in functions
and procedures, and define object access the same way as for local tables. The actual
data, however, remains where it was, on the remote location. We're only recreating or
replicating the metadata in this scenario.
Statistics are also available for the remote objects such that the query processor can
optimize remote data source queries, and query joins are processed at the location
where this processing would be most efficient. SDA supports both SELECT and data
manipulation language (DML} statements (INSERT, UPDATE, and DELETE}.

Learn More
For the documentation, see "SAP HANA Smart Data Access" in the SAP HANA Admi-
nistration Guide on the SAP Help Portal.

Tutorials
For hands-on tutorials, see the videos in t he SAP HANA Smart Data Access playlist on
t he SAP HANA Academy YouTube channel.

7.5 Remote Data Synchronization

With SAP HANA remote data synchronization, you can synchronize data between an
SAP HANA master database and an SAP SQL Anywhere client databases. Remote data
synchronization enables you to connect remote workplaces and mobile devices to
the enterprise network.

Technology Background
SAP SQL Anywhere was originally developed as Watcom SQL, a cross-platform
embeddable SQL database, by a company named Watcom Internationa l Inc., as part
of its portfolio of portable compilers and tools. Watcom was acquired by PowerSoft

298
7.5 Remote Data Synchronization

in 1994, then by Sybase in 1995 (version 4 t o11 as SQL Anywhere), and final ly by SAP in
2010 (version 12 and later).

SAP SQL Anywhere is a lights-off, small memory footprint database, well suited for
applications located on offsite locations or on mobile devices. You'll find the SAP SQL
Anywhere database often embedded inside applications because of its self-manage-
ment and self-tuning features, requiring little to no IT support.
SAP SQL Anywhere runs pretty much anywhere; is available on many platforms
including smartphones (Mobilink); and supports the most common database inter-
faces (for example, ODBC, JDBC, .NET, and JavaScript) and application development
tools (Visual Studio, Eclipse, PowerBuilder).
Remote data synchronization enables SAP HANA to act as the consolidated database
in an SAP SQL Anywhere landscape. The remote data synchronization client can be
installed as an SAP SQL Anywhere database, typically on a server or desktop com-
puter located at the edge of your network or what's called an UltraLite database,
which is SAP SQL Anywhere for mobile devices.
A remote data synchronization server process running on the SAP HANA server or a
separate machine manages the synchronization process and maintains the client
state information in the database. In the database, you'll also find the synchroniza-
tion scripts that determine authentication and that determine data to upload, down-
load, and process.
Remote data synchronization is part of the SAP HANA standard edition and included
in the free SAP HANA, express edition for developers. SAP SQL Anywhere remote
databases (synchronization clients) are licensed separately.

Learn More
For the documentation, see the fol lowing topics on the SAP Help Portal:
• "SAP HANA Remote Data Sync"
• "SAP SQL Anywhere"

Tutorials
For hands-on tutorials, see t he SAP D&T Academy videos on t he SAP Technology You-
Tube channel.

299
7 Data Integration

7.6 Data Replication

Replication is best understood as a continuous backup process. While a backup is


taken at a specific point in time, with incremental (delta) backups following up to
shorten the recovery time objective (RTO), typically, replication is an ongoing pro-
cess. This process may run synchronously to guarantee an exact copy of the source
system to the millisecond or asynchronously to add time buffers, for example, to
detect logical errors or to handle network latency. Often, a combination of both
approaches is used, with synchronous replication in the data center and asynchro-
nous to a remote location.
We'll describe the SAP HANA system and storage replication in Chapter 9. In this
chapter, in contrast, we're concerned with data replication from a (typically) transac-
tional source system to follow the SAP HANA as a data mart implementation sce-
nario to accelerate BI reporting and analytics. In this section, we'll walk through the
key tools used for this purpose.

7.6.1 SAP Landscape Transformation Replication Server


With SAP Landscape Transformation Replication Server, you can perform real-time
data replication from ABAP-based SAP applications (SAP Business Suite, SAP BW, SAP
S/4HANA) to SAP HANA. The original use case was with SAP HANA as a data mart (in
a sidecar implementation) or to use SAP HANA as an accelerator (described in Chap-
ter 2, Section 2.2.1). In the first case, you would typically replicate most of the data and
metadata from the application to build your data mart. In the second case, you would
probably limit yourself to a number of reports or business processes that v.rould ben-
efit most from in-memory computing.

Technology Background
SAP Landscape Transformat ion Replication Server is a sophisticated product useful
for many use cases t o enable real-time replicat ion from SAP sources and/or non-SAP
sources to SAP targets and/or non-SAP targets. Technically, SAP Landscape Transfor-
mation Replicat ion Server is implemented via t he Data Migration Server (DMIS} add-
on for SAP NetWeaver. SAP Landscape Transformation Replication Server connects to
sou rce and target system using remote funct ion calls (RFC) or through a di rect dat a-
base connection and can also be used as part of an SAP S/4HANA environment.

300
7.6 Data Replication

SAP Landscape Transformation Replication Server operates at the ABAP application


level and fully understands the logic of SAP applications, thus reducing the time and
effort required for configuration.
You can write ABAP code for data filters and transformations to convert, enrich, and
reduce the number of target data records selected for replication. As an SAP Net -
Weaver application server, SAP Landscape Transformation Replication Server sup-
ports all the enterprise feat ures of the technology and functions well in a globally
distributed system landscape.
Figure 7.6 shows the different configuration dialogs (tabs) of SAP Landscape Transfor-
mation Replication Server in the novv familiar (for most) SAP GUI environment from
SAP NetWeaver applications.

IP ~onitor i;:d~ li.OtO S:istem J!elp

e 1 · I <J 9 1 e © @ J 9 GQG8 J ~~d:'.1~ 1 Wlle'.l l ~l!fD

Mass Data Transfer 001: HANA_ ACADEMY_ 001


Cl Refresh '* l~igration Workbencll elsvstem montor

,,rAdrmlstratlon t' Relevant Tables t' Steps t' Applcatlon LOgs t' Runtine Jnformation t' ActMtJes r- Expert Functions I

General Datl
Idem;ifica~ion !001! HAJIA_ACADB•IY_OOl
, Settilgs
0Actlve
Block slZe § oo, o££) evtes 0
"

Project Assignment
Appficatlon !IV3-R/3 HIGP-~IIO!I I
Project jz1wc_oo1 I SLT_SCHEMA_OOl
SUbproject I z1uuc_oo1 I HAUA_ACAOEMY_OOl
-
Sender Data
RFC Connection l•cccuneoo I
SAP Release f7o2l
1~ Sender System ~.la l>IWB Installation
·I'* ReJTIOte Login I
IReceiver Oatl
IHCll£
RFC connectlon I
SAP Releose ~

f....,,;I'

Figure 7.6 SAP Landscape Transformation Replication Server: Configuration

301
7 Data Integration

Because data mart replication was one of the earlier implementation scenarios fo r
SAP HANA, SAP Landscape Transformation Replication Server is also well integrated
into SAP HANA studio, as shown in Figure 7.7, which allows you to monitor t he repli-
cation process. In fact, data replication with SAP Landscape Transformation Replica-
tion Server is one of the few areas with no equivalent functionality in the SAP HANA
cockpit.
I M~f. OATA_IROVISIOH.JOfTOR· SAi' KA.HA SIWiQ .
f'tc: fdil ~ Window l::tclP

M· ~
.. · -:><> · . s l11>- I,..., .
la If· c ,ji '9 A ~ ..,. - c~ IC OuK1:i....im W Ob PtcM.1iotli~ ldlto1 M llilrr. -c
'° """""
ra. "'"'HAVl'SYSTEM) H:.tU.A.c•dtmy . &l SLT 8a~od Tablo Oala Provi$lonln9 HA.V(SVST[Ji(l .J,wp.corplO ~lu9d~ Sts>lt20U1J~:0J™ 4/' j I> lnlwY.t ~ ~
Qt. C.lt•log
~ At-Jtllo<ittd'n
SN' $ow(e S,,t-. _, KANA T.-9ct S<-"-Sde<tlofl
;.:> Pubk st'no"'!"4
-ti ""1<VCAll<MI' ~Soule.~ !ECC C~•23.£CC,..(l0) ·I
Qt. Column Vi~
~ Proc.c~tQ T•!>ft Sch..m CoN'ogur.d !HANIVCADlMV ·I
(Co. l•bln Soo.w<t DfU<I'
:m W Ttble (0002l)
ftn SAP 00: W Tat:ak Tors (00021)
• Sou1c1 Sytt""" I> ltc< ] Hod tf•m• [ u~pN.11'11f.28j:CCJO J
~ fV) 00: edlti"onship definitionf (0008l) SlT Source~~ ID[SLT SlT~Namt usphtmll1a8 )
1!J JtSJ.OGJll(S
g JtS_MlSSAGlS 0..Ulo.cl ~tM
9RS_OR0£R
~ m.OROUl..00
., !lo.id ..
·I
i:: 11s~
131 JtS_ST.t.T\IS
aD COl'l!Pif'ff COdef (nW)l)
Sdwm1

...,,
"""-"CA. DllOll
Ttbl•N-
""""'
f4'att
k-·
&:J ll'IP'to<tsf
St.rt Tn'lf:
2012-01·22 02*.lS.ocoxmxl
1~1ic.iic.• I
(ScopAepl~ ~
!ID P~UIBt"tn<~{TO)lW) """'-""'·
HAHV<CA- .........
~ctte c i ki>f0<m
w 11\PtO(tf,l
2012-0t·UOW!St~
2DU.()J•U Ol:lru:IO 000000000
"""-"CA.. ""'"
tm l•ng111git 1:471(COfl'lpot'ltl"C8C·n.e){TOO TOO! 20U-Ot·U02:2'6:ll~ 1.......... ~
~ O«~#ft Typ.s {110})
""""CA. TllOlW .........
""'"" ID '"Proco$
co '"Ploocm. 20J 2,4t.)5(M,1).Ja ~
I
·I ~
svs·- ., (R01Jme...

-
"""VCA. ,,.~, 20U-Ot·2S ()lJC1i&5 ODr.1000000
• • -
'
•(A. ""
TOOJ

a:J lnPrOCC'll
R1 '""0(11$1S 20U-Ot•l5 05..0S:J6 00:00:0:0 I
1
To Wl\clt-Uscdl.hl ts"< -o' """-"CA.· f4'<•t i.,y Sditclultd 20U.(lf·l.SOMo&flJ~

'
"'"""
Humber of tklgft!
I_
I,,_ UMCl.On Pai;bpe:

,. I 1Cl '"".,,;n " · , fill! c! """ - D)l ..,_ Joblog U '-.JI t6storyl ~ Progmsl U :i I -.1. · I x • • cJ

Figure 7.7 SAP Landscape Transformation Replication SeNer: Monitoring in SAP HANA
Studio

Learn More
For the documentat ion, see SAP Landscape Transformation Replication Server on t he
SAP Help PortaL

7.6.2 SAP Replication Server


SAP Replication Server uses log-based replication to move data from a source data-
base into SAP HANA. Until SAP HANA 2.0 SPS 03, SAP Replication Server was included
with SAP HANA, enterprise edition as one of the replication options, together with

302
7.7 Big Data

SAP Data Services integration services and SAP Landscape Transformation Replica-
tion Server.
Benefits from using the SAP Replication Server include guaranteed delivery, zero
operational downtime, and non-intrusive data handling, which means that the
source system is not aware of any ongoing replication.
Like SAP Data Services, SAP Replication Server is a standalone product 'vorks with
(almost) any source and target database. When used as part of an SAP HANA edition,
th e target is restricted to SAP HANA.

Technology Background
SAP Replication Server is originally a Sybase product developed in the 1990s. The cur-
rent release version is 16.0, released in 2017. For a matrix of supported source and tar-
get databases, see the PAM on the SAP Support Portal.
SAP Replicat ion Server replicates committed transactions. A replication agent
installed on t he source database server continuously monitors for transactions
marked for replication. The technology supports bidirectional replication to and f rom
many source and database target s, although t he version licensed with the SAP
HANA, enterprise edition w ill only support an SAP HANA target.
The replica t ion model used is publish-subscribe, which provides great flexi bility
because you can decide to replicate entire databases or just one or two tables, and
you can replicat e from a single source to multi pie targets. In addition, custom actions
can be defined to allow for additional processing on the target side.

Learn More
For the documentation, see SAP Replication Server on the SAP Help Portal.

7.7 Big Data

Big data as a technology concept and product category floated to the surface around
2012 around the same time that the Hadoop initiative started and Yahoo became an
open source Apache project. Big data is not defined by its size alone; big data is a mov-
ing target, initially expressed in gigabytes. then terabytes, petabytes, exabytes, and
currently zettabytes-but always by the three Vs:

303
7 Data Integration

• Volume: The size or amount of data


• Variety: The format of data (unstructured, for the most part)
• Velocity: The frequently changed nature of data (especially considering IoT and
social media)

To these characteristics, SAP added another V-SAP Vora.


In this section, \ve'll take a closer look at SAP Vora and Hadoop integration.

7.7.1 SAP Vora


SAP's initial focus on big data vvas for analytical purposes, bringing together enter-
prise data and big data. SDA federation technology, for example, includes adapters to
connect to Hive. SAP Vora was added to enable SAP HANA to connect directly to
Apache Spark, an in-memory query engine that executes SQL-like data queries on
unstructured data stored in Hadoop.
The second major release of SAP Vora, released in 2017, introduced a containerized
architecture with a distributed runtime running on a Kubernetes cluster. For those
not familiar vvith the technology, containers virtualize not only the hardware part of
the compute stack, but also the operating system and the program files and libraries
needed to run an application.
SAP Vera's capabilities have been integrated into SAP Data Hub, which we described
in Section 7.2.l.

Technology Background
Hadoop was first released in 2006 initially but has since been developed by Apache
as open source. The two main components are storage and processing. Storage is
provided by the Hadoop distributed file system {HDFS), wh ich you can think of a sin-
gle logical disk hosted by thousands of physical computers. The processing uses t he
MapReduce programming model, which delegates the execution of the task to the
local unit. YARN (Yet Another Resource Negot iator), a project st arted at Yahoo, is t he
piece t hat provides the orchestration.
Apache Hive is a data warehouse built on top of Hadoop with a SQL-like interface to
query the data bases.

304
7.7 Big Data

Apache Spark provides an alternative to MapReduce. While MapReduce performs its


tasks in batch processing, Apache Spark enables direct interaction w ith the underly-
ing dat a in "real t ime" so to spea k. They are com plementary t echnologies. Apach e
Spark provides speed, but MapReduce can handle much larger datasets.

Learn More
For t he product docu ment ation, see t he f ollowing topics on t he SAP Help PortaI:
• "SAP Vora"
• "SAP Dat a Hub"

Although courses on SAP Vora are st ill available on openSAP, you might want to look
fi rst into the openSAP course about SAP Dat a Hu b.

7.7.2 SAP HANA Hadoop Integration


Right from the start, a strong business case existed for combining the in-memory
processing power of SAP HANA (and the analytic capabilities of the platform) with
Hadoop's ability to store massive amounts of (mostly unstructured) data. Initially,
this integration could only be achieved with Hive ODBC (Simba), but this driver is
database agnostic and not optimized for SAP HANA. To address these limitations,
SAP developed the Spark Controller as the recommended approach for SAP HANA
Hadoop integration, as shown in Figure 7.8.
The Spark Controller enables SAP HANA to query HDFS data and get a result set back
in columnar format (SQL). When used together with SDA with its virtual table struc-
tures, you can no\v join data stored in HDFS files to regular SAP HANA tables. The
Spark Controller supports the major Hadoop distributions Cloudera, 1-IortonWorks,
and MapR, with limited support for Azure HD Insight and Amazon Elastic Map Red uce
(EMR). Similar to the approach taken with SAP Data Hub, you'll also find the SAP
HANA Spark Controller used by th e SAP HANA data warehousing foundation, Data
Lifecycle Manager (DLM) tool (see Chapter 8, Section 8.6) if Hadoop is the destination
for aged or less-frequently access data (other potential targets are SAP IQ and SAP
HANA dynamic tiering).

305
7 Data Integration

SAP HANA Spark Controller Hive ODBC

indexserver indexserver

SDA
Spark SQL
Adapter

SAP HANA Spark Controller


Hive
Spark
Hadoop Hadoop

Figure 7.8 SAP HANA Hadoop Integration

Learn More
For the product documentation, see SAP HANA Hadoop Integration on the SAP Help
Portal.

7.8 Summary

In this chapter, we covered the full spectrum of SAP data access and integration tech-
nologies. Vl/e started with the new SAP HANA Data Management Suite, which bundles
SAP HANA, SAP Data Hub, SAP EA Designer, and SAP Cloud Platform Big Data Ser-
vices. Next, we unboxed SAP HANA and explored EIM, ETL, SDI, and SDQ and
explained how the data integration and data quality capabilities ofEIM in SAP HANA
relate to SAP Data Services and SAP Agile Data Preparation, the latter bringing self-
service data management to the business user.
After ETL, we turned to data federation and described SDA with its virtual tables and
adapters. SDA enables you to integrate SAP HANA into a much larger data landscape,
so you can perform in-memory analytics on both relational data sources and big data

306
7.8 Summary

clusters. The same is true for remote data synchronization, which capability enables
you to connect and synchronize SAP HANA with UltraLite databases on mobile
devices and with embedded SQL Anywhere databases on remote (edge) networks. For
real-time replication of SAP ERP systems, you can leverage SAP Landscape Transfor-
mation Replication Server for trigger-based replication at the logical level or use SAP
Replication Server for log-based replication at the physical level.
Finally, we explained how SAP HANA connects to big data, which brought us back full
circle to the SAP HANA Data Management Suite with SAP Data Hub (SAP Vora).
In the next chapter, vve'll continue our round of introductions to SAP HANA perso-
nas, proceeding with the data architect persona and addressing data distribution and
data tiering.

307
Chapter 8
Data Architecture
Less is More.
- Ad Reinhard

Does this spark joy?


-Marie Kondo

Data architecture is about data distribution, about performance, and about con-
trolling cost. A database never stops growing, and the data architect faces a challenge
when a database has reached the point that either you need to scale system up by
adding more resources to the machine or to scale the system out by adding more
machines. Scaling operations typically involve considerable hardware expenses. By
implementing software solutions such as data tiering and data lifecycle manage-
ment, you can offload some of your less frequently used data to extended ''vvarm"
storage or even offline "cold" storage, thus reducing the memory footprint of the
"hot" in-memory store and postponing the need to scale. To go further and to scale
up or out, you'll need to take data distribution into account, including table place-
ment, partitioning, and other data architecture topics, to ensure that all the hosts of
your newly distributed system will be optimally engaged.
In this chapter, we'll address a few key data management questions, particularly
about managing the growth of system landscapes and scaling. We'll introduce data
management topics like data tiering and data lifecycle management and describe
how this works on the SAP HANA platform. We'll cover native extension nodes and
dynamic tiering, distributed systems, and data distribution. To start, let's introduce
you to the data architect persona.

309
8 Data Architecture

8.1 Roles and Tools

What are the responsibilities of the SAP HANA data architect, and what tools are
available to do the job? In this section, we briefly describe the job role of the data
architect persona.

8.1.1 The SAP HANA Data Architect


The data architect is responsible for how data is managed in SAP HANA. Part of his or
her responsibilities is data tiering and data lifecycle management (management of
hot, warm, and cold data); data distribution on distributed systems (table partition-
ing and assignment); and scaling. A dedicated SAP HANA data architect role is cer-
tainly imaginable in larger enterprises. However, more often, we expect this role to
be part of the database administration persona (see Chapter 3, Section 3.1) together
with the data center architect (see Chapter 9, Section 9.1)-in other words, more on
the operational side. Alternatively, the data architect persona may be part of a
broader data warehouse architect role, maybe in combination with responsibility
over applications running on SAP HANA like SAP Business Warehouse (SAP BW)
"powered by HANA," SAP BW/4HANA, or SAP S/4HANA. The role of the data architect
is important because a sound architecture greatly enhances system performance,
avoids unnecessary costs, and results in an optimal total cost of ownership (TCO).

8.1.2 Tools
In this chapter, we'll open and close with these two key tools, described in detail:
• SAP Enterprise Architecture Designer (SAP EA Designer)
You'll use this tool to design your data architecture and collaborate to get the best
results (see Section 8.2).
• SAP HANA data warehousing foundation
This tool provides the building blocks for an enterprise data warehouse (EDW)
with a focus on data distribution and lifecycle management. The Data Distribution
Optimizer (ODO) and Data Lifecycle Manager (OLM) tools are both native SAP
HANA applications (see Section 8.6).

In addition, some other tools useful for the data architect toolkit include the follow-
1ng:

310
8.2 SAP Enterprise Architecture Designer

• SQL
Where would we be without SQL? To create table partitions (see Section 8.5.1), for
example, all you need is the SQL console (database explorer in SAP HANA) or the
SQL prompt (SAP HANA studio).
• SAP HANA cockpit
The SAP HANA cockpit includes the required administration tools to work with
distributed systems, integrates SAP HANA dynamic tiering to manage extended
storage, and enables you to monitor table partitioning and data aging. You'll even
find a data distribution optimizer included (albeit less sophisticated than the ODO
from the SAP HANA data warehousing foundation).
• SAP HANA studio
Most of the functionality found in the SAP HANA cockpit is also present in SAP
HANA studio. As development for SAP HANA studio stopped with the last SAP
HANA 1.0 release in 2016, the latest features and capabilities are no longer
included, but SQL will always be SQL, so this change is really only a change to the
user interface {Ul).
• SAP HANA Lifecycle Management {hdblcm)
To add hosts to a distributed system or to create a distributed system in the first
place, you would use the same SAP HANA Lifecycle Management tool as installed
for a single-host system (see Chapter 3, Section 3.3.3). Using hdblcm, you can also
change host roles from worker to standby, for example, or configure the internal
network of a distributed system. As a web application, hdblcm is accessible from
both the SAP HANA cockpit and SAP HANA studio.
• SAPWebIDE
Although not as important as for other roles in this book, the SAP Web IDE for SAP
HANA is a relevant tool for the data architect as well. You'll use the SAP Web IDE to
work with flowgraphs, for example.

8.2 SAP Enterprise Architecture Designer

With SAP EA Designer, you can capture, analyze, and present enterprise landscapes,
requirements, processes, and other similar artifacts in models and diagrams, all in a
collaborative environment using industry-standard notations and techniques.

311
8 Data Architecture

Artifacts can be anything and everything from use cases, business cases. require-
ments, and design documents, to project plans and documentation-all the byprod-
ucts of software development, in other words, everything except for the code
(although in some definitions released code is also included). With the SAP EA
Designer, you can create (capture) those artifacts in a single environment.
Figure 8.1 shows the homepage of SAP EA Designer (both editions) with quick links to
create new diagrams or to browse the repository to draft diagrams you're working on
as well as most recent diagrams shared by colleagues.

Outc:k Unks Oran Diagrams lneldent Management SWlndon Server Farm


CCflOnille edimg. sutiml. Of publlsh
Cl v.a f17 ll'in$ •>. eoo ~ 0 v7 (1 hour ago)· C¥ol Brown
Cceate Secure Connecton !!
C+ C<oo:e - l>OOOlm EluSl!ICU Proce$S (8PMN 1 (I
. . ...!. . .
4 fTWIS •
!!i. · ·~· .O
L9 Browse "RG1J0$1tory" ""'-' ..
Prepacl Kayak ll ..!. .!!.. -·~ l!. .!.
eY ·-
Browse ·earoung-
·--·~·--- " "
lffltlallons to Comment 44 - . ._. .
Cornncnt on oO'ICf 1.1$C11' <Ir.alt d!Qgtams

New York Data Center


5 En~P'tse Afctleecture Olagram 11 fl'Wls ago

Figure 8.1 SAP Enterprise Architecture Designer, Edition for SAP HANA

The following diagrams are supported:


• Data movement
To design and analyze the transfer of data between datastores, including transfor-
mations. You can generate flowgraph files as outputs for the SAP Web IDE or
reverse engineer flowgraphs as inputs.
• Conceptual data
For example, an entity relation diagram (ERD) as conceptual data model (COM).
• Physical data
To design and analyze the structure of the database. You can reverse engineer any
supported database and generate SQL to recreate the runtime objects for SAP
HANA.
• NoSQL (JSON)
To design, analyze, and document JSON structures. NoSQL diagrams support JSON
generation and reverse engineering.

312
8.2 SAP Enterprise Architecture Designer

• Business process
Identify, describe, and decompose business processes using the Business Process
Modeling Notation (BPMN} format.
• Enterprise architecture
To analyze and document the organization, goals and projects, processes, applica-
tions. systems, and supporting physical architecture.
• Process map
Provides a graphical view of the business architecture (people, organization, and
processes).
• Requirements lists
Provides a list of requirement documents.
As described earlier, in some cases, you won't need to manually create artifacts since
SAP EA Designer can reverse engineer the following artifacts for you:
• Requirements from Req!F files, for example, an XML standard to exchange
requirements.
• Physical data diagrams from the SAP HANA Deployment Infrastructure (HD!),
described in Chapter 4, Section 4.6, or the SAP HANA database catalog (and other
supported databases) directly.
• Data movement diagrams from SAP Web IDE flowgraphs and JSON schema dia-
grams.
• Business process diagrams can be imported from SAP Business Process Manage-
ment (SAP BPM) and the SAP Solution Manager or, of course, from plain CSV files.
In addition, in SAP EA Designer, you can link together all those artifacts across differ-
ent types.
You can imagine the sheer number of documents in many different formats created
in a software development or system migration project. For this reason, the second
asset of SAP EA Designer is equally important: the ability to view, analyze, and share
content. SAP EA Designer can serve as a central repository where employees can
browse and share diagrams, post comments, generate reports, run impact analysis,
and apply heat map color schemes based on certain criteria, to name but a few char-
acteristics.
The tool is available in two editions:
• SAP EA Designer, edition for SAP HANA
• SAP EA Designer, cloud edition

313
8 Data Architecture

Tech nology Background


The SAP EA Designer bu ilds on the enterprise modeling tech nology from SAP (Syb-
ase), called SAP PowerDesigner. Sybase, acquired by SAP in 2010, bought the technol-
ogy in turn from PowerSoft (hence the name), but for true origins, we must go back
in time even more since the tool was origina lly created by a French company ca lled
SDP Technologies and first release in 1989.

Compared with SAP PowerDesigner, SAP EA Designer is more limited and restricted in
scope. For the SAP HANA edition, for example, you can only generate SQL-compliant
code for SAP HANA and not for other databases. Diagram export is limited to SAP
Solution Manager (or other SAP NetWeaver ABAP systems).

Learn More
For the documentation, see SAP Enterprise Architecture Designer, Edition for SAP
HANA at the SAP Help Portal. To learn more about the product, you can sign up for
the openSAP course "Introduction to SAP Enterprise Architecture Designer."

8.3 Scaling SAP HANA


If your SAP HANA system is no longer properly sized to handle your workload, you
have two choices:
• Scale-up means that you'll increase the size of a single physical machine by adding
more memory and adding more processors, also known as vertical scalability.
• Scale-out or horizontal scalability means that you're going to distribute the work-
load across multiple servers, a cluster, or in SAP HANA terminology, a distributed
system.

Typically, you scale-out when you can no longer scale-up (technically or for price/
performance reasons}, although in some cases scale-out is not an option. The general
recommendation is to scale-up before you scale-out. since managing a single system
is less complex than managing a multinode system with shared storage.
Let's take a closer look at distributed systems and both scaling up and scaling out pro-
cesses, before discussing scale-out systems in terms of configuration and potential
impact on SAP HANA extended application services, advanced model (SAP HANA XS
Advanced}.

314
8.3 Scaling SAP HANA

8.3.1 Distributed Systems


One way to avoid the need to scale out is to implement data tiering (see Section 8.4).
With data tiering, you'll store your data in different buckets depending on how fre-
quently the data is accessed. A temperature analogy is often used to illustrate storing
hot data in-memory, warm data on extended storage, and cold data somewhere on a
big data cluster. Physically, the data is stored in different places, but logically, with
data tiering technologies, the data will behave and appear as though in a single envi-
ronment.
One advantage of a distributed system, on the other hand, is that you can partition
the database (see Section 8.5.1). With data partitioning, you can assign different tables
to different hosts, which could enhance performance and improve response times.
You can also partition a single table, and for this purpose, you have several options
depending on the objective. Besides performance considerations, table partitioning
could also be adopted because the size of the table has reached the limit of what a sin-
gle system can support. Whether you use data tiering or data partitioning will depend
on the use case, one of the most important decisions the data architect persona must
make.

Technology Background
As shown in Figure 8.2, in SAP terminology, a multiple-host environment is ca lled a
distributed system.

System Database Tenant Database TDl


(Part 2)

Shared
Storage

System: PRD
Instance: HDBOl Instance: HDBOl

Host 1 Host 2

Figure 8.2 SAP HANA Distributed System

315
8 Data Architecture

With other vendors and technologies, the same concept is sometimes called a cluster
with nodes (see Chapter 2, Section 2.2.4). Although the SAP documentation is consis-
tent. in some white papers or biogs, you may read about SAP HANA clusters, scale-up
systems, multi node systems, extension nodes, and so on. Unless indicated otherwise,
you can assume that these terms all refer to the same concept.
A distributed system contains two or more hosts and can be conceived as a single
system with the same system identifier (SID), but with multiple hosts. Each host
manages an SAP HANA instance (with the same instance number). The SAP HANA
system contains a single system database and one or more tenant databases. Tenant
databases can be distributed across hosts or attached to a single host.
Do not confuse an SAP HANA distributed system with a federated database. As
described in Chapter 7, SAP HANA's federated database technology is implemented
in SAP HANA smart data access (SDA) and remote data synchronization. SDA enables
you to access remote databases (including but not limited to SAP HANA) and store
the metadata loca lly using virtual tables to facilitate table joins and data access.
Remote data synchronization enables you to synchron ize (part of) the SAP HANA
database with remote site locations or mobile devices run ning SAP SQL Anywhere.
With other vendors, both types of federation technology are sometimes called a dis-
tributed database.

8.3.2 Scale-Up
As mentioned earlier, we recommend you scale-up before scaling-out. Scaling-up
provides three advantages:
• Better performance
Performance is better because most queries involve accessing multiple tables, and
making a join in-memory on a single system is always faster than joining across
nodes.
• Simpler management
Management is easier because only a single system will need to be installed,
updated, monitored, and administered; no shared storage and internal network
will need to be managed; no data distribution scenarios will need to be considered;
and end-to-end debugging and query analysis, if needed, will be easier.
• Lower cost
Ownership costs typically should be lower because you'll need less hardware (and
less management).

316
8.3 Scaling SAP HANA

Learn More
Supported scale-out configurations are listed in the SAP HANA hardwa re direc-
tory (http://s-prs.co/v488432) with specific scale-out configurations listed for SAP
BW/4HANA, SAP S/4HANA, SAP Business Suite, and SAP BW powered by SAP HANA,
as shown in Figure 8.3.

SAP- CERTIFIED AND SUPPORTED SAP HANA' HARDWARE DIRECTORY ....,back

ft I Appliances .
Cettd1ed Certrti«I Cerbhed Supported
Enterprise WS HO Intel•
Storage Pb1f0tms Solutions Systems

Find Certified Appliances

2019-04-03
Narrow your Search Search Results <l$ of

Applanc:e conllguratloos for scale-up OMl8WoH/8W4H can also be used for scale·UP SoH/S4H.
for futther intormation see atJo Home ·> 'ab: Oe'•ilt..
0 Vend<>< 1089 appliance models found

e CPU Architecture
Ctrb'ht <I. Seale-up: 8WoH/8W4H/OM/SoH/S4H. Scallf"UP: SoH/S4H

CPUs min CPU Arehrtccturc Appl~nec Type

e A.pp!ianct Type
lh!I SAS bullionS16 10 Intel Br~ll EX E7 Scale-up:
SoH/S4H
7.ST•B
I
SAP Business One
Scale--oot: BWoK/BW4H/DM
10Ti8
v
Scalt·ovt: S4H 12 9TIB
v
, Seale~:
12T1B ,/
B'WoH/BW4H/DM/Soff/$.CH
; Scale-t1P: SaH/S4H
14 10.S rie ,/
e CH111lcatlon Date
14Ti8 ,/
e file System
16 l2T1B
v
e ()perotingSystems 16T1B ,/
f> Ctttific.atlon Scenarios bullionS2 2 Scale-up: 256GiB
,/
8\VoH/BW4H,••
5120.B
,/

Figure 8.3 SAP Certified and Support SAP HANA Hardware Directory

8.3.3 Scale-Out
Although scale-up is the preferred and recommended solution, scale-out also has
some advantages, such as the following:
• High availability
A distributed system prevents single point of failure. Adding a node to an SAP

317
8 Data Architecture

HANA system creates a distributed system to protect your from downtime should
anything go wrong with any one of your systems. Creating a cluster is remarkably
easy to do. You'll use the same tools for the installation and administration of a
distributed system as for a single node setup. Host auto-failover is activated auto-
matically, and you can even add a standby system for additional protection. High
availability is discussed in Chapter 9, Section 9.9.
• Extensibility
The second advantage of scale-out is that you can extend your system beyond
>vhat is supported on a single node. If your single host system only supports 16 TB
of memory but one or more tables are growing at a rate that this limit will be
exceeded, scaling out might be your only option. In fact, with availability in mind,
you may want to scale-out before such limits are reached.
• Pricing
Although the general recommendation is to scale-up (the typical TCO of a single-
host system being lower), scaling up a high-end system comes at a premium. A dis-
tributed system of eight 2 TB hosts, 1.vith perhaps two additional hosts for standby,
may have a more competitive price tag than tvvo 16 TB systems with one system
serving as hot-standby host.

8.3.4 Configuring Scale-Out Systems


Configuring scale-out systems in remarkably easy. You'll use the same SAP HANA
Lifecycle Management tool to install and add/remove hosts and the same SAP HANA
cockpit o r SAP HANA studio tools to administer both single host and distributed sys-
tems (see Chapter 3). The distributed system architecture has been part of the original
SAP HANA release and is not a separately licensed option.
On the network and storage side, the configuration can be a little more complex.
Whereas a single SAP HANA system might simply rely on internal storage, for a dis-
tributed system, you'll need shared storage, so all your hosts can access the same
data. In practice, even single-host SAP HANA systems will usually connect to a shared
storage subsystem, but configuration will be easier. In particular, in a standby config-
uration, shared storage should also support fencing, which guarantees that, in case of
a failover, the failed host no longer has access to the storage. In a standby configura-
tion, you would add a host to your distributed system to literally standby and do
nothing. The system is not open for connections and does not participate in transac-
tions. This system is just available as a backup in case any other single host stops

318
8.3 Scaling SAP HANA

responding. Fencing also comes in 1.vith this situation. If a host no longer responds,
the standby can be activated to take over, and at the same time, the original host is
fenced away from the data it previously owned. If the failed host suddenly reawakens,
it may try to participate in transactions, and two hosts will be accessing the same
data: a sure recipe for data corruption.
SAP HANA uses a separate network zone with dedicated connections exclusively for
internal communications. As with adding hosts to the distributed system or chang-
ing host roles from standby to worker, you can use the SAP HANA Lifecycle Manage-
ment (hdblcm) to configure the interservice communication in SAP HANA. For a closer
look at network administration, see also Chapter 9, Section 9.11.1.

Learn More
For in-depth coverage of the subject, see the following white papers referenced in
the SAP HANA Administration Guide:
• SAP HANA Storage Requirements
• SAP HANA Fiber Channel Storage Connector Adm in Guide

8.3.5 Scale-Out for SAP HANA XS Advanced


As ment ioned earlier, the application server architecture for SAP HANA XS Advanced
is integrated with SAP HANA but not in the same way as for the previous SAP HANA
XS implementation model (both versions are described in some detail in Chapter 4,
Section 4.4). This difference is a good thing because the classic SAP HANA XS engine
is included with each SAP HANA instance (for tenant databases, the xsengine process
is embedded in the indexserver process).
With SAP HANA XS Advanced, you'll have more flexibility. For starters, the installa-
tion of the runtime is optional. If you decide to install SAP HANA XS Advanced on a
distributed system, you'll have the following options:
• Assign a dedicated h ost to SAP HANA XS Advan ced
In this configuration, the server will only perform activities for the SAP HANA XS
Advanced runtimes.
• Assign a dedicated host as standby for SAP HANA XS Advanced
In this configuration, the server will act in the same way as a database standby
host: sleep until activated to take over the work of a failed SAP HANA XS Advanced
host.

319
8 Data Architecture

• Mix and match t he different SAP HANA XS Advanced processes to different


hosts
The different SAP HANA XS Advanced processes, such as the SAP HANA XS Con-
troller, SAP HANA XS User Account and Authentication (UAA) server, execution
agents, and platform router (see Chapter 4, Section 4.4.2), can be assigned to differ-
ent hosts, which illustrates the microservices architecture of SAP HANA XS
Advanced. Instead of a single large application (also known as a single stone or
monolith), in a microservice architecture, applications are composed of small
decoupled services. One advantage of this architecture is that scaling (up or out)
and deployment are both easier.

8.4 Data Tiering

Data tiering refers to the assignment of different storage and processing systems
(called tiers) based on data access freque ncy. In this context, we often speak about
data aging and use a temperature analogy with hot, warm, and cold storage (as
described in Chapter 2, Section 2.2.6).
Figure 8.4 shows data tiering options with SAP HANA. The hot store is in-memory;
the warm store is either a database (SAP HANA dynamic tiering) or fi le-based (SAP
HANA native storage extension).

I
Hot Store Volume Performance Price

I DRAM I GB

I Persistent Memory
I
I Extension Node
I I

I
TB ms -Sx
Warm Store

Mainly Read
Occasional Writes
I Native Storage Extension
I
I Dynam ic Tieri ng
I I
PB sec -25x

••
SAP Data Hub
Read On ly (Archived) EB min -sox

Figure 8_4 Data Tiering with SAP HANA

320
8.4 Dat a Tiering

The cold store is either fi le-based (HDFS) or raw storage, such as Amazon Web Ser-
vices (AWS) S3, Microsoft Azure Data Lake Storage (ADLS), and similar offerings.
In this section, we'll take a closer look at the different options available for SAP HANA
for managing multitemperature datastores.

8.4.1 Persistent Memory


Persistent memory, as referenced in the SAP HANA documentation, also refered to as
PMEM in more generic terminology, allows for more capacity at a lower price com-
pared to regular computer memory, typically of the dynamic random-access mem-
ory (DRAM) variety. Although not strictly a data tiering solution as such, persistent
memory does enable you to postpone the scaling up or out question since you can
store more data on a single system.
In Chapter 2, we described the main and delta sections of the column store. On aver-
age, about 90% of the data in a table is kept in the main part. When persistent mem-
ory is available, SAP HANA will store the main section in non-volatile random-access
memory (NVRAM) and the delta section in DRAM.
Persistent memory persists and does not evaporate the way anything stored in
DRAM will when suddenly the computer is powered off. As a result, persistent mem-
ory greatly speeds up system restarts fo r larger databases, which is relevant not so
much for the rare data center disaster but for any planned maintenance, for example,
for system updates or hardware replacements. In Chapter 9, Section 9.5.1, we'll
describe persistent memory in more detail.

8.4.2 SAP HANA Native Storage Extension


SAP HANA native storage extension, a new technology introduced with SAP HANA
2.0 SPS 04, is a datastore built into SAP HANA that you can use to manage warm data.
SAP HANA native storage extension is general-purpose as opposed to extension
nodes, which \Vere developed for SAP BW originally. SAP HANA native storage exten-
sion is built-in as opposed to SAP HANA dynamic tiering, which needs to be installed
and configured. SAP HANA native storage extension, in other words (to add a little
marketing sauce), improves and enhances data tiering for SAP HA.NA and should be,
in most cases, the preferred solution.
Without SAP HANA native storage extension, the size of the SAP HANA in-memory
database equals the amount of RAM. With SAP HANA native storage extension, you

321
8 Data Architecture

can leverage disk- or flash drive-based storage to increase database capacity (by
roughly four times) at a lower price. Think of SAP HANA native storage extension as
an intelligent buffer cache that stores pages of data both in-memory and on the per-
sistence layer (on a disk or a flash drive). Statistics about the buffer cache can be mon-
itored through system views, and an advisor is available to provide load
recommendations. Note that SAP HANA native storage extension is not activated fo r
your applications automatically (yet) and requires configuration and tuning.

Learn More
For more information, see the SAP HANA Administration Guide.

8.4.3 SAP HANA Extension Nodes

SAP HANA extension nodes provides another approach to data tiering for offloading
Jess frequently accessed data fro m the "hot" in-memory store to a "warm" store. The
architecture \Vas originally designed for SAP BW (initially for "powered by HANA" and
later SAP BW/4HANA) but now also supports native SAP HANA applications. SAP BW
manages data distribution and partitioning at the application server level, which
makes SAP BW an excellent candidate for this architecture. For native applications,
you'll need to write the code to perform data management yourself or use solutions
that apply these services, such as the DDO in the SAP HANA data warehousing foun-
dation (see Section 8.6).
The extension node is a regular host in a distributed system, with the same function-
ality, but with Jess strict memory and CPU requirements (the terms "host" and
"node" are used interchangeably in this context). SAP HANA sizing guidelines usually
recommend a memory to data volume ratio of 2:1, in other words, twice as much
RAM as the size of the database (the rest of the memory is reserved for application
code, temporary structures, processing, delta stores, etc.). For an extension node, you
can use a 1:I or even 1:2 ratio (200% overload). In other words, the data volume can be
much larger than the available memory, a major benefit of using extension nodes,
since less memory is needed. For SAP BW, even different hardware configurations are
supported for the extension node.
Technically, an extension node is configured by giving the host the worker_dt role
(other database roles are worker and standby}. The extension node behaves and is

322
8.4 Data Tiering

managed like any other SAP HANA host. Data can be moved to an extension node
using either the landscape redistribution tool in SAP HANA cockpit (and SAP HANA
studio), SQL, or the ODO tool, discussed in Section 8.6.

Learn More
For the documentation, see "Extension Node" (SAP HANA Administration Guide).

8.4.4 SAP HANA Dynamic Tiering


SAP HANA dynamic tiering extends the in-memory database with an integrated disk-
based columnar datastore for less-frequently accessed "warm" data. This optional
component can be installed on the same SAP HANA server or on a separate dedicated
extended storage (ES) server.
As shown in Figure 8.5, with SAP HANA dynamic tiering, data can be stored in
extended tables and in multistore tables (i.e .. partitioned tables with one or more par-
titions in-memory and/or extended storage). You can move data between both
stores (in-memory, extended, and multistore tables), convert tables, and load data.

Tenant Database

Database
Column Table Extended Table

Multistore Table Partit ion C

Worker Host Extended Storage (ES) Host

SAP HANA

Figure 8.5 SAP HANA Dynamic Tiering Architecture

323
8 Data Architecture

Tech nology Background


SAP HANA dynamic t iering was introduced with SAP HANA 1.0 SPS 09 {December
2014), together with SAP HANA smart data access {SDA), SAP HANA smart data
streaming (SDS), and remote data synchronization. SAP HANA dynamic t iering lever-
ages the same technology as found in SAP/Sybase IQ, a column-based on line ana lyti-
cal processing (OLAP)-type database used for business intelligence (Bl) and data
warehousing. Like other Sybase product s, the technology is mature and, in case of IQ,
goesbacktotheearly1990s.

To install or update SAP HANA dynamic tiering, add/remove a host, add a host as
standby, and perform other platform management tasks, you'll use SAP HANA Life-
cycle Management (hdbl cm). For administration, including monitoring, backup and
recovery, system replication, etc., you'll use SAP HANA cockpit or SAP HANA studio
for the older SAP HANA 1.0 release.
The integration also applies to the following:
• Backup and recovery
• High availability through standby hosts
• Automatic host failover
• System replication

Learn More
For the documentat ion, see SAP HANA Dynamic Tiering for the SAP HANA platform
on the SAP Help Portal. To learn more about the product, you can sign up for the
openSAP course "Introduction to SAP HANA Dynamic Tiering" (2018).

Tutorials
To try out SAP HANA dynamic tiering for yourself, check out the tutorials on the SAP
Developer Center: "SAP HANA Dynam ic Tiering." For hands-on "how-to" video tutori-
als of the SAP HANA Academy, see the playlist SAP HANA Dynamic Tiering.

324
8.4 Data Tiering

8.4.5 SAP Data Hub and the Spark Controller


For ice cold data, you can use low-cost media like a Hadoop distributed file system
(HDFS) or, more common today, raw cloud storage. To access the data, you'll use
either the Spark Controller or the more recently available SAP Data Hub. Both options
are described in some detail in Chapter 7, Section 7.7.2 and Section 7.2.1, respectively;
for the purposes of this chapter, we'll provide a quick overview.
The Spark Controller can be installed on any Hadoop distribution including MapR,
Cloudera, Hortonworks, Azure HD!nsight, or SAP Cloud Platform Big Data Services.
You can access the data through the SparkSQL SDA adapter. The Spark Controller
requires installation on the Hadoop environment, which introduces a dependency
on otherwise open-source software.
SAP Data Hub is a more recent solution and is integrated with SAP HANA. SAP Data
Hub also requires SDA to connect to Hadoop but uses the SAP HANA Wire protocol,
as shov,rn in Figure 8.6.

Tenant Database

Hot Data

SAP HANA Wire


ISAP Vora ODBC Adapter I Cold Data

Worker Host SAP Data Hub

t Export

HDFS (Hadoop)
S3 (Amazon Web Services)
Azure Data Lake Storage
Google Cloud Storage
Dynamic Tiering
External Storage

Figure 8.6 Cold Data Tiering with SAP Data Hub

325
8 Data Architecture

These protocols are a more recent type ofJDBC/ODBC implementation and enable a
direct connection between the application and the database. You have nothing to
install; hence, the protocol is platform independent, with no middleware required to
translate generic application calls to specific database ones. Apart from the Wire pro-
tocol, some additional advantages vvhen using this solution include the following:
• SAP Data Hub can access cold data at the record level, as compared to file level
access with the Spark Controller.
• SAP Data Hub supports data modifications, data analysis, and data joins with other
(cold) datastore sources, while the Spark Controller only supports read-only access
and doesn't support joins.

8.5 Data Distribution


Data distribution is also concerned with the question, "Where and how do we store
our data?" but in this context, we're not interested in data temperatures and data
tiers but in the database itself.
Data distribution is an important topic when working with distributed systems. The
main reason is data locality. Tables are often joined in queries. For best performance,
all the tables that are queried together should be on the same host, something not
always possible, of course. A carefully crafted table replication plan can address this
issue.
Another consideration is data distribution for very large tables. Imagine v•e're a
global company selling books other consumer goods, and we have a table with sales
data-a big table. Sales figures for the previous year have already been offloaded on a
warm datastore, so for this table, we only need to manage current figures . Most of the
read and write activity will fluctuate by region. \i\fhat if you could assign different
hosts to different regions? This goal can be achieved through with table partitioning,
which can improve performance and database response times. For best results, table
placement and distribution need to be just right.
In this section, we'll cover table partitioning, table distribution, and table replication.

8.5.1 Table Partitioning


Table partitioning enables you to split column-store tables horizontally into smaller,
more manageable parts called partitions, as shown in Figure 8.7. In this context,

326
8.5 Data Distribution

"horizontally" means that that each partition contains a different set of rows. Parti-
tions are transparent to applications and managed by the database.
One reason why you might need to implement partitioning is to overcome the size
limitation of column-store tables: a mere 2 billion rows. A partition has the same
limit, but a table supports up to 16,000 partitions. If the math is correct, your table
now supports 34 trillion rows. More importantly, in most cases, is that partitioning
also provides great performance benefits. In a distributed system, partitioning allows
for load balancing. If many queries want to access the same table, with partitioning,
you can divide the processing over all hosts instead of a single host.

Sales Database (Tenant) Sales Database (Tenant) Sales Database (Tenant)

Column Table Column Table Column Table

Partition A Partition B Partition C

Worker Host Worker Host Worker Host

SAP HANA

Figure 8.7 Partioned Table

Partitioning also allows operations to be parallelized, which means that a single task
can be done at the same time, in parallel as it is called, using multiple threads. To
return to our sales table, on host A, we could read the data for the Americas; on host B,
for Asia Pacific (APAC); and on host C, for Europe, Middle East and Africa (EMEA).
Parallel operations also improve the performance of delta merge operations, as these
operations can now work at the partition level and not at the table level. For this
reason, both single-host and distributed systems benefit from parallelization and
partition-level delta merges.

327
8 Data Architecture

The same applies to partition pruning, which improves query execution perfor-
mance. The two types of partition pruning are the following:
• Static partition pruning is based on the partition definition. The query optimizer
will use the WHERE clause of the query to optimize the query execution plan.
• Dynamic partition pruning is based on the content. This process is evaluated at
runtime using statistics and used by SAP Business Suite applications, for example,
for data aging.

To partition, several different methods are available:


• Round-robin partitioning
Round-robin partitioning provides an equal distribution of the table rows in each
partition. New rows are assigned to partitions on a rotation bases, hence the name.
• Hash partitioning
Hash partitioning also distributes rows equally but uses a hash function this time.
You'll need to specify the column and primary key, if present. This method can be
used by the optimizer for partition pruning and, for this reason, usually is more
beneficial than round-robin.
• Range partitioning
Range partitioning is used for categories or time partitions and is less suitable for
load balancing. Examples of range partitions are years or months for time and
countries or products for categories.

For the best of both worlds, you can also implement a multilevel partitioning
scheme. In a multilevel partitioning scheme, you can partition by date to separate
warm from hot data and wrap then move to a hash partition to balance the load-just
one example. You can also go hash-hash, or range-range, or you can implement
dynamic range partitions or heterogenous partitions with some partitions store in-
memory and others on extended storage (dynamic tiering). Many choices can be
made.

Code Clinic
The fol lowing code is a syntax example for table partitioning:
CREATE COLUMN TABLE MY_TABLE (a INT, b INT, c INT, PRIMARY KEY (a ,b))
PARTITION BY RANGE (a)(PARTITION 1 <= VALUES < 5,
PARTITION 5 <= VALUES < 20, PARTITION VALUE = 44, PARTITION OTHERS)

328
8.5 Data Distribution

Learn More
For the documentation, see "Table Partitioning" (SAP HANA Administration Guide).

8.5.2 Table Placement and Distribution


Table placement allows you to inform the database, or to be precise, the SAP HANA
query optimizer, what the application already knows: which tables belong together.
For optimal query performance, and optimal table distribution, knowing which
tables are often joined or queried together can be vital.
For SAP BW and the SAP Business Suite "powered by HANA", SAP S/4HANA, and SAP
BW/4HANA, predefined table placement scenarios are available. For other applica-
tions, you can use the table redistribution tool in the SAP HANA cockpit (shown in
Figure 8.8) and SAP HANA studio or manually using SQL.

< '" Cerw:...-ate Rodtstnbubon Pl.:iri v

Table Redistribution Plan


M«UIM>lt dtl~

Rocord$ HOG!od Q

../ ShOW (A)LwM SlOft ~

" ShOW ~ i.bit$ ....,.., 11'1 Jlllln 9'Mf"'-'CI!\ ~ II

~roo. ... ,...c,,... Jt)I) _ _ _ __


..,_. _
~"f'O•••...,<'Olt-D> •
,,,..UCOOMh ........ to't . . :JaM) •

""'56100"f'O)t ........ C11119. . l&ll) I I •


I
~~ ........"°""... ,..,., ~
~NTltlliffOIMll"°""WIPl&Xl ll

·--
. ........
,.,.

·--
· ~N:•

m · ~,.,.

· ~"'•
~

••
Figure 8.8 SAP HANA Cockpit: Table Redistribution Plan

329
8 Data Architecture

A more complete offering including job scheduling is provided by the ODO tool, part
of SAP HANA data warehousing foundation, discussed in Section 8.6.

Code Clinic
The fol lowing code is a syntax example for table placement:

CREATE COLUMN TABLE TABLE_A (COL_A INT PRIMARY KEY) GROUP TYPE ZFIGL
GROUP SUBTYPE CHANGE LOG

Learn More
For t he documentat ion, see "Table Placement" (SAP HANA Administration Guide).

8.5.3 Table Replication

Table replication is another feature that may enhance performance in distributed


systems. Netv1ork latency is one of the disadvantages of a multiple-host system. Even
with fiber-optic channels, the network is still slower than local memory. To mitigate
this effect, you can replicate tables (or table columns) to multiple hosts.
A typical candidate for table replication is the master data table. The contents of this
table will be relatively stable, but the table is often joined '"'ith more volatile dimen-
sional data (e.g. sales data). Having a local replica on each of the hosts with a sales
table (partition) will enhance performance.
Tables can be replicated both synchronously and asynchronously. Synchrono us rep-
lication means that transactions on the source and target tables are committed at the
same time. No matter which version of the table you query, the resu lt set will always
be the same. Synchronous replication may introduce delays. If exact identical copies
are not essential and fast commit times are more important, you can instead opt for
asynchronous replication. In this configuration, transactions on the source tables
will be committed first, and for some time (often expressed in microseconds), a dif-
ference in results may occur. Usually, the slight delay from asynchronous replication
is acceptable because source and target table being queried d uring that time is highly
unlikely.

330
8.6 SAP HANA Data Warehousing Foundation

Code Clinic
The following code is a syntax example for table replication:
CREATE COLUMN TABLE TABLE_A (COL_A INT PRIMARY KEY) REPLICA AT ALL
LOCATIONS

To avoid confusing table replication with system replication or storage replication,


keep the follovving considerations in mind:
• Table replication is an internal database affair, •vhere you'll replicate in (near) real
time the contents ofa table or table column(s) to one or more host of the same dis-
tributed system. The objective is better performance.
• System replication operates at the SAP HANA system and involves a full copy of
the database (all tables). You can replicate inside the same data center and/or to
remote sites. The main objective is high availability.
• Storage replication operates out of scope for SAP HANA. Storage replication is typ-
ically a solution from an SA.P hardware partner. The main objective is also high
availability.
• SAP Landscape Transformation Server enables trigger-based data replication from
ABAP systems into SAP HANA. This tool is flexible, and you can clone full data-
bases or only certain tables or certain table columns. The objective is to create an
operational data mart to accelerate business intelligence reporting and analytics.

Learn More
For the documentation, see "Table Replication" (SAP HANA Administration Guide).

8.6 SAP HANA Data Warehousing Foundation

As shown in Figure 8.9, there a different ways to build an EDW with SAP HANA. You
can either use an application (solution) to build the EDW, or you can perform the data
modeling yourself using SQL with the help of some tools. For good measure, a mixed
approach, of course, is also possible. The SAP HANA data warehousing foundation
provides the tools to build a native SAP SQL data warehouse.

331
8 Data Architecture

Data Warehouse

SAP Business Warehouse


SAP SQL Data Warehouse
SAP BW/4HANA

Using
Application Integration Processing Database Using SQL
Application
Services Services Services Services

Mixed

Figure 8.9 Different Approaches to Create a Data Warehouse

SAP HANA data warehousing foundation was introduced in November 2015 with SAP
HANA 1.0 SPS 10. For the latest supported SAP HANA data warehousing foundation
2.0 release for SAP HANA 2.0, all applications have been updated to SAP HANA XS
Advanced.
The ins and outs of SAP HANA data warehousing foundation belong to the domain of
the data warehouse architect persona, which is out of scope for this book. However,
for the data architect, two tools included with SAP HANA data warehousing founda-
tion should be mentioned: the DDO and the DLM. DDO and DLM are native SAP
HANA XS Advanced applications and work well together with the SAP EA Designer
described earlier. SAP HANA data warehousing foundation also includes the Data
Warehouse Scheduler, the Data Warehouse Monitor, and an editor for native data-
store objects (NDSOs), which "ve'll describe in this section.

8.6.1 Data Distribution Optimizer


The DDO can provide you with a good landscape overview of your SAP systems with
memory utilization, table grouping, and partitioning information. You can then gen-
erate redistribution plans using smart algorithms to balance the redistribution of
table partitions and compare the simulation with the actual system landscape. When

332
8.6 SAP HANA Data Warehousing Foundation

you're satisfied with the results, you can schedule and monitor your redistribution
plans.

8.6.2 Data Lifecycle Manager


The main objective of the OLM is to optimize the memory footprint of data in SAP
HANA. The OLM tool will help you identify candidates for data relocation based on
access frequency, performance requirements, and the operational usefulness of the
data. You can use OLM for both native SAP HANA and for SQL data warehouse appli-
cations. The OLM tool works with profiles that describe source and target datastore
and the relocation rules. Data relocation usually will move data from the in-memory
hot store to warm and cold stores, but traffic going the other direction is also an
option. A scheduler can then execute the profile, triggering the data movement. OLM
profiles are stored as SAP HANA procedures. Calculation views are automatically gen-
erated to provide transparent access for applications to the distributed datasets.

8.6.3 Native Datastore Objects


The world of SAP data warehousing comes with its own vocabulary. To manage and
persist data in SAP BW, you used to utilize HybridProviders, datastore objects, and
persistent staging areas (PSAs). To simplify the SAP BW landscape, advanced data-
store objects (ADSOs) were introduced. These advanced DSOs include tables for the
inbound queue, for the change log, and for active data that can be used to calculate
delta changes and to provide a rollback mechanism.
As the name suggests, the NDSO found in SAP HANA data warehousing foundation
has a similar structure, but this time is a "native" SAP HANA SQL object. You can use
a template in the SAP Web IDE as a blueprint to create NDSO artifacts with the tables
exposed as core data services (CDS) entities and use a flowgraph to load data into the
NDSO or extract data from it, as shown in Figure 8.10. As mentioned earlier, NDSO
design is where the work of the data warehouse architect persona starts to overlap
that of the data architect of this chapter, which illustrates the sophistication of the
SQL data \<Varehouse and SAP HANA data warehousing foundation.

333
8 Data Architecture

¢ .> Cl
TC_OtM20_F"SOP_t.io_rx_o • 0.
Add T•Sk Addc.leaO< Propenies ~ i 08

~ ........"" • ..••., ~

•'
SillllrittJP.....,
... (;)

,,.. -
~
£;..«111• flM1r~
al.,.
Ir.
-+
CW•M
_..,_
·- r-------1<
r ''"
..
b.-~""'
HOS0_9~T.K

...
N0$0_~1Tl.

...
&to.ii• ....,...~
( • ,
...
r
:
""" ....
<Provfde ONaipt:lon>
...
._..
EA_....,,.""

'
11::.

f0

Figure 8.10 Designing NDSO Flowgraphs in the SAP Web IDE for SAP HANA

Learn More
For the documentation, see SAP HANA Data Warehousing Foundation for the SAP
HANA platform on the SAP Help Portal.
A trial version of the SAP HANA data warehousing fo undation, including t he SAP EA
Designer, edition fo r SAP HANA, is availa ble as a preconfigured system (solut ion) on
the SAP Cloud Appliance Library, as shown in Figure 8.11. Here, you can deploy your
own instance in matter of minutes, all preconfigured with trial licen ses included, to
discover how these products can be used.
Visit the SAP HANA Data Warehousing Foundation topic area on SAP Community to
get started.

334
8.7 Summary

sotutions I Create Instance Calculate Cost (!)


SAP SOL Data Warehousing
With SAP Data \Varehouse Foooc&ation and SAP Enterprise Atchitectwe Designer on SAP HANA (full use) we anow )'OU to get a 360 degree view on )'OUf data. Check it out by
leveraging the JO.day ttiat period Of the SAP SOL data watehou~ technol.oSY which is ideat tor ttaditionat data warehouse. ~ data warehoose and dlta mart cnvftotwnents
The SAP SOL Oata warehousing Trial eGtion atl.ows custorr1eJ to p1Xchase and Install their lkenses into the CAL system v.nen the tliat period expires and are governed by SAP
lioensit\a ~ indudine 1uu support..
Publd.het: SAP SE • Avait&bll:
AV<lilabte '°': Google Cloud Platform. Microsoft Azw e, Amazon Web Services

INFO RECOMMENDED VM SIZES

••
Installed Products
SAP HANA data warehou~ foundation 2.0

• SAP Enlefprise Architecture Oesignef 1.0 for SAP HANA


•• --- SAP HA.NA. p&aUonn edition 2.0

---
.

Rttease ~te: Update_ ~ Getting Started Gulde

Aug 2, 2018, 23.'00:00 30 (Ftb 13. 2019, 1S:16!14) Ill More Information

Figure 8.11 SAP SQL Data Warehousing Trial in the SAP Cloud Appliance Library

8.7 Summary

In this chapter, we covered SAP HANA's data architectu re and described scaling, data
tiering, and data distribution. The general recommendation is to scale-up before you
scale-out but, as we've seen, both approaches have advantages. The best solution to a
problem often is to proactively prevent the issue from occurring and to tightly con-
trol the SAP HANA memory footprint.
With data tiering, you can downsize SAP HANA memory requirements by creating a
"warm" datastore for less frequently accessed data. SAP HANA native storage exten-
sion and SAP HANA dynamic tiering are two of the solutions available to implement
this kind of data tiering. If you need to offload even more data on Hadoop storage or
cheap clo ud storage and data lakes, yo u can keep track of your data using SDA. From
this point, either you can choose the SAP HANA Spark Controller to connect to
Apache Spark or use the newer SAP Data Hub connecting with SAP HANA Wire
directly to an SAP Vora distributed runtime.

335
8 Data Architecture

If you must scale-out, how can you get the best performance? One responsibility of
the data architect persona is to ensure that data partitioning and data placement are
designed properly. In some cases, table replication might boost response times. The
DDO and the DLM tools from SAP HANA data warehousing foundation can assist you
with data tiering and data distribution management automation. Finally, the SAP EA
Designer is an excellent tool for creating diagrams, models, and other artifacts, for
documenting the current state of your SAP HANA landscape, or for collaborating on
designing the next iteration, SAP HANA 3.0.
In the next chapter, we'll change our focus again and look at how you can implement
the SAP HANA platform on-premise or in the cloud. Time to meet the data center
architect persona.

336
Chapter 9
Data Center Architecture
The experts look ahead.
- Gordon E. Moore

Short cuts make delays.


- J.R.R. Tolkien

The ancient Greeks called architects "chief builders," and it's still an apt description
for the profession 2,500 years later. One can only master a skill by doing, th rough
experience and rigorous study of the available tools and techniques. This require-
ment certainly applies to the SAP HANA architect as well when sizing a new imple-
mentation landscape, when scoping a migration, or when drafting a network security
design. Experience counts, as does a thorough understanding of the concepts and
possible scenarios you may face.
Often, seasoned professionals fulfill in this role, the old men (or women) with beards.
A q uick-and-dirty job on sizing by an SAP HANA rookie might result in a pricy hard-
ware upgrade before the project is even finished. Opening all TCP ports in the firewall,
just for a second of course, because we couldn't figure out which client connection
endpoints need to be established, dangerously exposes a system to the evildoers of
the World Wide Web. Without proper preparation, running any enterprise IT system
is a hazardous affair. SAP HANA is no exception. Time to meet the data center archi-
tect.
In this chapter, we'll introduce you to SAP HANA data center architecture, describe
the role of the data center architect, and explore some of the tools used for perform-
ing their tasks and activities. We'll cover topics like SAP HANA sizing. deployment
options, standard appliances versus customized configurations, the latest hardware
technologies, operating systems, migration tools and services, high availability and
disaster recovery, system replication, landscape management, and network adminis-
tration.

337
9 Data Center Architecture

9.1 Roles and Tools


What are the responsibilities of the SAP HANA data center architect, and what tools
does he or she have available to do the job? In this section, we'll briefly describe the
job role of the data center architect persona.

9.1.1 The SAP HANA Data Center Architect


The SAP HANA data center architect is responsible for ensuring that the in-memory
platform is available and responsive. We all want the best possible performance, and
we all \Vant business continu ity as much as reasonably possible. Depending on yo ur
budget, you may define an acceptable annual downtime in terms of hours, minutes,
or seconds.
The data center architect will need to work closely together with the data architect
introduced in Chapter 8 and the secu rity architect from Chapter 7. In smaller organ i-
zations, these responsibilities may be combined into a single or shared role, while
larger enterprises probably have entire teams for the different disciplines like net-
work security, storage management, business continuity, and so on. As an arch itect,
you might specialize in sizing SAP HANA landscapes and become intimately familiar
with t he different requirements of business applications versus data warehouse
environments. Alternatively, you might only manage the occasional sizing project
and instead seek out the required expertise from consultants outside of the organiza-
tion, whether from SAP's Digital Business Services or from one ofSAP's many imple-
mentation partners. Sizing is typically part of a m igration project. and you'll likely to
find your data center architect persona heavily involved in providing expertise about
processor architecture, deployments, and lifecycle management best practices for
system landscapes and applications.
Cloud computing won't put the SAP HANA data center architect out of work. Quite
the contrary. The futu re is hybrid and multicloud, as far as SAP is concerned. and SAP
has added cloud deployments. private and public cloud environments, and intercon-
nectivity between on-premise and cloud-based systems to the responsibilities of the
data center architect .

338
9.1 Roles and Tools

In Chapter 8, we covered the data architect persona. What's the difference between
the data architect and the data center architect? Sticking with the architecture meta-
phor, think of the data architect as the interior designer, and the data center arch itect
as the actual architect. The data architect is intimately familiar with the data and
knows how the tables are related, how the data can be partitioned and distributed,
and h ow the data ages. From a role perspective, the data center architect will have lit-
tle or no idea about what is inside the SAP HANA box. He or she primarily cares about
the hardware the system requi res, how to integrate SAP HANA in the overall enter-
prise IT landscape, and how to obtain what's called four- or five-nines availability
(99.999%), vvhile protecting the in-memory platform. All topics that are of no concern
to the data architect.
Both roles are equally important, and in practice, a single person or an entire team
performs both roles. For example, when your system needs to scale-o ut, both perso-
nas will need to work together closely as is the case vvhen designing data tiering (coor-
dinating hot, warm, and cold data) across m u ltiple systems.

9 .1.2 Tools

No Swiss army knife is available for the data center architect to assist in daily tasks,
but a few handy tools are worth mentioning. In Chapter 8, we described the SAP
Enterprise Architecture Designer (SAP EA Designer), edition for SAP HANA (and its
full client cousin SAP PowerDesigner), in the toolkit of the data architect. The data
center architect is likely to find this tool useful as well. You can use SAP EA Designer,
shown in Figure 9.1, to design your IT landscape, keep an inventory, and collaborate
with colleagues.
Also, SAP Solution Manager and SAP Landscape Management are two tools specifi-
cally designed to manage complete an SAP system landscape and all its business
applications and data warehouses. Although you can manage SAP HANA databases
with SAP Solution Manager and u se SAP HANA as its database ("powered by HANA"),
the scope of SAP Solution Manager (as any Basis administrator will know) is not
restricted to SAP HANA. We'll discuss both tools in Section 9.11.

339
9 Data Center Architecture

IT landscape v i+ v •••

• < CA + v
)
..•• Walldorf
S<e
Core

0
0-~ect °"'"""
~ •llo ~ )

i.- • io """' v General

i0
·.
1
. ·o
"'""" Name:
Code:
warldorl
WOF =
~ [?
,...,,
,_,.. ,-mp-act-..._
-,..,;: .
W' G tnl. Core
I @.fij@fflfj

-....
-
Oett lneegtedon

.......
Plattner·Rno
7

Zip Cod<>: 69190

Olly: wa11<1or1
co..>uy: Ge,,.,..,y

Figure 9.1 SAP Enterprise Architecture Designer

9.2 Implementation Overview

Implementing SAP HANA is a project, and like any project, being successful will
require a plan. A great deal of information about implementing SAP HANA is avail-
able, and as data center architects, you'll need to be familiar i,vith this material. You'll
need to size the system correctly, that is, translate business requirements into hard-
ware. You'll need to understand the different deployment options, so you can select
the right one for your project. While potentially daunting tasks, you can engage with
SAP or with implementation partners to take advantage of years of accumulated
experience implementing SAP HANA. We'll discuss both of these processes in the fol-
lowing sections.

9.2.1 Sizing SAP HANA

Running enterprise business applications in production environments requires con-


siderable compute resources. To make this investment sound, the platform must be

340
9.2 Implementation Overview

sized properly during your implementation planning. Processors, memory, storage,


network-all the hardware must match the business requirements. Sizing too gener-
ously would negatively impact the total cost of ownership (TCO), mentioned in Chap-
ter 1 as one of the key benefits of the SAP HANA platform. Sizing too small will
prevent the performance we're expecting. Not a good deal, either. But business
requirements change, and so you'll need to rinse-and-repeat and consider sizing an
iterative process. Sizing SAP HANA is not much different from sizing SAP business
applications on other databases; you'll use the same methodology and the same kind
of tools.
For new implementations, often described as greenfield, you can use the Quick Sizer
tool, as shown in Figure 9.2. You can use this tool for initial budget planning for the
latest versions of SAP S/4HANA and SAP BW/4HANA (or the older SAP Business Suite
and SAP Business Warehouse "powered by HANA"). The Quick Sizer tool is a web
application. Input the business requirements and out comes the technical specifica-
tions. For both SAP Business Suite and non-SAP NetWeaver applications, multiple siz-
ing guidelines are available for specific industries, for analytics, for mobile scenarios,
and for other use cases.

Oft9&1y proj.ct 'USIMSS IHANA'


El
C~f'IC>.: 188213
PtojK!C NllM: ES$1M$$ IHAHA __J
I
A ~ Mtlll IO UM sel.wvloe SCOl'llnc&. Thete wl be usage ol employee
n.
r""I ~r-
~•=
- ~~I
D Umit User AcceM and~M11...,..,ioe1,
~~II !Md io• Wltin amounld .,tiwpt!M """"°" ~

.....
"" .
kl lhs UllmlJllle- ll5SUI» fiat ~oiw hour- expea lh9 US-VO ol 10.000
ESS tmll "*'*"°'<•·O· C>WJ'lllp), 10,000 ESS tnldUn ~ ( .,g, CAJS. IN\09 ~ C*ton11 ¥llomwlion). 8fld
10,000 ESS IWOt eoerwlol C•.g. b'lv« ~).

I ISearch in Tree I
Messages
,Ptvw ..
f2I F"or t9MAl5 at d~ ~al!ion lewls, chooM allClllliw rffUlt ,......_
'"""' ~ Tf'M ,.._ Sya1*im f ~ ~~
• SAP~ SOlutlonl

• Ptqect k'lloi "W11io11 • ,..,.. SAP &.isi'less SoMiorv'Soltwar Coo •IPOI..,.. C SAP &ihss SoUionlSoltwlre C.0.1'4)0M(ll Exlemicn
• SAP 8uslnoS5 &mo You can cNnQe 'fOll cnoioe on !ht prOjoCI ~ (IJOSllOMaire. A CNnge may f'OQl.ite OU. ~
• <> SAP Aon
• SAPCRM

• 0
• !I
Financia'!s
Human Cepilal "'1'"t-
-
· o E~ TI'ltougl'lpul : ~ults tor lotrtw. CompoMMS
• <> Logllllcl ExlCUliotl SW~ ~~l CPU<:1L SA.PS~. 2.-) ~SAPS(ASAP) 08$>.PS SCUCleu.torAI
. 0 Ptoduct Dev. & Edoutlon ECCSERVER E~COttCOll\OOl"Mll{ECC) S •7.000 33.000 15.000 6
. 0 ,..... "s.Mct


·o"°""""........,
Figure 9 .2 Quick Sizer for SAP HANA

For migrations, specific SAP Notes include sizing reports attached, which need to be
executed on the source system. Different reports exist for the different versions of

341
9 Data Center Architecture

SAP Business Suite and SAP Business Warehouse (SAP BW), so make sure you select
the right one.

Learn More
The hardwa re sizing decision tree can help you learn about greenfield and imple-
mentations and productive sizing, including sizing terminology, FAQs, and a search
t ool for sizing specific SAP applicat ions, and is available at http://s-prs.co/v488433.
Sizing SAP HANA is documented in the SAP HANA Master Guide for the SAP HANA
platform. The paragraph conta ins links to t he relevant SAP Notes and the Quick Sizer
tool. For t he application server component, you'll need to consult the SAP HANA
Administration Guide. See the following resources:
• "Sizing SAP HANA" in the SAP HANA Master Guide
• "Platform Sizing in XS Advanced" in the SAP HANA Administration Guide

9.2.2 Implementation Partners


SAP (and many of its service partners) have accumulated expertise in system sizing
over the years, recorded in SAP Notes, white papers, lessons-learned biogs, and prod-
uct documentation. Classroom training is available, and you'll likely use dedicated
sizing microsites. SAP has even developed a hardware-independent unit of measure-
ment: the SAP Application Performance Standard (SAPS). A great deal of expertise is
ready to be leveraged.
For large systems and complex environments, a standard report may not provide the
best results, and more customized solutions may be required. For these cases, you
can leverage SAP Digital Business Services or the expertise of its service partners. The
SAP Partner Finder tool on the SAP PartnerEdge portal. shown in Figure 9.3, can help
you find the right partner for you.

Learn More
To learn more about the SAP partner ecosystem, visit the SAP PartnerEdge portal at
http://s-prs.co/v488434. For the SAP Partner Finder, go t o http://s-prs.co/v488435.

342
9.2 Implementation Overview

Search by SAP partner company nan Q.

Filters Reset

f) location

v
( All Countries
Welcome to the SAP Partner Finder
[ All States v The SAP Partner Finder helps you easily find accredited SAP partners who best fit
your unique needs.
Postal Code City
SAP Partner Type • Sell. Service. Build, and Run indicate the category of
partnership with SAP and Platinum. Gold and Silver show the status level of the
partner in the SAP PartnerEdge Program.
f) Partner Type 0
SAP PartnerEdge Platinum Partners · represent our most strategic and
All Partner Types v
global partnership organizations.

SAP PartnerEdge Gold Partners · illustrate a strong commitment to

• Solution • SAP
Authorization

I AU Categories v
delivering consistent business value to SAP customers .

SAP PartnerEdge Silver Partners • show commitment to SAP by passing


skills assessments and evaluation checks to qualify for the SAP PartnerEdge
program.

[ All Solutions v
The SAP Recognized Expertise designation shows expert partners who have
acquired a specialization. depth of experience and successful customer projects in
SAP Recognized Expertise 0
a specific area. SAP solution. or industry.

SAP Authorization reflects the minumum qualifications or certifications required


f) Industry for a partner to operate on a specific area of the portfolio, ensuring up to date
knowledge to support your business needs.
All Industries v
How to use the SAP Partner Finder:
SAP Reoogn1zed Expertise 0
l Select your country
Search Reset 2. Select your desired partner type based on your requirements
3. Select your required solution area and specific SAP Authorization to show
partners who are authorized for that solution. To show partners with SAP
Recognized Expertise for a solution. tick the box in this section.
4. Select our chosen indust o tional . To show artners with SAP Raco nlzed

Figure 9.3 SAP Partner Finder

343
9 Data Center Architecture

9.3 Deployment Options

You can deploy SAP HANA in your corporate data centers or in private/public clouds
and even mix and match these deployment options. Regardless of where you deploy,
the different technical deployment options depend on how you plan to deploy,
which determines the boundaries between servers, systems, databases, and applica-
tions "powered by HANA." In this section, we'll cover all the options.

9.3.1 Hybrid and Multicloud

It's increasingly common for enterprises to run different solutions in different cloud
environments and combine them with on-premise deployments. Thus, multicloud is
embraced by SAP as part of the intelligent suite strategy, and SAP HANA is positioned
as a hybrid and multicloud data platform. Although often confused or used inter-
changeably, "hybrid" and "multicloud" environments are not the same. A hybrid
cloud is a development concept and concerns combining microservices in a mix of
public and private cloud environments (both on-premise and cloud-hosted). Amulti-
c/oud environment is a strategic business decision perhaps made by a chief informa-
tion officer (CIO) who prefers not to keep all the eggs in one basket. With this
approach, you may be able to negotiate better deals for cloud services when working
with multiple providers, to name one potential benefit.

9.3.2 Single-Host and Distributed Systems


In Chapter 8, we described how you can scale-out a single-host SAP HANA system
into a multiple-host, distributed system. For best performance, in most scenarios, an
SAP HANA system running on a single system is the preferred option. On a single
computer, all relevant data will be in-memory and close to the processing units.
However, you may want to opt for scaling out to multiple hosts for several reasons. A
distributed system provides high availability. Should an instance on one server no
longer respond, you can failover to a standby node. Distributed systems also provide
more capacity. More memory and more processing power are available. Creating a
distributed system is easy enough: Either at install time, or when the system is up
and running, you'll add or remove hosts using platform lifecycle manager tools.
Table placement, distribution, and maybe even replication may require the expertise
and experience of a data architect, who would use the table distribution advisors
available in the SAP HANA cockpit and SAP HANA studio or a more sophisticated tool

344
9.3 Deployment Options

like the Data Distribution Optimizer (DDO) from the SAP HANA data warehousing
foundation.
Multiple-host, distributed systems are supported both in on-premise and in virtual-
ized environments. However, in virtualized environments, single-host systems will
be much more common (both cloud-hosted and not}, due to the complexity ofvirtu-
alizing shared storage subsystems, virtual hosts, and virtual networks.

9 .3.3 Technical Deployments (MCOS and MCOD)


Applications can be deployed on SAP HANA in different ways, which is referred to as
the "technical" deployment to distinguish these options from the earlier discussion
about on-premise, cloud, or hybrid deployments.
The most basic configuration is shown on the left of Figure 9.4: a single database sys-
tem. In our example, an application (for example, SAP Cash Forecasting) is running
on a single SAP NetWeaver Application Server for ABAP (SAP NetWeaver AS for
ABAP), deployed to a single database schema, part of an SAP HANA system running
on dedicated hardware. Its neighbor, say SAP Operational Process Intelligence, runs
on another system. These applications reside on completely separate environments,
with not a single component shared. In our example, SAP Cash Forecasting runs on
the older SAP HANA 1.0 environment, where each system only supports a single data-
base (the terms "system" and "database" were often treated as synonyms}, and SAP
Operational Process Intelligence runs on a tenant database system. Tenant database
systems were introduced in 2015 to optimize resource usage and, 2 years later,
became the default and only database mode for SAP HANA 2.0 support package stack
(SPS) 01.
For complex applications, a dedicated SAP HANA system, as shown on the left of
Figure 9.4, might make perfect sense. You might even have to scale-out to multiple
hosts. However, running a simple application on a dedicated system is a different
story and would be much less cost effective. Consider, for example, an application
that is only used periodically, not 24/7. To work around this issue, you can either
deploy multiple applications to a single SAP HANA database or install multiple SAP
HANA systems on a single server. The first is called multiple components in one data-
base (MCOD), and the second, multiple components in one system (MCOS). The term
"component" comes from SAP NetWeaver terminology (an independent installable
unit}, but for our purposes here, think of a component as an application. In other

345
9 Dat a Center Architecture

words. m ultiple applicat ions can work off a single database and off a single server. as
shown on the far right of Figure 9.4.

Applicatio n I Application I Application I Application I Application I Application I Application I Application I


Applicatio n Application Application Application Application Application Application Application
Server Server Server Server Ser'/er Server Server Server
- - - - l
Sc hema I Schema I I Schema I I Schema I Schema I Schema I
Tenant Tenant Tenant I Tenant Tenant Tenant

SAP SAP SAP SAP


HANA HANA _ _ _SAP
__ HANA
___ J SAP HANA HANA HANA

Linux Linux I Linux Linux Linux

I
Storage Storage Storage St orage St orage

Single (Tenant) Tenant Database Syst em M ult iple Components Multiple Com ponents
Database System One Database One System
{M COD) {MCOS)

Figure 9.4 SAP HANA Techn ical Deployment Types

You may wonder, then, what the relative benefits are with MCOD/MCOS deploy-
ments versus a tenant database system. This is, in fact, not all that clear. The business
case for the MCOD/MCOS deployments is not as strong as in the early days of SAP
HANA, before tenant databases. MCOD/MCOS deployments both p rovide better
resource usage compared to a single SAP HANA database system. One side effect of
MCOS, however, is overhead: All SAP H.ANA processes are duplicated. One side effect
of MCOD is privacy and security. MCOD and MCOS deploymen ts are a delicate topic,
and a dedicated SAP Note discusses the conditions and provides a white list of sup-
ported SAP applications. Tenant da tabases optimize resource usage for m ultiple
applications without the overhead of MCOS and the lack of isolation of MCOD-the
best of both 1.vorlds.
Another technical deployment option not included in Figure 9.4 is virtualization.
which we'll discuss in Section 9.3.S. This option puts a hypervisor layer between the
computer and the Linux operating system. You could virtualize every deployment
option, separate configurations aren't required. The SAP Cloud Platform, SAP HANA
service in the Cloud Foundry environment is a single tenant dat abase system (the
highlighted white box in deployment type 2), and from the SAP Cloud Platform cock-
pit, you directly access the tenant database. The system database is managed by SAP,

346
9.3 Deployment Options

and as a result, you won't be able to add additional tenants. In the Neo environment,
on the contrary, you could deploy a full tenant database system (dashed box in
deployment type 3) and add/delete your own tenants.

SAP Notes
For the SAP Notes on the SAP ONE Support Launchpad, see:
• SAP Note 1661202 - Support mu ltiple applications one SAP HANA database/
tenant DB
• SAP Note 1681092 - Mu ltiple SAP HANA systems (SIDs) on the same underlying
server(s)

9 .3.4 Tenant Databases


Tenant databases optimize resource usage while maintaining security and privacy.
Every tenant database is self-contained, with its own users, schemas, and catalog.
When you install an SAP HANA tenant database system, a system database is created
together with a tenant database. Using SQL or t he SAP HANA cockpit, you can start/
stop tenants and create (or delete) additional tenants. From the system database, you
can manage the tenant, but you cannot access the data. This data is completely iso-
lated.Cross-database access can be configured for read-only queries. To provide even
stronger database isolation, you can configure the tenant database to run under a
dedicated operating system account, separate from the SAP HANA software owner,
the operating system administration account <sid>adm.
The system database only contains master data, no user data, and is small with mini-
mal overhead. For scale-out, multiple-host, distributed SAP HANA systems, the first
host always contains the system database. Tenant databases can be attached to dedi-
cated hosts or distributed across hosts, a flexible way to balance the load of multiple
tenant databases.

Learn More
Tenant database concepts are documented in the SAP HANA Master Guide, and man-
aging tenant databases is documented in the SAP HANA Administration Guide, avail-
able on the SAP Help Portal.

347
9 Data Center Architecture

SAP Notes
For relat ed knowledge base articles on the SAP ONE Support Launchpad, see SAP
Not e 2101244 - FAQ: SAP HANA Mult itenant Database Containers (MDC). MDC was
the original name for what we now call "tenant databases."

9.3.5 Vi rtua lization


Virtualization enables you to simulate hardware. The technology has grown explo-
sively over the last two decades, in line with the growth of cloud computing, which is
entirely based on virtualization. Although virtualized SAP HANA systems supported
in production took some time to develop, today. all the deployment types we men-
tioned earlier are available in virtualized systems, including distributed, m ultiple-
host, scale-out systems.
Figure 9.S shows VMware advertising their technology for SAP solutions, including
SAP HANA.

vmware·

SAP and VMware

SAP and VMv1are: A platform for innovation

Why VMware and SAP


~ High Availability O! Faster Time to Value

• Get ·out.of·tl'le-~ high ~i.ty or99.9" wotl'I autotnated r.,.,11 • ~ .n nours vs. d~"'''"' rapid and auton\&1ed ~
tOlt><aooe • Enwre C<ll'\Sls.~enc:y and ~b ty across environments through
• MAICll'r.QC uptime w<th ~IC ros.1.wt oncl fa1~r tcmpl.\10$
• l!xt>ttieflee zero 00wnt11·nt or daia ~sv.htf'I MiQIJ.!lil#lg •~
~lrOM "<>St tO l'IO«

~ Security and Compliance


;!!!; LowerTCO • Proc«t tl\fl ne(wO(\c ....,th N-SX ~ l\atel@nl~
• l.Avefagct cross cloud ~t>'ltlft to maln1.-i a ~ HOJnty
• Automate data c~~ ooea1tJOnS a.c111teaure
• AutetNote OOQliGel.JOf'l CH'oYl$.C)l'lif19 and lnfr°'1trlJ(.Cure dfih'elY • Gtt $~ IOf g!Qb,)I dai.a Ol'ote<:l.!Otl end 1)1'/lla<y

Figure 9.5 SAP and VMware

348
9.3 Deployment Options

Although VMware is probably the best-known virtualization software vendor. SAP


HANA is also supported on virtualization solutions from other SAP hardware and
software partners.

Technology Background
Virtualization technology has been around since t he early days of computing but
only reached a broad audience in 2005, when VMware launched a free player for vir-
tual machines on t he PC. Today, virtua lization is ubiquitous: All cloud-based comput-
ing is virtual ized, and we're now starting t o move to t he next phase w ith containers
and server-less computing.
Virtua lization separates computer hardware (processor, memory, storage, network)
from the operating syst em and allows you to create compute virtual environments
called virtual machines. In Linux terminology, the core of t he operating system, the
kernel, is also known as the supervisor, and since virtualization supervises t he super-
visor, t his is called a hypervisor. Different flavors of hypervisor are available. Some
hypervisors run on bare meta l (hard wa re), while others req uire an operating system
(software) or are a bit of both, like a Linux kernel-based virtual machine (KVM).
SAP HANA supports all three technologies, for example, VMware vSphere (software);
Fujitsu, HP, or Huawei physica l partitions {hardware); hybrid solutions like LPAR (log-
ical partitions) from Hitachi and IBM Power Systems; or KVM fro m SUSE and RedHat .

learn More
The virtualization topic is only briefly addressed in the SAP HANA Master Guide, while
solution-specific mat erial is covered in SAP Notes. All certified virtualization vendors
provide extensive documentation and best practices about running SAP HANA in
their environments.

SAP Notes
For related knowledge base articles on the SAP ONE Support Launchpad, see SAP
Note 1788665 - SAP HANA Support fo r virtualized/partitioned (multi-tenant) envi-
ronments.

349
9 Data Center Architecture

9.4 On-Premise SAP HANA

When first released to customers in June 2011, SAP HANA was only available as an
appliance, a delivery method SAP introduced for its SAP Business Warehouse Acceler-
ator (SAP BW Accelerator) some years earlier. Although this delivery method suited
SAP and its hardware vendors-appliances provide a tightly controlled operating
environment, which facilitates development and quality assurance and thus acceler-
ates in novation - not every customer welcomed this approach. To accommodate
customer requests and preferences, SAP introduced tailored data center integration
(TDI), which provides more flexibility and allows you to leverage your existing hard·
ware and infrastructure for SAP HANA deployments. Both appliance and TD! config-
urations are subject to certification, published in the SAP HANA hardware directory.

9.4.1 Appliance
A computer appliance is preinstalled software on predefined hardware. As SAP is not
a hardware vendor, the appliance delivery method required the involvement of dif-
ferent hardware partners. Fujitsu and HP were among the first to provide certified
configurations, followed by Cisco, Dell, and Hitachi. Models, CPU architectures, mem-
ory sizes, and other specifics are published by SAP in the SAP HANA hardware direc-
tory, shown in Chapter 8, Section 8.3.
Certifications expire, and new ones are added continuously, so be su re to check the
directory first. At the time of this writing (su mmer 2019), over 1,400 different certi-
fied appliances are listed, plus another 500 have expired. Under CPU architecture, for
example, you'll find the latest Intel Cascade Lake processors, preceded by Skylake and
Broadwell, and the no longer valid Haswell, Ivy Bridge, and Westmere architectures.
Memory configurations go up to 24 TiB, compared to 9 TiB for certified infrastruc-
ture-as-a-service (laaS) solutions. Different appliance types are available for scale-out
and scale-up, as described in Chapter 8. In addition, in the SAP HANA hardware direc-
tory, you'll also find a list of certified enterprise storage configu rations for network
attached storage (NAS) and storage area networks (SAN), the most common technol-
ogies used to provide remote storage to computer systems. With fiber optic connec-
tions, accessing remote storage is as fast as accessing local storage devices. However,
SAN and NAS provides a more manageable and cost-effective storage infrastructure
for enterprise environments.

350
9.4 On-Premise SAP HANA

9.4.2 Tailored Data Center Integration


The TDI program was started in 2013 to enable SAP customers to use their existing
storage solutions and networking infrastructure with SAP HANA (phases 1 and 2).
When support for entry-level commodity hardware was added in 2015 (phase 3), the
program really started to take off. Later additions to the program concern support for
IBM Power Systems as an alternative to Intel processor architectures and support for
tailored customer sizing {phases 4 and 5).
TDI provides several advantages, such as the following:
• Reduction of hardware and operational costs by reusing existing hardware com-
ponents and operation processes
• Mitigation of risks and optimization of time-to-value by enabling existing IT man-
agement processes for SAP HANA implementations
• More flexibility in hardware vendor selection by leveraging the existing ecosys-
tem

All good news, of course, but the flipside of TD I is that the customer is now responsi-
ble for the proper installation of both the operating system and SAP HANA and for
getting the right kind of support and service from the hardware partner and OS pro-
vider. To support you in a TDI implementation {apart from the SAP HANA hardware
directory). SAP also introduced a certification requirement for the person perform-
ing the installation: SAP Certified Technology Specialist - SAP HANA.
In addition, the installation media contains a hardware configuration check tool,
which SAP strongly recommends using as part of an SAP HANA go-live check as
offered by SAP Digital Business Services. The hardware configuration check tool is a
command line tool, which checks whether your hardware (processors, memory, net-
work, storage) and software (required packages and updates) comply to SAP HANA's
requirements, as shown in Figure 9.6.

Learn More
For the details about the TOI program, see:
• SAP HANA Tailored Data Center Integration - Frequently Asked Questions
• SAP HANA Network Requirements -white paper (2018)
• SAP HANA Storage Requirement s - w hite paper {2017)

351
9 Data Center Architecture

SAP Notes
For related SAP Notes and knowledge base articles on the SAP ONE Support Launch-
pad, see:
• SAP Note 2613646 - SAP HANA TDI Phase 5
• SAP Note 2501817 - HWCCT 1.0 (2220)

ti' tOOC~m<»f<J.J7bl6l.mo..~orp:-'sJur"1onC!wd:lool 0 X
1~0-fc337b361:/hana/•n•tall/S£RVER/hard~areConf.9urationCheckTool t . / hwcct -f land•c ape_t • st_cf9_ t empla t e . jaon ~
hwcct-2. 00 . 041 . 00 .1560320256 (2019-06-12 08 , 26 , 49)

Te sts wi ll be running with f ollowing configurations:


useHdb: fa l se
printUsage : false
blades: localhost
output directory: / hana/ahared/hwcct_outputDir

Configured tests:
1 EvalOS

creating Test instance Evalos ...


Setting test configuration:
(
)

Estimated test durati on:


3 seconds
start runni no t • st :
Ev•lOS
Eval OS run OK .
....................................................................... ..........
EVALUATED SYSTEM SETUP ON mo-fe337b361.mo. • ap.eorp:
................................................................................
vali dateOS St;.......... ss

vali dateOistri bution sc....r::ss


vali dateLinuxKernelVersion FAIL.ED
Severity: HIGH
Reason: Kernelversio n is t oo low and might have bugs
rel ated to X.FS. For more details review SAP Note: 2205911

Linux kernel version : 3.12.62-60 . 64.8-defaul t


Minimum required version: 3.12.74• 6 0 .64.4 0 .1

validateCloeks ource •

Figure 9.6 The Hardwa re Configurat ion Check Tool

9.5 Hardware Technologies

For optimal performance and the fastest response times, SAP HANA greatly benefits
from using the latest hardware technologies, most of which are fairly obscure and
hard to digest without a PhD. However, you should be familiar with two specific hard-
ware technologies: Intel Optane persistent memory and IBM Power Systems. Many
other hardware technologies were good candidates for this chapter, but we decided
to put these two technologies in the spotlight.

352
9.5 Hardware Technologies

9.5.1 Intel Optane Persistent Memory


Persistent memory (abbreviated as PMEM in the SAP HANA documentation) is a new
class of memory and storage technology designed for data center usage. Persistent
memory offers speeds close to dynamic random-access memory (DRAM) but with
the persistence of storage like solid-state drives (SSDs) or regular hard disks (HDDs).
In addition, persistent memory modules allow for higher memory capacity.
Support for persistent memory was introduced with SAP HANA 2.0 SPS 03 (2018).
Intel Optane DC persistent memory modules are available as of April 2019.

Technology Background
Persistent memory is a new technology, not to be confused with the NVRAM (non-
volatile random-access memory) we find in the BIOS of our PCs (ROM/EPROM) or the
fl ash storage from our mobile devices, USB drives, or SSDs. The technology was ini-
tially developed by Intel and Micron Technology under the name 30 XPoint and is
now commercialized as Optane (Intel).
DRAM and persistent memory access times are measured in nanoseconds (10-9 ), SSD
in microseconds (10- 6 ), and HOD in milliseconds (10- 6 ). At a human scale, if one CPU
cycle of 0.4 nanoseconds of actual latency is counted as 1 second of scaled latency,
the resu lt would be 4 minut es (scaled) latency for DRAM, 15 minutes for PMEM, 7- 17
hours for SSD, and 1-9 months for HOD.
Intel Optane DC persistent memory modules are available in capacities up t o 512 GB
per module. For DRAM, 128 GB is the maximum capacity but, because of availability
and price, 64 GB and even 32 GB modules are much more common. As long as prices
for large RAM modules remain high, persistent memory will promise a lower TCO.

This new technology brings several advantages to the SAP HANA database. Startup
times for large datasets have been significantly reduced, which is huge for both
planned and unplanned downtime. Persistent memory also impacts data tiering
architectures since you can now keep much more "warm" data in-memory and don't
have to offload tables to (extended) storage.
In addition, scaling considerations may also need to be reevaluated. In general, scal-
ing out is more cost-effective when commodity-style hardware is used versus the
premium hardware required for high-end scale-up systems. Unfortunately, getting
the same performance from a scale-out system is harder to achieve and requires care-
ful table placement, distribution, and maybe even replication to avoid saving money

353
9 Data Center Architecture

on hardware only to spend it on operations. Also, as mentioned in Chapter 7, not


every SAP solution is supported on scale-out systems. With persistent memory, scal-
ing up becomes much more affordable, providing a simplified landscape with lower
TCO.
Considering persistent memory introduces a completely new technology, imple-
menting persistent memory for SAP HANA is remarkably easy. During installation,
you'll simply set the persistent memory as an additional mount point, which for
those less familiar with Linux system administration, is how you provide access to
storage. Once the system is up and running. all tables will use persistent memory by
default. The main area of the column store (90% of all table data) is now stored in per-
sistent memory with only the delta area where the data is modified stored in DRAM
(see Chapter 2). However, persistent memory is considerably flexible as you can over-
ride default behavior and apply persistent memory at the column. partition, and
table levels with a simple SQL statement.

Code Clinic
Below is an example showing t he syntax creating a table with persistent memory
storage applied t o select ed colu mns of a table:
CREATE COLUMN TABLE PMTABLE (Cl INT PERSISTENT MEMORY ON, C2 VARCHAR
(10) , C3 INT PERSISTENT MEMORY OFF)
The fol lowing syntax example shows how to unload tables from memory:
UNLOAD PMTABLE DELETE PERSISTENT MEMORY;

Learn More
For more information about SAP HANA and Intel Optane DC persistent memory, visit
http://s-prs.co/v488436 and http://s-prs.co/v488437.
For t he docu mentation, see the SAP HANA Administ ra tion Guide "Persistent Mem-
ory" on the SAP Help Portal.
Support for PMEM hardware to store hot dat a in persistent memory is listed in the
feature scope description as a database services feature for both the standard and
the enterprise edit ion.

354
9.5 Hardware Technologies

SAP Notes
For related knowledge base articles on the SAP ONE Support Launchpad, see SAP
Note 2700084- FAQ: SAP HANA Persistent Memory.

9 .5.2 IBM Power Systems


The x86 processor architecture family is so omnipresent today, in particular under
the dominant Intel brand, that we might forget that alternatives exist. One such alter-
native is the RISC architecture, which is used, for example, in mobile devices
(Advanced RISC Machine [ARM]); gaming consoles (PowerPCs); and for workstations,
servers, and supercomputers. IBM Power Systems uses a RISC architecture, and the
world's fastest supercomputer runs on 9,216 Power9 CPUs. Both architecture families
go back several decades: Intel's x86 CPUs are on their 8th generation; IBM Power Sys-
tems is on generation 9.
While we can't go into detail about what makes IBM Power Systems different or
maybe even better from Intel CPUs, for the purposes of this book, three main themes
stand out:
• Resiliency: The ability to quickly recover and continue operating even when a fail-
ure or interruption occurs.
• Scaling and performance: The architecture favors scaling-up, which avoids the
technically more complex scale-out configurations.
• Virtualization: The chips feature a built-in hypervisor with minimal overhead.

Figure 9.7 shows the IBM homepage for the SAP HANA server infrastructure.

Learn More
For more information about SAP HANA on IBM Power Systems, visit http://s-prs.co/
v488438.

SAP Notes
For related knowledge base articles on the SAP ONE Support Lau nchpad, see SAP
Note 2055470 - HANA on POWER Planning and Installation Specifics - Central Note.

355
9 Data Center Architecture

Run SAP HANA on the


platform built for big ~:::::::J
data .,J
The ideal platform for running SAP
HANA. Achieve up to 99.999% uptime 16 production instances per Lower your TCO
server
...... krNIS• PttctM•&• tMual stlWI' S.... on .,.l>Otlal C0$1S ll"Ql'fl MrWt
di:MnbtM, 1t1t oqufv~t ol only S.2S Run up to 16 SAP HANA ptoduc:hon cot!M>lld~11oi\, fMublnl In a sfNlw dau1
IM'lUtll ol unpllnnod pet Htvet IM~l'ICHpet s.er""" 'Mth up to 1618 oent.tt tootpnnt and towef hardWi11~
cicrM"ltil"M. (1) tPAAs tor SAP Bllst'less SU1t.e Mid .cqulWb«I.
S/4H.A.m.(2)

SAP HANA on Power has thousands of customers in just 3 years. That"s the fastest
infrastructure adoption rate for SAP HANA anywhere. ,

Figure 9.7 IBM.com: SAP HANA Server Infrastructure

9.6 Operating System Platforms

When acquired as an appliance, the operating system running SAP HANA won't be
one of your concerns, since this will be the responsibility of the hardware vendor.
With the introduction of the TOI program described in Section 9.4.2, however, you are
now responsible to provide a proper configuration of the host environment.
Server-side, SAP HANA only runs on Linux, wh ich for those less familiar with operat-
ing systems is a Unix-like open source OS, first released in 1991 and with a market
share of roughly two-thirds of the server market. Because Linux is open source, many
different Linux distributions exist that bundle different functionalities, for example,
optimized to act as a web server or as a desktop computer.

356
9.6 Operating System Platforms

In this section, we'll briefly introduce the global technology partners SUSE and Red
Hat as enterprise Linux providers for SAP.

9.6.1 SUSE
SUSE Linux Enterprise Server (SLES) for SAP applications is an optimized Linux plat-
form for SAP NetWeaver, SAP HANA, and SAP S/4HANA. It's based on SUSE's primary
server Linux distribution and available for Intel x86 and IBM Power Systems architec-
tures, for both on-premise and cloud deployments.
As shown in Figure 9.8, SUSE promotes SLES for SAP applications as the reference
platform for SAP HANA, running 90% of the environments (and as the underlying OS
for the SAP Cloud Platform).

Products 6 Solutions Support 6 Services Partne rs Communitie s About Free Dow nloads

SAP ~ANA

Deploy the #1 Platform for SAP


HANA
When you run SAP HANA, the next generation of SAP 1n-
#1 Platfonn
memory computing t echnology, you want to ensure that the
underlying OS you choose g ives you enterprise-level rehabitity,
for SAP HANA
availability, scalability, manageability, and security to meet
your needs. @ WatchNow
SUSE Linux Enterprise Server is a reference development
platform used by SAP to develop SAP HANA and S/4HANA.
W ith built-in features to reduce the downtime and security
risks to the SAP HANA database. it's no wonder that SUSE
Linux Enterprise Server for SAP Apphcat1ons 1s tile # 1 p latform
for SAP HANA and is currently running in over 90% of SAP
HANA installations.

Figure 9.8 SUSE Linux Enterprise Server for SAP Applications

357
9 Data Center Architecture

Additional key strengths focus on the following:


• Reliability and resistance: SUSE provides a system replication agent for automated
failover and recover, a built-in SAP HANA firewall, and remote storage encryption
management.
• Ease of use and deployment: Installation wizards and preconfigured solutions for
cloud deployments are available.
• Performance: SUSE provides tuning packages and workload memory protection.

Technology Background
SUSE is a German software company founded in 1992 and markets Linux for enter-
prises. The acronym (originally SuSE) comes fro m Software- und System -Entwicklung
(Software and Systems Development) and is reflective of SAP's Systeme, Anwend-
ungen und Produkte in der Datenverarbeitung (Systems, Applicat ions, and Products
in Data Processing). SUSE's main distribut ion is SUSE Linux Enterprise Server (SLES).
For t he open source community, SUSE sponsors t he open SU SE project.

Learn More
SUSE has been an SAP global technology partner for over 20 years. For more informa-
t ion about SAP HANA and SUSE, visit http://s-prs.co/v488439.
For more information about SLES, see http://s-prs.co/v488440. This web page
includes links to best practice documents.

SAP Notes
For related knowledge base articles on the SAP ONE Support Launchpad, see SAP
Not e 1944799 - SAP HANA Guidelines for SLES Operating System Installation.

9.6.2 Red Hat


Red Hat provides an SAP-optimized version of their Linux operating system as sub-
scription: Red Hat Enterprise Linux (RHEL} for SAP Solutions. This subscription
includes specific software components for SAP HANA, solutions for high availability
and lifecycle management, and update services and support on the homepage, as

358
9.6 Operat ing System Platforms

shown in Figure 9.9. RHEL is available for both cloud deployments and the Intel x86
and IBM Power Systems on-premise architectures.

OATASHEET OOWNLOAD

Red Hat Enterprise Linux for SAP Solut ions

RED HAT PRODUCT OVERVIEW


ENTERPRISE LINUX
A company·s SAP'9 landscape Is the dlgltal backbone of Its operations. It supports
FOR SAP SOLUTIONS
enterprise resource plannlnq, supply· chain management. the customer
INCLUDES: experience, both deep and real-time analytics. and more. You must be able to rely
on the infrastructure it is built on and trust that it delivers stability and
• Red Hat Enterprise
performance.
Linux. optimized for
SAP workloads Red Hat• Enterprise Unux• for SAP Solutions provides the operating system and
• Red Hat Enterprise predictive management tools that allow you to have one consJstent Infrastructure
Linux High Availability for both appllcatlon and database wortl.loads. With your upcoming move to SAP
Add·On S/4HANA• . it is more important than ever to have a single, consistent
en..,;ronment that runs reliably, performs well, and that you can manage efficiently.
• Update services for
SAP Solutions Red Hat Enterprise LJnux tor SAP Solutions combines capabdltles that are
essential for running an optimized Infrastructure for SAP application and data
• Red Hat Enterprise
management workloads.. These capabilities are offered as part of the Re.cl Hat
Linux Smart
Enterprise Linux for SAP Solutions subscription at no additional cost.
Mana9ement Add·On

• Red Hat Insights FEATURES AND BENEFITS

• Award-winning Red Hat Red Hat Enterprise Linux for SAP Solutions features additional content specific to
support operating SAP landscapes. The core operating system retains the same kernel with
all SAP·related content delivered thrOt19h child channels. providin9 a consistent
infrastructure across SAP and non·SAP environments.

Figure 9.9 Red Hat Enterprise Linux for SAP Solutions

The RHEL for SAP Solutions subscription contains a channel for SAP applications and
one for SAP HANA. The following software components are included with the SAP
HANA channel:
• XFS file system
• Required C++ runtime compatibility libraries
• Tuned profiles for "sap-hana" and "sap-hana-vmware" (preconfigured operating sys-
tems for specific workloads)
• Resource agents for monitoring

359
9 Data Center Architecture

Tech nology Background


Red Hat is an American software company founded in 1993 and mostly known for its
enterprise Linux operating system and, to a lesser extent, the JBoss Java application
server, both open source. The company provides a range of products and services
around t hese platforms and is a major contributor to the Linux kernel. IBM acqu ired
the company in 2019. Red Hat has been an SAP global technology partner for over 17
years.

Learn More
For more information about SAP HANA and RHEL, visit http://s-prs.co/v488441.

SAP Notes
For related knowledge base articles on t he SAP ONE Support Launchpad, see:
• SAP Note 2397039 - FAQ: SAP on RHEL
• SAP Note 2009879 - SAP HANA Guidelines for Red Hat Enterprise Linux (RHEL)
Operating System

9.7 Infrastructure-as-a-Service Providers


In Chapter 2, Section 2.5, we described the different cloud deployment options: SAP
HANA Enterprise Cloud; SAP Cloud Platform, SAP HANA service; bring your own
license (BYOL}; and SAP HANA, express edition. In this section, we'll introduce the
most important cloud providers for infrastructure-as-a-service (IaaS), also referred to
as hyperscalers.
Let's walk through the SAP HANA IaaS provider options.

9 .7.1 Amazon Web Services


Amazon Web Services (AWS) was the first to provide an SAP HANA cloud-based offer-
ing with SAP HANA One, announced early on at SAP TechEd in 2012. Today, SAP
HANA One is no longer available on the AWS Marketplace, but you can still choose

360
9.7 Infrastructure-as-a-Service Providers

between different SAP HANA offerings plus a multitude of other hosted SAP solu-
tions, like SAP S/4HANA, SAP C/4HANA, SAP Business Suite, and so on. For SAP
HANA, options include BYOL; SAP HANA, express edition; SAP Clo ud Platform, SAP
HANA service; and different trials for SAP HANA and SAP HANA-based solutions
through the SAP Cloud Appliance Library. To help you get started, AWS provides
excellent documentation and launch templates, as shoY1•n in Figure 9.10.

_,
aws a r1 English • ~
~

AW'S Oocum~ • Quid: Sbrt c.tadn. • SAP~ Quid: SUit •SAP HANA on the A'WS Ooud:: (Juldt Start All!fcrcnce Deployment
SAP HANA on AWS Q.
SAP HANA Quid: Surt SAP HANA on the AWS Cloud: Quick Start Reference Deployment
OoC\1-tMlon • Tllk Gukle B Deployment Guid e
~wch m SobarttSon Rodholuishnon, Harpreet Singh, and Kuong·Shjh Lee-Solutions Architects, Amazon Web
0 Homt: Strvkts

July 2014 (lost updote: July 2019)


D AtchltKlure
Supports SAP HANA Platform Edit;on 1 SPS 9-12 and SAP HANA Platform Ed;tion 2 SPS 0-4
0 Planning the deployment

D Ocploymc::nt stc-p5 This Quick Start reference deployment guide provides det.ailed instructions for deploying SAP HANA on the
Amazon Web Services (AWS) Ooud by using AWS CloudFormation templates.. The Qul<k: Start builds and
0 Troubteshooting
configures the AWS environment for SAP HANA by provisioning AWS resources such as Amazon Elastic
0 Support Compute Cloud (Amazon EC2), Amazon Etastk Block Store (Amazon EBS}, and Amazon Virtual Private
0 S«urity Ooud (Amazon VPC).

0 Resourc~ This guide is for IT infrastructure architects, system administrators, SAP Basis architects. and SAP Basis
0 Appendix A:. Subscribing to RHEL f<w administrators who are ptannlng to Implement or extend their SAP HANA workto.ads on AWS.
SAP
Note
0 Appendix~ Subscribl1"'9 to SUS for
SAP If you a re implementing SAP Business One, version for SAP HANA, follow the instructions in the
0 ApP4J:ndi• C: St<urity gnwps
SAP Business One. vtrsion for SAP HANA, Quick Start refe<tnct deployment guide.

0 Fttdbadc If you have an AWS account and you're already famitlat with AWS services and SAP HANA. you can launch
0 Document revtslons the Quick Start to build one of the architectures shown in the Architecture section in a new or existing
virtual private doud (VPC). Each deptoyment takes 2S-60 minutes to complete, depending on the setected
configuration. If you're new to AWS or SAP HANA, please review the architectureSt read the implementation
details, and follow the step-by-step instructions provided later in this guide. If you want to take a took
under the co>Jers, you can ..new the AWS CloudFormation templates that automate the deployment.

Deployment scenario For a new VPC For an existing VPC


Single-AZ (single or multiple nodes) Launch View template Launch View template
Multi-AZ (single nodes) Launch View template Launch Vitw template

Figure 9.10 SAP HANA on AWS

Learn More
For more information about SAP HANA on AWS, visit http://s-prs.co/v488442. For the
documentation, see http://s-prs.co/v488443.

361
9 Data Center Architecture

SAP Notes
For related knowledge base articles on t he SAP ONESu pport Launch pad, see:
• SAP Note 1656250 - SAP on AWS: Support prerequisit es
• SAP Note 1964437- SAP HANA on AWS: Supported AWS EC2 products

9.7.2 Microsoft Azure


Support for running SAP software on Microsoft Azure goes back to 2014, when SAP
HANA One was made available in the SAP Cloud Appliance Library with Azure as a
cloud provider. The current offering on the Azure Marketplace is similar to AWS with
the SAP HANA, express edition, mainly for development and SAP HANA platform
BYOL for large(r) scale deployments.
In addition, again similar to the AWS offering, you can also run most SAP Cloud Appli-
ance Library solutions with Azure as the cloud provider and also deploy the SAP
Cloud Platform, SAP HANA service in the Azure Cloud Foundry environment. Of
course, exact configurations will differ, as will the conditions of the service offerings,
all carefully drafted in the fine print.

Learn More
For more information about SAP HANA on Azure, visit http://s-prs.co/v488444 (with
links to t he documentation).

SAP Notes
For related knowledge base articles on t he SAP ONESu pport Launch pad, see:
• SAP Note 2015553 - SAP on Microsoft Azure: Support prerequisites
• SAP Note 2316233 - SAP HANA on Microsoft Azure (Large Inst ances)

9.7.3 Google Cloud Platform


In 2017, Google Cloud Platform (GCP) was certified to run SAP applications, SAP Cloud
Platform, and SAP HANA. As with AWS and Azure, you can use GCP as a cloud pro-
vider for your SAP Cloud Appliance Library solutions; use GCP as a Cloud Foundry
environment for the SAP HANA service; or find the SAP HANA, express edition in the

362
9.7 Infrastructure-as-a-Service Providers

GCP Marketplace. SAP HANA BYOL is available as a single-host system (GCP uses the
term "node") and in multiple-host distributed scale-out configurations (on bare
metal hosts delivered through managed services).

Learn More
For more information about SAP HANA on GCP, visit http://s-prs.co/v488445. For the
different SAP HANA gu ides (for pla nning, deployment, operations, high availability
and disaster recovery planning, etc.), as shown in Figure 9.11, go to http://s-prs.co/
v488446.
0.. oocs Support console fi)

$AP on GCP 6ocurMntatlon


Product oYctvilW All SAP HANA Guides SEND FEEDBACK
Oocumenta!ion

SAP on GCP o•• "*


Certi6ed SAP D~tlons on GOP
Cerliflcd SAP HANA conf19Ur•tions on SAP HANA p&&nning gukl•
GCP 01!1CUS!lf'lCflm1dl'rahons '°' plJ111n1rog"' SAP HANA df'Pll>'f"W'Ol on C'.CP,. indudong dl>pioylTIMI ard!1tf'durf'.
1nourct requiremtnls pnc•flO and QUCK8 oons.Klff•tlOI'\$, anct kfns.i"O 111t0tmtuon
SAP on GOP gulcln
SAP NtcWe~ guides
SAP HANA guidn SAP HANA deployment guide
All SAP HANA guides
Provuks 1nstruci1on.s for dePor-i9 SAP HANA systems Cl'\ GCP
Plat\l'lil'IO gtJidt:s fOt SAP HANA
~guides fOf SAP HANA

()rptf1'uons for $AP HANA


SAP HANA Ol)erations guide
SAP ASE guides
Ptov16's it'IS1f\.IC1101U for opera•1ng SAP HANA iys.t«ns !Mt have Men dfs'.llO)'fd on Ga>
$AP Busln.ess ()-le 9Uklts
SAP MuOB guides
IBM Db2 fOt SAP ~H
SAP HANA high availability and <is.aster recovery plaming g uido
Rtf«•nce wellrt.ctur• Provides an O'w'ff'MWOf th<t higl'l..-va1 abolrty and dlustor IKO•~IYQPloOnl fQt SAP HANA on GCP

SAP Business Suf.e


$APS/4HANA
SAP HANA high·availab ility elust&r deplOyment guide
SAP Cloud Pl;atfotm 1c4~ P1ovldts l~rUCllOM for <kplopig a hiogl'rnvail4bl ty tlus.111 'Mth $AP HANA on GCP

Integrating GCP smices wi!JI Ctoud


FOl.#ldty on SAPOOUd AatfOtM

.......
Getting suP90tt f« SAP on GCP
SA.P HANA monl totfng agent user g uid-e
PrOYidet 1f"4tr1.1C110!\t for lftst*""9 •nd conf9Jrlft9 Google• MOM0M9 ~for SAPtiA."'A. ¥wflich •ltow• you lO
'tlf'W $AP HANA. S)'oltm mttrc:s in Googl• S1~kd~r J..loMonnCJ

Figure 9.11 SAP HANA Guides on GCP

SAP Notes
For related knowledge base articles on the SAP ONE Support Launchpad, see SAP
Note 2456406 - SAP on Google Cloud Platform: Support Prerequisites.

363
9 Data Center Architecture

9.7.4 Public Cloud Providers


Although AWS, Azure, and GCP are currently the largest hyperscalers for SAP solu-
tions, others are also available. You can also deploy SAP HANA on the IBM Cloud, the
Alibaba Cloud, or on Huawei/Open Telekom, for example. Certified configurations
are listed in the SAP HANA hardware directory for certified IaaS platforms.

Learn More
For more information, see t he following:
• IBM: http://s-prs.co/v488447
• Alibaba : http://s-prs.co/v488448
• Huawei: http://s-prs.co/v488449

SAP Notes
For related knowledge base articles on the SAP ONE Support Launchpad, see SAP
Note 380654- SAP support in public cloud environments.

9.8 Migration
There are many different types of SAP HANA migration projects. What is in scope all
depends on our point of departure and our objectives. Do we want to move our SAP
business applications from a more traditional type of database to SAP HANA, or is the
goal to upgrade a legacy database application? Do we vvant to change application ven-
dor and migrate a business application suite? Or do we want to go from on-premise
into the cloud and migrate the SAP Business Suite to SAP S/4HANA Cloud? Whatever
the source and target environment, migrations are rarely successful without a solid
plan. In addition, except maybe for the largest organizations with years of in-house
experience, most companies will prefer to involve SAP or one of its partners to lever-
age migration project expertise and benefit from implementing best practices.
In this section, we describe the most relevant migration topics relating to SAP HANA.

364
9.8 M igration

9 .8.1 AnyDB to SAP HANA


In the SAP NetWeaver application server days, SAP business applications ran on any
other database (AnyDB), the SAP term for any supported database. Most of the appli-
cation code was database agnostic, as it is generally phrased, and only a small part of
the code covered the actual database engine implementation. The same cou ld be
said, to a large extent, for most Basis administrators. Familiar with ABAP transaction
codes and platform-independent tools like OBA Cockpit- for monitoring, configura-
tion, and database administration- but not particularly concerned about the model
and type of the database engine.
With SAP HANA, this picture has changed, as shown in Figure 9.12, and the database
and in-memory platform took the center stage. Since the launch of the in-memory
p latform, SAP development has been focused on porting SAP business applications
to run on SAP HANA. In the initial phase, most of the application code still remained
agnostic and only a new database engine execution layer was added (although spe·
cific SAP HANA optimizations were already introduced). SAP applications "powered
by HANA" are from this phase.

AnyDB "Powered by HANA" '/4HANA

SAP Business SAP Business


Applications Applicat ions

Database Agnostic Database Agnost ic


Code Code

IORCL 11~1 SAP ASE I SAP HANA

SAP
Oracle DB2
ASE

Figure 9.12 From AnyDB to Optimized for SAP HANA

In the second wave, code splits vvere made to optimize the application code to run on
the in-memory platform with redundant aggregates and indexes removed. The result-
ing "simplified" code line was reflected in the "Simple" branding of SAP business
applications of this phase, like Simple Finance, for example. "Run Simple" was a major

365
9 Data Center Architecture

theme at SAP at the time and this also applied to the easier-to-use SAP Fiori user inter-
face (Ul) and other aspects of running your business. A little later the "S/4" branding
was introduced to clearly distinguish the suite of business applications from SAP R/3,
for example, SAP S/4HANA (SAP Business Suite for SAP HANA) and SAP BW/4HANA
(SAP BW for SAP HANA). At the same, development projects were started to optimize
the code for running in the cloud, \vhich gives us SAP S/4HANA Cloud and other cloud-
based applications.

9.8.2 Software Update Manager Database Migration Option


The Software Update Manager (SUM), the tool used for maintaining SAP NetWeaver
systems, can be used for (major) release upgrades, (service pack) system updates,
patches, and system conversion. To simplify migrating SAP systems to SAP HANA,
the Database Migration Option (DMO) was added to SUM. The "classic mode"
involves an upgrade of the source database and the source system {ABAP) to the lat-
est releases, followed by a migration of the source database to SAP HANA. DMO com-
bines system updates with database migration, while keeping the source system
intact. The benefits of using DMO include the following:
• Simplified migration steps
• Reduced business downtime
• Fast reset option
DMO is also used to migrate on-premise systems to cloud-based environments.

Learn More
To download SUM, visit http://s-prs.co/v488450. For the documentation on DMO,
see Database Migration Option of Software Update Manager 2.0, User Guides for Sys-
tem Maintenance Tools on the SAP Help Porta l. The DMO guide for SAP HANA as tar-
get database is included as a PDF download.

SAP Notes
For related knowledge base articles on t he SAP ONE Support Launchpad, see SAP
Note 2644872 - Database Migration Option (DMO) of SUM 2.0 SP04.

366
9.8 Migration

9.8.3 Custom Applications


To facilitate the migration of custom applications to SAP databases. including SAP
HANA, SAP has developed the SAP Advanced SQL Migration tool. This tool reduces
the effort, complexity, and risk in database migrations, regardless of whether the
source or target is running on-premise or in the cloud.
As its name indicates, the focus of this tool is on SQL migrations. Typical candidates
for this kind of migration are one-off applications built once-upon-a-time for a spe·
cific customer for a specific purpose. Usually. these OLTP-type applications are based
on SQL stored procedures with most of the application logic in the database. not in
Java beans or PHP. The tool is not intended to migrate SAP business applications (for
this purpose, you'd use SUM) or to migrate software from any of its (major) competi-
tors. You'll use the SAP Advanced SQL Migration tool as part of an overall migration
project. This tool will automate most of the code conversion, but not the full 100%.
Running the tool before starting your migration project will give you a quick assess-
ment of the complexity for the migration. If most of the code can be converted auto-
matically, your project will likely be relatively short. However, if large sections
require manual conversion, you'll need to budget accordingly (or consider other
solutions).
Supported source databases include the following:
• Oracle
• Microsoft SQL Server
• IBM DB2 (UDB for LUW)
• Teradata (only with SAP HANA as the target)

Supported target databases include the following:


• SAPHANA
• SAPIQ
• SAP ASE
• SAP SQL Anywhere

Unlike SUM, the SAP Advanced SQL Migration tool is not part of the software logistics
family. This tool is available free of charge to SAP partners but for access and support,
you'll need to contact the SAP migration solutions team.

367
9 Data Center Architecture

Learn More
For more information about the SAP Advanced SQL Migration tool, check out the
information sheet "Simplify SQLDatabase Migration to SAP Databases" at http://s·
prs.co/v488451.

9.8.4 Third-Party Applications


Having great tools is useful. Knowing how and when to use your tools is even better.
To gain this knowledge, SAP offers the Database Migration Factory program, which
aims to simplify the migration of third-party databases for all applications to SAP
HANA (or SAP Adaptive Server Enterprise [SAP ASE)}. The program offers automation
tools for database migration, accelerators, and industry best practices supported by
SAP and SAP software and technology partners. With this program, not only will you
gain access to the tools but also you'll have access to TCO and return on investment
(ROI) assessments through proofs of concept (PoCs) or prototypes. The Database
Migration Factory not only ensures you're doing the migration right but also con-
firms that the migration is the right thing to do.

Learn More
For more information about the Database Migration Factory, see the information
sheet "Migrate applications to SAP Databases with Help from SAP and Partners" at
http://s-prs.co/v488452.

9.9 High Availability and Disaster Recovery

High availability and disaster recovery both cover business continuity and address
the question, "How much downtime can your business afford?"
High availability is a property of a system. You can eliminate single points-offailure
(SPOFs) by adding hardware and software redundancies to make the systemfault tol-
erant and by building infault resiliencies (i.e., the ability to quickly resume operations
after system outage). In these ways, you can try to guarantee uptime, often expressed
in an availability percentage, e.g. 99.99% (also called "four-nines availability"), which
is a maximum downtime ofl minute a week or less than 1 hour a year. High availabil-
ity involves hardware, software, and operations, not just a single product.

368
9.9 High Availability and Disaster Recovery

Disaster recovery covers the ability of a system to resume operations after earth-
quakes, explosions, wildfires, hurricanes, terrorism, blackouts, and so on. Again,
disaster recovery is a system property as well as a set of policies and procedures in
which the human factor plays an important role.
Two key SAP HANA measures for high availability and disaster recovery are as follows :
• Recovery period objective (RPO)
RPO defines the maximum permissible period of time during which operational
data may be lost and impacts, for example, your backup freq uency.
• Recovery time objective (RTO)
RTO is the maximum permissible time required by the system to recover. If a sys-
tem restore takes too long, you might need to implement synchronous system
replication.

A complete high availability solution for SAP HANA will involve the following ele-
ments:
• Hardware partner or cloud provider
• The operating system
• Data center management best practices
• Many redundant components
• Monitoring systems

The list goes on, with one thing in common-the solution is transparent to the SAP
HANA as a product.
Focusing on what the in-memory platform brings to the table to support high avail-
ability, let's look at the following benefits:
• Service auto-restart
Service auto-restart is provided by a watchdog process called the hdbdaemon. This
operating system process, part of each SAP HANA system and running on each
host, is automatically started and continuously monitors the availability of all the
other processes. If a process goes down, hdbdaemon will start that process up again.
• Host auto-failover
Host auto-failover provides fault recovery for distributed (scale-out) systems with
standby hosts. Like service auto-restart, host auto-failover is built-in and auto-
mated. When an active worker host fails, the standby host will step in, vvhich is per-
formed at the host level, not the service level and does not require any external

369
9 Data Center Architecture

cluster manager. The SAP HANA Storage Connector application programming


interface (API) provides the implementation for heartbeat and fencing. Heartbeat
references a continuous check to validate that all services are up and running. Not
responding to the heartbeat check will trigger an action. Fencing blocks a non-
responsive host from getting back online again and possibly causing corruptions.
SAP HANA clients can be configured for continued service in cases of host auto-
failover.
• System replication
Creates an identical copy of the production system. We'll describe this feature in
detail in Section 9.10.
For disaster recovery, SAP HANA provides the following features:
• Backups
We covered SAP HANA backups in Chapter 3, Section 3.2.5. Backups are essential in
a disaster recovery solution, of course, but also come with a relatively high RTO. In
normal situations, an RPO of 0 is possible but cannot always be guaranteed, for
example, if local storage of redo logs has been corrupted. To protect the system
against complete data center failure, backup shipping to another location could be
a simple and low-cost disaster recovery solution but comes at a cost- an even
higher RPO.
• Storage replication
Storage replication addresses the limitations of backups and provides a much bet-
ter RTO and RPO. SAP HANA supports remote storage mirroring, but for the most
part, this approach is a hardware solution. Like with host auto-failover, fencing and
client connectivity needs to be properly configured.

Learn More
High availability is documented in t he "Availability and Scalability" chapter of t he
SAP HANA Administration Guide on t he SAP Help Portal. In addition, t he SAP product
group has published a number of white papers on the topic (see SAP Notes box).
An openSAP course is ava ila ble on t he high availability/disast er recovery topic: "High
Availability and Disaster Recovery with the SAP HANA Platform." Visit openSAP.com
website for the latest information.

370
9.10 System Replication

SAP Notes
For re lated notes and articles on the SAP ONE Support Launchpad, component HAN-
DB-HA, see:
• SAP Note 2057595 - FAQ: SAP HANA High Availability
• SAP Note 2407186- How-To Guides & Whitepapers For SAP HANA High Availabil-
ity

9.10 System Replication


System replication provides both high availability and a disaster recovery solution.
With an RPO of 0 seconds and an RTO measured in minutes, system replication is
SAP's recommended configuration for addressing both planned and unplanned
downtimes to handle everything from upgrades to earthquakes. For planned down-
times, you can use system replication to achieve what's called near-zero downtime
maintenance (nZDM), in combination, for example, \Vith the SAP Landscape Manage-
ment solution. For unplanned downtimes, you can configure system replication in a
multitarget environment and synchronize with a remote location. To optimize the
ROI, you can also leverage the secondary system for read-only operations, a feature
natively supported by SAP S/4HANA and other SAP applications.
What system replication means and how it works we'll cover in this section, where
we'll describe configuration, multitier and multitarget system replication, and
active/active read-enabled system replication.

9 .10.1 Configuration

To configure system replication, you can use a command line tool, the familiar
administration environment of SAP HANA cockpit (or SAP HANA studio, for earlier
releases), or SAP Landscape Management. You'll need to define the log replication
task in one of the following modes:
• Syn chronous in m emory
Transactions are committed on the primary system after receiving a response
from the secondary system that the log was received and stored in memory.
• Syn chronous on disk
Transactions are committed on the primary system after receiving a response

371
9 Data Center Architecture

from the secondary system that the log was received and persisted (written to
disk). This approach guarantees consistency but delays the transaction slightly.
With the synchronous in-memory mode, data loss could occur when both systems
fail at the same time. Synchronous on disk mode can run with the full sync option,
which requires log buffers to be persisted on both the primary and secondary sys-
tems.
• Asynchronous
Transactions are committed on the primary system after sending the log without
>vaiting for a response. No commit delays will occur, but this mode is more vulner-
able to data loss.

You'll need to balance both RPO (data loss) and RTO (downtime) with performance
considerations and site location. In the case of the primary system no longer being
available, you can configure the secondary system as the new master in an operation
called a takeover. Takeovers can be made transparent to client applications that sup-
port invisible takeovers. A takeover with a handshake ensures that the secondary sys-
tem is fully in sync with the primary system before the takeover is executed, thus
avoiding the possible data loss that comes with synchronous in memory configura-
tions. When connectivity to the primary system has been restored, you can then per-
form afailback operation, which means that the original primary system is made
. .
primary again.
Another interesting feature of system replication is secondary time travel, which
enables you to access, on the secondary system, data already deleted in the original
system. You can achieve this time travel by stopping the secondary system and then
restarting at a specific time stamp. You can then replay log entries until the you reach
the point you want to capture, for example, just before some important delete oper-
ation. When done, you can restart the replication in normal mode again. While you
travel in time, logs continue to arrive from the primary system, so you must have
enough disk space to allow for this continued operation.

9.10.2 Multitier and Multitarget


Multitier system replication enables geoclustering and connects a primary data cen-
ter with a geographically remote site, creating a single high availability/disaster
recovery environment. Multitier environments can be chained, as shown in Figure
9.13. In t his configuration, you'll connect the secondary system in data center B (tier

372
9.10 System Replication

2) to the primary system in data center A (tier 1) and connect the secondary system in
data center C (tier 3) to the secondary system in data center B, not to the primary, add-
ing another level of redundancy and avoiding single points-of-failure.

Asynchronous Asynchronous
Primary (A) Secondary (C) Secondary (E)

Synchronous Synchronous

Secondary (B) Secondary (D) Secondary (F) I


Data Center A Data Center B

Figure 9.13 SAP HANA Multitarget System Replication

In a multitarget configuration, the primary system replicates data to two secondary


systems simultaneously (synchronous or asynchronous; this setting remains config-
urable). This architecture can be used for update scenarios, to rearrange m ultitier
chains, and to reach even higher availability.

9.10.3 Active/Active Read-Enabled System Replication


Active/active read-enabled system replication is a special feature added with SAP
HANA 2.0 that leverages the idle secondary system in a system replication environ-
ment for extra reporting capacity.
In a regular configuration, a secondary system is on standby to minimize downtime,
both planned and unplanned. With active/active read-enabled system replication,
the secondary system is up and running and used to offload the primary system from
read-intensive workloads. This feature is natively supported for SO+ SAP S/4HANA
analytic applications, for the "powered by HANA" SAP Business Suite, and for custom
applications for dashboards or ad hoc reports. Reduced risk in failovers is an addi-
tional benefit since the secondary system does not need any recovery as it is already
in-sync with the primary system.

373
9 Data Center Architecture

Learn More
SAP HANA system replication is documented in a dedicated guide on the SAP Hel p
Portal, which explains basic concepts, how to set it up, how to perform takeover and
failback, secondary time travel, operation and maintenance, troubleshooting, secu-
rity aspects, and a system view reference.

SAP Notes
For related notes and articles on the SAP ONE Support Launchpad, component HAN-
DB-HA, see:
• SAP Note 1999880 - FAQ: SAP HANA System Replication
• SAP Note 1984882 - Using HANA System Replication for Hardware Exchange
with minimum/zero Downtime
• SAP Note 2405182 - List of Analytical Apps that are enabled to read from Active/
Active (read enabled) SAP HANA node in SAP S/4HANA

9.11 Network Administration and Landscape Management

Data centers and cloud computing can't exist without a network. A network is a cen-
tral component in any data center architecture and is essential to performance, secu-
rity, and business continuity of enterprise applications. Network administration is a
huge topic, of course, even when restricted to SAP HANA networking.
Landscape management provides a set of tools, a suite ideally, with all pieces acting
in harmony. For SAP, landscape management contains the following tools:
• SAP Solution Manager: Addresses application lifecycle management for SAP busi-
ness applications.
• SAP Landscape Management: Enables running SAP systems on virtualized and
cloud infrastructures.

Although not specifically designed for SAP HANA, both tools run on the in-memory
platform and can be used to control different aspects of landscape management.
We'll discuss both tools in the following sections, but first, let's take a closer look at
network administration.

374
9.11 Network Administration and Landscape Management

9.11.1 Network Administration


Network configuration and administration are specialized activities and important
skills for the data center architect. We covered network security in Chapter 6, but in
addition to securing access points and protecting data flows, you also must consider
host name resolution and virtual host names, load balancing client connectivity,
reverse proxy configurations, and certificates for connections. In these areas, virtual-
ization and cloud environments Vl•ill add an additional layer of complexity.
Regardless of whether the connection is made using Python, ADO.NET, Node.js, Go,
or the more common ODBC and JDBC technologies, access to the tenant (or system)
database will be through the SQL port, even if using an Excel and OLE DB for OLAP
(ODBO) driver with multidimensional expressions (MDX). Each tenant database
index server process listens to a different SQL port, and this port is configurable. In
the case of distributed systems and system replication environments, you'll need to
configure the SAP HANA client to connect to the right server and service, and you
might want to configure the client for load balancing.
When using replication technologies like SAP HANA smart data integration (SDI), SAP
Data Services, SAP Replication Server, or SAP Landscape Transformation Replication
Server, data source connections are also made through the SQL interface. For specific
configurations, like the Streaming Analytics Agent or the Data Provisioning Agent
described in Chapter 7, Section 7.3.1, additional ports need to be made available
through the firewall. Similarly, additional ports will be needed when using the Sys-
tem Landscape Directory with SAP Solution Manager or when you require a direct
connection for SAP Support using an SAProuter.
For web-based access, you must consider not only the web dispatcher ports for HTIP
and HTIPS for the SAP HANA extended application services, classic model (SAP
HANA XS) environment, but also the port for SAP HANA extended application ser-
vices, advanced model (SAP HANA XS Advanced). With many runtimes and applica-
tions, you might need to open a whole range of ports when using port-based routing.
In production environments, for this reason, host-based routing is more common,
which means that each application gets a unique virtual host name, which is mapped
by the SAP HANA XS controller process to the right SAP HANA XS Advanced applica-
tion. As a result, you'll only need to allow access to a single port in the firewall, which
keeps your environment, of course, much more secure.
All the traffic mentioned happens in the client network zone, but you'll also need to
consider traffic for the storage and internal zones, as described in Chapter 6. By

375
9 Data Center Architecture

default, SAP HANA systems count three separate network interfaces to enable the
establishments of the different zones.

Learn More
For more informat ion, see t he "Network Admin istration" chapt er in the SAP HANA
Administration Guide and network-related chapters in the SAP HANA Security Guide,
all fo und on the SAP Help Portal.
Additional information is presented in the SAP HANA Network Requirements white-
paper (2018).

SAP Notes
For related notes and articles on t he SAP ONE Support Launchpad, see:
• SAP Note 2477204 - FAQ: SAP HANA Services and Ports
• SAP Note 2222200 - FAQ: SAP HANA Network

9.11.2 SAP Landscape Management


SAP Landscape Management is a tool that Basis administrators can use to simplify
and automate SAP system management and operations (like system copies, for
example, which are often repetitive, time-consuming tasks). Another business bene-
fit is centralized management: The entire SAP landscape is visible and controlled
from a single console.
SAP Landscape Management is an SAP NetWeaver Java add-on and requires SAP host
agents on the managed systems to detect the system landscape: single or mul-
titenant, single or multiple host, plus any ABAP-based application. SAP Landscape
Management provide status monitoring; supports start/stop operations; system
provisioning (copy, clone, refresh); tenant provisioning; node relocation (distributed
systems); and configuration support with nZDM and takeover for system replication.
Figure 9.14 shows the Automation Studio of SAP Landscape Management, one of 13
SAP-defined custom processes to which you can add your own. For the failback for
SAP HANA's system replication process, 63 different steps have been defined to auto-
mate this particular activity. Similarly, you can automate near-zero downtime for
upgrades, for takeovers, to move tenants, and more. In addition, as shown in the left-
hand menu, SAP Landscape Management provides dashboards, monitoring, and

376
9.11 Network Administrati on and Landscape Management

database administration functionalities. for example, for start/stop operations, so


you can stay within the context of a single tool when managing your landscape.

Assign Replication Status Repository


7 &ops Enllly Type: ens~
CUSIMI PfoceSS T')1>e: Denned by SN'

o.tlntel bV SAP

Assign Roplicotion Status Repository


7 51... STEPS CONSTRAINTS GLOBAL PARAMETERS EXECUTION HISTORY

Faifbaek for SAP HANA System Rep,,,


83&cps

Move Tenant (Near Zero Oov.f'llime)


19&ocis
T T
Near Zeiro Downlime MaintM'lanc.
18 Slcli•

Near Zoro Downtime Maintenance o...


109 Steps

Near Zero Downtime SAP HANA Up...


115 Steps
T
Near zero Downtime Takeover ®
455Mps
.....
Regisler Primary Tter as new Secon ...
16&09$

......
R~ Rtpliea1ion Status Contigur...

' ' '


......
Update Replication Status COnr.gura...

......
Update SAP HANA

"' ' "' '


Figure 9.14 SAP Landscape Management

Learn More
For more information about SAP Landscape Management, visit the expert page for
the SAP Landscape Management topic on SAP Community.

SAP Notes
For relat ed notes and articles on the SAP ONE Support Launchpad, see SAP Not e
2050S37- Support for SAP HANA in SAP Landscape Management.

377
9 Data Center Architecture

9.11.3 SAP Solution Manager


A chapter about SAP HANA data center architecture would not be complete without
an overvievv of SAP Solution Manager. Most Basis administrators will be familiar with
this central support and system management platform. SAP Solution Manager, pro-
vided by SAP to manage SAP Business Suite applications, has been around for a long
time and is an SAP NetWeaver system running on different platforms, including SAP
HANA itself. SAP Solution Manager includes the OBA Cockpit, as shown in Figure 9.15.
You can use SAP Solution Manager to manage an SAP HANA system just like any
other database, connecting to the SAP host agent or the System Landscape Directory
(SLD) diagnostic agent, while your Basis administrator could use the familiar OBA
Cockpit for configuration and SAP HANA system management. To schedule SAP
HANA database backups, for some time, SAP Solution Manager was the only tool
available (excluding third-party backup solutions).
Where the focus of SAP Landscape Management is on the SAP system level, SAP Solu-
tion Manager serves predominantly as an application lifecycle management tool.

y « :
Overview
. ~ F\j Screen On/00 ll) Aelresh ~

'9 . :::;::: :::=:: 11 . ~ S'f'lttmConflgur • ~· SAPFRtl vt:cal!Y.lbdb 02 Last.refresh 1,. 01. 2..,
IOSyKtmFRN ~""
=..:.:
~~·~
~·~·""
::::
'~=--~~~~~~~~~~~~~~~~~~~~~~~~-
OJrrent Aleits
SAP HAJlA database: cmabase Adtl't'llStraDOn Oi>e1'3ti0nal State 1 WjOOk'QS w ·t b HIGH pri:IBy
.., . , OJrrent Status
61 ser.;crs ift maed
•P.i.!!l<I!"'
"" 9il. """'
Ptrlom'QtlCt
Start Tme Of Fht Stowted S.MCe
Sort rme Ol l.ast: St1tted SeMCe
16.04.2019 J3:S8;36
16.07.2019 1'1:10:41
• Threads
• Exi>tt1M Sottmtl\tJ
• Aetlve Stltemet'lts Producoon System
• SQl Plan Qche Yes ( SystemD) • H09)
• lCHd History

.......
-
• t.ono-Runnno SVR't m OotfitiOtlS Vef110n 2.00.0)1.00.1SJ974§299 Ch/.hl!'!a2soOJ l
>• Peffonnance Mrehouse 17.10.2018 05:41:35
>• Con~mbn SUSE IJ"lll)( Entf:rprlse ~ 12.•3 ( U1IOX_
>• Jobs G009~
>• Diagnostics
>• Svste.m Wotn'latiOn • ,!!),
>• DOOJmenQtion
"' ml System und.iae>e
• Svstf'm Confbuntion
• oatatiase Conne<:tions
Database Memory and CPU Database Dist usaoe
• OB connection MontOf
• Cen~I catendar
-'---- -----'
• t.andSQOt S.l>Hof'l(OtrlO

CWURqt
28;80 GB/ 194..00 GB

I
t oo vollme SxtlPo!s Su -====,.,
31,13 G8/ 91,97 GB

7,00 G8/ <f0,0l GB ...


< > < >

Figure 9.15 SAP HANA Administration with DBA Cockpit

378
9.12 Summary

Although you could use the OBA Cockpit for SAP HANA monitoring and stop/start
operations, the OBA Cockpit does not provide the tenant provisioning and system
replication support of SAP Landscape Management, which, on the other hand, does
not provide end-to-end tracing of the entire stack and the root cause analysis.

Learn More
For more information about SAP Solution Manager, visit the product home page to
find out what's included and learn about the latest features or visit the more focused
SAP Solution Managerfor SAP HANA page on the SAP Support Portal.

SAP Notes
For related notes and articles on the SAP ONE Support Launchpad, see SAP Note
2222220 - FAQ: SAP HANA DBACOCKPIT.

9.12 Summary

In this chapter, we've covered the different aspects of SAP HANA data center architec-
ture and looked at sizing, technical deployment options (MCOD, MCOS), database
tenants (MDC), virtualization, appliances, and the data center integration program
TOI. We highlighted the latest hardware innovations in persistent memory from
Intel, described the alternative processor architecture of IBM Power Systems, and
provided an overview of the supported SUSE and Red Hat Linux operating systems.
Several infrastructure-as-a-service providers were introduced-AWS, Microsoft
Azure, and GCP (the hyperscalers)-that enable you to run SAP HANA in the cloud.
Next, we looked at migration from AnyDB, SUM OMO, and the SAP Advanced SQL
Migration tool together with the migration services provided by SAP Digital Business
Services and the different SAP service partners as well as global SAP hardware and
software partners. We looked at high availability support, business continuity, and
system replication. And finally, we addressed network administration topics and
landscape management with SAP Landscape Management for SAP systems and SAP
Solution Manager for SAP business applications.
Now that we've met the different SAP HANA personas, for the last chapter of this
book, we'll look at some of options for training and product support as well as oppor-
t unities to connect.

379
Chapter 10
Training and Support
Je gaat het pas zien als je het door hebt.
(You 'II only see it, when you get it.)
- Johan Cruyff

In this final chapter, \ve'll return to the topic of training and support. In the previous
chapters, '"'hen and where appropriate, '"'e listed relevant resources for further infor-
mation, training, books, and tutorials. In this chapter, we'll take a broader perspective
for a comprehensive look at your training and support options.
We'll begin by listing and describing the available SAP HANA courses from SAP Edu-
cation and also the different SAP HANA certifications. For those less interested in cer-
tification, or maybe with a more restricted budget, we'll also explore options for free
online training, like the free openSAP courses and the SAP HANA Academy tutorial
videos on YouTube.
We'll continue with a look at the different services offered by SAP Support and the
SAP service organization and also describe some of tools available to you, in particu-
lar, the SAP Support Portal.
In the last section of this chapter, the final part of this book, we'll venture out into
wider world of online communities, events, and alliances. As you'll discover, hun-
dreds, even thousands, of events are organized each year by SAP, its partners, and
others, where you can meet fello'v travelers on yo ur SAP HANA journey.

10.1 Training

What do you want to learn today? The SAP Education website welcomes you with this
question followed by a large search bar to help you find answers as quickly as possi-
ble. With over 1,500 products on the shelf, what's on offer might still be a little intim-
idating fo r the uninitiated, for those new to SAP in general or ne\v to SAP HANA in
particular. In this section, we'll cover what you need to know about SAP Education.

381
10 Training and Support

We all know that the best things in life are free, and this includes free training. Gone
are the days when the only option for SAP training was to travel to an office to attend
classes; now you can get excellent online training, free of charge. You might be fam il-
iar with massive online open courseware (MOOCs) from platforms like Coursera and
edX. SAP has a similar offering, called openSAP, which we'll describe in this section.
Additionally, for less-structured learning, free online training is also available on
YouTube with tutorial videos from the SAP HANA Academy, the SAP Technology
channel, SAP Community, and other channels.

10.1.1 SAP Education


SAP Education is an obvious choice when you're looking for training on SAP prod-
ucts. Even more, when you want to get certified, taking the official courses from the
certifying agency is highly recommended as they are closely linked.
SAP Education provides several options for training, which we'll explore in the fol-
lowing sections.

Learning Journeys
SAP Education has offered courses on SAP HANA since the very first releases, and
today, the curriculum is comprised of several learning journeys. A learning journey is
a suggested sequence of courses, and a visual guide, that may include certification.
Three learning journeys are available for SAP HANA:
• SAPHANA
• SAP HANA data provisioning
• SAP HANA modeling
Different tracks for developers, administrators, and consultants cover the relevant
skills and topic areas, similar to the personas we've used throughout this book. Figure
10.l shows the developer track for the SAP HANA learning journey.

Learn More
For more informat ion about learning journeys and to access a search t ool to help you
fi nd the right learn ing j ourney out of the 200 currently available, visit http://s-prs.co/
v488453.

382
10.1 Training

Zoom: 100% -----0


V Formats(7/7) •

Start with an overview


Are you new to a topic or solution? Here you will find content that helps you gain a general understanding of the topic.

Become competent
The content you will find here provides you with in·depth knowledge of the topic, and provides you with the option to become cert1hed.

l ABAP p<ogramlng certiflcatkln track tor specialists. F« details ple;ase Check ctn1fiie.atjc)n t•c.

~·· . ·---r HAJOO } - '" HA400 _ ~--------BC4


-0-4~ E_HANMW

' SAP HANA ABAP Programming ABAP Programming in SAP Certified


Implementation and for SAP HANA Eclipse Development
Modeling Specialist
AQAP tot SAP HANA 2 0

I
,~.t._fo_Cl_~--~J l.t. fo Cl ~ , ,'- o _
.t._ (c:_ Cl_ _ ~I liJ
l SAP HANA tUtive Oevolopmont corbfic:1ti0n tracks. f°' dttOillS please chock certification tile.

~ C_HANAOEV

Application
Development for SAP
. I SAP Certified Development Associate


HANA
ri1 Cf!rtsflC.1tJoc'I (3 h)
~ SAPHA.NA2.0

_J
Nol 5'.We what to eit;>eet? Check out our sample quesbons1
'--------------~1~

Stay current
Want to ensure you stay in the know? Here you will find the content you need to stay up•lo•date.

Expand your skills


F0< cettaln topics. there are options availabJt that go beyond the core focus. This content helps you broaden your skills in partk:ular
areas.
¥ SIN-....,.tnt


~ Thers 1t! Col'lgratulattons on completlf'\8 the ~.lrnine Journey!

Figure 10 .1 SAP HANA Learning Jou rneys

383
10 Training and Support

Classroom training is offered as instructor-led courses. the old-fashioned way, but we


would argue, still one of the best. A classroom setting- if you can discipline yourself
to stay away from email and Facebook- provides a great way to learn and soak up the
material presented by the instructor. Classrooms also allow you to learn from your
peers, who might challenge you with some tough questions. Training facilities are
available all over the globe; some are SAP offices, while others are locations from
selected SAP training partners.
As facilities need to be provided and people employed, unfortunately, classroom
training is also one of the more expensive options and may not suit your budget.
In this case or if you prefer to learn at your own pace and at your own place, SAP
also delivers its training in an "e-format." You can choose between single-course
E-Learnings or opt for an E-Academy bundle, which cater for those wanting to pre-
pare for a certification exam. The E-Academy bundle includes access to training
systems (SAP Live Access), interactive content, and scheduled live instructor ses-
sions plus, you guessed it, an e-book (the manual).

SAP Learning Hub


For permanent education. SAP Education also offers the SAP Learning Hub, shown in
Figure 10.2, where you'll find all the content bundled together with access to training
systems, plus learn ing rooms for social learning, that is, with forums and live ses-
sions with Q&A. Different editions of the SAP Learning Hub (professional, student,
business, solution); hubs specific for SAP partners (edition for SAP PartnerEdge por-
tal); and hubs specific for customers of the SAP Enterprise Support services all have
different conditions and price tags. There is also a discovery edition, so you can try
out the SAP Learning Hub for free.

Learn More
For more information about t he SAP Learning Hub, visit:
• http://s-prs.co/v488454
• http://s-prs.co/v488455
To t ry out t he SAP Learning Hub, go to:
• http://s-prs.co/v488456

384
10.1 Training

Q. Search SAP HANA DevetoptM... v

SAP HANA Development Learning Room 6l Private


/!; 3,155 Membe<s

~ overview More •

OveMew Start Leaming • A$k Oue$tions Join Live Sessions Videos About this Room

Become fully oompetent

Looking for the g journey? You're in the right


place! SAP HANA OeveiOpment
SAP HANA Develompml
ABAP f()( SAP HANA 2.0 Certiftcatlon
• Leaming Olljecttve:
The following learning n SAP HANA AWIJcaUon DeveiOpmenl Certlnca . •. ~fled Development Associate - SAP HANA 2.0 SPS03 -
C_HANADEV_ 15
Check Yoor Knowledge
ABAP for SAP HANA 2.Cr-
• Leaming Olljecttve:
The following learning materials wil help yoo WOfk towards taking the SAP Certified Development Specialist - Af3AP f()( SAP HANA 2.0
(E HANAAW 14)
- -
SAP HANA Native Development
• Leaming Olljecttve:
This page Is the natural starting point to learn natfve software development for the SAP HANA Platform.

Figure 10.2 SAP Learning Hub

Training Courses
If,.ye zoom in on SAP HANA, what courses does SAP Education have available for us?
Table 10.l Jists some currently available courses. The course name typically includes
the release, for example, "SAP HANA 2.0 SPS 04", which has been left out so we don't
overload the table. The course code is not release specific and serves as a good label
for searching inside the SAP Education website.

Code Name Description

HA 100 Introduction 2-day overview cou rse cove ring architecture, modeling,
data management, and development.

HA 150 SQL and SQLScript f or 2-day course f ocusing on SQLScript.


SAP HANA

HA200 Installation and 5-day det ailed cou rse covering installation, system
Adm inistration administration, backup and recovery, conf iguration and
troubleshooting using the SAP HANA cockp it.

Table 10.1 SAP Education Courses for SAP HANA

385
10 Training and Support

Code Name Description

HA201 High Ava ilability and 3-day advanced course covering scale -out, system rep li·
Disaster Tolerance cation and multitenant database container (MDC) sys-
Administration tern management.

HA21S Using Monitoring and 2-day advanced course covering troubleshooting, root-
Performance Tools cause analysis, SAP capture and replay. and work load
management.

HA240 Authorizations, See- 2-day advanced course covering most security-related


narios & Security topics.
Requirements

HA2SO Data base M igrat ion 2-day advanced course covering the Database Migration
Option (OMO) of the Software Update Manager (SUM)
for system maintenance of SAP systems.

HA300 Modeling S·day detailed course covering calculation v iews, model·


ing functions, core data services (CDS), and model
administration and security.

HA301 Advanced Modeling 3-day advanced course covering th e Predictive Analysis


Library (PAL); spatial, graph, and text analysis; and series
data.

HA3SO Data Management 4-day advanced course covering federation and extract,
transform, and load (ETL), for example, SAP HANA smart
data access (SDA). SAP HANA smart data integration
(SDI), SAP HANA streaming analytics, and SAP Land-
sea pe Transformation Rep lication Server.

HA360 Hands-on Lab 2-day course to get hands-on experience modeling on a


large dataset.

HA400 ABAP Programming 3-day advanced cou rse focusing on how to develop and
for SAP HANA optimize ABAP code for SAP HANA.

HA4SO Application Develop- 3-day advanced course covering native development for
ment for SAP HANA SAP HANA and the SAP Cloud Platform (OData, SAPUIS,
Node.js).

Table 10.1 SAP Education Courses for SAP HANA {Cont.)

386
10 .1 Training

Figure 10.3 shows the search results for the SAP HANA software solution guaranteed
to run at the time of writing. Products "powered by HANA" like SAP Operational Pro-
cess Intelligence or SAP Business Warehouse (SAP BW) are also listed, which explains
why over 200 trainings exist. Th e complete list without the Guaranteed to Run filter
also includes (free) openSAP courses or special formats (half-day trainings).

Products (20!>) Generate PDF


Filters

Guaranteed to Run X C"ar All filters


Area of interest )

Software solution v
HAlOO • SAP HANA Introduction
SAPS/4HANA
Sc$$JO/t$ filtered/
SAP HANA Sessions >
SAP BW/4HANA

SAP BW powered by SAP HATD20 · Delta Course SAP HANA LO to SAP HANA 2.0 Installation
and Administration
Availability )

Country )
Se5Sions >
Language )

BW360 · BW Operations and Performance


Delivery ._\ethod
***i o
Sessions filtered!
Virtual I.Ive ClasStoom

Classroom HA201 • SAP HANA 2.0 SPS03 ·High Availability and Disaster
Tolerance Administration

Timeframe )
Sessions fl/terl!d!
Sessions >

HA200 ·SAP HANA 2.0 SPS03 • Installation and Administration

Sessions filtered!

HOHAAl · SAP HANA XS Advanced (XSA) Administration

Sessions filtered!

Figure 10.3 SAP Educat ion : Search Results for SAP HANA

387
10 Training and Support

SAP Certification
Getting certified can provide a boost for your career, and SAP certifications are highly
valued assets on the job market. Yet not everyone is a certification enthusiast. Some
will say that exams only test your knowledge and not any experience-a driving the-
ory test, not a driver's license. While true for most IT certification programs (and we
can certainly empathize 'Nith a seasoned professional failing an exam for lack of
study). the opportunity to become certified is a good one, allowing you to review all
the topic areas and get out of your comfort zone. You're not likely to pass any SAP
HANA exam without serious study regardless of ho"llv many years you've been work-
ing vvith the platform. The questions are too specific and too detailed, so you need to
have done your homework and peruse the small print in the manual.
Only SAP certifies SAP HANA. In other words, a direct link exists between SAP HANA
certification and the associated SAP HANA training courses. However, participation
in any of the trainings is not a requirement. As most of the material is also covered in
the freely available SAP HANA documentation, you should be able to pass studying
the guides alone. If you take this approach, make sure you carefully parse the topic
area description of the exam and maybe do\vnload the course index of the associated
training, so you know exactly what to study and what to skip.
Before starting your preparation, ahvays check the certification page on the SAP Educa-
tion website. Figure 10.4 shows an example for the C_HANATEC_lS exam, but check the
website for the most recent version. On this page, you'll find information about topic
areas on the exam and their relative weights, so you'll know where to focus. For each
topic area, the associated training courses will be listed, and you'll also find sample ques-
tions, exam duration, and cut score. You can book an exam directly from SAP Education.

388
10.1 Training

Description Notes
• Thi "$\PC..MoHI fll(hi IOlotJi A~'OCi* • SAi' HAMA • to-~SAl>•-••dteo<•••llS Book this product to consume
l.0-(~............4.n """ .,. wnctdlo'* ed.1Ub0n~M$.-'CllWW:ls-on. .~·to ......

·-
"'"''"W.1"-~ecl ~ l'lll>e•NOl t"'- $A1' .... )'Ollf (lf!1dgl)Ot1 t:Un't. Ql.lln"°"'... tnt )'OIJI"
within Certification Hub
HANA 2 0($PSOJ') lo; lhe ~ ot M $AP KAMA .lbol1f1 IO "'1tly ltlf ~ )'Ool " - ptlt(t n See alleert1f1cahons 1nduded 11'1
teit:hrldoet ~ '"" (~ bo.Mdt Oft ....
~ioC.,iOoO. . . P*tthrqll~etW..-..'iA You-l'IOllllCoooed!Ouwo..,,...._ _ __ subscription
,...._ 9f'ld .,,...,.,.r'"911
tiy .,,~1.oe.i t.o~

W-WU.W'!A.ut.M)l'llftt(noKU»IO~
""'IM .wi SN> HI.NA fl"Qjk'l INl'f\..........,. &ol ~~Ol'IO..,$APJ>')lf!l'fl). 0 CER006 • SAP Certif.cation an the
~tPP"n--~~fl"9Ctc.lltyll't
~LF"'1hlfm«e. ~·SAP~T.,.,,..,. C'-'
Auoc...tt • SAP l'.AHA io· (-11e:MlOll _ _..,'"-
,,,. ,,,.~1.i....1.,.~•~SAP " Unrt~ States of Amfl'"iCJI
HAN4 t.....,...i by h (WoMlol at! SAPHANA
l«tw>olQO'~ Q Cert1t1ealiot1 H ub Subscl'1pt.on

Topic Areas
""-""""°""'""'~lll'l~lhlt"';8)'"9-W"""'.... 9"W111~-"""~INl-l'--ft,_....,..,,
nOI COM~ e lt&JlotftMt (LWl't. $~,............ il!e rWI: 10 "'(IC!Me " " t Ul'l'I ~ (IOl*t.i1Mf1"4. *"Chl'IW) el.., U... 'K Add lo basket

SAP HANA Installation & Upgrade 8%- 12% )

Users. Authorization and Security 8% • 12% v

• HA2ol0 ($.\P KANA l.0 $11'S03)


t.$1&11nthtcli,,.._,1 $Al'HAl\At«Votyrl~
"""'°""·.,.,......,,_ """"''~ a"l(lj)I.....,.

..ttAZ00(SAPIW"A2-09'S03)

Database Migration to SAP HANA 8% · 12% )

High Availability & Oi.saster Tolerance 8% · 12% )

Backup & Recovery 8%-12% )

Multltenant Oataba.te Containers 8% - 12% >

Monitoring and troubleshooting of SAP HANA 8%- 12% >

Database Administration Tools and Tasks 8% · 12% )

System Architecture 8% · 12% )

Performance and System Tuning 8% · 12% )

Figure 10.4 C_HANATEC_lS Exam Informat ion Page

389
10 Training and Support

Table 10.2 shows the currently available certification exams. The xx in the name
stands for the exam edition as each edition matches a specific SAP HANA release. Two
levels of certification are offered:
• The associate certification is the entry-level exam and certifies that you know the
core (the C in the exam code) concepts. The exam consists of 80 questions, and
you have 3 hours to complete the test.
• The SME or subject matter expert exam (E for expert) contains 40 questions with a
90-minute time limit. This certification comes on top of an Associate certification.
So, if you already hold an associate certification for ABAP, you can enhance that
certification with an SAP HANA SME certification, for example, E_HANAAW_xx, to
demonstrate that you can successfully apply your ABAP skills to SAP HANA.

Currently, no professional certifications for SAP HANA exist, but from time to time,
delta (D_)exams are offered, also with 40 questions and a 90-minute time limit.

Code Level Name

c- HANATEC- xx Associate SAP Certified Technology Associat e -


SAP HANA2.0

c- HANAIMP- xx Associate SAP Certified App lication Associate -


SAP HANA2.0

C HANADEV xx Associate SAP Certified Development Associate -


- -
SAP HANA2.0

E HANAAW xx SME SAP Certified Development Specialist-


- -
ABAP for SAP HANA 2.0

E HANABW xx SME SAP Certified Application Specialist-


- -
SAP BW powered by HANA

E BW4HANA xx SME SAP Certified Application Specialist-


- -
SAP BW/4HANA

Table 10.2 SAP HANA Certifications

All SAP certifications remain valid for the past two versions. Because of the quick
sequence of SAP HANA releases previously, twice a year, SAP HANA certifications had

390
10.1 Training

quite short lifespans. Fortunately, as we've seen, as of 2018, only a single release will
be issued each year, so your certification remains valid for a more reasonable 3 years.
You can share your achievements with Acclaim from a third-party organization.
Acclaim uses digital badges in the Open Badges format, enabling you to show off all
your certifications from SAP, IBM, Microsoft, Oracle, and so on in a single place. Digi-
tal badges are also available (when enabled) on your SAP people profile.

Learn More
For more information about SAP Education and SAP certifications, visit http://s-
prs.co/v488457.

10.1.2 openHPI and openSAP


In 2012, the year of the massive on line open courses (MOOCs), edX and Coursera were
launched as spin-offs from well-known universities like Harvard, MIT, and Stanford.
The online courseware started to attract millions of visitors, and the Has so Plattner
Institute (HPI) and later SAP joined the momentum.

openHPI
The HPI, founded in 1999, is Hasso Plattner's privately financed institute, associated
with the University of Potsdam and focused on IT systems engineering. openHPI was
launched with the course "Jn-Memory Data Management" taught by Hasso Plattner
himself. The course lasts for 6 weeks and focuses on the management of enterprise
data in column-based, in-memory databases.
The history of enterprise computing and the characteristics of enterprise applica-
tions are addressed, while changes in hardware and other topics we briefly discussed
in Chapter 1 and Chapter 2 are covered in this course in detail. For a solid understand-
ing and to go more in-depth into topics like tuple reconstruction, materialization
strategies, and aggregate functions, this course fo r you. Figure 10.5 shows Hasso Plat-
tner in action. Although SAP HANA is not mentioned explicitly, Hasso Plattner does
talk about the blueprint of the SanssouciDB, which was the noncommercial univer-
sity prototype for SAP HANA. You can still watch the original course on YouTube, or
better yet, enroll in the 2017 edition, with updated material.

391
10 Training and Support

ln· Memoty Data Management Prof_Hasso Plattne<

Enterprise Application Characteristics

O LTP Access Pattern


Myth
-
..........
O Workload analysis of entetpt1se Mlems st\ows:
OlTP and OlAPw0tkloads are not that d ~fferoot

..
Figure 10.5 openHPI: In-Memory Data Management, Prof. Hasso Plattner

Learn More
For more informat ion about openHPI, visit openhpi.com. For t he "In-Memory Data
Management" course (2017 edition), see http://s-prs.co/v488458.

open SAP
Following up on the success of the openHPI course, SAP launched its own MOOC plat-
form, aptly named openSAP, to provide free training and promote SAP innovations.
The focus, this time, was on software development for the SAP HANA platform, and
the first course was taught by Thomas Jung, chief product expert at SAP HANA prod-
uct management at the time. If you're interested in the topic, you can still watch this
course with updated content today.
Not all openSAP courses are about SAP HANA of course, as you'll find courses ranging
from analytics to user experience. However, a fair number of courses have SAP HANA

392
10.1 Training

as a main ingredient, and we'd like to h ighlight a few. For starters, we highly recom-
mend "An Introduction to SAP HANA by Dr. Vishal Sikka", already mentioned in
Chapter 2. The course is short but provides unique insight into the genesis of SAP
HANA and concisely summarizes its key strengths. In the first part, Vishal Sikka talks
about how he came up with the name of HANA as short for "HAsso's Nevv Architec-
ture" while driving home from his Palo Alto office after having just returned from a
vacation in Hawaii.
Another interesting short course is "Jn-Memory Data Management in a Nutshell."
This course summarizes the 6-week openHPI course mentioned earlier in a little
under 2 hours, enough to give you a good understanding of the basic concepts of in-
memory data management yet indispensable when pursuing further training in the
domain of SAP HANA development.
Other SAP HANA-related courses are more specific to the different roles we've dis-
cussed in this book, and we've listed a number in Table 10.3.

Persona Course

All "An Introduction to SAP HANA by Dr. Vishal Sikka" (20 14).

All "In-Memory Data Management in a Nutshell" by Jurgen


Mu ller (2013).
Summary of the openHPI course.

Administrator "Introduction to SAP HANA Administration" by Jose


Ramos, et al. (2017).
This 4-week course teaches you how to manage data-
bases and database landscapes and conduct perfor-
mance analysis using the SAP HANA cockpit.

Administ rator, enterprise "High Ava ilability and Disaster Recovery with the SAP
architect HANA Platform" by Prasad lllapani, et al. (2016).
This course covers high availability and disaster recove ry
concepts and support, including backup and recovery (3
weeks).

Developer "Software Development on SAP HANA (Update Ql I


2019)" by Thomas Jung and Rich Heilman (2019).
This course is updated every year and covers the new fea -
tures for SAP HANA native development (3 weeks).

Table 10.3 openSAP Courses for SAP HANA

393
10 Training and Support

Persona Course

Developer "Prepare for Your SAP HANA Certification - Development


Associate" by Thomas Jung (2018).
Short 1-hour course about the C HANADEV 14 certifica -
- -
t ion exam with t ips and tricks for preparation.

Developer, "Analyzing Connected Data w ith SAP HANA Graph" by


data scientist, Markus Fath (2018).
analyst Short 1-week course (4-5 hours) covering the tech nology
and use cases, including GraphScript and hierarchies.

Developer, "Spat ial Analysis w ith SAP HANA Platform" by Markus


data scientist, Fath (2017).
analyst 3-week course about SAP HANA spatial services, special
analysis and the development of spatial applications.

Developer, "Full-Text Search with SAP HANA Platform" by Markus


data scientist, Fath (2017).
analyst Short 1-week course (4- 5 hours) covering the technology
including fuzzy search, search models, and t he query lan-
guage.

Developer, "Text Ana lytics w ith SAP HANA Platform" by Anthony


data scientist, Waite, et al. (2016).
analyst This in-depth course covers both text analys is and text
mining (4 weeks).

Administrator, data architect "Introduction to SAP HANA Dynamic Tiering" by Court-


ney Claussen and Robert Waywell (2018).
In th is course, you'll learn about the technology and how
to implement and administer SAP HANA dynamic tiering
(4 weeks).

Business architect, data archi- "Introd uction to SAP Enterprise Architecture Designer"
t ect, and enterprise by Volke r Saggau, et al. (2018).
architect The cou rse introduces and the too l and covers main
usage scenarios (4 weeks).

Table 10 .3 openSAP Courses for SAP HANA (Cont.)

394
10.1 Training

Most of these courses are taught by the SAP HANA product managers in charge of the
specific product or technology of the course, like the "Prepare for Your SAP HANA
Certification - Development Associate" course taught by Thomas Jung, as shown in
Figure 10.6.

Prepare f or Your SAP HANA Certification - Development Associate Thomas Jung

<< Hide navigat100

I >Course
Discussions

>I Like. I W ish


Unit 1: Introduction to C_HANADEV_14 Certification Exam

>Reactivation request
Introduction to C_HANADEV_ 14 Certification Exam

SAP C,ertified Oeveklpment Associate - SAP HANA 2.0 CWlflCATl

.......... ,.,...,
• Mch"8 1\¥1 a piKe of papet

• S~fd CMerion lot several tOles and responsibol11ies _ .......


• Yan:!$00:; wnitn il1 oomtS et>QOmPOtonoo
• V*IMH lhe »as )'OU galheted bough s.ludy and hands-00
••pe<\ence -·------ ...

eo..w -~.,..~
·-···------ -
........>#.A "" . qt.,, r;........,.......... """"'-
.....,I. '-'"'""'" .... .....i • • U(..,...•• - +• .-

I @ Some subUtles f<>< th;s video have been maeh;ne-t,anslated: Ge, man. F•ench. Span;sh

<Previous
..
Fig ure 10.6 open SAP: Pre pa re for You r SAP HANA Certification

If you finish the whole course, or at least a substantial part, you'll receive a confirma-
tion of participation and a digital badge, as shown in Figure 10.7. If you get enough
points for the tests and the final exam (which should not be too hard for most
courses), you'll get a record of achievement with your score, which you can share on
your SAP profile, on Linkedln, or through other social media channels.

395
10 Training and Support

Figure 10.7 openSAP Digita l Badge

Learn More
For more information about openSAP, visit https://opensap.com/.

10.1.3 SAP HANA Academy


The SAP HANA Academy is another great free resource for learning about SAP HANA
and related technologies. The SAP HANA Academy is a YouTube channel where you
can find over 2,000 tutorial videos providing technical enablement, implementation
and adoption support for SAP customers and partners. Figure 10.8 shows the chan-
nel's homepage. Started in 2012 (older videos were published to the SAP Technology
channel), although the initial focus was on the SAP HANA platform, today, the chan-
nel off ers video tutorials for SAP Cloud Platform, SAP Leonardo, and other SAP tech-
nologies.
Let's look at a few key resources within the channel.

396
10.1 Training

a vouTube"' Search D< ••• 0 •

- HOME
SAP HANA Academy
55.450 subKribtrs

VIDEOS PLAYLISTS COMMUNrTY CHANNELS ABOUT


SUBSCRIBE 55K

>
........
Welcome to the SAP HANA++ Academy

..,....... 29,462 views • 8 MOnthS aoo

The SAP HANA++ Academy provfdes 1echnlcal enablement.

...•., Implementation and adoption support for customets and


partners with 1000'1 ot free tutorial videos f0t SAP HANA. SAP
Leonatdo, and SAP Ctoud Platform.

Corne o\nd Join us and substrlbt to our channel. Thank you for
watching.. Video by t~ SAP HANA Academy.
AEAOMM:E:

Featured Pleytists

SAP Cloud Platform Multlt enant SAP Leonardo lntemet of Things Using SDI ln the SCP HANA SAP Cloud Platform Oh:eo"fl)' SAP Cloud Platfotm De¥eloper
Business Applicotions SAP HANA A~dcm( SeNlce Center Onboarding
SAP HA.HA Acad«ny VIEW FlA.L PUY\.IST SAP HANA Academy SAP HANA Academf SAP HANA Aea<lemy
VIEW FULl PLAYUST VIEW FVLL PLAYUST VIEW FUl.L Pl.AY\.1$T VllW FVl.L PLAYUST

SAP HANA SPS • Whot's New

Figure 10.8 SAP HANAAcademy YouTube Channel

YouTube Playlists
The channel is divided into several sections, and after Featured and What's New, sec-
tions closely map to our SAP HANA personas: Database Management (database
administrator), Modeling and Analytics (data analyst), Provisioning (data architect),
Application Development and Delivery (application developer), Predictive Analytics
(data scientist), and more. In each section, you'll find a collection of playlists where
related tutorial videos are bundled. Some playlists cover a more generic topic (SAP
HANA security) while others cover specific products (SAP Data Hub). You'll also find
playlists about new features and functionalities, like the What's New series, or about
specific tasks and activities, like modeling and design with SAP HANA.

397
10 Training and Support

Most playlists are not rigidly structured; you can pick and choose. like you would
handle a book of recipes or a reference book.

GitHub Repositories
Code samples are posted to the GitHub, as shown in Figure 10.9, to save you to trou-
ble of entering some of the boilerplate code yourself and possibly introduce a typo or
two (alas, such things do occur). Instead, you can focus on the important parts of the
code where the actual magic happens.

0 Pull requests Issues Marketplace Explore • + • itl .,.

IJ saphanaacademy I SAPHANAService 0 watch • 3 * Star 2 VFork 1

<> Code Issues o 1 1 Pull requests o 1 Projects o Wiki 11 Insights

B<anch: mnte< • SAPHANAService I cf-nodejs I server.js Find lile Copy path

.,.. saphanaacademy SAP HANA Service (S79Ml on 1 Jun

1 contnbt.nor

Raw Blame History O ~~ W


const express • requi~( ' txpress");

Const •PP • t•pt'tSS();

var cfenv • rtqutre("cfenv~);

var appEnv • cftnv . gtt~EftY ();

var han.Crtdtntials appEnv.1etStrvictCrtds( ' hana•schf'9ol');

app. ust(

);

app. get('/'. function (rt<q, l"f'S) (

});

Figure 10.9 SAP HANA Academy on GitHub.com

Learn More
To stay informed about new releases and the latest updates, you can subscribe t o the
channel. If you have a Linked In account, you can join their network of 15,000+ SAP
HANA professionals or follow them on Facebook and Twitter (@SAPHANAAcademy):

398
10.1 Training

• http://s-prs.co/v488459
• http://s-prs.co/v488460

You'll also regularly find the SAP HANA Academy posting biogs on SAP Community
(see Section 10.3), with information about new video tutorial series.

10.1.4 SAP Developer Center


The SAP Developer Center also goes back to the early days of SAP HANA but has grown
in scope significantly and today provides free development support for most SAP
products, solutions, and technologies including ABAP, SAP Cloud Platform, SAP
S/4HANA, mobile development, SAPUIS, and SAP Fiori. The SAP Developer Center is
also the central place to download trials and other resources like SDKs, client tools,
drivers, starter kits, and so on. You'll also go to the SAP Developer Center to download
the SAP HANA, express edition, which we described in Chapter 4, Section 4.12.
Particularly impressive and valuable is the huge collection of developer tutorials
available at the SAP Developer Center. To navigate this huge resource, you have the
Tutorial Navigator at your disposal, as shown in Figure 10.10.

w- t ·.t ,.. 1,. t


0

'11', "', ·, ·' ·" fl''' ',• . . frt

- SAPHANA

Exr'Ore Mor Proch,,...1•

SAP HANA
Leverage ul·nll?fl'I01 y database technology to proce~s m.assrve amounts of data 1n real time.

Oet~ils Features Tutorials Community Resources Start Tnal

Legend: • M1$$1on • Groop • Tutor1al

Build a Basic SAP HANA XS Advanced Application Create Calculation Ve~ with XS Advanced
Tline tulvflJ . ~1 gu•de )'OU through It 1,.,,1 >l~ to S<l up a ~.\ult1·Ta1g.:t Model c:alcvlabon VIC'~ v. th XS Advarlttd aiJCJ 1n1SJ1er1it11l IJ;;:ijit dal.t pr•vllcy
' -·
Figure 10.10 SAP HANA on the SAP Developer Center

399
10 Training and Support

You can filter tutorials by level (beginner, intermediate, advanced}; by product (SAP
HANA); and/or topic (SQL, OData), and most tutorials are bundled in groups, for
example, Build a Basic SAP HANA XS Advanced Application (5 tutorials, 1 hour). Addi-
tionally, to add gamification to the mix, you can undertake a tutorial mission and
have your progress recorded on the SAP Developer Center, so you can keep track of
your achievements and missions accomplished (also listed in your SAP people pro-
file). The tutorials on the SAP Developer Center are step-by-step guides with code
snippets, clear prerequisites, next-step pointers, and links to additional information.

Learn More
For more information about t he SAP Developer Center, visit http://s-prs.co/v488467.
To stay up to date, you can subscribe to SAP Developer News, a month ly newsletter
with a developer focus to inform you about the latest developments, highlighting
biogs, (free) trainings, upcoming events, new tutorials and how-to guides, and recent
developer t rials and toolkit releases. On a more personal level, you can also t alk to
and meet -and-greet the experts behind t he SAP Developer Center at global events
like SAP Tech Ed, or probably a bit closer to home, on the many CodeJams and SAP
Inside Track events (see Section 10.4.3).

10.2 SAP Services and Support


SAP offers professional services across the entire lifecycle of its products, from the
latest innovations for emerging trends and technologies to maintenance and sup-
port extension for products approaching retirement. SAP now markets this service
portfolio as SAP Digital Business Services. About 19,000 business and IT experts are
currently working for SAP Digital Business Services divided over 110 different nation-
alities located in 62 countries. Enhancing this diversity, the service organization of
SAP can also count on 45 years of experience in implementing and supporting com-
panies across a broad range of industries.
SAP Support employs around 4,000 support engineers, most of whom are working in
one of the Global Support Centers (GSCs), found in Brazil, China, Europe, India, and
North America. For some support, a local presence is more appropriate, and one such
example is SAP ActiveEmbedded, where a support engineer is working {part-time) on-
site at a customer location. For this reason, we can find SAP Support engineers almost
anywhere an SAP office exists.
Let's take a closer look at specific service and support options offered by SAP.

400
10.2 SAP Services and Support

10.2.1 SAP Digital Business Services


SAP Leonardo Innovation Services, SAP Advisory Services, and SAP Innovative Busi-
ness Solutions are examples of SAP Digital Business Services offerings that foc us on
digital transformation, cloud adoption, and sustainable innovation. Buzzwords are
inevitable in this domain but, to bring it back home, we see digital transformation at
work if we consider how the music business evolved from vinyl via CD to streaming,
in other words, from physical product to digitized service.
Cloud adoption is closely associated with this transformation and is often required to
achieve both scale and flexibility. To take advantage of best practices and turnkey
solutions for the core business, SAP offers end-to-end implementation services with
industry-specific consulting for R&D and engineering, automotive, supply chain,
inventory optimization, manufacturing, and the high-tech industry.

Learn More
For more information about the SAP Digital Business Services, visit http://s-prs.co/
v488462.

10.2.2 SAP Support


The mission of SAP Support is to provide next-generation support, a phrase that
expresses the ambition to provide today the type of support expected to become
commonplace in the future. What characterizes this new approach to product sup-
port? You can find specifics on the SAP Support website, but next-generation support
revolves around the themes of self-service, real-time service, proactive/preventive
support, and digitization.
The central activities of any support organization revolve around incident resolution
and knowledge management. Over the years, SAP Support has built up a massive
knowledge base. Instead of requiring customers to call support to fi nd answers, why
not leverage the self-service paradigm of the Internet and let the customer search the
knowledge base? Of course, to make searching possible, simple tooling is required.
Enter the SAP ONE Support Launchpad, as shown in Figure 10.11.
On the SAP ONE Support Launchpad, you can search the knowledge base, download
software, report incidents, get license keys, and more. The SAP ONE Support Launch-
pad is intuitive and easy to use. Being a self-service, the SAP ONE Support Launchpad

401
10 Training and Support

is open 24/7. No need to get on the phone; v.rait times are minimized, and ticket over-
head reduced. For the real-time service, you can connect with support professionals
using expert chat.

~CHE 54.lppon launcl'ipad Kn~ecise ease Enter seatdt retm <;fO ~ s.· v

Down1oads

Incidents

My Home 1nnova1»0n Oise~

lnst9llatiOM
Favorite Incidents SChedute an Expert Expert Ch.at Ask an Expert Peer

_ ....
Lkense Keys Book • Live Session Get Real-Tme SuPPQft Submit a Ouescion
Products

.........
All

on YoursiOe
0
0
0
I l'.0 0 ~ ..
AO..
Systems
Upcoming St$$ion$ Btlfn a chat ses.sion fOf limited prod'U<:1$
Use<•

Welcome

Figure 10.11 SAP ONE Support Launchpad

Another enabler for next-generation support comes from machine learning algo-
rithms, which are now also mining the huge support database of problems and solu-
tions, questions and answers. The goal is to move from reactive to proactive support,
and ideally even preventive support, able to predict and prevent issues from occur-
ring. An ambitious goal, fo r sure, but these goals are already at work when you inter-
act with the SAP ONE Support Launchpad and receive suggestions powered by
artificial intelligence (Al) when creating incidents or doing a search.
Finally, the support process is made digital. In a traditional scenario, the product and
the support service are often separate entities. Different environments and different
devices add further complexity. The objective of digitization is to bring the support
experience into the product. You can see this principle in action in SAP CoPilot. From
within an SAP product, should you get stuck or run into trouble, you can interact

402
10.2 SAP Services and Support

directly with product support with all the contextual information automatically col-
lected.

SAP Support Portal


On the SAP Support Portal, you can find the latest information about processes, ser-
vices, and tools. If you're new to the SAP ONE Support Launchpad, for example, you
can register for a demo, learn about how you can use single sign-on (SSO) with your
SAP Passport, or find out how the support channels of companies recently acquired
by SAP are being brought under the fold of SAP Support. On the portal, you can read
about the different support offerings vve mentioned (Schedule an Expert, Expert
Chat) or learn when and how to submit regular incidents. One section shows you how
get the most out of SAP' s knowledge base articles and how to subscribe to WhatsApp
product support channels to receive updates about relevant notes and articles. If you
want to know \<Vhat your options are regarding downloading SAP software. what
exactly is a support package stack (SPS), how system data is maintained, and how to
download license keys, to name but a few, the SAP Support Portal is the place to go.
On the SAP Support Portal, you'll also find information about the different offerings
and programs (SAP Enterprise Support, SAP Preferred Success and SAP Preferred
Care, SAP MaxAttention, and SAP ActiveEmbedded) and the different support ser-
vices like SAP EarlyWatch Alert and SAP Security Optimization. If you want to get
involved early, sign up for a beta program and enjoy the Early Adopter Care Service.
Larger enterprises with a significant in-house SAP expertise may benefit from setting
up a Customer Center of Expertise (Customer COE). As already mentioned under SAP
services, both product and service names change from time to time, so visit the web-
site for the latest information.

Product Support
For each product, including of course SAP HANA, you'll find a dedicated page on the
SAP Support Portal (the SAP HANA page is shown in Figure 10.12). Featured Content
shows the top five knowledge base articles, the top five SAP Notes, recommended
articles, and related pages. Tabs provide access to a complete list of all (almost 1,000)
knowledge base articles to be searched and with links to the full documentation set of
the latest releases, a list of Guided Answers, and the latest biogs and questions posted
to SAP Community.

403
10 Training and Support

SAP My Support v Producb '"' Toots y Manfcoanoo y Offcnng.s a Progrn.ITl!I v Appllicn11on Ufccyclo Manngcmcnt ... Q LJ u·t· lrA

SAP &.iP9(ll1 PolW HOl"le I Pfoduelt I S~ by P«tcM:c


SAP HANA. platform edition

SAP HANA. platform ed ition 2 .0

View Additional Product Content in the launchpad

Featured SAP Knowledge Base Guided Questions&


Documentation
Content Articles Answers Biogs

Recommended Articles: Related Pages:

../ Hotnews fOJ HANA ../ Product OYer view page for HANA
../ Important secu:nty notes for HANA ..; SAP HANACommun1tyPage
../ SAP HANA Troubleshooting and Performance Analysis Gulde ./ HANA Product Support WIKI
..! Top S SAP HANA KBAs: ./ SAP HANA Memo<y Usage Explained
./ FAQ.SAPHANAMe<nl)()' K13Al999997 ..; SAP HANA Storege Requ1femeots
.; FAQ; SAP KANA KBA 2000003 ..; SAP r-~NA Netwof'k ReQuwements
.,/ How To: Data M.ain11gtl'ntt"lt IOI' Tt<hnec.31TablH KBA ..; How to Ptrlorm Systttn Replttahon lor SAP HANA
2388483 .; Network Conhgw-ot 1on for SAP HANA System Rcplic:it10n
../ FAQ· SAP HANA SQl Optlmzatlon KBA 2000002
../ How To: Interpreting SAP HANA Mini Check Resul!s KBA Tools:
1999993
..; SAP HANA OumpVie\\·er KBA 2491748
../ Top 5 SAP HANA Notes
./ SAP HANASltter KBA 2399979
../ SQL Statement Collect.on tor SAP HANA. SAP Note 1969700
../ SAP HANA 1.0 Revision and t1.ia1ntenance Strategy SAP Note Video Tutorials:
2021789
../ SAP HANA. Supported Optfat1ng Systems · SAP Note ../ SAP HANA Ac.ademy technical biogs and videos
2235581 ../ SAP HANA Academy SAP HANA Memory Management
../ SAP HANA Gulde«1ne-s for SLES Operatlog System lnmttat1on ..; SAP HANA Academy SAP HANA Support• Out ot Memory Oump
SAP Note 1944799 Anatys.1s
../ Hard'ovare Configur ation ChE>ck Tool Ct>ntraJ Note · SAP Note
1943937 Stay Connect ed:

Software: ..; How to Sobscnbe to SAP Product Support *SAP HANA" YlhatsApp
Stoadcast Channe-1
../ Software Download for SAP HANA PlATfORM EDITION (lO & 2.0)

Follow 0 0 e Cl) G
Figure 10.12 SAP Support Portal: Product Support f or SAP HANA

Learn More
For more informat ion about services and support from SAP, visit http://s-prs.co/
v488463 and, for the SAP Support Portal, go to http://s-prs.co/v488464.
Product support for the SAP HANA platform edit ion can be found at http://s-prs.co/
v488465.

404
10.2 SAP Services and Support

10.2.3 SAP Help Portal


The SAP Help Portal publishes all SAP production documentation. The numerous
products included on the SAP Help Portal {890, as of summer 2019) are organized
hierarchically, and for SAP HANA, you must look at the Technology Platform section,
where you'll also find the documentation for SAP Cloud Platform, SAP Leonardo, SAP
NetWeaver, and some 200+ more.
Under the SAP HANA banner, you'll find the SAP HANA platform, the core focus of
this book, but also some related products, like SAP HANA streaming analytics, SAP
HANA accelerator for SAP ASE, and SAP HANA dynamic tiering, some 20 in total.
Most of these related products are bundled with the platform as the SAP HANA,
enterprise edition. What exactly is in each edition and their various options were cov-
ered in Chapter 1. Sometimes, these products have some other background. (All four
products just mentioned, for example, are Sybase technology and, although now
integrated into the SAP HANA stack, they still are organized slightly differently.)
When you're looking for some information about SAP HANA but can't find it in the
product documentation, you probably need to select another product category,
which sometimes makes sense intu itively, other times less so. The SAP HANA cock-
pit, for example, is also a product category by itself, although the cockpit is an SAP
HANA system in itself that only serves to administer SAP HANA.
On a product page on the SAP Help Portal, you'll typically find some common sec-
tions, as shown in Figure 10.13:
• What's New
In the What 's New section, you'll find the official release note, in the format of an
SAP Note. Whereas the SAP Help Portal is publicly accessible, to read SAP Notes,
you'll need to access the SAP ONE Support Launchpad. Because the documenta-
tion is fixed after the release, in the release note, you'll find documentation
updates (errata). As SAP HANA is a platform with a database engine at its core, a
release note for the database revision will be available next to the release note for
the SAP Web IDE, the release note for the SAP HANA cockpit, and so on. Detailed
explanations, for example, about the deprecation of a functionality (e.g. SAP
HANA extended application services, classic model [SAP HANA XS]), abo ut how to
transition to a new functionality, or about other high-impact decisions (mul-
titenant database containers [MDCs] as only operation mode) are typically cov-
ered in SAP Notes.
• Inst a llation and Upgrade
In the Installation and Upgrade section. you'll find the guides you should consult

405
10 Training and Support

for platform lifecycle man agement tasks. Ahvays start with the SAP HANA Master
Guide, the entry point for installation planning. The SAP HANA Master Guide cov-
ers topics we addressed in Chapter 1: use cases, architectures, deployment options,
implementation choices, and, above all, where to find more information about
each of these topics. Then for each of the components (server, client, studio). you'll
find a dedicated installation guide. As mentioned earlier, you may have expected
an installation guide here as well for the SAP HANA cockpit or for SAP HANA
dynamic tiering, but these functionalities are considered separate product catego-
ries and have their own product homepages.
• Administration
In the Admin istration section, you'll find the mother of all guides, the SAP HANA
Administration Guide, well over 1,000 pages, and the Troubleshooting and Perfor-
mance Analysis Guide, once part of the SAP HANA Administration Guide but now a
separate guide. Not entirely consistent, you'll also find in this section the SAP
HANA cockpit guide for administration and another guide dedicated to tenant
databases. You'll find the same text of these guides in the main SAP HANA Admi-
nistration Guide, so some overlap does exist.
• Security
On the topic of secu rity, you'll we find two guides: the conceptual Security Guide
and the shorter Securi ty Checklists and Recommendations Gu ide. Both are recom-
mended reading, not only for security administrators but also for system admin-
istrators and developers. The Securi ty Guide will explain, for example, how
authentication is designed in SAP HANA and what its implications are. For a step-
by-step guide to actual tasks related to security, you 'll need to return to the SAP
HANA Administration Guide.
• Development
Development has always been a large section, which for the uninitiated can be a lit-
tle overwhelming. Fortunately, an information map can help yo u navigate the
documentation landscape by presenting the information by guide (which guide
covers what); by task (which tasks is documented where); or by scenario (database
or application development, client-interface, security). The Getting Started Guide
offers several tutorials, so you can get a feel for how things work. However, to get
to the heart of the matter, you'll have to consult the dedicated development
guides about each of the technologies.
• Refere nce
A separate section. but mostly development related is Reference. In this section,
you'll find guides that you'll probably only use for reference, as they are not

406
10.2 SAP Services and Support

intended to be read from cover to cover. You'll find a guide referencing SQL com-
mands (SAP HANA SQL and System Views Reference}, SQLScript, JavaScript, core
data services (CDS). Predictive Analysis Library (PAL}; a number of application pro-
gramming interface (API) guides; and more.

~ What'sNew lIJ Administration , Implementation

WNt' -,.. +11 ttw W HANA Plltfotm 2 0 SAP HANA ~ism.I.,.. Cli...oe IOf W r"' loadtt Gu~ I« $.AP HANA
... ....,.....,_
t"'-'Oifl.e.ut......1•-•..n.t··~ HANA Pi.I"-'"'

-ar.bo_..___ _
n.~..,...hl).to

_
-••htt.I.•--
---
Hew ll)(,,,..._ ......... ~. aowloc:it_,. W~'IAd.t'..,...tol'Wlllhi_..,.d.lllt_,..,

SAP HANA PIM'°"1'1'12.0 SI'S °' A....-.w " ' -


, , -&Al'MAM *""'lalllol.Of>\HOlll t;APHAH"

.....
,....,, ~

1""~'111WHllll•WINWHAHA~)0 SAP~ Ttoubltshoct... Mid Pef!OtmllllOI


An.alyM C..-0.
"*lo~..Cdo"""1Wnll'Q~ Sor
.,_.W!w.A~
11:JI) Reference
$APHANA. ~""' ~o1tO'I
..-10 ........... ,.,.~ol)W'°$.t.PK.\.W.. $AP HANA $Q1. ~ ~!ofn'I Yi ~ ~-._
~--~~

rn
for SAP HA.HA PL.tform
Ftature Scope $.APHANAT-t~ nw s...1>-"' SQl.-s.,..e....v-~
Description l"-10~........_n_.... .. ww.""' °"""'-.,,. $QC. .......... - 1 f d ""w llA.'Ui
rutin Sc~ Onc.,..,t'°" 1or SAP HA.NA.
1-...W """"*- '°'
lhe-- tnel ~ ol w
~ltw1~$APMA"IA_.....,.._

$APHANAC«i.pt
......
~. . . .- . .~$Ql........ ..,_._......,.,.

Hot.HA~....~ $1.PttA."°"~• lr._......_llD(:ol ilDf W


Kl.M·~·~-"°'_ .. _ $.\PllA.,AS<)LSu,pl.....,_~.._louM
.,.1ofU.~.,..-~olW
llW~t..-!-$APMMA$Ql$<"fll .. ~
~~O.W'IWiA~ ......
-"'SOl....,_ -~----IOllCW.OWIWIA.

~ Installation a.nd Upgrade


SN>HAHACloent ll'ltertK•~
~ lor $41> HANA. ~Homi
...,...... _ _ .... _ _btt
,
,
,
.
,
.
~
,
~,_ lhWW<M"-"'-~

~
SAP HANA Mnlt• O.. ~ Tio.$AP..w.A..... ( ..... NWiod ...
Security
-.,_.....,.,....
(t,11y~ ltr , . . _ . lho _...,uen o1,- W ~-!Auo.Ol'l~--...
_ ..,.lllr...
O)"t.na.. - ... .,,,.,. llAAA _ ----

.....
SAP HANA $tf"#r l...it ot>Otl......, Updl~

M:Jw• W.tll ..-6~ .., W MNA .,._.Mth


W HA.NA. $.eo.nty Go..ck tor SA_:> HA.NJ.
Pll~lorm
Ho.to ......... -...)'dh'UPHAtu.p.tlomo
1511
1,..WH4M ,~_,..-toell

SAP HANA C'-'! lt!U.l<lt:>OI\ ...... IJ9<Ht•


""'-"'
$APHANA ~Ct.cl '-'••nd
Ovio.11:1" ~, HANA~m Rec:~11t-
o--,_,_,,,. , , 'llotwll>,...._.
_..,n.lllillhel.t>l'(,t.Mda'.--•b
l'k Jl, Documentation
- ... ~ .. SAl'•IAHA~- M>G--.,...tt. SAl'HAW.cltlA!Nw~
lft\\llJ Download
.....
$.J.P HANA $!;4o0 ln&ltllJtlOfl _.., Ul)Wt• W~¢1.tnt-W. O.ta !nr;'.l'yptiCn~

-
~-ID......... Ww.M---lo
-llOln!.tae....Sl4'dhhWKANA"'*· II• WO'JIPI~~_.....,.-,..
$JP}W(A~",,.....,.,b)OI

SAP HAHA Pllllficffll 2.0 &PS CM ~ CMO


i§'' (tr'Cbll)
l.- ~ .,,,.4 '019

-A Planning and Design

~ Training and Education SAP (.nl.,Pf,.. ~Ul'I o.tllf*. e6to0tl ~ ,fl, SAP HANA Opt ions and
lot SAP 11AHA IJ\\11.U Addltional Capabilities
1.1-fl'W'C..loumty SAP HANA~t c.ii:~~_,,,_'f0¥0f'Pl"'UllOtl~
~.....,........,_,,..._"""
w--.--...,.,..~llcoo-W
lffmrc Jollm.y SAP HANA YoOll"'C . , . , . _ . , . _ 'M<tt- AA'U.. .,. .... tna.""HN<AOflll_..,.
~ .... ~oyo;e... ,,.. .......
""'""'..lout!WY $AP HANA AO'lwll$t,_IOll ~u.~~-. ...._w
"°""''~ n..SA1'-AOOl_ ...... ~k>Mbeltw

@'' r<::::-i Development


L.31
----
. , . . . . . . . , . . , _ ...... IN~-
....,......_OIW~----Olllr.

Figure 10.13 SAP Help Porta l for SAP HANA Platform

407
10 Training and Support

Depending on the product, other sections may also appear. For SAP HANA, you'll see
a list of options and "additional capabilities," which concerns unbundled functional-
ities not specific to any edition or option. Exactly what feature and functionality is
included in each edition or option is documented in the Feature Scope Description
(available directly at http://s-prs.co/v488466). When available, the SAP Help Portal
will also list the learning journeys mentioned in Section 10.1.1.

Learn More
To access the product documentation fo r the SAP HANA platform on the SAP Help
Portal, visit http://s-prs.co/v488467. On the homepage of the SAP Help Portal, you
can browse the product hiera rchy and find out relevant learning journeys, which
links to SAP Commun ity, the SAP Developer Center, SAP Support, and SAP Education.

10.2.4 SAP ONE Support Launchpad


In 2015, the SAP ONE Support Launchpad replaced the SAP Service Marketplace and
provides a central entry point (a one-stop shop, a marketer might say) for support
requirements: incidents, SAP Notes, knowledge base articles, license keys, and soft-
ware downloads. The SAP ONE Support Launchpad covers both on-premise and
cloud-based software.

Knowledge Base Articles


Most people working with SAP HANA, whether as an administrator, a developer, or a
data architect, know where to find (and have read) the product documentation or at
least the manuals relevant to their field of work. Not as well read, alas, are the many
excellent knowledge base articles written by the support staff.
Searching for component HAN-DB, shown in Figure 10.14, returns well over 1,000
articles for the just the database alone. The SAP HANA extended application services,
advanced model (SAP HANA XS Advanced), the SAP HANA cockpit, and any of the SAP
HANA options will all be categorized under their own component numbers. Particu-
larly recommended are the FAQ articles on topics like administration and monitor-
ing (best practices), parameters (a full listing with explanation), memory
management (how this works exactly), and many other areas only summarily docu-
mented in the manuals. Each FAQ will point to other articles \"7ith additional informa-
tion.

408
10.2 SAP Services and Support

• g.:;,•1a

v Search In: SAP Notes & KBAs 1532 document(s) found Sort By: Rflfv•nc• v !! (!o ISl B Ill!

$AP Notcl$ & KBA.s 1'32


1817105 · Ucenw·key I SMP only shows SAP HANA ~tfo1m Edition
SAP CommunCy
SAP Communiy YAti:i

SAP Supp0r1 PO!Uil


..
3$32

101
D
Eddon, bJI lklMSot key tu:tt Pfo
HAN'-08 (SAP HANA o.utw>M)
°'
Vot.t\<e b0.1#11 SAP HA..'U. t::~is<t &11.ttpMt tiitMOH E~ b1.M

OA.Ol.2013 SAP NOflt


c,... My fll'ld ~~ ~ fol
SloP KAN!\ Pl..attonri at SAP Semc:e Markfotpl.k•.-® - "t<lll'W bouaf'ot SAP HAHA(trt~ or ~prM £JClencled

SAP He4p PMail 20+ 2400024. HOW·T-0: SAP HANA Adm1nlwat1on and Monltonng
SUccim.FKtors eonvni..lity 144 *""'
YOV lilt k'ltetseed 11\Mst JQClke$ ~ tnd lnCll"lilol'.._• W HAHA ~M.

HNN>e(SAPHAHAOM.itllM) U.01.2018 SAP~8'1istMiicle (6~bll"ISllUdOO.lmerc~


Guided Arc$Wers 52
2000003 • FAQ· SAP HAHA
YOu ase tocti!1C t<H ~ acMce abolll SAP HANA.
v Filter By
~(SAP HAHAONblM) OAOl.2019 SAP~ S.stMlck ('2Pt0Plit:IOYl'ld Mdoc:'"*"'*Pf\,11)

v Componen1 (4) 2186744 • FAO: SAP HANA Parameters

" HAN-08" (SAP HANA ~bist) 137t


-1 BC·XS" (XS~·Plc.se ... 81 2222200 • FAQ: SAP HANA Nttwoftt.
./ HAN•CPT' (SAP HANA Codq>il) 3'

" HAN·AS·XS· (SAP HANA EXtM... 36

Figure 10.14 SAP ONE Support Launchpad: Knowledge Base Search

Incidents
SAP Support recommends you first search the knowledge base if you encounter an
issue with the product before submitting an incident. A best practice/how-to article
about creating support incidents and an incident wizard can help you with the pro-
cess. A good investment of your time would be to famil iarize yourself with this task
beforehand and not wait until a critical business function fails. Incident manage-
ment is a smooth-running machine and learning how to best interact with this
machine for your own benefit makes sense.

Guided Answers
A more recent support innovation are Guided Answers. Common or complex issues
with SAP products are cast into a decision tree, and by answering filtering questions
on the topic, you'll be guided to a possible solution for the issue, typically in the form
of a knowledge base article or an SAP Note with detailed information. As shown in
Figure 10.15 for SAP HANA, for example, Guided Answers are available for the follow-
ing topics:

409
10 Training and Support

• How to Configure and Troubleshoot End to End Authentication


• How to troubleshoot HANA High Memory Consumption
• Troubleshooting Smart Data Access (SDA) Configuration

Guided Answers are even available to help you find the right SAP HANA component
for your issue.

ES""Guided Answers
ln.teractiv& documentation designed to help troubl&shOOt issues, navigate processes and guide through taskS.

Seardl

& Guided Answers Trees 24 V Ptoduets (SAP HANA,,,,."°""""'""") ~ t>


Altered by Ptoduels (SAP HANA platform edstx>n}

How to Configure and Troubleshoot End to End Authentication


Whiff It'"""'°' tM SV.t.GN ~'! TM E2E PMtfotm G/!M (SV4GN) fffm Js ~ #ot CfW.lp/.ftform ~ haldMU W0$$ u,. $AP IMd~. ~ INlr'I/)' ett
.iNUCIS which imolv. mul't.J* SAP ledinolOgies. Moist AuthwltbtkWSSO l.ssuel:s ~ pnk:IM ~randing cl U. IOOI C.US.0 or po/nf oforigin mould eomtJ to S¥ot.GN /;rsl so th•
IN E2E Pf ieam can SOh'8 O<nMOw down me Wut ao tM tight ~

Product: SAP HANA. platform editiOn Component SV-lGN Decails = Release &atus Released 10 Cuscomtr

How to troubleshoot HANA High Memory Consumption


w~ $ffp$ ~""'~IQ ll'y to k#nt;ly t~toot CIPC4• lot lllgrt MOrrlClt)'~ on. HANA ~.

Product: SAP HANA, platform edition Cornc><>nen1: HAN·OB Details ";" Release Status: Released •o Cuslomet

How to carry out preparations for a table redistribution for BW


You won ro cfstr0ure the tMJ#s o/ • BW system~ fO SAP~ 11.sing lendscspe redis~ tlftM C>at• O.sMCutiion Opliminf (ODO). )

Product: SAP HANA, p&a:lform ttd1tion Componenl; HAN·OB·ENG-6W Details 7 Release Status: Relea:Secl to Customer

11:. tttt U·. l.w ... ,.,:. I~ 1 t ·•

Torms of Uw Copyright and Tradamar1cs Logal Du;clo:o.Vffl Priv;icy

Figure 10.15 Guided Answers

Software Downloads
Software Downloads on the SAP ONE Support Launchpad is the single location to
download licensed SAP software. The process is simple, although finding the right
download when you're looking at specific bits and pieces can be a challenge. For SAP
HANA, in general, you can access the right download either by alphabetical index (H
for HANA), by category (SAP in-memory), or by search (try HANA platform). Searching
may be the most convenient as browsing the index can be a bit of a labyrinth.
Note that you'll see only the software your company has been licensed for, so if your
search results in a blank list, contact your SAP administrator. The menu under your

410
10.3 SAP Commun ity

user account (top-right) includes My Important Contacts and Authorizations and


Functions. which should help you get started. We explained how to download SAP
HANA software in detail in Chapter 3.

Learn More
To access the SAP ONE Support Launchpad, go to http://s-prs.co/v488468, which
requires a support accou nt (S-user).
For Guided Answers, go to http://s-prs.co/v488469.

SAP Notes
For information about how to create a support incident, see SAP Note 1296527- How
to create a support incident.

10.3 SAP Community

SAP Community is a great resource for anyone working with SAP software, whether as
a business user, a consultant, a software developer, or a student. You can go to SAP
Community to search for information, ask questions and find answers, share your
knowledge, and connect with your peers. At the time of writing (summer 2019), about
2.8 million users have signed up, and the site receives 287,000 visits a day.
As shown in Figure 10.16, the main sections of SAP Community are Questions and
Answers and Biogs. Finding information is easy using search, but you can also browse
the different topic areas. Some topics concern a technology. for example, ABAP devel-
opment; others a product like the SAP Cloud Platform or SAP S/4HANA, but you'll
also find an industry focus, which includes SAP solutions for the oil and gas industry
or for the public sector. To facilitate search, all questions, biogs, and other material
are tagged. The required tag should match the topic area. but you can also create your
owns. These tags, in turn. can then be followed. You could, for example, follow the
SAP HANA tag.

411
10 Training and Support

Questions and Answers Biogs My U ~r Profile

Ask a Question V1'f1le .t S.log Post


TllOS !Or A!.lw'\8 Good QuestlOl'IS Tips tor y,•r1t•na Goo<l 910as
Us.~Tags USJrrg T111:s

Browso tho Community Evonts Community Rosources

SAPC1oud Pli'ltlofmASAP SAPlr'51dt Trac'I


(nvironmet1t
SAPTectl{d
Search cor SAPC•oud Puitklfmtdef'lay
Autl'IMtic.l!JOn A 1events R(-pVt3tll)n

All bloa: posts


SAP S1ng'9 S.gn On
SAP Cloud Ptatbm
l nrh,lf!'l\O('('S Programs
Archived DIKUUM>n$llncl Documents
...
SAP lden1rty 'J;,naitement ..... lo )
i!Z" I SAP 0'N/4HANA

Cert All Content


HAI\ v
lntroc. ........... ... ... .. .... . .............................- ........................... ........... ..
communication channels and the user authentication mechanisms SAML and JWT. Bloclo'.chi!lln
On·prem1w. they can be stored an the file system and database. For the SAP HANA
Ma.er.tie Le¥n ng
service. tile·based... Read More•
SAP Cloud Platform
I SAP Cloud Platform. SAP HANA ~rv1ce SAP HANA Security
SAP Comml.fl1ty
SAP HANA
David Javernig January 9. 2019 I £ve-nt Information z
SAP HANA dynal1'9C tiering
SAP CodeJam Weinheim I Germany
looking to network wrth fellow developers whlle exploring something new and
''"' SAP HANA. express edrllon
exerting? Look no further. M SAP CodeJl)m pi-esents yov With an ABAP for SAP SAP HANA. pl.)ttorm eel tion
HANA wrth Ft0ri end·to-end scenario where you·11 get to see how drfferent
SAP Mentors
teehnologt!'S... ReM More •
# SAPCodeJam SAPF'".or1 SAPHANA SAPWeblOE Security

Figure 10.16 SAP Community: Ask a Question, Write a Blog Post

Learn More
To learn and st ay up to date about the latest SAP HANA developments, SAP Commu-
nity is a great resource. If you don't have an account yet, sign up and get involved! For
information about how to get started on SAP Comm unity, see http://s-prs.co/
v488470. You should consider su bscribing t o t he Community Voice newslett er.
Note that SAP Community biogs are posted to http://s-prs.co/v488471, while SAP
(HANA) Product Marketing and Management also post s SAP HANA-related biogs to
http://s-prs.co/v488472.

412
10.4 SAP Events

10.4 SAP Events

Every year, SAP organizes two huge conferences : SAPPHIRE NOW and SAP TechEd.
Although these conference overlap in content somewhat-you can discuss SAP road-
maps at both events- the dress code is quite distinct. Generally, the suits go to SAP-
PHIRE NOW, the hoodies to SAP TechEd. Similar to SAP TechEd in concept but
dedicated to SAP HANA, the SAP HANA Operation Expert and Developer Summits are
held once a year at different locations but typically at SAP offices. CodeJams and SAP
Inside Track bring a taste of SAP TechEd back home. At a much smaller scale, these
events may or may not even be organized by SAP, but you'll likely find one near you.
We'll explore these events further in this section.

10.4.1 SAPPHIRE NOW

SAPPHIRE NOW has a business focus and is often used for major announcements
about new products and strategic directions. A major networking event (who doesn't
want to go to Florida in the spring?), SAPPHIRE NOV\' is held together with the ASUG
annual conference and the SAP Global Partner Summit.
If your focus is SAP HANA, then SAPPHIRE NOW \Viii be the place where you can learn
about what's planned for the future as well as share experiences about implementa-
tions, realized return on investment (ROI), migration best practices, and similar top-
ics.

Learn More
For information about the SAPPHIRE NOW conference and to watch replays of the
latest event, visit http://s-prs.co/v488473.

10.4.2 SAP Tech Ed

SAP TechEd is a technical education event intended, as you might have guessed, for a
more technical audience: consultants and software developers. For the last few years.
SAP TechEd has been held in the fall at three locations: Las Vegas, Barcelona, and Ban-
galore. During SAP TechEd, you can learn about IT security and architecture, system
management and database administration, business process and business intelli-
gence (Bl), and, of course, software development.

413
10 Tra ining and Support

The conference lasts a whole week with pre-events and after-parties included. Hun-
dreds of sessions are held, impossible to attend them all, but fortunately, the SAP
TechEd app can help you manage your session schedules. SAP TechEd is great place as
well to finally meet the faces behind the avatars; that is, the people with whom you
held all t hose online conversations.
For review- or for the early morning sessions you might have missed- and for those
not able to attend, you can watch session replays on the event \vebsite. For 2018, 40
sessions focused on SAP HANA and related products or technologies. Figure 10.17
shows some highlights.

SAP TECHED I Online Home 2018V;deos v A<cn;ve v Biogs So<lal SAPTechEd v .1. ~

.........
0. ..... By Name

ciear fllttrs
•••
.. "
Location v
' "...: ·®~ ~
Scu1onTypo v

v
u1n. C - •t .,. ..-,.-..,.
----:-~-~
1 & ....
! ;

oo ~- · ·
; - . ..
""
· ·!
II! •••
.'Cl~ 41
''' 4'1
2018 LT124 • Building Intelligence and LT122 · Connect to SAP Cloud IT124 • SIRAX • Improving OLTP
Automatk>n into SAP HANA. Platform. SAP HANA Service performance with SAP HANA.
2018 Las V.gas Using SQI. from Aiiywh~ro. 2018 2018 81rcelona
Las Vops

.. . -
OAl'M · - ' " ' • " ' - -
' - .
uui . -...-..IH- •"'"c.do...

...
_ _ t_
OU1" • ........

.. '
..__ ,.._
.....,Cllowi> •.--

..
...
DAT200 • Pertorma nee and LT123 • MOYlr1g from the Studio DAT107 • Mlgratln& from Classk Contact vs
Workload Man-aement for SAP to the Cockpit Functionality In to Advanced SAP HANA
HANA. 2018 Las Vegas SAP HANA. 2018 Las Vegas Extended Appllcatlon Se~.
2018 l as Vegas

--·
.. .
OAT lU , . . . _ . • A.Qro!0.--1'1

' ,' .. ..
OAnl4 . Discover the JSON LT126 • UsJng Smart Data LT128 · Overview of Machine
Document Store in SAP HANA. lnte-gration f« SAP Cloud learning Capabilities from SAP
2018 las Vegas Platfotm. SAP HANA Se-Nice. HANA. 2018 l as Vegas
2018 las Vegas

View More

follow #SAPTe<:hEd 0 0 ~ 0 (ffiJ

Figure 10.17 SAP Tech Ed On line

414
10.4 SAP Events

Learn More
For information about t he SAP Tech Ed conference and to watch replays of the latest
edition, visit http://s-prs.co/v488474.
For SAP TechEd 2018, openSAP also created a recap course with over 30 sessions
incl uded. See t he website for future sessions http://s-prs.co/v488475.

10.4.3 CodeJams and SAP Inside Track

Aside from the global conferences, SAP also (co-)organizes and promotes many local
events. CodeJams are one example. Part code, part network event, you can share your
knowledge about SAP/SAP HANA software development, tools, and technologies in a
casual setting.
SAP Inside Track started when two SAP mentors decided to take the TechEd Commu-
nity day back home and organize a get-together in London, 2008. Since then, hun-
dreds of SAP Inside Track events have taken place, another great way to meet like-
minded SAP professionals. Just like the Code Jams, anyone can organize an SAP Inside
Track event.

Learn More
For information about SAP Inside Track, visit the SAP Inside Track area on SAP Com-
munity: http://s-prs.co/v488476.
For an up-to-date list of all events, including CodeJams, check http://s-prs.co/
v488477.

10.4.4 SAP HANA Operation Expert and Developer Summ it

The SAP HANA Operation Expert and Developer Summit is an exclusive event for
experienced SAP HANA customers with panel discussions and breakout sessions
offering opportunities to share SAP HANA experiences and new ideas with SAP devel-
opment and product management staff. Announcements are made on the SAP Com-
m unity website.

415
10 Training and Support

10.S User Groups, Alliances, and More

Besides SAP corporate events, many other initiatives invite business users, students,
and innovators to connect to come up with the "next big thing."

10.5.1 SAP User Groups

SAP user groups represent 350,000 customers worldwide with the SUGEN (SAP User
Group Executive Network) serving as a hub to brings them all together. SAP user
groups are independent, not-for-profit organizations where you can share experi-
ences, exchange knowledge, and provide SAP with feedback. SAP user gro ups fre-
quently present at the global events we just mentioned but also have a presence at
the more regional initiatives. SAP sponsors the user groups and organizes workshops
and webinars. Figure 10.18 shows the SAP user groups website with a range of guides
and tools to support the groups.

Knowledge for
SAP User
Group5
Welcome to the SAP User Groups Knowledge
Transfer Webpage!
.......
Our webinars are dechcated to se1 the success
of our customers and partners.. We regularly
provKle you with the ne-Hest information to keep
you up·to·date.

>> Upco1r11ng \'\•e-binars

Our Mission
\'le enable~, Croup$ to Adopt. Tnnt. and Innovate by provldlr'lig
~ aoc~s to c..;port15oe ;)n<I bo$t pro1cti(.(1$ kif fl\St.l!lcd system.

~ wd ~snow, lnriov.itlv4 SAP SolvtlOM

\'le l nvi$icf kl'IOYltcda:C oncl cduc01tl0fl./h:·..m1n.p IOCU$~0tnCI"$ ~


SAP Uw Groops in wanous tQf1TW1ts acc0f'Clll8 to lfM:,r pn0t1tlos
and ne«ts. Cu:.tomtts :ire bting mol.fY:tteO to ..ccdcr.,tc the
~kin of SAP inrontioM :!Ind to 1nt'lutnco the SAP ProdJct and
So&Jt1on Portfoho.

\'le crNte a va\le·add whieh ~ads to an 11'\C'ftas.e in cust~1


satFU&ctiOtl and IOyally '°'
350 000 SAP Us.ct GtOYp ~ml>HS
~ 44 ot'f1cat1I Uset Croup Ofgat!IU'lb ons ri0prMCnl1~
OYCf 50
oounlr'les. cl SAP customers.

Figure 10.18 SAP Support for SAP User Groups

416
10.5 User Groups, Alliances, and More

The Americas' SAP Users' Group (ASUG) is the largest user group with more than
100,000 members with chapters, special interest groups (SIG), and even its own
ASUG University. Next in size is the Deutschsprachige SAP-Anwendergruppe (DSAG),
counting 60,000 members from over 3,300 companies, large and small. Most user
groups organize their own events, and they can be a great alternative resource for
information about SAP products and technologies, including SAP HANA. Connecting
with your local user group is highly recommended.

Learn More
For more information about SAP user groups in general, visit the microsite http://s-
prs.co/v488478. For ASUG, see http://s-prs.co/v488479, and for DSAG, go to http://s-
prs.co/v488480.

10.5.2 Customer Engagement Initiatives


Should you want to influence products and help shape the strategy of SAP more
directly, you can sign up to join Customer Influence or participate in one of the Cus-
tomer Engagement Initiatives (CEI). for example. "Blockchain and the Programmable
Economy". To take advantage of the latest innovations, if you feel comfortable in the
early adopter role, you can sign up for SAP Early Adopter Care, for example, for the
SAP Cloud Platform, ABAP environment, or Continuous Influence Session (formerly
Idea Place). For a focus on design aspects, you may also be interested in the SAP User
Experience Community.

Learn More
For Customer Influence, Customer Engagement Initiatives, and Continuous Influence
Session (Idea Place), see http://s-prs.co/v488487.
For the SAP User Experience Community, go to http://s-prs.co/v488482.

10.5.3 SAP University Alliances and SAP HANA Database Campus


In this context, we should also mention the academic partnerships SAP has for
applied research. SAP University Alliances lists 3,000+ institutes, 100 countries, and
1,000 annual events on their website. One example is the SAP HANA Database Cam -
pus.

417
10 Training and Support

In 2019, for the sixth time, SAP organized an open house at its headquarters in Wall-
dorf, inviting students, professors, and others interested in database research to join
and get an overview of database research at SAP and to meet the architects of SAP
HANA, SAP Data Hub, and the technology platform. The open house is organized by
the SAP HANA database department. Besides inventing new technologies, other
activities include consultancy and academic guidance for students on internships,
patents, publications, papers, and research. Research is done in collaboration with
several universities in Germany and Switzerland.

Learn More
For more information about SAP University Alliances, visit http://s-prs.co/v488483.

10.5.4 HanaHaus and the Innovation Center Network


Although not directly related to the in-memory database, with such a name and back-
ground, we thought we should mention the HanaHaus in this book. HanaHaus is an
initiative, again, from Dr. Hasso Plattner, and aims to facilitate innovation by creat-
ing a space where people can collaborate, make connections, and inspire creativity.
The first HanaHaus location was opened in 2015 in Palo Alto, the heart of the Silicon
Valley. In 2019, a new location was added to the Newport Beach hotspot, between Los
Angeles and San Diego, where it shares the building with the SAP Innovation Center
Network, another innovation initiative from SAP.

Learn More
For more informat ion about the Hana Haus, visit http://s-prs.co/v488484.
For the SAP Innovation Center Network, go to http://s-prs.co/v488485.

10.5.5 SAPinsider Magazine and Conferences


SAPinsider is a magazine from Wellesley Information Services about products and
services from SAP and its partners. On the SAPinsider website, you'll find white
papers, articles, biogs, webinars, podcasts, and more, and the good news is that you
can sign up for free. For material about SAP HANA, see the dedicated section on the
website. Besides content, SAPinsider also organizes conferences in the US and
Europe, which are often co-organized with SAP and well attended. On the topic of SAP

418
10.6 Summary

HANA, you might check out the annual BI, Analytics & HANA conference, and in the
past, they have also organized an SAP HANA Administration Bootcamp.

Learn More
For more informat ion about SAPinsider, visit http://s-prs.co/v488486.

10.6 Summary

In this chapter, we covered several options for SAP HANA training. We listed the
courses available from SAP Education and the possible certifications, but also high-
lighted many options for training at low or no charge. For instance. you can follow
MOOCs about SAP HANA from openSAP or watch the hands-on video tutorials from
the SAP HANA Academy on YouTube.
For tutorials, another great resource is the SAP Developer Center. From beginner to
advanced level, for data science topics, SAPUIS, OData, or SAP HANA XS Advanced,
you'll find something new to learn each day.
In the second part of this chapter, we focused on SAP support and services. We listed
the different services available for SAP HANA projects and the SAP Support tools you
can use to download software, get your license, search the knowledge base, or create
an incident.
Finally, we also looked at opportunities to get together, virtually with SAP Commu-
nity and in real-life during an SAP event, from mega conferences like SAP TechEd to
the more intimate get-togethers of SAP Inside Track. Although not specific to SAP
HANA, we also touched on user groups and other events like the SAPinsider con-
gresses as alternatives to meet and greet.

419
The Author

Denys van Kempen is a technology expert at SAP with a foc us


on SAP HANA, analytics, and in-memory and cloud technolo-
gies. He has created hundreds of tutorial videos for the SAP
HANA Academy on YouTube and is a frequent contributor to
SAP Community, where he posts biogs and answers questions.
With h is colleagues from SAP's Digital Partner Engineering
team, Denys also teaches at SAP TechEd and partner events.
Previously, his team pioneered Sports Analytics at SAP under
the banner of Experience SAP.

421
Index

@OData.pub lish .................................................... 196 Ana lysis .................................................................... 213


Analytic modeling ................................................ 160
A Ana lytical privileges ......................... 162, 265, 268
Ana lytical processing engine .............................. 36
ABAP ................................................................ 158, 301 Ana lytics .................................................................. 213
ABAP Managed Database Proced ures Ana lytics adapter .................................................. 199
(AMDP) ................................................................. 158 Analyze Memory History app ......................... 120
background ........................................................ 158 Any DB ....................................................................... 104
call SQLScript ..................................................... 158 m ig ration ........ .. .. .. .. .. ............................. .... .. ....... 365
Access point ............................................................ 249 AP HANA Database Lifecycle Manager,
Accla im ..................................................................... 391 background ........................................................... 73
ACID compliance .................................................. 174 Apach e Spa rk .......................................................... 304
Active/active read-enabled .................................. 68 background ........................................................ 305
background ........................................................... 78 Appliance .......................................................... 37, 350
system replication ........................................... 373 Applicatio n developm en t .................................... 30
ActiveRecord ........................................................... 195 Application encryption service ...................... 277
ActiveX Data Objects (ADO) ............................. 194 Application function ....................................... 32, 35
Administration ......................................................... 95 Application Function Library (AFL) ............... 220
additional responsibilities ............................ 129 background ........................................................... 74
application ......................................................... 129 Application Fu nction Modeler (AFM) .......... 216
application server ............................................ 141 background ........................................................... 75
backup and recovery ...................................... 124 Application li fecycle management ..... 103, 130,
performance monitoring .............................. 108 139, 173
resource management ................................... 118 ba ckg round .... .. .. .. .. .. ............... .. ............................ 73
security ................................................................. 123 Application privilege ........................................... 266
system .......... .................... .. .. .. .... ........................... 105 Application server ..................................... 28, 30, 65
system configuration ..................................... 105 administration .................................................. 141
tools .......................................................................... 97 implementation .................................................. 58
Admi nistrator .................................................... 62, 96 user management .................................. 252, 254
Adm iss io n cont rol ................................................ 122 Application services ............................................... 35
ADO.NET ................................................................... 193 Architecture ........ .. .. .. .. .. .................... ......... .... ............ 30
background ........................................................ 194 application server ............................................... 65
Advanced analytical processing ........................ 31 data ....................................................................... 309
Advanced analytics .................................... 213, 214 data center ......................................................... 337
tools ... .. .. .. .............................................................. 215 data tiering ............................................................ 66
Advanced datastore objec ts (ADSO) .............. 333 memory .................................................................. 62
Aggregated health ................................................ 114 overview ................................................................. 57
Aggregates ........................................................... 33, 54 persistence ............................................................. 62
Agil ity ........................................................................... 82 services ................. ...... ............................. .. .............. 58
Alerts app ................................................................. 121 three-tier ................................................................. 65
Alibaba Cloud .................................................. 85, 364 Artifact ................................................... 152, 171, 312
Amazon Web Services (AWS) .................... 85, 360 Artific ial intelligence (Al) ........... 32, 80, 219, 288

423
Index

Assertion ticket ..................................................... 260 Benefits (Cont.)


Associate certification ........................................ 390 run anywhere ............................................. .......... 36
Association algorithm ........................................ 221 Big data ............................................................... 33, 303
Asynchronous replication ................................ 330 security ................................................................. 248
Attribute ................................................................... 162 Blocked transaction ............................................. 110
Audit .......................................................................... 278 Bring your own license (BYOL) ................... 37, 46
trails ...................................................................... 279 Buffer cache ............................................................. 322
Audit policy ............................................................ 278 Buildpack .................................................................. 166
create .. .. .. .. ... .... .. .. .. ...................... .. .. .. .. .. .. .. ........... 279 Business continuity .. ............................................. 63
Auditing ... .. .. ... .... .. .. .. ...................... .... .. .. .. .. .. .. ......... 278 Business function .. .. .. .. .. ......................................... 3 5
best practices ..................................................... 279 Business Function Library (BFL) ...................... 220
Au then tication ....... ........................ .. .. .. .. .. .. .... .. ..... 256 Business logic processing .................................... 35
ba Si C ...... .. ... ...... .. .. .. ... . .. .. ... .. .. ... .. .. .. .. .. .. .. .. ............. 256 Business rule processing ...................................... 35
external ................................................................ 259
tile .......................................................................... 123 c
Authorization ........................................................ 261
addition aI privileges .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ......... 266 C HANATEC 15 exam ........................................ 388
analytical privileges ....................................... 265 Calculation engine ................................................ 160
concept ................................................................. 262 Calculation vie'v .......................................... 160. 161
object privileges ............................................... 264 background ......................................................... 160
predefined catalog roles ............................... 262 K-a nony mi ty ...................................................... 270
predefined users ............................................... 262 search .................................................................... 23 9
shared ................................................................... 265 Capabilities ................................................................ 30
system pri vii eges .............................................. 263 advanced analytical processing ................... 31
trace .. .. .. .. ................................................. ............. 267 application development ................................ 30
t rou blesh ooti ng ................................................ 266 data management ............................................. 33
users and roles .................................................. 261 database management .................................... 33
Automated Predictive Library (APL) ............. 227 Capture and replay ............................................... 115
Automation Studio .............................................. 376 comparison report ........................................... 116
Cascade Lake ............................................................. 34
B Catalog browser ..................................................... 102
Catalog role .............................................................. 262
Background job ..................................................... 112 CCLScri pt .................................................................. 244
BACKINT SOK for SAP HANA .................... 74, 126 Certification ............................................................ 388
Backup ................................................... 124, 125, 370 exams .................................................................... 390
au tomate ......... .......................... .... .. .. .. .. .. ........... 125 Change and Transport System (CTS+) ........... 174
d iag nos tic tool .................................................. 127 Cha racteris ti cs .......................... .. .. .. .. .. .. .................... 29
encryption .......................................................... 275 Class ification algorithm ..................................... 221
replication .......................................................... 300 Client .......................................................................... 375
third-party tools ............................................... 128 install ..................................................................... 181
Ba ck up sched u !er ............................................ ..... 125 Client interface .. .. ................................................... 181
Benefits ........................................................................ 34 Client zone ............................................................... 273
agility ...................................................................... 36 Client/server model ............................................... 65
/ower TCO ............... ............................ .. .. .. .............. 36 Client-side encryption .......................................... 80
real results ............................................................. 38 Cloud deployment .................................... 28, 37, 85
reduce complexity .............................................. 35 platform lifecycle management ................. 131

424
Index

Cloud deployment (Cont.) Customer Center of Expertise


releases .................................................................... 47 (Custo mer COE) ................................................ 403
Cloud Foundry ................... 68, 143, 166, 178, 180 Customer Influence ............................................. 417
containers ........................................................... 178 Customer story ......................................................... 39
Cloud provider .......................................................... 85 find ............................................................................ 40
Cloud-enablem ent .................................................. 76
Cloud-first approach ........................................ 44, 47 D
CloudHook .............................................................. 226
Cluster ......................................................... 63, 64, 316 Dae m on ....................................................................... 59
Clustering algorithm ........................................... 220 Data aging ................................................................... 66
Code pushdown ............................. 31, 55, 157, 158 administration .................................................. 129
CodeJam ................................................................... 415 Data anonymization .................................... 80, 270
Cold data ............................................................ 66, 325 Data architect ...................................... 309, 310, 339
Cold store ................................................................. 321 Data architecture .................................................. 309
Collection ................................................................. 175 tools ....................................................................... 310
Columnar storage ............................................. 33. 55 Data at rest .............................................................. 275
history ...................................................................... 55 Data breach ............................................................. 247
limitations .......................................................... 327 Data center .............................................................. 344
Command line ....................................................... 131 administration .................................................. 129
Command line installer ..................................... 137 Data center architect ........................................... 338
Command line interface (CLI) ................ 103, 167 Data center architecture .................................... 337
cf ............................................................................. 144 tools ....................................................................... 339
XS ................................................................... 140, 144 Data controller ....................................................... 270
CommonCryptoLib .............................................. 181 Data definition language (DDL) ............. 169. 264
background ........................................................... 75 Data distribut ion ........................................... 63. 326
encryption ........................................................... 274 Data Distribution Optimizer (ODO) ................ 66.
Comoponent .......................................................... 135 310,332
compileserver ........................................................... 60 Data federation ...................................................... 297
Complex event processing (CEP) ............. 32, 243 background ........................................................... 74
compu teserve r .......................................................... 61 Data foundation .................................................... 150
Conceptual data model (COM) ........................ 312 Data governance ................................................... 287
Configuration ......................................................... 105 Data integration ............................................. 33. 285
compare ............................................................... 107 Data integratio n arch itect ................................. 286
templates ............................................................. 107 Data lake ............................................................... 33, 66
Configuration manager ..................................... 108 Data Lifecycle Manager ......... 181, 310, 311, 319,
Connection adapter ............................................. 293 324,333
Container group .................................................... 144 Data management ........................................ 33, 287
Continuous Computation Language tools ....................................................................... 292
(CCL) ............................................................ 217, 244 Data manipulation language (DML) ............. 264
Core Data and Services ............................. 170, 179 Data mart ................................................. 57, 252, 300
Core data services (CDS) ..................................... 169 replication .......................................................... 302
background .......................................... 74, 81, 170 Data masking .................................................. 79, 268
file extension ...................................................... 171 Junctions ............................................................. 269
persistence data model .................................. 172 implement .......................................................... 269
table definition ................................................. 170 templates ............................................................ 269
Data modeling ....................................................... 148

425
Index

Data orchestration ...................................... 287, 289 Deployment (Cont.)


Data partitioning .................................................. 315 data centers ........................................................ 344
Data Pipelines app ............................................... 290 decision ]'actors ................................................... 48
Data privacy ............................................................ 268 distributed system ........................................... 344
Data protection ..................................................... 268 licensing ................................................................. 46
Data provisioning ......................................... 33, 285 multicloud ........................................................... 344
Data Provisioning Adapter ............................... 293 on-premise ............................................ 71, 85, 350
Data Provisioning Agent ................................... 293 options ............................................................. 37, 84
Data replication ..................................................... 300 TDI ................................................................... 37, 351
Data scientist ................................................. 213, 215 technical ............................................................... 345
Data source ............................................................. 185 Design-time container (OTC) .................. 144, 172
Data source name (DSN) .................................... 185 Developer ....................................................... 147, 148
Data storage ............................................................... 62 Development .......................................................... 147
Data stream ................................................................ 33 administration .................................................. 130
Data t iering ...................................... 33, 66, 315, 320 artifacts ................................................................ 171
administration ................................................. 129 client interfaces ................................................. 181
persistent memory .......................................... 353 MTA ........................................................................ 149
Data virtualization .................................................. 33 native .................................................................... 163
Data volume snapshot ....................................... 126 tools ....................................................................... 150
Data wareho use ........................................................ 54 1veb-based data access ................................... 195
Database explorer ....................................... 102, 216 Development perspective ................................. 142
cloud ........................................................................ 88 Differential privacy .............................................. 270
graphs .................................................................. 234 Disaster recovery ........................................ 368, 369
security ................................................................ 281 features ................................................................. 370
trace files ............................................................. 117 diserver .............................................................. 61, 172
Database history ...................................................... 52 Distributed database ............................................ 316
hardware access times ..................................... 53 Distributed system ................................................. 63
SanssouciDB ......................................................... 54 advantages ......................................................... 317
Database isolation ................................................ 347 background .................................................. 64. 315
Database management ......................................... 33 configure .............................................................. 318
Database Migration Factory ............................. 368 deployment ......................................................... 344
Database Migration Option (OMO) ............... 366 nameserver ........................................................... 60
Database object ..................................................... 264 SAP HANA XS Advanced ................................ 319
Database user ......................................................... 261 scaling ................................................................... 315
restricted ............................................................. 263 system health ..................................................... 114
system .................................................................. 262 Docker ........................................................................ 203
Database-stored procedure ................................. 35 docstore ............................................................. 61. 175
Datastore .................................................................... 30 Document ...................................................... 174, 175
OBA Cockpit ................................ 101, 104, 365, 378 Documentation ..................................................... 405
DBSCAN .................................................................... 231 d pserver ...................................................................... 61
Delivery unit .......................................................... 174 Dynamic partition pruning .............................. 328
Deployment ............................................................... 28 Dynamic random-access memory
appliance ............................................... 37, 85, 350 (DRAM) ................................................ 62, 321, 353
best practices ........................................................ 48 Dynamic tiering ....................................................... 66
business scenarios .............................................. 48 Dynamic-link library (DLL) ................................ 184
cloud ........................................................................ 85

426
Index

E F
E-Academy ............................................................... 384 Fact extraction ....................................................... 241
Eclipse ........................................................................... 99 Failback ..................................................................... 372
IDE .......................................................................... 150 Fast restart option ................................................ 119
Editions ........................................................................ 67 Fault resiliency ...................................................... 368
cloud ......................................................................... 68 Fault tolerant .......................................................... 368
express .............................................................. 67, 87 Feature Scope Description .................. 68, 70, 408
platform ........................................................... 67, 87 Federated database .............................................. 316
standard ................................................................. 69 Fencing ..................................................................... 319
Efficiency ..................................................................... 82 File system layout ................................................ 138
Encryption ..................................................... 249, 271 Flowgraph ............................................. 217, 293, 312
algorithm ............................................................ 276 Forrester Wave ................................................... 41, 42
background ........................................................ 271 Function library ....................................................... 61
backup .................................................................. 275 Fuzzy search .................................................. 239. 240
client-side ............................................................... 80
enable ................................................................... 276 G
network ................................................................ 272
network zones ................................................... 272 Geocoding ............................................................... 231
Enterprise data warehouse (EDW} ................. 310 Geographic information system (GIS) ......... 228
build ...................................................................... 331 Getting Started Gu ide .................................. 72, 406
Enterprise information management GitHub ............................................ 77, 153, 207, 398
(EIM) ............................................ 33, 286, 291, 292 Go ................................................................................ 192
Enterprise Semantic Services (ESS) ................ 296 background ........................................................ 192
Entity extraction ................................................... 241 Go driver .................................................................. 192
EPM-MDS ................................................................. 198 Google BigQuery ................................................... 295
esserver ........................................................................ 61 Google Cloud Platform (GCP) ................... 85. 362
Event .......................................................................... 243 SAP HANA guides ............................................ 363
Event stream processing ............................ 32, 243 Governan ce, risk, and compliance (GRC) .... 249
Event-drive n architecture (EDA) .................... 243 Graph algorithm ................................................... 233
Exact search ............................................................ 239 Graph database ...................................................... 232
Execution agent .................................................... 167 Graph engine .......................................................... 233
Expensive statement trace ............................... 117 Graph processing ........................... 32, 83, 214, 232
Expensive Statements app ............. 111, 117, 156 background ........................................................... 78
Extensibility .................................................. 177, 318 Graph workspace viewer .......................... 216, 234
Extension node ............................................ 321, 322 Graphical calculation view ............................... 161
configure ............................................................. 322 GraphScript ............................................................. 233
External Machine Learning Library (EML) Grid ............................................................................. 231
architecture ........................................................ 225 Guided Answers ................................. 118. 403, 409
code snippets ..................................................... 226 topics .................................................................... 409
External Machine Learning library (EML) ... 225 troubleshooting ................................................ 267
Extract, transform, and load (ETL) ..... 33, 54, 295
Extraction ................................................................ 240 H
Hadoop ..................................................................... 245
background ................................................. 76, 304

427
Index

Hadoop (Cont.) IBM Power Systems .............................................. 355


integration ................................................ 305, 306 background ........................................................... 77
Hadoop distributed file system IBM System R ............................................................ 52
(HDFS) ......................................................... 304, 325 Implementation ...................................................... 57
HanaHaus ................................................................ 418 application server .............................................. 58
Hardware co nfiguration check ....................... 351 data mart ............................................................... 58
Hash partitioning ................................................. 328 greenfield ............................................................. 341
Hasso Plattner ................................................ 56, 391 native developrnent ........................................... 58
Hasso Plattner Institu te (HP!) .................. 54, 391 overview ............................................................... 340
HOB command ......................................................... 97 partners ................................................................ 342
hdbalm ................................................... 103, 140, 174 scenarios ................................................................ 57
hdbbackupcheck .......................................... 127, 128 sidecar ..................................................................... 73
hdbdaemon ............................................................ 369 sizing ..................................................................... 340
hdblcm ... 103, 131, 139, 181, 310, 311, 319, 324 user management ............................................ 252
background ........................................................... 73 Incident ..................................................................... 409
hdbsql ................................................................. 99, 182 In-database processing ......................................... 31
hdbuserstore .......................................... 99, 182, 186 Index ..................................................................... 53, 55
HDI container ............................................... 144, 172 full -text ................................................................. 239
create .................................................................... 172 search .................................................................... 238
HE RE .......................................................................... 230 indexserver ......................................................... 60, 61
Hexagon ................................................................... 231 background ........................................................... 60
High ava ilability ........................................... 317, 368 Ind ustry analyst ....................................................... 41
elements .............................................................. 369 Information Access (lnA) ......................... 195, 198
Hint ............................................................................ 156 expose ................................................................... 199
Hive ............................................................................ 305 Information view .................................................. 160
Horizontal aggregation ...................................... 236 Infrastructure-as-a-service (laaS) ............... 37, 86
Horizontal scalability ......................................... 314 providers .............................................................. 360
Host auto-failover ......................... 60, 74, 318, 369 INI fi le ......................................................................... 105
Hot data ....................................................................... 66 In-memory database ............................... 31, 35, 54
Hot store .................................................................. 320 concepts ................................................................. 52
HTIP .......................................................................... 149 Innovations ............................................................... 43
Huawei ...................................................................... 364 Installation ..................................................... 135, 201
Hybrid database ....................................................... 33 Integrated business environment (IDE) ...... 150
Hybrid deployment ............................... 37, 48, 344 Integration ............................................................... 285
Hybrid operational/analytical flows ....................................................................... 287
processing (HOAP) ............................................. 42 Hadoop ....................................................... 305, 306
Hybrid transaction/a na lytical tools ....................................................................... 287
processing (HTAP) .................................... 41, 160 Integration services ................................................ 28
Hype cycle ........................................................ 41, 219 Intel Optane ...................................................... 62, 353
Hyper-converged infrastructure (HCI) ........... 82 capacity ................................................................ 353
Hyperscaler ................................................................ 85 Intel Xeon Platinum 8280 processor ............... 34
Intelligence ................................................................ 82
I Intelligent enterprise ...................................... 35, 80
International Data Corporation (IDC) ............. 42
IBM ............................................................................. 355
IBM Cloud ................................................................ 364

428
Index

Internet ofThings (IoT) ............................... 32, 291 Linked database ..................................................... 297
security ................................................................. 248 Linux .......................................................... 98, 132, 356
Invisible takeover .......................................... 81, 372 command line ...................................................... 97
Live intelligence ....................................................... 44
J Log replication task ............................................. 371
Logon ticket ............................................................ 260
Java ............................................ ................................. 149
background ........................................................ 163 M
Java Archive (JAR) file .......................................... 183
Java Database Connectivity (JDBC) ......... 99, 183 Machine learning ................ 32, 80, 214, 218. 288
background ................................................. 80, 184 SAP Support ....................................................... 402
JavaScript ................................................................. 149 Maintenance ...................................................... 46, 47
background ........................................................ 163 cycles ........................................................................ 47
JavaScript Object Notation ()SON) ................. 175 releases .................................................................... 47
JSON document store .......................................... 174 MarketScapes ............................................................ 42
background ........................................................... 79 Massive online open courseware
SQJ. ......................................................................... 176 (MOOCs) .............................................................. 382
JSON web tokens ()WT) ....................................... 260 Master data table .................................................. 330
Ju pyter notebook .................................................. 189 Matrix ........................................................................ 225
Measure .................................................................... 162
K Memory access ......................................................... 53
Memory management .......................................... 96
K-anonymity .......................................................... 270 Memory Usage app .............................................. 119
Kerberos ................................................................... 259 Microsoft Azure .............................................. 85, 362
background ........................................................ 260 Microsoft Excel ...................................................... 187
Kernel profiler ........................................................ 117 Middle tier .................................................................. 30
Key performance indicator (KP!) .................... 108 Migration ................................................................. 364
K-means .................................................................... 231 AnyDB to SAP HANA ...................................... 365
K-nearest neighbors (KNN} ............................... 242 custom applications ....................................... 367
Knowledge base articles ..................................... 408 SUM DMO ........................................................... 366
Kubernetes .............................................................. 304 third-party applications ................................ 368
Miscellaneous algorithm ................................... 222
L Modeling perspective ......................................... 150
Monitor Landscape dashboard ....................... 114
Landscape management .................................... 374 Monitor Performance app ................................ 120
Learning journey .................................................. 382 Monitor Statements app ................................... 110
SAP HANA ........................................................... 382 Monitoring
Licensing .............................................................. 46, 68 performance ...................................................... 108
enterprise ............................................................... 68 proactive ............................................................. 122
r un ti me ................................................................... 68 Moun t point ........................................................... 138
standard ................................................................. 68 Multicloud environment .................................. 344
Ligh tweight Directory Access Protocol Multicontainer database (MDC) system ........ 60
(LDAP) ................................................................... 268 Multidimensional database ............................. 187
authentication .................................................. 155 Multidimensional expressions
background ........................................................... 79 (MDX) .......................................................... 160, 201
Linguistic search ................................................... 239 Mu ltidimensional services (MOS) ................. 198

429
Index

Multi node system ................................................... 64 0


Multiple components in one database
(MCOD) ................................................................ 345 Object privilege ...................................................... 264
Multiple components in one system 0 Data ......................................................................... 196
(MCOS) ................................................................. 345 background ......................................................... 196
Multistore table ..................................................... 323 consume ............................................................... 196
Multitarget application (MTA) ............... 103, 149 define metadata service ................................ 197
Multitarget system replication .......................... 81 libraries ................................................................. 196
Multitenant database container (MDC) services ................................................................. 195
background ........................................................... 76 OLE DB for OLAP (ODBO) ................................... 187
Multitier environment ....................................... 372 background ......................................................... 188
Online analytical processing (OLAP) ............... 28
N Online transactional processing (OLTP) ........ 28
On-premise deployment ...................................... 28
name server ................................................................ 60 Open Database Connectivity (ODBC) ............ 184
Native application ................................................ 149 background .................................................. 80, 186
Native datastore object (NDSO) ...................... 333 configure .................................................... 185, 186
flo wg ra ph s ..... .. .. .. ...................... .. .. .. .. .. .. .. .. .. ....... 3 3 3 define data sources .......................................... 185
Native development .................................... 58, 170 driver n1a nager .................................................. 185
Native SAP HANA transport ............................. 174 Open SQL ...................................... .... .... .. .. .. .. .. .......... 15 8
Natu ral language processing (NLP) ...... 238, 241 openCypher ............................................................. 234
Near-zero downtime maintenance open HPI .................................................................... 391
(nZDM) ................................................................. 371 openSAP .......................................................... 382, 392
N eo ............................................ 68, 88, 178, 180, 347 courses ........................................................ 387, 393
Network .................................................................... 374 digital badge ...................................................... 396
Network address translation (NAT) ............... 273 introduction to SAP HANA ............................. 56
Network administration ........................... 374, 375 Operating system platforms ............................ 356
web-based access .. .. .. .. .. .. .... .. .. .. .. .. .. .. .. .. .. .. .. ..... 375 Optimization .................. .. .. .. .. .. .. ............................. 108
Net\vork attached storage (NAS) ........... 273, 350 Options .................................................. .. .................... 68
Network encryption ............................................ 248 add-on products .................................................. 70
Network zone ......................................................... 272
client ..................................................................... 375 p
scale-out .............................................................. 319
security ................................................................ 273 Package ...................................................................... 174
ngd be.jar .. .. .. .. ..... .. .. .. ...................... .. .. .. .. .. .. .. .. ......... 18 3 Parallelized ............................................................... 327
Node ..... .. .. .. ....... .... .. .. .................... .. .. .... ........................ 32 Partition .................................................................... 326
Node. js .. .. .. .... ....... .. .. .................. .. .. .. ......................... 190 pruning ................................................................. 328
background ........................................................ 191 Password ................................................................... 25 7
client ..................................................................... 191 blackIist ................................................................ 258
Non-volatile memory (NVM) .............................. 62 Iifeti me .................................................................. 258
Non-volatile random-access memory Password policy ..................................................... 25 7
(NV RAM) .................................................... 3 21, 3 5 3 failed logon ......................................................... 258
NoSQL length and composition ................................ 258
data base ................................... .......... .. .. ............. 174 Iijeti me .................................................................. 258
diagrams ............................................................. 312 user lock ............................................................... 2 58
Persistence .. .... ........................... .. .. .. .. .. .. .................... 62

430
Index

Persistent memory .................... 62, 119, 321, 353 PuTI"Y ........................................................................... 97


background ........................................................ 353 Python ....................................................................... 188
implement ........................................................... 354 background ........................................................ 190
syntax example ................................................ 354 install .................................................................... 189
Persistent staging areas (PSA) .......................... 333 PITR ....................................................................... 127
Perso nal security environmen t (PSE) ........... 274 uses ........................................................................ 190
Plan Visualizer ....................................................... 156
Planned downtime ............................................... 371 Q
Platform lifecycle management ............. 97, 103,
130,131 Query optimizer .................................................... 329
install .................................................................... 135 Quick Sizer ............................................................... 341
interfaces ............................................................. 131
SAP HANA XS Advanced ............................... 141 R
Platform-as-a-service {PaaS) ...................... 86, 177
PJugin ........................................................................ 150 R
Powered by SAP HANA ................................... 58, 73 background ........................................................ 223
PowerShell .................................................................. 97 integration ................................................ 222, 223
Predictive algorithms ............................................ 32 server .................................................................... 222
Predictive Analysis Library (PAL) .............. 32, 83, Range partitioning ................... ........................... 328
216,220 Rapid Development Environment (ROE) ....... 76
algorithms .......................................................... 220 Real-time analytics ................................................. 35
Predictive analytics ............................. 32, 214, 218 Recommender systems ..................................... 221
background ........................................................ 219 recoverSys.py ......................................................... 127
Preprocessing algorithm ................................... 221 Recovery .......................................................... 124, 126
Preprocessor .............................................................. 61 considerations .................................................. 126
Pricing ....................................................................... 318 example ............................................................... 127
Principle of least privilege (PoLP) ......... 123, 262 Recovery period objective (RPO) .................... 369
Private cloud ....................................................... 85, 87 Recovery time objective (RTO) ............... 300, 369
Privileges .................................................................. 261 Red Hat ..................................... ................................ 358
additional ............................................................ 266 background ........................................................ 360
analytic ................................................................... 81 Red Hat Enterprise Linux (RHEL) ............ 98, 358
analytical .................................................. 265, 268 background ........................................................... 75
grant ...................................................................... 266 software components .................................... 359
manage ................................................................ 263 Redo log encryption ............................................ 275
object ..................................................................... 264 Regression algorithm ......................................... 221
select ...................................................................... 264 Relational database management
system ................................................................... 263 system (RDBMS) ............................... 52, 154, 232
Process map ............................................................ 313 Release theme ........................................................... 51
Product Availability Matrix (PAM) ......... 47, 133 Releases ....................................................................... 71
Product installer .................................................... 140 Remote data source ............................................. 297
Professional certification .................................. 390 Remote data synchronization ................ 298, 316
Provisioning ........................................................... 285 client ..................................................................... 299
Public cloud ......................................................... 85, 87 Rep1ication .............................................................. 300
providers .............................................................. 364 bidirectional ....................................................... 303
Public key infrastructure (PK!) ........................ 274 network administration ................................ 375
Publish-subscribe model ................................... 303 system ............................................................................ 3.4

431
Index

Replication (Con t.} SAP Cloud Platform .............................................. 177


table ...................................................................... 330 background ........................................................... 88
technologies .......................................................... 33 developn1ent ....................................................... 149
types ...................................................................... 331 integration ............................................................ 65
Repository ............................................ 142, 152, 171 use cases ............................................................... 177
Represen tatio nal State Transfer (REST) ....... 196 SAP Cloud Platform Big Data Services ........... 79,
Resource management ...................................... 118 288, 291
Restricted user .............................................. 254, 263 background ......................................................... 291
RISC architecture .................................................. 355 SAP Cloud Platform cockpit ................ 88, 90, 346
River Definition Language (RDL) ....................... 76 SAP Cloud Platform, SAP HANA
RLANG ....................................................................... 223 service ................... 47, 68, 71, 88, 149, 180, 346
Road map ..................................................................... 43 Azure ..................................................................... 362
sections ................................................................... 43 develop apps ....................................................... 180
themes ..................................................................... 44 platform lifecycle management ................. 131
Role ............................................................................ 261 releases ................................................................... 44
public .................................................................... 263 SAP Community .................................................... 411
support ................................................................. 263 SAP CoPilot .............................................................. 402
Round-robin parti tioning ................................. 328 SAP corporate fact sheet ....................................... 38
Row storage ............................................................... 55 SAP Data Hu b ...................................... 287, 288, 325
Ru by ........................................................................... 194 advantages ......................................................... 326
background ........................................................ 195 background ........................................................... 77
Ruby o n Rails .......................................................... 194 capabilities .......................................................... 289
RubyGems ............................................................... 194 cold data tiering ............................................... 325
Runtime container (RTC} .......................... 144, 172 launchpad ........................................................... 289
SAP Data Intelligence .......................................... 288
s SAP Data Services .............................. 237, 292, 295
background ......................................................... 296
SanssouciDB ............................................. 54, 55, 391 designer ................................................................ 295
SAP ActiveEmbedded .......................................... 400 SAP DB Control Cen ter ................................. 76, 101
SAP Ad aptive Server Ente rprise (SAP ASE) .... S7 SAP Develope r Center ......................................... 399
SAP Ad vanced SQL Migration ......................... 367 tutorials ................................................................ 399
data sources ....................................................... 367 SAP Digital Business Services ................ 342, 351.
SAP Agile Data Preparation ..................... 292, 296 400, 401
interface .............................................................. 297 SAP Download Manager ..................................... 204
SAP Application Performance Standard SAP Ea rly Adopter Care ......................................... 72
(SAPS) .................................................................... 342 SAP Ea rlyWatch Alert ........................................... 122
SAP Business Warehouse (SAP BW) ...... 322, 333 SAP Ed ucation .............................................. 381, 382
SAP BW/4HANA ............................................. 55, 322 certifications ...................................................... 388
SAP ce rtification ................................................... 388 courses .................................................................. 385
SAP Certified Solutions Directory .................. 128 SAP HANA ............................................................ 387
SAP Cloud Appliance Library ........... 91, 202, 334 SAP Enterprise Architecture
Azure ..................................................................... 362 Designer ........................ 288, 291, 310, 311. 339
solutions ................................................................. 92 background .................................................. 79, 314
SAP Cloud Applica tion Programming diagrams .............................................................. 312
Model ........................................................... 170, 179 homepage ............................................................ 312
reverse engineer ................................................ 313

432
Index

SAP Event Stream Processor ............................ 243 SAP HANA cockpit (Cont.)
background ........................................................... 75 manage landscape .......................................... 107
SAP HANA 1.0 ............................................................ 72 memory analysis .............................................. 120
SPS 03 ....................................................................... 72 memory resource management ................ 119
SPS 04 ...................................................................... 73 offline administration ................................... 101
SPSOS ....................................................................... 73 privileges .................................................... 263, 264
SPS 06 ...................................................................... 7 4 replay monitor .................................................. 116
SPS07 ....................................................................... 75 replication .......................................................... 302
SPS 08 ...................................................................... 75 security .............................................. 124, 249, 281
SPS 09 ...................................................................... 7 6 streaming analytics ........................................ 245
SPS JO ....................................................................... 77 system configuration ..................................... 106
SPS 11 ........................................................................ 77 sys tern overview ............................................... 108
SPS J2 ........................................................................ 78 system replication ........................................... 371
SAP HANA 2.0 ............................................................ 78 table redistribution ......................................... 329
develop apps ...................................................... 180 tracefiles ............................................................. 117
native development ........................................ 164 updates ................................................................ 102
PAM ... .. .. .. ... .... .. .. ........................ .. .. .. .. .... .. ............. 133 user groups ................................ .... .. .. .. .. .. .. .. .. .. .. . 25 6
SAP HANA cockpit ........................................... 101 user management ........................................... 254
SPS OJ ....................................................................... 79 workload analysis ........................................... 112
SPS 02 ....................................................................... 80 SAP HANA Data Management Suite ............. 287
SPS03 ....................................................................... 80 SAP HANA data \Varehousing
SPS04 ...................................................................... 81 foundation ................................................ 310, 331
SAP HANA Academy ............................................ 396 t ria I version ........................................... .. .. .. .. .. .. . 3 34
GitHub repositories ......................................... 398 SAP HANA database interactive termina l ..... 99
YouTu be playl is ts .. .. .. .. .. .. .. .. .. .. .. .. .. .. ................. 397 SAP HANA Deployment Infrastructure
SAP HANA Accelerator for SAP ASE .................. 57 (H DI) .. .. .. .. .. .. .. .. ...................................................... 171
SAP HANA Administration Guide ........... 72, 406 administration .................................................. 144
SAP HANA app lication lifecycle application /ifecycle management ........... 174
manage n1ent ........................ 103, 139. 140, 173 CDS ........................................................................ 171
SAP HANA client ................................................... 149 diserver ................................................................... 61
SAP HANA Cloud Services ................... 37, 45, 288 versus repository .............................................. 172
SAP HANA cl usters .................................................. 64 SAP HANA dynamic tiering ....................... 66, 323
SAP HANA cockpit ......................................... 97, 101 arch i tee tu re .................... .................................... 3 23
alerts .................................. ........ ........................... 121 background ................................................. 76, 324
anonymization views ..................................... 270 esserver ................................................................... 61
auditing ............................................................... 279 history ..................................................................... SS
authentication .................................................. 123 SAP HANA Enterprise Cloud ............................... 87
background ............................................ 76, 77, 79 background ........................................................... 88
backup sch edu Ier .. .. .. .. .. .. .. .. .. .. .. .. .. ................... 126 SAP HANA Finder """""""""""""""""""""""""" 39
backups .. ... .... .. .. .. ...................... .. .. .. .. ................... 125 SAP HANA hardware directory ................... 36, 77
cloud ......................................................................... 88 SAP HANA Interactive Education
data architecture .......................... ................... 311 (SH IN E) ................................................................. 206
editions .................................................................... 68 background ........................................................... 7S
encryption ........................................................... 276 dashboard .................................................. 208, 209
home ..................................................................... 115 deployn1ent options ........................................ 207
manage keys ...................................................... 277 getting started .................................................. 208

433
Index

SAP HANA interactive terminal ..................... 182 SAP HANA Web-Based Development
SAP HANA Lifecycle Management ............... 130, Workbench ................................................ 152, 164
281,318 background ........................................................... 74
SAP HANA Master Guide ...................................... 27 SAP HANA XS ............................................ 28, 65, 164
SAP HANA native storage extension ..... 66, 321 administration .................................................. 104
SAP HANA One ............................................... 86, 360 artifacts ................................................................ 164
SAP HANA Operation Expert and background ........................................... 74, 80, 165
Develope r Summit .......................................... 415 CL! ........................................................................... 144
SAP HANA platform lifecycle deprecation ......................................................... 164
management tool ............................................ 103 encryption ........................................................... 277
SAP HANA run time tools .................................. 102 network administration ................................ 375
SAP HANA Security Checklists and packages .............................................................. 174
Recommendations .......................................... 263 privileges .............................................................. 266
SAP HANA service broker .................................. 180 runtime roles ...................................................... 165
SAP HANA smart data access (SDA) ...... 33, 277, security ................................................................. 281
297, 316 user management ............................................ 253
background .................................................... 74, 77 SAP HANA XS Admin tool ....................... 142, 164
data source ......................................................... 297 SAP HANA XS Advanced ............. 65, 77, 163, 165
SAP HANA smart da ta integration administration ........................................ 102, 104
(SDI) ................................................................ 33, 292 application lifecycle management ... 139, 174
background ........................................................... 76 background .................................................. 80, 166
connection adapters ....................................... 293 CL! ........................................................................... 167
dpserver .................................................................. 61 Cloud Foundry ................................................... 179
SAP HANA smart data quality (SDQ) ........... 231, configure .............................................................. 168
292, 294 diserver ................................................................... 61
background ........................................................... 76 encryption ........................................................... 277
SAP HANA spatial serv ices ....................... 228, 231 install ..................................................................... 137
background ........................................................... 75 network administration ................................ 375
SAP HANA stream ing analytics .............. 32, 214, platform lifecycle management ................. 141
217,243 roles ........................................................................ 165
arch i t.ectu re ........................................................ 244 routing .................................................................. 167
background ................................................. 76, 243 runtime engines ................................................ 166
streaming server ................................................. 61 runtime versions ............................................... 166
studio .................................................................... 245 scale-out ............................................................... 319
SAP HANA studio .......................................... 99, 150 security ................................................................. 281
data architecture ............................................. 311 user management ............................................ 253
deprecation ............................................... 100, 151 SAP HANA XS Advanced Admin tool ............ 104
install .................................................................... 100 SAP HANA XS Advanced cockpit ........... 104, 143
modeler perspective ........................................ 151 advantages ......................................................... 168
privileges ............................................................. 265 SAP HANA XS Advanced Migration
replication .......................................................... 302 Guide ..................................................................... 208
security ................................................................ 250 SAP HANA, en terprise edition ........................... 46
system configuration ..................................... 106 SAP HANA, express ed ition .................. 46, 67, 87,
trace files ............................................................. 117 102, 201
SAP HANA transport for ABAP (HTA) ........... 174 background ........................................................... 78
cloud ...................................................................... 202

434
Index

SAP HANA, express ed it ion (Cont.) SAP Replication Server ................................ 33, 302
deployment options ........................................ 202 background ........................................................ 303
Docker ................................................................... 203 SAP S/4HANA .................................................. 55, 366
download manager ......................................... 205 SAP Sol ution Manager ... 105, 174, 339, 374, 378
GCP ........................................................................ 203 background ........................................................... 77
getting started ................................................... 204 SAP SQL Anywhere ............................................... 298
install .................................................................... 202 background ........................................................ 298
rnaster password .............................................. 205 SAP Streaming Analytics ................................... 243
server-only .......................................................... 202 SAP Support ................................................... 400, 401
virtual machine ................................................ 202 SAP Support Portal ............................................... 403
SAP HANA, platform edition ............................... 67 product support ............................................... 403
SAP HANA, runtime ed ition ................................ 47 SAP TechEd .............................................................. 413
SAP HANA, standard edition ............................... 46 SAP University Alliances ................................... 417
SAP Help Portal ............................................ 405, 407 SAP User Experience Commu nity ................. 417
administration .................................................. 406 SAP user groups .................................................... 416
development ...................................................... 406 SAP Vora .......................................................... 289. 304
Feature Scope Description ............................ 408 background ........................................................... 77
installation and upgrade .............................. 405 SAP \Veb Dispatcher ................................... 142, 165
reference .............................................................. 406 SAP \Veb IDE ........................................................... 152
security ................................................................. 406 background .................................................... 76, 78
what's new .......................................................... 405 CDS ........................................................................ 171
SAP Information Lifecycle Management .... 292 data architecture ............................................. 311
SAP Information Steward .................................. 292 editions ................................................................... 68
SAP Innovation Center Network .......... 417, 418 features ................................................................ 152
SAP Inside Track .................................................... 415 full -stack .............................................................. 179
SAP Landscape Management ......... 79, 105, 339, SHINE .................................................................... 207
371,374,376 SAP \Veb IDE for SAP HANA .................... 102, 152
dashboard ........................................................... 377 analytics .............................................................. 217
SAP Landscape Transformation calculation view ............................................... 161
Repli cation Server ........................... 33, 300, 331 enablefeatures ................................................. 218
background ........................................................ 300 features ................................................................ 153
configure ............................................................. 301 integration ......................................................... 287
SAP Learning Hub ................................................. 384 privileges ............................................................. 265
SAP Master Data Governance (SAP MDG) .... 292 streaming analytics ........................................ 245
SAP MaxDB ................................................................. 56 SAPinsider ............................................................... 418
SAP NetWeaver ......................................................... 58 SAPPHIRE NOW .............................................. 38, 413
distributed system .............................................. 64 keynote ................................................................... 38
SAP News Cen ter ...................................................... 82 roadmap ................................................................. 43
SAP Note ................................................................... 405 SAPUI5 ............................................................... 74, 149
SAP ONE Support Launchpad ................ 401, 408 Scale-out ................................................... 63, 314, 344
expert chat .......................................................... 402 administration .................................................. 129
SAP Partner Finder ............................................... 342 advantages ......................................................... 317
SAP PartnerEdge portal ...................................... 342 configure ............................................................. 318
SAP PowerDesigner .............................................. 314 Scale-up .................................................................... 314
SAP Predictive Analytics .................................... 227 advantages ......................................................... 316
background ........................................................ 227 persistent memory .......................................... 354

435
Index

Scaling .............................................................. 309, 314 Sizing .......................................................................... 340


persistent memory .......................................... 353 Social network analysis ...................................... 221
scriptserver ................................................................ 61 Software Download Center ............................... 134
Search ............................................................... 237, 238 background ......................................................... 135
functions ............................................................. 239 Software downloads ............................................. 410
types ...................................................................... 239 Software Update Manager (SUM) ................... 366
Secondary time travel ................................. 81, 372 Solid-state drive (SSD) ......................................... 119
Secure Shell (SSH) .................................................... 97 Solution brief ............................................................ 45
Secure Sockets Layer (SSL) ................................ 271 Spark Controller ........................................... 305, 325
Security .............................................................. 83, 247 background ........................................................... 79
administration ................................................. 123 Spatial clustering ................................................... 231
auditing ............................................................... 278 Spatial data .............................................................. 228
considerations .................................................. 281 manipulate ......................................................... 229
data privacy ....................................................... 268 methods ............................................................... 230
SAP HANA XS ..................................................... 281 types ...................................................................... 229
SAP HANA XS Advanced ............................... 281 Spatial engine ........................................................... 31
tools ...................................................................... 249 Spatial processing ................................ 83, 214, 228
user management ........................................... 251 SpiderMonkey ........................................................ 165
Security architect .............................. 247, 248, 282 SQL Analyzer ................................................. 113, 156
Security Assertion Markup Language (SAML) SQL console ............................................ 99, 176, 311
background ........................................................ 260 SQL Database Connectivity
Security Checklists and (SQLDBC) .................................................... 182, 183
Recommendations Guide ............................ 406 background .................................................. 84, 183
Security group ....................................................... 250 library .................................................................... 183
Security Guide ....................................................... 406 SQL parser ................................................................ 156
Segmentation ........................................................ 240 SQL plan cache ........................................................ 111
SELECT' ....................................................................... 30 SQL prompt ......................................... 102, 216, 311
Semantics ................................................................ 150 SQL statement
Series data ...................................................... 214, 235 issues ..................................................................... 113
aggregate ............................................................ 236 top .......................................................................... 112
scenarios ............................................................. 235 SQL trace ................................................................... 117
table syntax ....................................................... 216 SQL Trace Analyzer ............................................... 156
Series data function ............................................. 156 SQLScript ................................................. 35, 154, 156
Server-side JavaScript (XSJS) ............................ 163 AMDP .................................................................... 158
Service auto-restart ............................................. 369 best practices ..................................................... 157
Service-level agreement (SLA) graph ..................................................................... 233
recovery ............................................................... 127 reference ................................................................. 83
Session ...................................................................... 110 SQLScript debugger .............................................. 157
Sessions app ........................................................... 110 SSFS ................................................................... 274, 275
Shared business authorizations ..................... 265 Standard analytics .................................................. 36
Single data copy ....................................................... 35 Standby configuration ........................................ 318
Single database system ...................................... 345 Static partition pruning ...................................... 328
Single points-of-failure (SPOFs) ...................... 368 Statistical disclosure control ............................ 270
Single sign-on ........................................................ 249 Statistics algorithm .............................................. 221
Single-container database ................................... 60 statisticsserver ......................................................... 61
Single-host system ............................................... 344 Stemming ....................................................... 238, 240

436
Index

Storage area network (SAN) .................... 273, 350 T


Storage encryption ............................................... 248
Storage replication ..................................... 331, 370 Table partitioning .............................. 31S, 326, 327
Stream processing ................................................ 243 syntax example ................................................ 328
Streaming server ................................................... 243 Table placement .................................................... 329
streamingserve r ....................................................... 61 syntax example ................................................ 330
Structured data ...................................................... 237 Table redistribution ............................................. 329
Structured Query Language (SQL) .... 28, 98, 154 Table replication .......................................... 330, 331
background ........................................................ 154 syntax example ................................................ 331
data architecture ............................................. 311 Tagging ..................................................................... 240
document store ................................................. 176 Tailored data center integration (TOI) ........... 37,
dynamic ............................................................... 1S7 8S, 3Sl
j unctions .............................................................. 1S6 advantages ......................................................... 351
interface ............................................................... lSS background ........................................................... 7 4
performance ....................................................... 156 Takeover ................................................................... 372
privileges ............................................................. 162 Technical database ............................................... 2S4
statements ................................................ lSS, 21S Technical deployment ........................................ 34S
views ...................................................................... lSS types ...................................................................... 346
Subject matter expert exam ............................. 390 Technical user ........................................................ 2S4
Super user account ............................................... 123 Technologies ............................................................. s 1
Supervisor ................................................................ 349 hardware ............................................................. 3S2
Support ..................................................................... 381 Tenant database .................................... 60, 346, 347
support pack (SP) .................................................. 13S document store ................................................. 17S
Support package stack (SPS) ............... 48, 71, 13S isolation ............................................................... 274
background ........................................................... 71 Tensor ....................................................................... 22S
SUSE ........................................................................... 3S7 TensorFlow ................................................................. 32
advantages ......................................................... 3S8 integrate ....................................................... 80, 225
background ........................................................ 3S8 TensorFlow Mode lServer ................................... 22S
SUSE Li nux Enterprise Server (SLES) ...... 98, 357 Text analytics ...................................... 214, 237, 240
Sybase IQ .............................................................. SS, 66 background ........................................................ 238
Sy nchronous in m emo ry .................................. 371 configurations .................................................. 240
Synchronous on disk ........................................... 371 Text mining ............................................................ 242
Synchronous replication ................................... 330 junctions ............................................................. 242
System Health app ............................................... 114 Text Retrieval and Information
System identifier (SID) ........................................... S9 Extraction (TREX) engine .................. SS, 60, 64
System management ............................................. 82 Thread ....................................................................... 109
System privilege .................................................... 263 Threads app ............................................................. 109
System prope rties ................................................ lOS Three-tier data model .................. 30, 6S, 1S6, 2S2
System replication ..................... 83, 331, 370, 371 Time series .............................................................. 214
active/active read-enabled .......................... 373 algorithms .......................................................... 221
background ........................................................... 74 Token ......................................................................... 240
configure ............................................................. 371 To keniza tio n .. ..................................... .. .. .... .. .. .. .. .. . 240
multitarget ......................................................... 373 Total cost of ownership (TCO) ............................ 36
multitier ............................................................... 372 Trace files ................................................................. 1S6
Traci ng ...................................................................... 117

437
Index

Trai ning .................................................................... 381 background ......................................................... 349


classroom ............................................................ 384 Vishal Sikka ................................................ 56, 70, 393
courses ................................................................. 385 VM,vare ..................................................................... 349
e·learning ............................................................ 384 background ........................................................... 77
Translytical database ................................... 42, 160
Transport Laye r Security (TLS) ............... 224, 271 w
Tutoria l ..................................................................... 399
Warehouse architect ............................................ 332
u Warm data .................................................................. 66
store ....................................................................... 320
UltraLite database ................................................ 299 Web interface .......................................................... 132
Unified installer ....................................................... 73 Web-based data access ........................................ 195
Unplanned downtime ........................................ 371 WhatsApp Product Support .............................. 403
Unst ru ctured data ................................... ............. 23 7 Wire pro to co1 .......................................................... 3 25
Update .............................................................. 135, 138 Workload Analyze r tool ...................................... 111
Use case ....................................................................... 39 Workload m anagement ............................... 96, 122
map tool ................................................................. 40 Wrapper .......................................................... 103. 215
User Account and Authentication (UAA) ... 166 EML ........................................................................ 22 7
User group ...................................................... 254, 256
User lock ................................................................... 258
User management ............................................... 251
x
imp/en1entation ............................................... 252 X.509 client certificate ........................................ 261
Use r type .................................................................. 254 XML for Analysis (XMLA) ......................... 160, 200
Users table ............................................................... 257 background ......................................................... 200
POST request ...................................................... 200
v XMLA .......................................................................... 195
xscontroller ............................................................. 166
Vector ........................................................................ 225 xsengi ne ..................................................... 61. 73. 164
Vertica l aggregation ............................................ 236 xsexecag en t ............................................................. 167
Vertica l scalability ................................................ 314 xs uaa server ............................................................. 166
Very large database (VLDB) .............................. 119 X-\Ni ndows .. .. .. .. ........................... .... .... .... .. .. .. .......... 131
Virtual m achine ......................................... ........... 20 2
Virtual private networks (VPN) ....................... 273 y
Virtual table ............................................................ 298
Virtualization ................................................ 346, 348 YouTube playlists .................................................. 397

438

You might also like