当前位置: 首页 > news >正文

《MySQL DBA工作笔记》前言

这是学习笔记的第 2033 篇文章


  鉴于新书的内容已经基本确定下来,已经在做最后的确认工作,今天把整理的《笔记》前言内容选出一部分发出来,因为感谢部分名单较长,为了信息的准确性和完整性,在最后会确定下来。

MySQL是开源数据库方向的典型代表,它拥有成熟的生态体系,同时在可靠性、性能、易用性方面表现出色,它的发展历程见证了互联网的兴衰与成长。

在 DeveloperWeek 上曾发起一个调查,超过 3/5 的受访者使用 SQL,其中MySQL 以 38.9% 的使用率高居榜首,其后依次是 MongoDB(24.6%)、PostgreSQL(17.4%)、Redis(8.4%)和 Cassandra(3.0%)。毫无疑问,以MySQL为主的开源技术生态正变得越来越流行。

随着客户要求不断变化,网络环境日趋可信和安全,企业不断释放出“倍增创新”能力,也就意味着数字化转型开始从IT时代进入DT时代。面对大量的数据和业务,更多的公司意识到了数据价值的重要性,如何管理和利用好数据已经变得越来越重要,MySQL是其中的排头兵。

现如今云计算已经越来越普及,很多企业的业务都在逐步迁移到云端,对于MySQL来说是机遇也是挑战,目前可以看到行业里MySQL DBA的市场缺口依然很大,优秀的MySQL DBA正在成为各个互联网公司的抢手人才。在工作内容方面,原来DBA需要花费大量精力去做的基础运维工作(安装部署、备份恢复等),现在比例在逐步减少,不是这些事情不重要,而是DBA也需要技能升级,其实在传统数据库运维工作之外,还有运维管理、运维架构和SQL优化工作,因为我们面对的可能是成百上千套数据库环境,我们更需要考虑工作效率和质量,Devops这些年在数据库运维方向提供了很好的思路和实践,我们现在听到地更多是自动化平台、智能化平台。如果前几年是在喊口号,那么这几年已经落地开花,甚至看到一些产出了,所以对于MySQL DBA来说任重道远,不光对运维业务和技术要精深,而且必须要懂得运维开发技术。

写书的缘起

我是一个坚持写技术博客的人,内容不局限于技术,也包含一些生活感悟,从2014年2月的一天开始每天一篇博客,这一路竟然坚持了下来,在2016年6月,我完成《Oracle DBA工作笔记》,汇聚了近800天的学习笔记,目前已经重印7次,而截止到2019年6月,我已经坚持了2000多天,当然我还会继续坚持下去,就如同我最开始给自己的目标一样。

从最开始的满腔热情,到融入成为生活的一部分,这其中的挑战还是很多的,尤其是近些年,发现对于体力的挑战更为明显,对我来说,在每天23:59之前能够完成博客就是一种记忆打卡。

随着博客的内容量越来越多,有些网友在博客和我的互动也越来越多,我发现原本是利己的事情慢慢变得利人了,当然这种状况很快会碰到另外一个瓶颈,那就是当博客内容达到一定数量的时候,你会发现如何有效地管理和梳理这些内容远比想象的要复杂,同时DBA方向也相比过去有了更高的要求和压力,为了保持竞争力和更好的完成工作,我需要不断的拥抱变化,学习新技能。正是和网友的互动互助中,让我对已有的知识体系产生了疑问,也决定开始行动,改进方法。

古人云:“若起不得法,则杂乱浮泛”。虽然写书的想法是好的,但是如果没有花时间去梳理一个完整的知识体系,是很难把这些经验利用起来的,而这也是我写DBA笔记系列的缘起。

另外,在内容的编排上,我选择了数据库管理、架构和SQL优化、运维开发这三个方面。一方面能够突出工作笔记的特色,避免写出过多重复经验的内容,另外一方面是目前市面上运维管理的书籍相对多一些,但是工作中对于架构和SQL优化的内容相对较少,而对于运维开发的内容就更少了,算是一个补充吧。

现在社会的焦虑比以往要多一些,简单来说,感觉到威胁、找不到突破口,内心空洞,这就是焦虑。我在前几年的焦虑达到了顶点,总是会不断地焦虑自己的未来,焦虑团队的未来等等,而这些心路历程都在书中给出了一些解决思路。《一代宗师》中这样说道:“从此只有眼前路,没有身后身,回头无岸”,我想技术之路也是如此,我们只有继续坚持走下去,才能找到答案。

