Redian新闻
>
云中的 MySQL 是 DBA 的终结吗?

云中的 MySQL 是 DBA 的终结吗?

公众号新闻

作者 | Daniel Nichter
译者 | 平川
策划 | 刘燕

本文最初发布于 Daniel Nichter 的个人博客 Hack MySQL。

这篇博文是该系列 11 篇文章中的最后一篇:一篇是前言,其他 10 篇对应我写的 Efficient MySQL Performance 一书的 10 个章节。这里有完整列表。

几年前,我参加了 Oracle 在当地举办的一次聚会。令人敬畏的 Kenny Gryp 也在那里。但我记得最清楚的是和另一位 DBA 的对话,我和他不是很熟,所以不管你是谁,请原谅我后来忘记了你的名字。但我记得,当我说 MySQL 需要更多的 DBA 时,你说了什么:你说不需要,因为云正在接管 MySQL 管理。

多年后,我看到了这样的情况:招聘一个有经验的 MySQL DBA 变得极其困难;取而代之,我们招聘优秀的软件工程师(有时是刚从大学毕业的),并培训他们运维之前就有的 MySQL 机群,我们不期望他们“深入”MySQL——当然也没期望他们能成为 MySQL 专家。

现存的独立 MySQL 专家是我们这类人里的最后一批。

这里的“独立”是指使用 MySQL,但不开发它。当然,Oracle 会继续招聘和培训工程师来开发 MySQL,他们将成为他们这个开发领域的专家,但是,我这里说的是 DBA:管理 MySQL 并公开撰稿介绍 MySQL 的人 — 选择深入研究 MySQL 并进而成为专家的人,而不是被雇佣并进而成为专家的人。

那是可以的,因为现如今,MySQL DBA 的工作与其说是关于 MySQL,不如说是关于 MySQL 的一切:存储、计算、安全、合规性、数据平台和软件工程师。当然,对于更广泛的行业来说,也会有新的发展,不断出现的 Bug,以及一些需要独立专家来揭示并解决的常见问题。但总的来说,符合标准设置的 MySQL 就足够了。

这就是云的用武之地,因为没有 DBA 会真的想要在一个裸金属机群上操作 MySQL。是的,那很酷,很有技术含量——让你感觉很特别。但是,除非你是在一个稳定的(或变化非常缓慢的)环境中,否则你就要把太多的时间花费在硬件变化和问题跟踪上。

就像我们的个人电子设备一样,企业硬件的变化也非常频繁,因为销售人员需要把更新、更亮的产品卖掉。机架服务器中那些拥有 BIOS、固件和内核理想组合的 5TB 企业级 SSD 不是可以帮助 MySQL 运行得很好吗?再也不能买了。此外,最新的 BIOS 更改了风扇转速管理,这会影响 CPU 温度,进而影响 CPU 时钟速度,从而严重影响了查询响应时间。当测试备用电源板导致两者都失效时,你就翻白眼了……

正如我在 Efficient MySQL Performance 一书第 10 章所写的那样,云运行 MySQL,但它不能代替 DBA 的工作:

虽然“You”下面对勾的数量是“Cloud”下面的两倍,但“Cloud”下面的那 5 个对勾很重要,因为它们处理了所有底层工作(尤其是硬件)——最繁重而影响最小的那部分工作。根据你与 MySQL 的关系,“Cloud”下面的 5 项工作对你的影响会有所不同:

  • DBA

  • 云让 DBA 可以专注于提供更好的用户体验,从与“DBA”下的勾选项有关的方面。例如,提供更好的服务器和查询指标,帮助用户(软件工程师)理解应用程序如何影响 MySQL 及其性能。这就是我们的职业发生变化的原因:我们可以在上层与软件工程师开展合作,以便更有效地理解和利用 MySQL,而不是在下层与 MySQL 搏斗。这在云计算领域尤其重要,因为在云中,“大型硬件”非常昂贵,或者按使用量付费泛滥成风。

  • 软件工程师

  • 云将为你运行 MySQL,但这不同于管理。你很快就会发现,云仍然给你(或你的 DBA)留下了许多需要 DBA 完成的工作。在 MySQL 世界中,在线更改模式(运行 ALTER 语句而不阻塞任何查询)是一个常见的、云无法解决的需求。因此,如果你是一名云 MySQL 新手,请注意这一点,不要对此感到惊讶:如果你关心安全性和灾难恢复(DR)等问题,那么你需要多做一些工作才能使云中的 MySQL 真正达到生产状态。

