第1章 话说内存计算 1
1.1 企业应用系统架构和限制因素 2
1.2 难以实现的实时计算 3
1.2.1 信息、延迟和价值 4
1.2.2 OLTP和OLAP合理分离 6
1.3 软件架构与硬件发展 6
第2章 实时数据平台 9
2.1 旧瓶颈和新问题 10
2.1.1 内存计算也有麻烦 12
2.1.2 多核CPU时代 13
2.1.3 打破FSB瓶颈 13
2.1.4 高效利用NUMA 15
2.1.5 CAP的偏向性 16
2.2 SAP HANA演化史 17
2.3 掀起SAP HANA的盖头 20
2.4 SAP HANA的创新 24
2.4.1 SAP HANA的“看家本领” 25
2.4.2 行存储、列存储以及历史表 28
2.4.3 并发控制和一致性 33
2.4.4 数据更新 37
2.4.5 聚合或SQL 42
2.4.6 压缩比例 44
2.4.7 数据分区 47
2.4.8 最小化传输数据 50
2.4.9 并行处理 50
第3章 SAP HANA架构介绍 52
3.1 SAP HANA及相关外围系统 52
3.1.1 SAPHANA系统 54
3.1.2 Index Server 56
3.1.3 XS Server 58
3.1.4 SAP HANA的开发接口 59
3.1.5 分布式SAPHANA系统 61
3.2 SAP HANA技术路线图 63
3.3 一体化设备的竞争 65
3.3.1 不同的创新 65
3.3.2 内存计算与缓存数据 67
3.3.3 混搭和简约 68
3.3.4 SAP HANA与Teradata及Oracle系列产品的对比 69
3.4 实时计算的应用价值 70
第4章 SAP HANA应用场景 72
4.1 数据集市和实时报表 73
4.2 企业级数据仓库 75
4.3 SAP应用加速 81
4.4 创新应用平台 82
4.5 高性能数据库 85
第5章 SAP HANA基础知识 86
5.1 实施SAPHANA前的准备工作 86
5.1.1 HANA项目的一些共同关注点 87
5.1.2 技能要求和工作范围 88
5.2 软件安装 89
5.2.1 SAP HANA硬件准备 90
5.2.2 SAPHANA软件准备 91
5.2.3 安装SAP HANA数据库 92
5.2.4 安装SAPHANA工作台 98
5.2.5 安装SAPHANA客户端 100
5.3 SAP HANA工作台的使用 102
5.3.1 初次使用SAPHANA工作台 103
5.3.2 添加SAP HANA系统 105
5.3.3 建模工具 108
5.3.4 管理工具 111
5.3.5 快速创建数据库表 113
5.3.6 使用SQL编辑器 114
5.4 本书使用的数据库表 115
第6章 加载数据到SAP HANA 118
6.1 关于Schema 119
6.2 使用IMPORT命令 123
6.2.1 使用IMPORT向导工具从本地加载数据 123
6.2.2 使用IMPORT命令从服务器端加载数据 126
6.3 使用SLT 127
6.3.1 基本原理 127
6.3.2 安装和配置 129
6.3.3 SLT场景演示 130
6.3.4 SLT基本管理 140
6.4 使用DS 149
6.4.1 演示环境介绍 150
6.4.2 方法1:全量加载 150
6.4.3 方法2:增量加载——表比较 163
6.4.4 方法3:增量加载——基于时间戳 170
6.4.5 方法4:增量加载——数据库CDC 184
6.5 数据加载方式小结 194
第7章 SAP HANA建模入门 195
7.1 建模准备 196
7.1.1 分解TPC-H 196
7.1.2 建模用户授权 197
7.1.3 新建Package 200
7.2 属性视图 201
7.2.1 属性视图——客户主数据 202
7.2.2 属性视图——供应商部件 216
7.3 分析视图 218
7.3.1 步骤1:创建分析视图 218
7.3.2 步骤2:添加事实表 219
7.3.3 步骤3:添加属性视图 221
7.3.4 步骤4:为视图添加新列 223
7.3.5 步骤5:指定分析指标 224
第8章 SAP HANA建模进阶 226
8.1 计算视图 226
8.1.1 基本工作界面 226
8.1.2 计算操作 229
8.2 示例1:计算视图——可视化方式 233
8.3 SQLScript 237
8.3.1 表类型 238
8.3.2 存储过程 239
8.3.3 计算引擎函数 240
8.4 示例2:计算视图——脚本方式 241
第9章 HANA内容生命周期管理 245
9.1 创建DU 246
9.2 创建Package 251
9.3 导入和导出功能简介 253
9.3.1 演示1:导出DU 255
9.3.2 演示2:Developer Mode下的导出 256
9.4 生成技术文档 258
第10章 SAP HANA与商务智能的结合 259
10.1 SAP Visual Intelligence 261
10.1.1 创建Ⅵ文档 262
10.1.2 连接到SAPHANA 262
10.1.3 探索和分析数据 264
10.2 SAP BusinessObjects Explorer 265
10.2.1 步骤1:配置Explorer和HANA之间的连接 265
10.2.2 步骤2:创建信息空间 272
10.2.3 步骤3:开始分析数据 275
10.3 SAP Web Intelligence 276
10.3.1 在HANA信息模型上构建Universe 277
10.3.2 Web Intelligence数据展现 284
10.3.3 扩展话题:在传统BI语义层还是HANA数据库中建模 288
10.4 Excel 288
10.4.1 HANA建模中的Hierarchy 289
10.4.2 使用Excel数据透视表分析HANA数据 292
10.5 Tableau 296
10.5.1 使用Tableau Desktop连接SAPHANA 296
10.5.2 Tableau Desktop数据分析 300
第11章 SAP HANA应用开发 303
11.1 ABAP和SAP HANA开发 304
11.1.1 SAP HANA对ABAP开发的影响 304
11.1.2 ABAP访问HANA的准备工作 307
11.1.3 配置连接 308
11.1.4 三种ABAP访问SAP HANA的方式 312
11.2 SAP HANA加速器 323
11.2.1 Basis Kernel的支持 323
11.2.2 加速的原理 324
11.2.3 准备工作和配置步骤 325
11.2.4 为ABAP程序创建XML配置文件 326
11.2.5 将ABAP程序配置为加速模式 328
11.2.6 SAP标准加速器方案 330
11.2.7 加速器方案的适用性 333
11.3 R和SAP HANA 334
11.3.1 配置一个在线软件资源库 335
11.3.2 安装R语言所需的编译器 339
11.3.3 安装R语言 341
11.3.4 安装R服务器 342
11.3.5 配置SAP HANA Server和R的集成 343
11.3.6 演示:SAPHANA SQLScript调用R 346
第12章 SAP HANA分布式架构实战 351
12.1 HANA分布式架构介绍 351
12.2 HANA分布式架构的硬件方案介绍 352
12.3 惠普公司的HANA服务器介绍 354
12.3.1 单节点HANA服务器 354
12.3.2 分布式HANA服务器配置 354
12.3.3 HANA集群的灾备恢复方案 355
12.4 演示:HANA分布式架构 358
12.4.1 步骤1:在HANA服务器和存储服务器之间配置NFS 359
12.4.2 步骤2:安装HANA主服务器 363
12.4.3 步骤3:安装HANA工作服务器 366
12.4.4 步骤4:安装HANA备用服务器 367
12.5 HANA分布式架构的文件结构 370
12.6 演示:模拟服务器停机 372
12.6.1 HANA系统的最初状态 372
12.6.2 测试1:工作服务器停机 373
12.6.3 测试2:主服务器停机 375
第13章 SAP HANA系统管理 377
13.1 启动和停止 378
13.2 备份、恢复和升级 379
13.2.1 备份 381
13.2.2 恢复 387
13.2.3 升级 390
13.3 内存使用管理 391
13.3.1 内存使用监控 392
13.3.2 SAPHANA内存限制配置 394
13.3.3 内存操作 395
13.4 表分区管理 397
13.4.1 如何查看表分区 398
13.4.2 单层分区的创建 400
13.4.3 多层分区的创建 402
13.4.4 多HANA节点下的分区 404
13.4.5 分区后的基本操作 406
13.4.6 演示——分区前后的性能差异 411
13.5 系统参数配置 413
13.5.1 DeltaMerge 414
13.5.2 数据加载 422
13.5.3 备份相关配置 426
13.5.4 安全策略配置 427
13.6 系统监控 428
13.6.1 SAPHANA工作台 428
13.6.2 DBACockpit工具 436
13.7 审计 438
13.7.1 激活审计对象 439
13.7.2 创建审计策略 439
13.8 安全管理 441
13.8.1 用户管理 442
13.8.2 认证管理 445
13.8.3 权限管理 447
附录A SAP HANA应用商店 452
附录B 学习环境 454
附录C SAP HANA学习资源 456