×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787111757665
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:468
  • 出版时间:2024-07-01
  • 条形码:9787111757665 ; 978-7-111-75766-5

本书特色

DBA“老兵”薛晓刚及其团队奉献给广大同仁的数据库实践经验集,内容涵盖数据库性能调优、故障处理、架构设计、数据同步、SQL算法等诸多内容,解读广大数据库从业者普遍关心的技术问题。
本书由盖国强、白鳝(徐戟)、贺仁龙倾情作序,周正中(德哥)、侯圣文、耿航、吴洋鼎力推荐。
全书采用全彩印刷,阅读体验佳;全书内容丰富,通过剖析众多真实案例,解读原理、分享技巧、提供思路,内容具备较强的启发性和指导性。
是广大应用开发人员、DBA、业务架构师、IT架构师、数据架构师、数据分析师、系统架构师、解决方案架构师和企业高级管理人员值得一读的实用手册。

内容简介

本书是一本指导DBA进行数据库开发和运维的实用手册,本书共9章,包括漫谈数据库、如何提升数据库性能、如何运维好数据库、如何进行数据库设计、如何做好数据库之间的数据同步、认识HTAP技术、认识数据库的功能原理、认识数据库中的数学(逻辑与算法),以及DBA的日常:数据库管理及开发的*佳实践。另有附录DBA杂谈。
本书内容是资深DBA多年实践经验的归纳总结,涵盖DBA日常工作中的主要方面,通过剖析众多的真实案例,并解读原理、分享技巧、提供思路,内容具备较强的启发性和指导性。
本书的受众包括但不限于想要了解如何提升数据库性能的应用开发人员、DBA、业务架构师、IT架构师、数据架构师、数据分析师、系统架构师、解决方案架构师和企业高级管理人员。

目录