随着时间的推移,我认为云提供商将提供更多的功能。例如,亚马逊提供了服务器指标、查询指标、DR 和 HA 的解决方案;但坦率地说,我认为它们还没有好到可以在“Cloud”列下增加一个对勾。例如,关于 Amazon RDS 和 Aurora,有一个地方就让我很恼火:当你为 DR 设置跨区域复制时,如果复制由于他们的问题而停止,亚马逊并不会监控或提醒你——他们当然也不会修复这个问题。这让我很恼火,因为复制是他们的产品特性,所以在这种情况下,他们应该监控并确保它能够继续工作。但是,它可能会悄无声息地失败,除非你知道存在这种情况,自己监控并修复它。即便如此,因为这是他们在他们那边设置的,我也遇到过无法从我这边解决的情况。

如果你还是不相信,我再举一个例子:我还遇到过这样的情况,亚马逊云科技说复制是按他们的 API 设置的,但 MySQL 没有针对复制做配置——这明显是亚马逊云科技方面犯的一个严重的错误,目前还没有简单的修复方法。购者自慎。

云 MySQL 正在发展,这意味着传统 DBA 对运行 MySQL 的关注将越来越少,而对帮助软件工程师有效地使用 MySQL 的关注将越来越多。

这就是我写 Efficient MySQL Performance 这样一本书的原因:针对使用 MySQL 的软件工程师,而不是 DBA,因为后者已经赢得了众所周知的战争:MySQL 已经在世界上很大的范围内运行,而且很有效。但是,关系数据库很复杂,有时候会让软件工程师无法从 MySQL 那里获取他们最需要的东西:性能。

但是,云并不关心 MySQL 的性能。不管是快的还是慢,收费都一样。这就是为什么云永远不会成为 DBA 的终结。这也是为什么我们转了一圈又回到了我书中的第一句话:

声明:本文为 InfoQ 翻译,未经许可禁止转载。

原文链接:https://hackmysql.com/post/book-10/

你也「在看」吗? 👇

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
MySQL 批量操作,一次插入多少行数据效率最高?地球经历了五次大灭绝,正在进入第六次吗?MySQL分表后,如何做分页查询?佳人有约BUG退退退:搞懂MySQL隔离级别 | 文末赠书21 个 MySQL 表设计的经验准则全民核酸会终结吗?我愿意参与承受这份风险柠檬与莱姆的区别[荐书]:搞懂 MySQL 隔离级别MySQL 5.7 并行复制实现原理与调优面试官:为什么不建议在 MySQL 中使用 UTF-8 ?MySQL 分布式事务的“路”与“坑”bāo huā shēng?bō huā shēng?为什么不建议在 MySQL 中使用 UTF-8 ?11 款超赞的 MySQL 图形化工具,好用!MariaDB 成功上市!MySQL 之父 YYDS!!SQLAlchemy 2.0.0发布首个RC,Python ORM框架MySQL客户端的进阶操作游戏论|《失眠》:游戏中的知觉悬置与睡眠的终结一文掌握 MyBatis 的动态 SQL 使用与原理MySQL 最朴素的监控方式!用完爱不释手MySQL索引下推知识分享13 款炫酷的 MySQL 可视化管理工具!干掉 Oracle 的 MySQL的高端玩法,真香!MySQL长期霸榜时代结束!毛泽东靠专制独裁创建军队的吗霸占着400亿美元市场的Oracle,技术上已经赶不上PostgreSQL了 | 对话 EDB面试官:MySQL中的 distinct 和 group by 哪个效率更高?Mybatis 框架下 SQL 注入审计分析专访“MySQL 之父”:我曾创造 MySQL,也将颠覆 MySQL女儿家吃饭MySQL中的 utf8 并不是真正的UTF-8编码 ! !即将抵达柏(bǎi)林站 | 2022武汉4号线柏林电影周推荐展映片单公布hiQ Labs v LinkedIn的终结,还是hiQ的终结MySQL 字符串指南 | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。