书籍详情

商业银行数据库管理实践

商业银行数据库管理实践

作者:王飞鹏,王宁,张聪,马学涛 著

出版社:清华大学出版社

出版时间:2021-09-01

ISBN:9787302587576

定价:¥128.00

购买这本书可以去
内容简介
  《商业银行数据库管理实 践》共12 章,第1~3 章讲解在金融科技大潮下,商业银行数据库架构转型的新思路,随后阐述集中式 到分布式数据库实践,以及从小型机迁移到x86 平台的实践;第4~6 章讲述商业银行Db2、MySQL、GoldenDB等数据库新系统上线以及数据库版本升级等重要内容;第7~9 章讲述Db2、MySQL、GoldenDB 等数据库故 障诊断理论及实战案例;第10、11 章分别讲述Db2 和MySQL 数据库的性能优化;第12 章主要讲述笔者对 商业银行数据库管理方面的思考。《商业银行数据库管理实 践》主要面向企业(尤其是商业银行)的数据库架构师、数据库管理员、应用开发人员和数据库技术决 策人员,也适合大学生学习数据库使用。
作者简介
暂缺《商业银行数据库管理实践》作者简介
目录
第1章  商业银行数据库架构转型 1
1.1  商业银行信息科技发展环境 1
1.1.1 “十四五”规划 2
1.1.2  金融科技发展规划 2
1.1.3  银保监会监管新趋势 3
1.2  商业银行信息科技体系 3
1.2.1  组织架构 4
1.2.2  制度流程 4
1.2.3  IT基础设施 5
1.2.4  运维支撑 6
1.2.5  容灾体系 7
1.2.6  信息安全 8
1.3  基于ITIL规范的运维体系 9
1.3.1  事件处理 9
1.3.2  问题处理 9
1.3.3  变更实施 9
1.3.4  应急处置 9
1.3.5  安全配置基线 10
1.4  数据库架构转型 10
1.4.1  关系数据库起源 11
1.4.2  从商业数据库到开源数据库转型 11
1.4.3  从集中式到分布式数据库转型 12
1.4.4  国产数据库发展 13
1.4.5  数据库选型策略 15
1.5  转型对DBA团队的挑战 15
1.5.1  组织结构 16
1.5.2  文化建设 16
1.5.3  人才梯队建设 16
1.6  新技术运用和输出 17
1.6.1  NoSQL数据库 17
1.6.2  NewSQL数据库 18
1.6.3  数据库网格 19
1.6.4  新技术运用建议 20
1.6.5  新技术输出建议 21
小结 21
第2章  从集中式到分布式数据库 23
2.1  从某商业银行电商管家系统谈起 24
2.1.1  物理部署架构 24
2.1.2  应用服务器性能瓶颈及解决方案 25
2.2  从集中式到分布式数据库——电商管家系统演进之路 25
2.2.1  硬件扩容方案——摩尔定律失效导致效果有限 26
2.2.2  Redis缓存方案——解决高并发性能问题 27
2.2.3  MySQL读写分离方案——解决高读写比性能问题 28
2.2.4  分库分表方案——解决性能和容量瓶颈问题 29
2.2.5  分布式数据库中间件方案——通过中间件透明访问数据库 31
2.2.6  分布式数据库方案——通过数据库解决所有问题 34
2.3  GoldenDB数据库的前世今生 35
2.3.1  GoldenDB数据库的研发和运用历程 36
2.3.2  GoldenDB数据库逻辑架构 37
2.3.3  GoldenDB数据库部署架构 38
2.3.4  GoldenDB数据库关键创新技术 39
2.3.5  GoldenDB数据库事务的ACID特性 41
2.4  GoldenDB数据库与CAP理论 43
2.4.1  什么是CAP理论 43
2.4.2  GoldenDB保证一致性 44
2.4.3  GoldenDB程度保证可用性 45
2.4.4  GoldenDB保证分区容错性 45
2.5  GoldenDB数据库应用开发和运维实践 46
2.5.1  分布式数据库带来的挑战 46
2.5.2  应用开发方面的应对措施 47
2.5.3  生产运维方面的应对措施 48
2.5.4  技术规范的制定和落实 49
小结 50
第3章  从小型机迁移到x86服务器 51
3.1  迁移项目概述 51
3.1.1  商业汇票系统下移背景与目标 52
3.1.2  迁移计划 52
3.1.3  数据迁移原理 53
3.1.4  迁移难点分析 54
3.2  小型机与x86服务器大比拼 54
3.2.1  计算资源对比分析 55
3.2.2  存储资源对比分析 56
3.2.3  可扩展性对比分析 57
3.2.4  可靠性对比分析 57
3.2.5  小型机与x86服务器计算资源实测对比分析 58
3.3  小型机下移x86服务器的资源转换方案 59
3.3.1  x86服务器资源转换原则 59
3.3.2  x86服务器资源转换方案 59
3.3.3  商业汇票系统资源转换结果 61
3.4  基础软件版本升级与架构优化 61
3.4.1  升级策略 62
3.4.2  不同版本差异性对比 63
3.4.3  软件架构优化 65
3.4.4  商业汇票系统软件升级和架构优化结果 66
3.5  小型机下移x86服务器系统测试方案 67
3.5.1  传统测试方法 67
3.5.2  高仿真测试方法 68
3.5.3  性能测试评估原则 70
3.5.4  测试方法选择策略 71
3.5.5  商业汇票系统测试方案选择结果 72
3.6  小型机下移x86服务器实施 72
3.6.1  Java程序迁移 72
3.6.2  C/C 程序迁移 74
3.6.3  数据库离线迁移 75
3.6.4  数据库平滑迁移 82
3.6.5  数据库迁移方案的选择策略 91
3.6.6  商业汇票系统数据库平滑迁移步骤 92
小结 101
第4章  集中式数据库上线部署 102
4.1  部署需求 102
4.1.1  逻辑架构 103
4.1.2  功能性需求 104
4.1.3  非功能性需求 105
4.1.4  容灾需求 106
4.1.5  某银行网络贷款系统部署需求结论 107
4.2  数据库部署环境规划 108
4.2.1  计算资源规划 108
4.2.2  存储资源规划 109
4.2.3  网络资源规划 110
4.2.4  数据库选型 111
4.2.5  灾备规划 112
4.2.6  某银行网络贷款系统规划结论 113
4.3  Db2数据库部署 113
4.3.1  高可用架构选择 114
4.3.2  软件安装 115
4.3.3  用户创建 116
4.3.4  实例创建 117
4.3.5  数据库创建 117
4.3.6  按照规范配置参数 117
4.3.7  灾备方案实施 120
4.3.8  某银行网络贷款系统数据库部署方案 123
4.4  MySQL数据库部署 123
4.4.1  高可用架构选择 124
4.4.2  软件安装 127
4.4.3  用户创建 127
4.4.4  数据库创建 128
4.4.5  按照规范配置参数 129
4.4.6  灾备搭建 130
4.5  监控、巡检和应急脚本部署 132
4.5.1  监控脚本部署 132
4.5.2  巡检脚本部署 133
4.5.3  应急脚本部署 134
4.6  集中备份方案的制订与实施 134
4.6.1  备份方案 135
4.6.2  备份策略 136
4.6.3  备份实施 137
4.6.4  某银行网络贷款系统备份方案 137
小结 138
第5章  分布式数据库上线部署 139
5.1  部署需求分析 140
5.1.1  某商业银行对私业务平台简介 140
5.1.2  功能性需求 140
5.1.3  非功能性需求 141
5.1.4  灾备需求 142
5.1.5  部署需求分析结论 143
5.2  基础软硬件环境规划 144
5.2.1  总体部署规划 144
5.2.2  计算资源规划 145
5.2.3  存储资源规划 147
5.2.4  网络资源规划 148
5.2.5  对私BP系统规划结论 149
5.3  GoldenDB分布式数据库部署 149
5.3.1  按照规范配置操作系统 150
5.3.2  安装管理节点双机软件 151
5.3.3  安装GoldenDB集群软件 154
5.3.4  创建GoldenDB集群 158
5.3.5  向集群中添加GTM节点 159
5.3.6  向集群中添加数据分片 160
5.3.7  向集群中添加DBProxy节点 161
5.3.8  创建DBProxy连接实例 161
5.3.9  按照规范配置数据库参数 164
5.3.10  数据迁移方案 167
5.4  监控、巡检和应急脚本部署 170
5.4.1  监控脚本部署 170
5.4.2  深度巡检工具部署 171
5.4.3  自动化应急脚本部署 173
5.5  集中备份方案的制订与实施 174
5.5.1  备份方案 175
5.5.2  备份策略 175
5.5.3  备份实施 175
小结 177
第6章  商业银行数据库升级 178
6.1  商业银行数据库升级概述 178
6.1.1  为什么要升级数据库 178
6.1.2  数据库升级策略 179
6.2  规划数据库升级 180
6.2.1  数据库升级前评估 180
6.2.2  规划数据库服务器升级 181
6.2.3  规划数据库客户端升级 183
6.2.4  规划数据库应用程序升级 184
6.3  测试方案的选择 186
6.3.1  传统测试方案 186
6.3.2  高仿真测试方案 187
6.3.3  机器人流程自动化测试方案 188
6.3.4  各种测试方案对比 189
6.4  制订数据库升级方案 190
6.4.1  数据库版本升级 190
6.4.2  数据库升级回退方案 197
6.4.3  方案制订方面的建议 200
6.5  数据库升级实战——某商业银行理财平台数据库升级 202
6.5.1  理财平台系统数据库升级规划 202
6.5.2  使用原地升级方案升级理财平台数据库 204
6.5.3  使用原地回退方案对理财平台数据库逆向升级 212
6.5.4  使用备份恢复升级方案升级理财平台数据库 215
6.5.5  使用备份恢复回退方案对理财平台数据库逆向升级 221
小结 222
第7章  Db2常用工具和诊断案例 223
7.1  碎片整理工具 223
7.1.1  碎片整理工具reorg 223
7.1.2  案例分享 225
7.2  统计信息收集 226
7.2.1  统计信息收集runstats 227
7.2.2  案例分享 228
7.3  重新绑定 228
7.3.1  重新绑定——rebind 228
7.3.2  案例分享 229
7.4  常规数据移动工具 234
7.4.1  导出数据export 234
7.4.2  导入数据import 235
7.4.3  ingest——性能和可用性间平衡的使者 238
7.4.4  导出导入数据db2move 242
7.4.5  特殊对象的移动——序列和IDENTITY字段 244
7.4.6  案例分享——迁移带有IDENTITY字段的表 246
7.5  海量数据移动工具load 248
7.5.1  load——导入大数据的核武器 248
7.5.2  LOAD FROM CURSOR轻松移动数据 258
7.5.3  案例分享——load失败导致数据库目录文件系统满 258
7.5.4  案例分享——load性能问题诊断 259
7.6  移形换位工具——db2relocatedb 261
7.6.1  工具说明 261
7.6.2  案例分享 262
7.7  常用运维工具的调速 263
7.7.1  调速参数 264
7.7.2  案例分享 265
小结 266
第8章  MySQL数据库故障诊断 267
8.1  MySQL故障诊断方法 268
8.1.1  MySQL基础知识 268
8.1.2  MySQL故障诊断思路 271
8.2  MySQL常用诊断工具 272
8.2.1  操作系统诊断命令和工具 272
8.2.2  数据库诊断命令和工具 275
8.2.3  命令和工具使用建议 283
8.3  问题诊断实战案例集一——单机数据库故障诊断 283
8.3.1  一次数据库异常宕机问题诊断 284
8.3.2  一次mysqldump备份异常问题诊断 289
8.3.3  一次binlog无法清理问题诊断 293
8.3.4  一次ibtmp1临时文件巨大问题诊断 296
8.3.5  一次数据库文件系统权限异常问题诊断 299
8.4  问题诊断实战案例集二——主从复制故障诊断 300
8.4.1  一次从库表记录不存在问题诊断 301
8.4.2  一次从库事务执行失败问题诊断 303
8.4.3  一次从库无法创建连接问题诊断 306
8.4.4  一次从库无法清理表记录问题诊断 307
8.4.5  一次主从复制延迟问题诊断 311
小结 316
第9章  分布式数据库故障诊断与性能优化 317
9.1  故障诊断与优化方法 317
9.1.1  GoldenDB分布式数据库特点 317
9.1.2  基于平台工具诊断和优化 318
9.1.3  自动化应急处置 319
9.2  平台工具介绍 319
9.2.1  交易监控平台 319
9.2.2  日志分析平台 320
9.2.3  普罗米修斯监控平台 321
9.2.4  dbtool工具 323
9.2.5  深度巡检工具 325
9.3  某银行核心系统数据倾斜问题诊断 328
9.3.1  故障概述 328
9.3.2  分析过程 329
9.3.3  结论和建议 331
9.4  某银行分布式数据库元数据库恢复案例 333
9.4.1  故障概述 333
9.4.2  分析过程 333
9.4.3  结论和建议 335
9.5  某银行理财平台CPU繁忙调优 335
9.5.1  故障概述 335
9.5.2  分析过程 335
9.5.3  结论和建议 340
9.6  某银行网银系统内存调优 341
9.6.1  故障概述 341
9.6.2  分析过程 341
9.6.3  结论和建议 344
9.7  某银行电商管家系统响应慢调优 345
9.7.1  故障概述 345
9.7.2  分析过程 345
9.7.3  结论和建议 346
9.8  分布式数据库切换与数据紧急恢复 346
9.8.1  故障切换与计划性切换 346
9.8.2  紧急数据恢复 350
9.9  故障诊断和性能优化建议 353
9.9.1  技术规范应前置到设计开发阶段 353
9.9.2  高效SQL语句开发建议 354
9.9.3  平台工具运用建议 355
9.9.4  应急处置建议 356
小结 356
第?10?章  Db2数据库性能优化 357
10.1  理解Db2优化器 358
10.1.1  SQL语句的编译过程 358
10.1.2  Db2优化器的核心作用 359
10.1.3  SQL语句优化过程 360
10.2  SQL优化关键:分析访问计划 360
10.2.1  解释工具 360
10.2.2  解读访问计划 364
10.2.3  表扫描与索引扫描 371
10.2.4  嵌套循环连接、归并连接和哈希连接 374
10.2.5  基数估计和统计信息 380
10.3  性能问题诊断过程 388
10.3.1  分析思路 389
10.3.2  捕获低效SQL语句 389
10.3.3  分析低效SQL语句 389
10.3.4  优化低效SQL语句 390
10.4  实战案例集锦 390
10.4.1  案例1:理财平台系统案例——高消耗应用态CPU问题 390
10.4.2  案例2:电子渠道系统案例——SQL语句运行时间超长问题 398
10.4.3  案例3:自动调度平台系统案例——存储过程运行时间超长问题 402
10.5  编写高效SQL语句 407
10.5.1  尽量避免排序 407
10.5.2  OR/IN或OR/UNION ALL等价转换 407
10.5.3  不要检索多余的数据 408
10.5.4  模糊查询优化 408
10.5.5  避免在连接谓词中使用复杂表达式 408
10.5.6  将复杂表达式放在常量上 409
10.5.7  使用Db2提供的日期类型 409
10.5.8  谨慎对待隐式类型转换 410
10.5.9  外连接的顺序 411
10.5.10  IN和EXISTS子查询 412
10.5.11  OFNR和FFNR子句 417
10.5.12  动态SQL VS. 静态SQL 417
10.5.13  事务结束后及时COMMIT 418
小结 419
第?11?章  MySQL数据库性能优化 420
11.1  MySQL性能优化方法论 420
11.1.1  MySQL逻辑架构基础知识 421
11.1.2  MySQL优化方法简介 421
11.1.3  MySQL优化实践 421
11.2  MySQL优化基础知识 423
11.2.1  聚集索引和二级索引 423
11.2.2  主键索引和索引 425
11.2.3  多列索引 426
11.2.4  前缀索引 426
11.2.5  索引使用策略 427
11.2.6  索引条件下推 428
11.2.7  多范围读 429
11.2.8  特定场景优化策略 431
11.3  收集性能数据 432
11.3.1  收集操作系统性能数据 433
11.3.2  收集数据库性能数据 433
11.3.3  性能数据收集建议 439
11.4  捕获问题SQL语句 439
11.4.1  使用快照命令捕获问题SQL语句 439
11.4.2  通过pt-query-digest定位问题SQL语句 440
11.5  分析问题SQL语句执行计划 444
11.5.1  Explain输出字段说明 446
11.5.2  语句标识 447
11.5.3  查询类型(select_type) 449
11.5.4  访问类型(type) 451
11.5.5  索引长度(key_len) 453
11.5.6  额外信息(Extra) 454
11.5.7  Explain重点关注项 455
11.5.8  不同版本下Explain的注意事项 456
11.6  MySQL性能优化实战集锦 456
11.6.1  案例1:一次客服语音系统数据库服务器CPU负载高的优化案例 457
11.6.2  案例2:一次业务档案系统数据库缓慢批处理优化案例 460
11.6.3  案例3:一次员工渠道系统用户登录缓慢优化案例 465
11.7  MySQL性能优化实践——配置参数优化 471
11.7.1  硬件配置优化建议 472
11.7.2  操作系统配置优化建议 472
11.7.3  数据库配置优化建议 473
小结 474
第?12?章  商业银行数据库管理思考 475
12.1  商业银行数据库管理演化阶段 475
12.1.1  奴隶社会——手工运维阶段 476
12.1.2  封建社会——工具化阶段 477
12.1.3  资本主义社会——云化管理阶段 478
12.1.4  共产主义社会——智能化阶段 480
12.2  新系统上线方面的思考 480
12.2.1  流程的优化 481
12.2.2  安装自动化 483
12.2.3  高效服务化部署 484
12.3  数据库事件管理思考 485
12.3.1  事件管理优化 485
12.3.2  事件自动化统计与分析 486
12.4  问题处理方面的思考 487
12.4.1  深挖问题根本原因 488
12.4.2  问题总结与沉淀 489
12.5  数据库变更方面的思考 490
12.5.1  数据库变更的标准化 490
12.5.2  数据库变更的自动化 491
12.6  数据库应急方面的思考 492
12.6.1  数据库应急预案的制订 492
12.6.2  一键式数据库应急处置平台 493
12.6.3  数据库自愈方面的思考 494
12.7  数据库安全方面的思考 496
12.7.1  安全的流程化管控 496
12.7.2  打造坚不可摧的数据库安全体系 498
12.8  开发运维一体化(DevOps)的思考 499
12.8.1  什么是开发运维一体化 500
12.8.2  构建部落式团队 501
12.8.3  智能化运维(AIOps)的思考 502
12.8.4  数据库管理员(DBA)的转型 502
小结 503
参考文献 504
缩略语 505
后记——捕“鱼” 509
猜您喜欢

读书导航