目录
序言1
序言2
序言3
前言
第1章 漫谈数据库1
1.1 什么是数据库2
1.2 数据库发展史2
1.2.1 国外数据库的历史2
1.2.2 国内数据库的历史4
1.3 数据库的主要分类6
1.3.1 关系数据库:传统交易数据库6
1.3.2 键值数据库:基于KV键值对的内存数据库7
1.3.3 列式数据库:列式存储的分析型数据库9
1.3.4 文档型数据库:松散型数据结构的数据库10
1.3.5 图数据库:用于社交图谱的数据库11
1.3.6 时序数据库:适用于物联网场景的数据库12
1.3.7 搜索引擎数据库:全文索引的数据库14
1.3.8 多模数据库:具有多种数据库模式的融合数据库17
1.3.9 *容易忽视的数据库—移动端数据库19
1.4 数据库应用的发展趋势22
1.4.1 国外数据库应用发展趋势22
1.4.2 国内数据库应用发展趋势24
1.5 数据库与新兴数字技术30
1.5.1 数据库与大数据技术30
1.5.2 数据库的延伸:区块链、物联网32
1.6 与数据库长相厮守的DBA33
1.6.1 DBA的定义与内涵33
1.6.2 DBA的工作职责34
1.6.3 DBA需要具备的能力35
1.6.4 DBA的价值35
1.6.5 DBA是可以做一辈子的职业36
第2章 如何提升数据库性能38
2.1 通过索引提升性能39
2.1.1 索引的概念及原理39
2.1.2 索引的种类44
2.1.3 规避索引使用的误区68
2.1.4 通过索引实现海量数据中的高效查询70
2.1.5 自动化索引:数据库自治的趋势71
2.2 通过SQL优化提升性能78
2.2.1 SQL优化实现高速执行任务79
2.2.2 慎用分页有效提升性能86
2.2.3 从认知上杜绝低效SQL89
2.3 避免数据库对象设计失误91
2.3.1 避免不必要的多表关联导致的低效查询91
2.3.2 避免动态计算结果没有单独存储导致的低效查询93
2.3.3 避免没有明确需求查询条件导致的低效查询97
2.3.4 避免过度分表98
2.4 从识别需求的合理性提升性能101
2.4.1 拒绝无效需求101
2.4.2 正确理解开发需求104
2.4.3 拒绝不合理的需求106
2.4.4 引导业务改善需求107
2.5 减少IO操作提升数据库性能108
2.5.1 正确认识数据库的性能108
2.5.2 减少IO交互—批量写入数据(MySQL)110
2.5.3 减少IO交互—批量写入数据(Oracle)122
2.5.4 减少IO交互—批量写入数据(PostgreSQL)123
2.5.5 精简架构127
第3章 如何运维好数据库130
3.1 运维好数据库的关键:处理故障131
3.1.1 常见的数据库故障类型131
3.1.2 数据库故障的危害132
3.2 分析处理数据库故障的关键点133
3.2.1 分析数据库故障的主要原因—SQL133
3.2.2 分析SQL的主要问题—处理速度慢134
3.2.3 分析数据库参数对数据库的影响134
3.2.4 分析硬件短板带来的问题—IO吞吐能力与CPU计算能力135
3.3 数据库故障处理的典型案例分析138
3.3.1 一次Elasticsearch误删除的故障分析139
3.3.2 一次配置文件丢失导致的MySQL数据库故障分析141
3.3.3 一次In-Memory丢失引起的故障分析146
3.3.4 一次疑似分区查询异常的故障分析150
3.3.5 一次数据库归档导致的故障分析159
3.3.6 一次数据库binlog写入失败的故障分析163
3.3.7 一次两表关联导致的故障分析165
3.3.8 数据库连接数与连接复用不当的故障分析166
3.3.9 一次数据库CPU使用率100%的故障分析168
3.3.10 一次数据库索引不当引起的故障分析169
3.3.11 一次数据库主从延迟过大的故障分析172
3.3.12 一次数据库主从不一致的故障分析174
3.3.13 一次Redis数据库无法启动的故障分析182
3.3.14 一次MySQL数据库数据类型不恰当导致的故障183
3.3.15 一次数据库全表查询的优化187
第4章 如何进行数据库设计197
4.1 数据库都有哪些架构198
4.1.1 集中式架构198
4.1.2 分布式架构200
4.1.3 数据库内部的体系架构201
4.1.4 “烟囱”式的数据库架构201
4.1.5 独立业务线的数据库架构202
4.2 根据实际场景选择数据库架构203
4.3 五个维度谈数据库选型203
4.3.1 从业务场景特征维度204
4.3.2 从数据规模大小维度204
4.3.3 从用户自身开发团队能力维度205
4.3.4 从用户自身运维团队能力维度205
4.3.5 从公司管理能力维度206
4.4 数据库拆分的利与弊206
4.4.1 数据库拆分的背景207
4.4.2 数据库拆分的三大问题:一致性、数据关联、数据同步208
4.4.3 分表带来的问题:一致性、聚合、排序、扩缩容208
4.5 如何看待数据库的合并210
4.5.1 为何要做数据库合并210
4.5.2 数据库合并的意义:降成本、提升稳定性211
4.5.3 数据库合并带来的问题:鸡蛋放在一个篮子里211
4.5.4 数据库合并的前提:高质量SQL、硬件的进步、稳定的基础环境212
4.6 CAP理论与分布式数据库212
4.6.1 CAP理论概述213
4.6.2 CAP理论的延展213
4.6.3 分库分表不是分布式数据库214
4.7 如何看待数据库与中间件215
4.7.1 数据库与中间件:上下游的“难兄难弟”215
4.7.2 中间件内存溢出的原因:源头还是数据库215
4.7.3 适当减少数据库与中间件的数量:避免不必要的故障节点216
第5章 如何做好数据库之间的数据同步217
5.1 数据同步的作用218
5.1.1 实现数据传输218
5.1.2 实现数据汇聚218
5.1.3 实现数据迁移219
5.2 数据库同步的分类219
5.2.1 同构数据库的同步219
5.2.2 异构数据库的同步219
5.2.3 数据库到消息队列的同步219
5.2.4 数据库到Hadoop的数据同步219
5.3 同构数据库数据同步的示例220
5.3.1 使用dblink实现Oracle数据库之间的数据同步220
5.3.2 使用物化视图实现远程Oracle数据库之间的数据同步226
5.3.3 使用插件实现MySQL数据库之间的数据同步231
5.3.4 利用数据同步实现MySQL的版本升级234
5.3.5 采用多源复制的功能实现MySQL数据库之间的数据同步239
5.3.6 采用主从模式实现PostgreSQL主从数据同步242
5.4 异构数据库同步的实例—基于OGG248
5.4.1 CDC简介248
5.4.2 OGG概述249
5.4.3 OGG微服务版的安装部署249
5.4.4 使用OGG for Oracle实现Oracle数据库之间的数据同步251
5.4.5 使用OGG for MySQL实现MySQL与异构数据库的同步279
5.4.6 使用OGG for BigData实现大数据组件与异构数据库的数据同步284
第6章 认识HTAP技术294
6.1 HTAP的概念及其价值295
6.1.1 HTAP:混合事物/分析处理295
6.1.2 HTAP的价值295
6.2 HTAP的几种实现方式297
6.2.1 垂直方向的实现:以Oracle数据库为例297
6.2.2 水平方向的实现:以MySQL、TiDB数据库为例298
6.2.3 其他类型数据库的实现方式298
第7章 认识数据库的功能原理300
7.1 优化器—基于统计学原理301
7.2 数据库的查询—火山模型316
7.3 数据库AI—向量化319
7.4 编译执行323
第8章 认识数据库中的数学(逻辑与算法)326
8.1 数据库中的典型逻辑与算法327
8.1.1 从斐波那契数列到数据分析327
8.1.2 增加数据维度处理—减少关联332
8.1.3 多表关联算法—一对多与多对多336
8.1.4 排除处理算法—笛卡儿积341
8.1.5 函数算法—对SQL的影响348
8.2 动态规划法在数据库中的应用351
8.2.1 动态规划原理1:爬楼梯351
8.2.2 动态规划原理2:背包问题355
8.2.3 动态规划的五部曲361
8.3 数据库开发中的逻辑思维362
8.3.1 元数据的空与非空362
8.3.2 优化器处理极值和极限:加速查询速度369
8.3.3 并发处理热点的逻辑:避免锁371
8.3.4 减库存的逻辑:从设计出发防止超卖373
第9章 DBA的日常:数据库管理及开发的*佳实践375
9.1 七个针对数据库特性的*佳实践376
9.1.1 Oracle的DML重定向376
9.1.2 Oracle的资源隔离381
9.1.3 MySQL的延迟复制—挽救误删除389
9.1.4 PostgreSQL的延迟复制395
9.1.5 数据库对于磁盘IO吞吐的要求402
9.2 面向执行器和优化器的*佳实践403
9.2.1 主流数据库的事务异常处理机制对比(MySQL、PostgreSQL、Oracle)403
9.2.2 MySQL和达梦两个数据库优化器的对比406
9.2.3 SQL语句的解析过程分析407
9.2.4 优化器的多表关联411
9.2.5 SQL使用in进行子查询412
9.2.6 数据归档和数据迁移419
9.3 数据库的复制(克隆)与高可用受控切换的*佳实践424
9.3.1 Oracle的PDB数据库克隆425
9.3.2 MySQL克隆的关键点428
9.3.3 MySQL的MGR架构以及受控切换431
9.3.4 PostgreSQL的高可用切换434
9.3.5 Redis的高可用切换440
9.4 三个SQL编写的*佳实践445
9.4.1 关于MyBatis开发框架使用绑定变量的实践445
9.4.2 使用exists的SQL语句的改写451
9.4.3 设计上出发减少SQL的标量子查询458
9.5 时序数据库使用的*佳实践463
9.5.1 时序数据库的数据库表设计463
9.5.2 时序数据库的数据分析466
附录 DBA杂谈468
展开全部

