DBA 实战手记 (薛晓刚) -- 综合类数据库技能经验类书籍介绍
开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共2360人左右 1 + 2 + 3 + 4 +5 + 6 + 7)(1 2 3 4 5 群均已爆满,6群急速扩张ing,请不要在问
开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共2360人左右 1 + 2 + 3 + 4 +5 + 6 + 7)(1 2 3 4 5 群均已爆满,6群急速扩张ing,请不要在问有没有位置谢谢)
DBA的书籍大致分为几种
1 专业技术类书籍
2 大咖分享工作经验分享
3 以上两类以外 如 盖老师最近新发的 《数据库简史》(属于宏观类的数据库业界的巨作)
今天咱们要说的是第二类书籍,薛晓刚,薛大师的 DBA 实战手记,为了满足读者的好奇心,咱们把目录给大家展示一下。
其实第一种和第二种书籍最大的不同点,在于知识的输出形式的不同,第一类书籍具有技术的专业性,第二类书籍是数据库工作者在多年的工作中,将自己的工作经验和工作方式和业内的同学进行分享的类型。
有时候,工作一段时间,或出入职场,对于本质工作会不清晰,或恍惚,那么读一读,前人的工作经验的总结和一些工作的思路,是让自己重新走上清晰的职场道路的一种方式。
更重要的是,如果在阅读书中的内容后,有新的想法和一些问题,还可以在薛老师有时间的情况下,在本群和薛老师近距离的沟通。
所以如果在工作中遇到一些屏障的时候,可以在这本书里面,找找感觉。
第1章 漫谈数据库
1 什么是数据库
1.2 数据库发展史
-
1.2.1 国外数据库的历史
-
1.2.2 国内数据库的历史
1.3 数据库的主要分类
-
1.3.1 关系数据库:传统交易数据库
-
1.3.2 键值数据库:基于KV键值对的内存数据库
-
1.3.3 列式数据库:列式存储的分析型数据库
-
1.3.4 文档型数据库:松散型数据结构的数据库
-
1.3.5 图数据库:用于社交图谱的数据库
-
1.3.6 时序数据库:适用于物联网场景的数据库
-
1.3.7 搜索引擎数据库:全文索引的数据库
-
1.3.8 多模数据库:具有多种数据库模式的融合数据库
-
1.3.9 最容易忽视的数据库—移动端数据库
1.4 数据库应用的发展趋势
-
1.4.1 国外数据库应用发展趋势
-
1.4.2 国内数据库应用发展趋势
1.5 数据库与新兴数字技术
-
1.5.1 数据库与大数据技术
-
1.5.2 数据库的延伸:区块链、物联网
1.6 与数据库长相厮守的DBA
-
1.6.1 DBA的定义与内涵
-
1.6.2 DBA的工作职责
-
1.6.3 DBA需要具备的能力
-
1.6.4 DBA的价值
-
1.6.5 DBA是可以做一辈子的职业
第2章 如何提升数据库性能
2.1 通过索引提升性能
-
2.1.1 索引的概念及原理
-
2.1.2 索引的种类
-
2.1.3 规避索引使用的误区
-
2.1.4 通过索引实现海量数据中的高效查询
-
2.1.5 自动化索引:数据库自治的趋势
2.2 通过SQL优化提升性能
-
2.2.1 SQL优化实现高速执行任务
-
2.2.2 慎用分页有效提升性能
-
2.2.3 从认知上杜绝低效SQL
2.3 避免数据库对象设计失误
-
2.3.1 避免不必要的多表关联导致的低效查询
-
2.3.2 避免动态计算结果没有单独存储导致的低效查询
-
2.3.3 避免没有明确需求查询条件导致的低效查询
-
2.3.4 避免过度分表
2.4 从识别需求的合理性提升性能
-
2.4.1 拒绝无效需求
-
2.4.2 正确理解开发需求
-
2.4.3 拒绝不合理的需求
-
2.4.4 引导业务改善需求
2.5 减少IO操作提升数据库性能
-
2.5.1 正确认识数据库的性能
-
2.5.2 减少IO交互—批量写入数据(MySQL)
-
2.5.3 减少IO交互—批量写入数据(Oracle)
-
2.5.4 减少IO交互—批量写入数据(PostgreSQL)
-
2.5.5 精简架构
第3章 如何运维好数据库
3.1 运维好数据库的关键:处理故障
-
3.1.1 常见的数据库故障类型
-
3.1.2 数据库故障的危害
3.2 分析处理数据库故障的关键点
-
3.2.1 分析数据库故障的主要原因—SQL
-
3.2.2 分析SQL的主要问题—处理速度慢
-
3.2.3 分析数据库参数对数据库的影响
-
3.2.4 分析硬件短板带来的问题—IO吞吐能力与CPU计算能力
3.3 数据库故障处理的典型案例分析
-
3.3.1 一次Elasticsearch误删除的故障分析
-
3.3.2 一次配置文件丢失导致的MySQL数据库故障分析
-
3.3.3 一次In-Memory丢失引起的故障分析
-
3.3.4 一次疑似分区查询异常的故障分析
-
3.3.5 一次数据库归档导致的故障分析
-
3.3.6 一次数据库binlog写入失败的故障分析
-
3.3.7 一次两表关联导致的故障分析
-
3.3.8 数据库连接数与连接复用不当的故障分析
-
3.3.9 一次数据库CPU使用率100%的故障分析
-
3.3.10 一次数据库索引不当引起的故障分析
-
3.3.11 一次数据库主从延迟过大的故障分析
-
3.3.12 一次数据库主从不一致的故障分析
-
3.3.13 一次Redis数据库无法启动的故障分析
-
3.3.14 一次MySQL数据库数据类型不恰当导致的故障
-
3.3.15 一次数据库全表查询的优化
第4章 如何进行数据库设计 、
-
4.1 数据库都有哪些架构
-
4.1.1 集中式架构
-
4.1.2 分布式架构
-
4.1.3 数据库内部的体系架构
-
4.1.4 “烟囱”式的数据库架构
-
4.1.5 独立业务线的数据库架构
-
4.2 根据实际场景选择数据库架构
-
4.3 五个维度谈数据库选型
-
4.3.1 从业务场景特征维度
-
4.3.2 从数据规模大小维度
-
4.3.3 从用户自身开发团队能力维度
-
4.3.4 从用户自身运维团队能力维度
-
4.3.5 从公司管理能力维度
-
4.4 数据库拆分的利与弊
-
4.4.1 数据库拆分的背景
-
4.4.2 数据库拆分的三大问题:一致性、数据关联、数据同步
-
4.4.3 分表带来的问题:一致性、聚合、排序、扩缩容
-
4.5 如何看待数据库的合并
-
4.5.1 为何要做数据库合并
-
4.5.2 数据库合并的意义:降成本、提升稳定性
-
4.5.3 数据库合并带来的问题:鸡蛋放在一个篮子里
-
4.5.4 数据库合并的前提:高质量SQL、硬件的进步、稳定的基础环境
-
4.6 CAP理论与分布式数据库
-
4.6.1 CAP理论概述
-
4.6.2 CAP理论的延展
-
4.6.3 分库分表不是分布式数据库
-
4.7 如何看待数据库与中间件
-
4.7.1 数据库与中间件:上下游的“难兄难弟”
-
4.7.2 中间件内存溢出的原因:源头还是数据库
-
4.7.3 适当减少数据库与中间件的数量:避免不必要的故障节点
第5章 如何做好数据库之间的数据同步
-
5.1 数据同步的作用
-
5.1.1 实现数据传输
-
5.1.2 实现数据汇聚
-
5.1.3 实现数据迁移
-
5.2 数据库同步的分类
-
5.2.1 同构数据库的同步
-
5.2.2 异构数据库的同步
-
5.2.3 数据库到消息队列的同步
-
5.2.4 数据库到 Hadoop 的数据同步
5.3 同构数据库数据同步的示例
-
5.3.1 使用 dblink 实现 Oracle 数据库之间的数据同步 - 5.3.2 使用物化视图实现远程 Oracle 数据库之间的数据同步
-
5.3.3 使用插件实现 MySQL 数据库之间的数据同步
-
5.3.4 利用数据同步实现 MySQL 的
-
5.3.5 采用多源复制的功能实现 MySQL 数据库之间的数据同步
-
5.3.6 采用主从模式实现 PostgreSQL 主从数据同步
-
5.4 异构数据库同步的实例—基于 OGG
-
5.4.1 CDC 简介
-
5.4.2 OGG 概述
-
5.4.3 OGG 微服务版的安装部署
-
5.4.4 使用 OGG for Oracle 实现 Oracle 数据库之间的数据同步
-
5.4.5 使用 OGG for MySQL 实现 MySQL 与异构数据库的同步
-
5.4.6 使用 OGG for BigData 实现大数据组件与异构数据库的数据同步
第6章 认识 HTAP 技术
-
6.1 HTAP 的概念及其价值
-
6.1.1 HTAP:混合事务/分析处理
-
6.1.2 HTAP 的价值
-
6.2 HTAP 的几种实现方式
-
6.2.1 垂直方向的实现
-
6.2.2 水平方向的实现:以 MySQL、TiDB 数据库为例
-
6.2.3 其他类型数据库的实现方式
第7章 认识数据库的功能原理
-
7.1 优化器—基于统计学原理
-
7.2 数据库的查询—火山模型
-
7.3 数据库 AI—向量化
-
7.4 编译执行
第8章 认识数据库中的数学(逻辑与算法)
-
8.1 数据库中的典型逻辑与算法
-
8.1.1 从斐波那契数列到数据分析
-
8.1.2 增加数据维度处理—减少关联
-
8.1.3 多表关联算法—一对多与多对多
-
8.1.4 排除处理算法—笛卡儿积
-
8.1.5 函数算法—对 SQL 的影响
-
8.2 动态规划法在数据库中的应用
-
8.2.1 动态规划原理 1:爬楼梯
-
8.2.2 动态规划原理 2:背包问题
-
8.2.3 动态规划的五部曲
-
8.3 数据库开发中的逻辑思维
-
8.3.1 元数据的空与非空
-
8.3.2 优化器处理极值和极限:加速查询速度
-
8.3.3 并发处理热点的逻辑:避免锁
-
8.3.4 减库存的逻辑:从设计出发防止超卖
第9章 DBA的日常:数据库管理及开发的最佳实践
-
9.1 七个针对数据库特性的最佳实践
-
9.1.1 Oracle的DML重定向
-
9.1.2 Oracle的资源隔离
-
9.1.3 MySQL的延迟复制—挽救误删除
-
9.1.4 PostgreSQL的延迟复制
-
9.1.5 数据库对于磁盘IO吞吐的要求
-
9.2 面向执行器和优化器的最佳实践
-
9.2.1 主流数据库的事务异常处理机制对比(MySQL、PostgreSQL、Oracle)
-
9.2.2 MySQL和达梦两个数据库优化器的对比
-
9.2.3 SQL语句的解析过程分析
-
9.2.4 优化器的多表关联
-
9.2.5 SQL使用in进行子查询
-
9.2.6 数据归档和数据迁移
-
9.3 数据库的复制(克隆)与高可用受控切换的最佳实践
-
9.3.1 Oracle的PDB数据库克隆
-
9.3.2 MySQL克隆的关键点
-
9.3.3 MySQL的MGR架构以及受控切换
-
9.3.4 PostgreSQL的高可用切换
-
9.3.5 Redis的高可用切换
-
9.4 三个SQL编写的最佳实践
-
9.4.1 关于MyBatis开发框架使用绑定变量的实践
-
9.4.2 使用exists的SQL语句的改写9.4.3 设计上出发减少SQL的标量子查询
-
9.5 时序数据库使用的最佳实践
-
9.5.1 时序数据库的数据库表设计
-
9.5.2 时序数据库的数据分析
-
附录 DBA杂谈
-----
置顶文章:
阿里云数据库产品 对内对外一样的卷 --3年阿里云数据库的使用感受与反馈系列
阿里云数据库使用感受--客户服务问题深入剖析与什么是廉价客户 --3年的使用感受与反馈系列
阿里云数据库使用感受--操作界面有点眼花缭乱 --3年的使用感受与反馈系列
PostgreSQL 软肋 “最大连接数” 到底是不是问题?
MongoDB 系统IOPS 告警系统处于崩溃,优化语句从1秒优化到1毫秒解决问题
专访唐建法-从MongoDB中国第一人到TapData掌门人的故事
MySQL 8.0x 到 9.0均可能崩溃--云厂商开发指责 MYSQL不测试就推新版本?
MongoDB 入门教学贴 从术语到操作 (用户权限 内部培训贴)
MongoDB 入门教学贴 单机的安装与设置 (内部培训贴)
MongoDB 谨献给说MongoDB 这不好那不好的“古董” -- 发展与演进,从3 到 7 的卓越变化
往期热门文章:
PolarDB 最近遇到加字段加不上的问题 与 使用PolarDB 三年感受与恳谈
PostgreSQL 稳定性平台 PG中文社区大会--杭州来去匆匆
PolarDB Serverless POC测试中有没有坑与发现的疑问
临时工访谈:PolarDB Serverless 发现“大”问题了 之 灭妖记 续集
临时工访谈:庙小妖风大-PolarDB 组团镇妖 之 他们是第一
PolarDB for PostgreSQL 有意思吗?有意思呀
PolarDB Serverless POC测试中有没有坑与发现的疑问
MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验
临时工访谈:从国产数据库 到 普罗大众的产品 !与在美国创业软件公司老板对话
MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验
临时工访谈:我很普通,但我也有生存的权利,大龄程序员 求职贴
临时工说:DBA 是不是阻碍国产数据库发展的毒瘤 ,是不是?从国产DB老专家的一条留言开始 (其实更好看的是文章下方的留言)
感谢 老虎刘 刘老师 对 5月20日 SQL 问题纠正贴 ---PostgreSQL 同一种SQL为什么这样写会提升45%性能
PostgreSQL 同一种SQL为什么这样写会提升45%性能 --程序员和DBA思维方式不同决定
PostgreSQL 熊灿灿一句话够学半个月 之 KILL -9
临时工访谈:庙小妖风大-PolarDB 组团镇妖 之 他们是第一 (阿里云组团PK笔者实录)
临时工访谈:金牌 “女” 销售从ORACLE 转到另类国产数据库 到底 为什么?
临时工访谈:无名氏意外到访-- 也祝你好运(管理者PUA DBA现场直播)
PostgreSQL 分组查询可以不进行全表扫描吗?速度提高上千倍?
PostgreSQL PG_DUMP 工作失败了怎么回事及如何处理
PostgreSQL 为什么也不建议 RR隔离级别,MySQL别笑
临时工访谈:OceanBase上海开大会,我们四个开小会 OB 国产数据库破局者
临时工说:OceanBase 到访,果然数据库的世界很卷,没边
PolarDB for PostgreSQL 有意思吗?有意思呀
PostgreSQL 玩PG我们是认真的,vacuum 稳定性平台我们有了
临时工说:裁员裁到 DBA 咋办 临时工教你 套路1 2 3
临时工说:OceanBase 到访,果然数据库的世界很卷,没边
MONGODB ---- Austindatabases 历年文章合集
MYSQL --Austindatabases 历年文章合集
POSTGRESQL --Austindatabaes 历年文章整理
POLARDB -- Ausitndatabases 历年的文章集合
PostgreSQL 查询语句开发写不好是必然,不是PG的锅
SQL SERVER 如何实现UNDO REDO 和PostgreSQL 有近亲关系吗
MongoDB 2023纽约 MongoDB 大会 -- 我们怎么做的新一代引擎 SBE Mongodb 7.0双擎力量(译)
MongoDB 2023年度纽约 MongoDB 年度大会话题 -- MongoDB 数据模式与建模
MongoDB 会丢数据吗?在次补刀MongoDB 双机热备
临时工说:从人性的角度来分析为什么公司内MySQL 成为少数派,PolarDB 占领高处
PostgreSQL 字符集乌龙导致数据查询排序的问题,与 MySQL 稳定 "PG不稳定"
PostgreSQL Patroni 3.0 新功能规划 2023年 纽约PG 大会 (音译)
Austindatabases 公众号,主要围绕数据库技术(PostgreSQL, MySQL, Mongodb, Redis, SqlServer,PolarDB, Oceanbase 等)和职业发展,国外数据库大会音译,国外大型IT信息类网站文章翻译,等,希望能和您共同发展。
更多推荐
所有评论(0)