本书适合的读者对象

l MySQL DBA或者开发人员。

l 有一定的SQL基础,并且期望能够提升自我的读者。

给读者的一些建议

(1)要有一个清晰的规划;凡事预则立,不预则废,制定计划是给自己的一个心理暗示。给自己一个阶段性目标,然后把它做分解,拆分成为自己能够实现的一些任务。

对于规划,要有长期规划和短期规划,长期规划就是几年内希望自己有什么样的成长,同时短期内希望达到什么目标,都可以做到统筹。一种行之有效的方法就是:拿着若干期望的目标,然后反推过程,应该怎么去落实,实践效果要好一些。

(2)建立技术连接的思维;我们很多同学就是专注在了技术线,对于某一个技术有较为深入的学习,但是对于其他方向的技术却有欠缺,这样很容易形成技术壁垒,思考问题的方式也会更局限于你所熟悉的方式和领域,对成长是不利的。我们不要钻牛角尖,不要什么都要用MySQL来实现,面对需求,永远没有最好的数据库,只有最适合的业务场景,一旦你开始更理性的思考,你才会更接近于问题的本质。

(3)充分利用碎片时间;有很多人说,我现在可忙了,没时间。其实细细观察,总是会有很多的碎片时间:早高峰、午饭后、晚高峰、晚饭后、睡觉前,这些都是碎片化相对集中的时间,可以充分利用起来做很多的事情。

(4)多参加社区、社群的活动和技术交流问答;对于参加社区、社群活动,自己也是深有感触,可能技术圈子的人性格相对比较内敛,在技术上态度还是开放的。多参加一些社区、社群的交流,可以让自己少走很多弯路,因为不是所有的坑都需要你完整地踩一遍,而在这个过程中你收获的不仅仅是知识,还可能是友情。

本书内容预览

本书会以工作笔记的形式循序渐进地讲解DBA工作中的一些常见问题和处理方法。

全书共分为三篇,共15章,全面介绍数据库管理、架构和SQL优化、运维开发相关的工作内容,在这些知识点中也穿插了大量实例。第一篇(第1~5章)详细介绍了MySQL的发展,技术选型和体系结构,以运维场景作为切入点,通过梳理SQL开发规范,总结运维管理实践来还原DBA的日常管理工作。

第二篇(第6~10章)包含SQL查询优化,并发控制内容和性能测试的一些相关内容,在这个基础上补充了MySQL高可用架构和集群相关内容,提供基于业务的架构设计思路。

第三篇(第11~15章)包含整个运维开发体系从0到1的建设思路,包含运维开发基础,架构设计和规划,运维管理模块设计,自助服务设计等几个部分。

640?

相关文章:

  • MySQL复制的奇怪问题跟进
  • MySQL高可用方案升级规划
  • 选择和努力
  • 无论是否“去O”,这些数据库选型与运维技巧你都该知道
  • MySQL周期表管理的设计
  • 推荐一些近期看过的电影和电视剧
  • 一个数据需求的讨论和分析
  • MySQL机房多活的初步设想
  • 《大江大河》观后感1
  • 基于中间件的负载均衡方案
  • 我的女儿二三事(十三)
  • 最近的一些计划
  • 运维日,说说曾经犯过的错误
  • MySQL毫秒必争的优化场景
  • ClickHouse初识
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript 基础知识 - 入门篇(一)
  • Java多线程(4):使用线程池执行定时任务
  • KMP算法及优化
  • maven工程打包jar以及java jar命令的classpath使用
  • node和express搭建代理服务器(源码)
  • python3 使用 asyncio 代替线程
  • Redux 中间件分析
  • ViewService——一种保证客户端与服务端同步的方法
  • Vue实战(四)登录/注册页的实现
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 解析 Webpack中import、require、按需加载的执行过程
  • 京东美团研发面经
  • 聊聊directory traversal attack
  • 聊聊redis的数据结构的应用
  • 前端自动化解决方案
  • 如何用vue打造一个移动端音乐播放器
  • 算法系列——算法入门之递归分而治之思想的实现
  • 原生Ajax
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • 正则表达式-基础知识Review
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (9)STL算法之逆转旋转
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (多级缓存)缓存同步
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (五)关系数据库标准语言SQL
  • (转)平衡树
  • .net wcf memory gates checking failed
  • .net web项目 调用webService
  • .NET企业级应用架构设计系列之应用服务器
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • @Transaction注解失效的几种场景(附有示例代码)