![]()
1章 内存计算概述 1
1.1 内存计算的兴起 1
1.1.1 硬件的发展 2
1.1.2 软件的发展 3
1.1.3 企业应用的需求 4
1.2 内存计算技术分类 5
1.2.1 内存数据库 5
1.2.2 内存数据网格 6
1.3 典型内存数据管理产品 7
1.3.1 Oracle TimesTen 7
1.3.2 Oracle Database In-Memory 9
1.3.3 MySL HeatWave 11
1.3.4 Oracle Coherence 13
1.3.5 SAP HANA 15
1.3.6 Redis 17
2章 搭建Database In-Memory实验环境 20
2.1 虚拟化引擎Oracle VM VirtualBo 21
2.2 版本控制系统Git
. 虚拟机环境管理工具Vagrant
2.4 安装示例表与数据 26
2.4.1 随书示例 26
2.4.2 Star Schema Benchmark示例 27
2.4.3 Oracle数据库标准示例 30
2.4.4 TPC-H基准示例 30
2.5 命令行编辑工具rlwrap 31
2.6 数据库开发与管理工具SL Developer 32
2.6.1 Windows下的SL Developer安装 32
2.6.2 Linu下的SL Developer安装 33
2.6.3 使用SL Developer连接数据库 33
2.7 Database In-Memory学习资源 35
2.7.1 文档资源 35
2.7.2 Database In-Memory官方博客 36
2.7.3 动手实验资源 36
2.7.4 My Oracle Support 37
2.7.5 视频学习资源 39
3章 Database In-Memory基本概念与架构 40
3.1 Oracle数据库基本概念 40
3.1.1 Oracle数据库版本简介 40
3.1.2 Oracle数据库企业版选件 42
3.1.3 数据库管理包 43
3.1.4 数据库版本号 44
3.1.5 数据库升级与更新 44
3.2 Database In-Memory体系架构 48
3.2.1 双格式存储 48
3.2.2 Oracle数据库内存结构与管理 49
3.. Database In-Memory架构 51
3.2.4 内存压缩单元架构 52
3.3 Eadata作为佳Database In-Memory平台 53
3.4 何时使用Database In-Memory 55
3.4.1 Database In-Memory适用场景 55
3.4.2 分析型查询与应用的考虑 56
4章 Database In-Memory配置与发布 58
4.1 配置与发布基本流程 58
4.2 启用Database In-Memory 58
4.2.1 In-Memory Area初始设置 58
4.2.2 多租户下的In-Memory Area设置 60
4.. 调整In-Memory Area大小 61
4.2.4 Base Level特 62
4.2.5 常见错误与处理 63
4.3 指定Database In-Memory对象 65
4.3.1 哪些对象可以发布到内存列式存储 65
4.3.2 开启和关闭INMEMORY属 65
4.4 发布INMEMORY对象 67
4.4.1 确认对象已发布 67
4.4.2 发布优先级与自动发布 69
4.4.3 通过查询手工发布 71
4.4.4 通过PL/SL子程序手工发布 71
4.4.5 通过初始化参数控制发布 76
4.5 重新发布 76
4.6 发布进程与发布速度 79
4.7 指定内存压缩级别 82
4.8 内存列式存储与行式存储映 84
4.9 移除数据库对象 91
4.10 禁用Database In-Memory 93
5章 Database In-Memory管理工具 96
5.1 SL Developer 96
5.2 Oracle Enterprise Manager 97
5.2.1 In-Memory Central 98
5.2.2 SL能分析器 101
5.3 命令行管理工具 103
5.3.1 SL Plus 103
5.3.2 SLcl 107
5.3.3 Data Pump 112
5.4 统计信息与执行计划 113
5.4.1 优化器统计信息 113
5.4.2 SL执行统计信息 115
5.4.3 解读执行计划 117
5.4.4 生成和显示执行计划 118
5.5 Oracle数据库建议器 121
5.5.1 In-Memory建议器 121
5.5.2 压缩建议器 126
5.6 实时SL监控 128
5.7 Database In-Memory初始化参数 132
5.8 Database In-Memory视图 134
5.8.1 数据字典视图 134
5.8.2 动态能视图 135
5.8.3 In-Memory视图使用示例 137
5.9 优化器提示 140
6章 Database In-Memory基础能优化 142
6.1 列格式组织 142
6.2 内存存储索引 145
6.3 SM向量处理 148
6.4 数据压缩 152
6.4.1 行级压缩 152
6.4.2 混合列压缩 157
6.4.3 内存列压缩 160
6.5 作下推 168
6.5.1 过滤谓词下推 169
6.5.2 聚合下推 170
6.5.3 下推与内存存储索引 173
6.6 In-Memory联结 173
6.6.1 联结方法 173
6.6.2 In-Memory联结与布隆过滤器 175
6.6.3 部分表发布时的In-Memory联结 183
6.7 In-Memory聚合 184
6.7.1 In-Memory聚合基本概念 184
6.7.2 In-Memory聚合能比较 186
6.8 索引优化 191
7章 Database In-Memory高级能优化 194
7.1 In-Memory表达式 194
7.1.1 In-Memory虚拟列 194
7.1.2 In-Memory Epression 198
7.2 In-Memory联结优化 203
7.2.1 联结组(Join Group) 203
7.2.2 In-Memory深度向量化 208
7.3 In-Memory数据类型优化 210
7.3.1 In-Memory JSON列 210
7.3.2 In-Memory优化运算 216
7.3.3 In-Memory全文本列 218
7.3.4 In-Memory Spatial支持 222
7.4 In-Memory扫描优化 226
7.4.1 In-Memory动态扫描 226
7.4.2 In-Memory混合扫描 229
8章 Database In-Memory与高可用
8.1 Oracle高可用架构
8.2 Database In-Memory与RAC 5
8.2.1 利用OCI搭建RAC实验环境 5
8.2.2 利用Vagrant搭建RAC实验环境
8.. In-Memory数据分布 243
8.2.4 In-Memory复制 250
8.2.5 In-Memory与并行执行 252
8.2.6 In-Memory与实例子集发布 257
8.2.7 实例失效时的In-Memory重新发布 266
8.3 Database In-Memory与ADG 270
8.3.1 利用OCI搭建ADG实验环境 270
8.3.2 利用Vagrant搭建ADG实验环境 272
8.3.3 ADG基本概念与Database In-Memory参数 275
8.3.4 ADG常用管理和监控命令 276
8.3.5 主备数据库发布相同的对象 279
8.3.6 仅在备数据库发布对象 280
8.3.7 主备数据库发布不同的对象 282
8.3.8 Database In-Memory与ADG主备切换 289
8.4 In-Memory FastSr 293
9章 Database In-Memory与可管理 296
9.1 In-Memory自动数据优化 296
9.1.1 自动数据优化基本概念 296
9.1.2 In-Memory自动数据优化 300
9.2 Automatic In-Memory 307
9.2.1 自动In-Memory管理 308
9.2.2 自治In-Memory管理 311
9.3 Database In-Memory与分区 314
9.3.1 分区发布 315
9.3.2 分区裁剪 316
9.3.3 智能分区联结 317
9.3.4 分区交换 319
10章 Database In-Memory与大数据 322
10.1 Database In-Memory与外部表 322
10.1.1 外部表基本概念 322
10.1.2 In-Memory普通外部表 324
10.1.3 In-Memory分区外部表 333
10.1.4 In-Memory混合分区表 336
10.2 内存优化行存储 338
10.2.1 行存储快速查询 338
10.2.2 行存储快速摄入 342
10.3 Eadata In-Memory列格式支持 345
10.3.1 In-Memory列式缓存基本作 346
10.3.2 RAC环境下的In-Memory列式缓存 349
10.3.3 In-Memory列式缓存能比较 351