相关资料

我与薛晓刚相识多年,他不仅是一位经验丰富的DBA,更是一位对数据库技术有着深刻理解和独到见解的专家。通过这本书,作者将多年来在实际工作中积累的宝贵经验和教训悉心整理并倾心分享,强调了DBA不仅是数据库的管理者,更应成为企业数据架构的设计者与优化者。尤其值得一提的是,本书不仅关注技术,还关注了DBA的职业发展与定位。这本书不仅是作者自身知识的总结与升华,更是对整个数据库社区的一份贡献。希望这本书能让更多的开发人员和DBA认识数据库在企业架构中的核心地位,掌握更多实用的技术与方法,提升自身的职业技能,在数据库技术的道路上不断前行,取得更大的成就。
周正中(德哥)
阿里云数据库高级产品专家,中国开源软件推进联盟PostgreSQL分会特聘资深领域专家,PostgreSQL中国社区发起人之一兼社区大学校长 本书作者一直孜孜不倦深耕数据库领域,凭借强大的意志力和自我驱动力,饱含对数据库事业的真心热爱,能够沉下心来写作,从一篇篇技术文章的不断积累到如今推出这本出色的技术书籍,十分不易。本书*精彩的部分还是对实战案例的梳理。在数据库学习领域,我一直主张的观点就是 “纸上得来终觉浅,绝知此事要躬行”,这些实战案例都是作者多年工作经验的总结与分享,是学习数据库*好的途径。在书中,作者通过实际案例强调DBA应当认真考虑如何控制需求、引导需求方提出合理的需求,而不是一味做执行;对于各类数据库故障,则给出了独到的、分析解决问题的思路,这些经验之谈是*有价值的参考,可以让人少走弯路。感谢作者给大家带来了这部优秀的作品, 希望更多DBA从这本书中获益。
侯圣文
天翼云首席专家,阿里云*具价值专家( MVP ),腾讯云*具价值专家( TVP),前Oracle ACE总监 这本书是我见过的、业界*接地气的数据库技术书籍之一, 系统介绍了数据库从性能优化到故障排除、从数据库设计到运维管理的多个方面,都是作者亲身实践经验的总结,可谓干货满满。数据库技术是一个复杂而又精细的领域,需要深入的理解和不断的实践。无论你是初涉数据库领域的新手,还是有多年经验的资深DBA,都能从中找到有益的指导与启发。
耿航
腾讯开源专家,木兰开源社区运营负责人,“科创中国”开源创新联合体开源技术传播工作委员会秘书长 《DBA实战手记》是一本不可多得的数据库管理与运维指南,由多位资深数据库专家集多年实践经验编写而成。书中涵盖了数据库性能优化、运维技巧、设计原则及数据同步等多个方面,通过真实案例深入浅出地讲解了数据库技术的方方面面。这本书不仅是技术手册,更是一部实践宝典,为DBA和开发人员提供了丰富的经验和实用的技巧,极具启发性和指导性。无论你是初学者还是资深从业者,都能从中获益良多。
吴洋
青学会MOP技术社区创始成员、Oracle ACE成员

