DBA实战手记
全新正版 极速发货
¥
112.77
6.7折
¥
169
全新
库存42件
作者薛晓刚 等 著
出版社机械工业出版社
ISBN9787111757665
出版时间2024-08
装帧平装
开本16开
定价169元
货号1203355567
上书时间2024-09-05
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
薛晓刚,现任欧冶云商股份有限公司数据库首席师,曾服务于政府、公安、交通、安防、金融、支付等行业。拥有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工委会委员,机械工业出版社专家委员会委员。王明杰,德国布伦瑞克工业大学工学博士,现任职于欧冶云商股份有限公司,担任物联网技术一级首席,致力于物联感知、机器视觉、智能自动化等新技术在钢铁行业供应链体系中的应用融合。负责编写本书物联网场景及时序数据库的相关内容。宋希,波尔多大学数学系博士,现任职于欧冶云商股份有限公司,资深算法工程师,主持搭建综合平台智能推荐系统,参与需求预测、用户画像、在线交易压力测试等多个项目,获得多项专利。负责编写本书的动态规划的相关内容。李欢,现任职于字节跳动,作为移动端音视频开发工程师负责抖音直播连线架构设计,优化抖音音视频用户体验,提升直播连线的性能。负责本书移动端数据库部分相关内容的编写。
目录
目录序言1序言2序言3前言第1章 漫谈数据库11.1 什么是数据库21.2 数据库发展史21.2.1 国外数据库的历史21.2.2 国内数据库的历史41.3 数据库的主要分类61.3.1 关系数据库:传统交易数据库61.3.2 键值数据库:基于KV键值对的内存数据库71.3.3 列式数据库:列式存储的分析型数据库91.3.4 文档型数据库:松散型数据结构的数据库101.3.5 图数据库:用于社交图谱的数据库111.3.6 时序数据库:适用于物联网场景的数据库121.3.7 搜索引擎数据库:全文索引的数据库141.3.8 多模数据库:具有多种数据库模式的融合数据库171.3.9 最容易忽视的数据库—移动端数据库191.4 数据库应用的发展趋势221.4.1 国外数据库应用发展趋势221.4.2 国内数据库应用发展趋势241.5 数据库与新兴数字技术301.5.1 数据库与大数据技术301.5.2 数据库的延伸:区块链、物联网321.6 与数据库长相厮守的DBA331.6.1 DBA的定义与内涵331.6.2 DBA的工作职责341.6.3 DBA需要具备的能力351.6.4 DBA的价值351.6.5 DBA是可以做一辈子的职业36第2章 如何提升数据库性能382.1 通过索引提升性能392.1.1 索引的概念及原理392.1.2 索引的种类442.1.3 规避索引使用的误区682.1.4 通过索引实现海量数据中的高效查询702.1.5 自动化索引:数据库自治的趋势712.2 通过SQL优化提升性能782.2.1 SQL优化实现高速执行任务792.2.2 慎用分页有效提升性能862.2.3 从认知上杜绝低效SQL892.3 避免数据库对象设计失误912.3.1 避免不必要的多表关联导致的低效查询912.3.2 避免动态计算结果没有单独存储导致的低效查询932.3.3 避免没有明确需求查询条件导致的低效查询972.3.4 避免过度分表982.4 从识别需求的合理性提升性能1012.4.1 拒绝无效需求1012.4.2 正确理解开发需求1042.4.3 拒绝不合理的需求1062.4.4 引导业务改善需求1072.5 减少IO操作提升数据库性能1082.5.1 正确认识数据库的性能1082.5.2 减少IO交互—批量写入数据(MySQL)1102.5.3 减少IO交互—批量写入数据(Oracle)1222.5.4 减少IO交互—批量写入数据(PostgreSQL)1232.5.5 精简架构127第3章 如何运维好数据库1303.1 运维好数据库的关键:处理故障1313.1.1 常见的数据库故障类型1313.1.2 数据库故障的危害1323.2 分析处理数据库故障的关键点1333.2.1 分析数据库故障的主要原因—SQL1333.2.2 分析SQL的主要问题—处理速度慢1343.2.3 分析数据库参数对数据库的影响1343.2.4 分析硬件短板带来的问题—IO吞吐能力与CPU计算能力1353.3 数据库故障处理的典型案例分析1383.3.1 一次Elasticsearch误删除的故障分析1393.3.2 一次配置文件丢失导致的MySQL数据库故障分析1413.3.3 一次In-Memory丢失引起的故障分析1463.3.4 一次疑似分区查询异常的故障分析1503.3.5 一次数据库归档导致的故障分析1593.3.6 一次数据库binlog写入失败的故障分析1633.3.7 一次两表关联导致的故障分析1653.3.8 数据库连接数与连接复用不当的故障分析1663.3.9 一次数据库CPU使用率100%的故障分析1683.3.10 一次数据库索引不当引起的故障分析1693.3.11 一次数据库主从延迟过大的故障分析1723.3.12 一次数据库主从不一致的故障分析1743.3.13 一次Redis数据库无法启动的故障分析1823.3.14 一次MySQL数据库数据类型不恰当导致的故障1833.3.15 一次数据库全表查询的优化187第4章 如何进行数据库设计1974.1 数据库都有哪些架构1984.1.1 集中式架构1984.1.2 分布式架构2004.1.3 数据库内部的体系架构2014.1.4 “烟囱”式的数据库架构2014.1.5 独立业务线的数据库架构2024.2 根据实际场景选择数据库架构2034.3 五个维度谈数据库选型2034.3.1 从业务场景特征维度2044.3.2 从数据规模大小维度2044.3.3 从用户自身开发团队能力维度2054.3.4 从用户自身运维团队能力维度2054.3.5 从公司管理能力维度2064.4 数据库拆分的利与弊2064.4.1 数据库拆分的背景2074.4.2 数据库拆分的三大问题:一致性、数据关联、数据同步2084.4.3 分表带来的问题:一致性、聚合、排序、扩缩容2084.5 如何看待数据库的合并2104.5.1 为何要做数据库合并2104.5.2 数据库合并的意义:降成本、提升稳定性2114.5.3 数据库合并带来的问题:鸡蛋放在一个篮子里2114.5.4 数据库合并的前提:高质量SQL、硬件的进步、稳定的基础环境2124.6 CAP理论与分布式数据库2124.6.1 CAP理论概述2134.6.2 CAP理论的延展2134.6.3 分库分表不是分布式数据库2144.7 如何看待数据库与中间件2154.7.1 数据库与中间件:上下游的“难兄难弟”2154.7.2 中间件内存溢出的原因:源头还是数据库2154.7.3 适当减少数据库与中间件的数量:避免不必要的故障节点216第5章 如何做好数据库之间的数据同步2175.1 数据同步的作用2185.1.1 实现数据传输2185.1.2 实现数据汇聚2185.1.3 实现数据迁移2195.2 数据库同步的分类2195.2.1 同构数据库的同步2195.2.2 异构数据库的同步2195.2.3 数据库到消息队列的同步2195.2.4 数据库到Hadoop的数据同步2195.3 同构数据库数据同步的示例2205.3.1 使用dblink实现Oracle数据库之间的数据同步2205.3.2 使用物化视图实现远程Oracle数据库之间的数据同步2265.3.3 使用插件实现MySQL数据库之间的数据同步2315.3.4 利用数据同步实现MySQL的版本升级2345.3.5 采用多源复制的功能实现MySQL数据库之间的数据同步2395.3.6 采用主从模式实现PostgreSQL主从数据同步2425.4 异构数据库同步的实例—基于OGG2485.4.1 CDC简介2485.4.2 OGG概述2495.4.3 OGG微服务版的安装部署2495.4.4 使用OGG for Oracle实现Oracle数据库之间的数据同步2515.4.5 使用OGG for MySQL实现MySQL与异构数据库的同步2795.4.6 使用OGG for BigData实现大数据组件与异构数据库的数据同步284第6章 认识HTAP技术2946.1 HTAP的概念及其价值2956.1.1 HTAP:混合事物/分析处理2956.1.2 HTAP的价值2956.2 HTAP的几种实现方式2976.2.1 垂直方向的实现:以Oracle数据库为例2976.2.2 水平方向的实现:以MySQL、TiDB数据库为例2986.2.3 其他类型数据库的实现方式298第7章 认识数据库的功能原理3007.1 优化器—基于统计学原理3017.2 数据库的查询—火山模型3167.3 数据库AI—向量化3197.4 编译执行323第8章 认识数据库中的数学(逻辑与算法)3268.1 数据库中的典型逻辑与算法3278.1.1 从斐波那契数列到数据分析3278.1.2 增加数据维度处理—减少关联3328.1.3 多表关联算法—一对多与多对多3368.1.4 排除处理算法—笛卡儿积3418.1.5 函数算法—对SQL的影响3488.2 动态规划法在数据库中的应用3518.2.1 动态规划原理1:爬楼梯3518.2.2 动态规划原理2:背包问题3558.2.3 动态规划的五部曲3618.3 数据库开发中的逻辑思维3628.3.1 元数据的空与非空3628.3.2 优化器处理极值和极限:加速查询速度3698.3.3 并发处理热点的逻辑:避免锁3718.3.4 减库存的逻辑:从设计出发防止超卖373第9章 DBA的日常:数据库管理及开发的最佳实践3759.1 七个针对数据库特性的最佳实践3769.1.1 Oracle的DML重定向3769.1.2 Oracle的资源隔离3819.1.3 MySQL的延迟复制—挽救误删除3899.1.4 PostgreSQL的延迟复制3959.1.5 数据库对于磁盘IO吞吐的要求4029.2 面向执行器和优化器的最佳实践4039.2.1 主流数据库的事务异常处理机制对比(MySQL、PostgreSQL、Oracle)4039.2.2 MySQL和达梦两个数据库优化器的对比4069.2.3 SQL语句的解析过程分析4079.2.4 优化器的多表关联4119.2.5 SQL使用in进行子查询4129.2.6 数据归档和数据迁移4199.3 数据库的复制(克隆)与高可用受控切换的最佳实践4249.3.1 Oracle的PDB数据库克隆4259.3.2 MySQL克隆的关键点4289.3.3 MySQL的MGR架构以及受控切换4319.3.4 PostgreSQL的高可用切换4349.3.5 Redis的高可用切换4409.4 三个SQL编写的最佳实践4459.4.1 关于MyBatis开发框架使用绑定变量的实践4459.4.2 使用exists的SQL语句的改写4519.4.3 设计上出发减少SQL的标量子查询4589.5 时序数据库使用的最佳实践4639.5.1 时序数据库的数据库表设计4639.5.2 时序数据库的数据分析466附录 DBA杂谈468
内容摘要
本书是一本指导DBA进行数据库开发和运维的实用手册,本书共9章,包括漫谈数据库、如何提升数据库性能、如何运维好数据库、如何进行数据库设计、如何做好数据库之间的数据同步、认识HTAP技术、认识数据库的功能原理、认识数据库中的数学(逻辑与算法),以及DBA的日常:数据库管理及开发的最佳实践。另有附录DBA杂谈。本书内容是资深DBA多年实践经验的归纳总结,涵盖DBA日常工作中的主要方面,通过剖析众多的真实案例,并解读原理、分享技巧、提供思路,内容具备较强的启发性和指导性。本书的受众包括但不限于想要了解如何提升数据库性能的应用开发人员、DBA、业务架构师、IT架构师、数据架构师、数据分析师、系统架构师、解决方案架构师和企业高级管理人员。
主编推荐
DBA“老兵”薛晓刚及其团队奉献给广大同仁的数据库实践经验集,内容涵盖数据库性能调优、故障处理、架构设计、数据同步、SQL算法等诸多内容,解读广大数据库从业者普遍关心的技术问题。本书由盖国强、白鳝(徐戟)、贺仁龙倾情作序,周正中(德哥)、侯圣文、耿航、吴洋鼎力推荐。全书采用全彩印刷,阅读体验佳;全书内容丰富,通过剖析众多真实案例,解读原理、分享技巧、提供思路,内容具备较强的启发性和指导性。是广大应用开发人员、DBA、业务架构师、IT架构师、数据架构师、数据分析师、系统架构师、解决方案架构师和企业高级管理人员值得一读的实用手册。
— 没有更多了 —
以下为对购买帮助不大的评价