作者简介

薛晓刚,现任欧冶云商股份有限公司数据库首席师,曾服务于政府、公安、交通、安防、金融、支付等行业。拥有Oracle、MySQL、PostgreSQL、TiDB、OceanBase、达梦等数据库认证,是Oracle ACE-Pro ( Database )、PostgreSQL ACE Partner、腾讯云TVP、阿里云MVP、TiDB MVA、墨天轮MVP;Oracle OCP认证讲师,MySQL OCP认证讲师;ITPUB论坛内存数据库版主、核心专家、金牌顾问。ITPUB培训专家百人团成员,国内数据库风云百人团成员,OceanBase数据库观察团团长,TiDB布道师、布道师组委会会员。中国信息通信研究院创新实验室成员,开放原子开源基金会OpenTenBase工委会委员,机械工业出版社专家委员会委员。
王明杰,德国布伦瑞克工业大学工学博士,现任职于欧冶云商股份有限公司,担任物联网技术一级首席,致力于物联感知、机器视觉、智能自动化等新技术在钢铁行业供应链体系中的应用融合。负责编写本书物联网场景及时序数据库的相关内容。
宋希,波尔多大学数学系博士,现任职于欧冶云商股份有限公司,资深算法工程师,主持搭建综合平台智能推荐系统,参与需求预测、用户画像、在线交易压力测试等多个项目,获得多项专利。负责编写本书的动态规划的相关内容。薛晓刚,现任欧冶云商股份有限公司数据库首席师,曾服务于政府、公安、交通、安防、金融、支付等行业。拥有Oracle、MySQL、PostgreSQL、TiDB、OceanBase、达梦等数据库认证,是Oracle ACE-Pro ( Database )、PostgreSQL ACE Partner、腾讯云TVP、阿里云MVP、TiDB MVA、墨天轮MVP;Oracle OCP认证讲师,MySQL OCP认证讲师;ITPUB论坛内存数据库版主、核心专家、金牌顾问。ITPUB培训专家百人团成员,国内数据库风云百人团成员,OceanBase数据库观察团团长,TiDB布道师、布道师组委会会员。中国信息通信研究院创新实验室成员,开放原子开源基金会OpenTenBase工委会委员,机械工业出版社专家委员会委员。 王明杰,德国布伦瑞克工业大学工学博士,现任职于欧冶云商股份有限公司,担任物联网技术一级首席,致力于物联感知、机器视觉、智能自动化等新技术在钢铁行业供应链体系中的应用融合。负责编写本书物联网场景及时序数据库的相关内容。 宋希,波尔多大学数学系博士,现任职于欧冶云商股份有限公司,资深算法工程师,主持搭建综合平台智能推荐系统,参与需求预测、用户画像、在线交易压力测试等多个项目,获得多项专利。负责编写本书的动态规划的相关内容。 李欢,现任职于字节跳动,作为移动端音视频开发工程师负责抖音直播连线架构设计,优化抖音音视频用户体验,提升直播连线的性能。负责本书移动端数据库部分相关内容的编写。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航