1. 聚能聊>
  2. 话题详情

OtterTune来了,DBA真的要失业了吗?

最近AI的新闻特别多,席卷了围棋圈之后,成为了技术圈和媒体热捧的话题。

今天又一个产品借AI上头条了 - OtterTune ,一个数据库参数调优的产品,借助机器学习的技术,生成最优的数据库参数。

虽然OtterTune只是一个结合了机器学习(建模、调参数、获取系统反应、学习、产生最优参数;典型的临床学),可用于参数优化的小软件(实际上DBA的工作远不止这些),但是已经代表了一个方向,未来越来越多的活(枯燥的活)可能会被AI取代。

20170605_01_pic_002

那么如何看待OtterTune呢?DBA真的要失业了吗?

混沌初开(因果学) VS 临床(经验学)

凡事都是有因果,从因可以推理出果。《易经》:“易有太极,是生两仪,两仪生四象,四象生八卦。”

20170605_01_pic_001

临床医学(Clinical medicine)根据病人的临床表现,从整体出发结合研究疾病的病因、发病机理和病理过程,进而确定诊断,通过预防和治疗以最大程度上减弱疾病、减轻病人痛苦、恢复病人健康、保护劳动力。

临床学是经验的积累,需要总结非常多的案例,观察人体对药物反应,总结经验,提炼成学术。是一种反复试错总结的过程。

OtterTune目前更像是临床学,因为一开始它也不知道哪个参数这样设置会怎么样,那样设置又会怎么样?是在无法知道因果的情况下的一种经验科学。只有在积累了足够多的经验时,才能发挥更好的效果。

所以人类在经验科学方面的发展是比较缓慢的,因为人类大脑对数据的处理能力远不能和计算机相比。计算机推动了经验科学的发展。

一些靠经验吃饭的工作,往往是越老越吃香,不过将来也是最容易被AI替代的。个人认为DBA可以考虑转行,把经验转化为产品。

人类DBA vs 机器DBA vs 云数据库

首先,我们看看DBA的工作有哪些?DBA的工作实际上都是围绕数据库展开,包含但不限于这些工作:

1. 数据库、主机、操作系统、交换机、存储选型,预算,架构设计,部署,参数优化;

2. 数据库备份、恢复、容灾、HA、新老硬件更替;

3. 数据库SQL审计、SQL优化、异常问题诊断、性能优化、巡检、健康诊断;

4. 数据库扩容、缩容、迁移;

5. 数据库版本升级、补丁修复;

6. 数据库开发规范、管理规范的指定和执行;

7. 数据库监控、专家、审核系统的开发与建立;

8. 数据库代码覆盖率测试、功能测试、建模、压测、profiling;

9. 数据库读写分离、sharding、MPP系统的构建;

10. 数据库开发、管理、设计、规范培训;

11. 数据库在垂直行业应用的架构设计(例如OLAP、GIS、时序、流计算、图式搜索、文本搜索、图搜索、化学、基因、等);

12. 异构数据、同构数据源的数据同步、ETL;

13. 数据库与其他系统的联动;

14. 数据库云产品化、DOCKER化、虚拟化等相关的工作;

15. 数据库内核的研究、BUG上报、结合业务提出对内核的功能、性能提升等需求;

16. 关注不同数据库产品的roadmap、优缺点、适应场景、不适应场景;

17. 关注数据库行业的发展,进行预研性研究,储备技术;

18. 与技术社区保持紧密联系,从参与、了解同行、到分享,从商业产品到开源社区;

19. 技术为业务服务,从本质触发,深入行业,了解业务、行业的发展,抓住核心点,更好的服务于业务。

可以看到DBA的工作还是有蛮多的,一个好的人类DBA从理论基础(因果学)到实际工作经验(临床学),都有非常多的积累。绝对不是一个OtterTune工具可以取代的。OtterTune也只是针对TPC-C,tpc-h场景进行了大量的模拟测试,针对性的输出最优参数而已。

AI要完全取代这些工作,还有非常漫长的过程。就好像现在很多汽车支持的辅助驾驶,也算是AI应用的一种初级阶段,目前辅助驾驶还有很多限制条件,比如必须要有车道线,可能到乡道就不支持了,需要人工介入。目前OtterTune是一个辅助DBA的工具,还没有达到取代DBA的程度。

未来很长一段时间,AI和人类应该是相辅相成的灰色地带。

相比而言,云产品(例如RDS)才真正在逐渐替代大部分DBA的工作。

云厂商不仅提供数据库产品,用户不需要关心架构、部署、备份、容灾、HA、版本升级、读写分离、sharding、内核BUG等问题。同时还提供了增值的服务,比如专家诊断系统(实际上就包含了OtterTune的功能)。更重要的是云厂商提供的数据库还可以和云上的其他产品紧密结合,例如阿里云PostgreSQL,HybridDB for PostgreSQL,可以与阿里云的OSS结合,进行数据的共享,备份,冷热分离。还可以与云BI系统进行联动,用户省去了部署这么多系统的麻烦。

机器学习在数据库中的一些应用

PostgreSQL有多重接口可以与机器学习结合。

PL接口

PostgreSQL支持plpython存储过程语言,用户可以直接在PostgreSQL中编写python代码,让数据和代码紧密的结合,提升计算效率。

同时支持plcuda, plR等接口。

下面这篇文章详细描述了PostgreSQL在计算与数据存储方面的多重融合方法。计算与数据融合,减少了数据传输的部分,提升了运行效率。大家想一想未来数据爆炸,如果计算还是和存储分离,会是一个什么景象?不具备计算能力的存储不是好存储。

《数据库任督二脉 - 数据与计算的生态融合》

madlib库与pivotalR

Madlib库是一个SQL接口的开源的机器学习库,将机器学习的通用算法转换成了SQL UDF,通过调用函数可以支持通用的学习算法,将数据库和机器学习很好的融合在一起,支持PostgreSQL, Greenplum。架构如下:

20170605_01_pic_003

20170605_01_pic_007

pivotalR则是R的一个机器学习包,通过这个包可以在R的代码中连接PostgreSQL、Greenplum数据库,调用pivotalR的R function,会自动连接数据库,并转成调用madlib的SQL,在数据库中执行SQL,返回结果给R端。这样的话数据不需要加载到R端,而是在数据库层面完成计算。如果数据库是Greenplum,则是并行的计算。

20170605_01_pic_005

20170605_01_pic_006

在这篇文章中有详细的描述,如何在PostgreSQL中玩AI。

《想挑战AlphaGO吗?先和PostgreSQL玩一玩?? PostgreSQL与人工智能(AI)》

rdkit

Rdkit是一个化学垂直行业的数据处理函数库、以及化学行业的机器学习库的包。

rdkit的数据存储选用的就是PostgreSQL,因为PG支持类型、索引、函数、OP的扩展,化学行业选择它就像GIS行业选择它一样,看中它的扩展性,在PostgreSQL实现了一套化学行业的数据类型、索引类型、操作符、函数、聚合函数、机器学习函数等。

rdkit还能与scikit-learn库结合使用,例如下面是一个随机森林的例子

from rdkit.Chem.Draw import SimilarityMaps    
    
# helper function    
def getProba(fp, predictionFunction):    
  return predictionFunction((fp,))[0][1]    
    
m5 = Chem.MolFromSmiles('c1ccccc1O')    
fig, maxweight = SimilarityMaps.GetSimilarityMapForModel(m5, SimilarityMaps.GetMorganFingerprint, lambda x: getProba(x, rf.predict_proba))    

20170605_01_pic_004

机器学习在PostgreSQL里的其他应用

在PostgreSQL社区,也不乏看到机器学习的例子,例如

1. zson数据类型,是一个兼容jsonb的数据类型,zson通过对jsonb的数据进行训练,得到字典,将JSONB中的内容翻译成字典存储,优化数据存储的压缩比,提高存储效率,同时降低buffer的使用。

《JSONB 压缩版本 ZSON》

2. aqo,通过机器学习,动态调整SQL语句的执行计划。

《数据库优化器原理 - 如何治疗选择综合症》

人类 vs 机器

当AI真的发展到可以取代大多数人类的工作的时候,人们干什么去呢?比如多陪陪家人,感受大自然,从事一些自己感兴趣的事情,修生养息,天人合一。

但是在此前,我们还是来谈一下转行搞AI,把经验转化为产品的事情,个人认为这是一种情结,一种把种子散播出去的情结,就像各行各业的宗师,比如太极宗师。

转行搞AI,个人认为:

至少要懂得一门相关的编程语言,例如R,PYTHON;至少需要有一定的数学、统计学背景;至少需要对垂直行业有深刻的认识;最后就是选择一个合适的平台;

看完这篇文档,你肯定知道该如何选择。

《数据库任督二脉 - 数据与计算的生态融合》

人工智能相关的电影,推荐可以看一下。

影片中AI主角终身想追求的确是我们人类所拥有并习以为常的。你怎么看待AI呢?

《AI》

21世纪中期,由于气候变暖,南北两极冰盖的融化,地球上很多城市都被淹没在了一片汪洋之中。此时,人类的科学技术已经达到了相当高的水平,人工智能机器人就是人类发明出来的用以应对恶劣自然环境的科技手段之一。先进的人工智能机器人不但拥有可以乱真的人类外表,而且还能像人类一样感知自己的存在。大卫(海利乔奥斯蒙特)就是这样一个有思想、有感情的小机器人,他被一对人类父母所收养,有一个哥哥和一个贴身的伙伴机器泰德熊。但这些并不能让大卫满足,他一直渴望着自己终有一天不再仅仅是个机器人。抱着对这个愿望的执着,11岁的大卫踏上了漫长的心路历程,跟随在他身边的,还有另一个善良的机器人乔(裘德洛)。谁也不知道他们能否完成自己的心愿,脱胎换骨成为真正的人,等待他们的只有凶吉难料的对复杂人性的追寻。

《木偶奇遇记》

孤独的木匠爷爷这晚亲手制作了一个木偶男孩——皮诺曹。可能上天眷顾爷爷,午夜,蓝仙女显灵了,她让这个木偶男孩具有了意识,能像其他男孩那样跑跑跳跳了。获得了生命的皮诺曹兴奋不已,很快和屋子里的小动物交上了朋友。早上爷爷起来见到皮诺曹惊讶不已,他十分感激上天赐给他的礼物。 然而,皮诺曹很快就发现了自己和其他男孩子还是不一样,他没有肉体,不会疼痛,只有冰冷了木制躯体。他开始不满足于现状,梦想着找到蓝仙女让她将自己彻底变为一个真正的男孩子。于是,他踏上了旅程。

那么接下来就跟大家一起聊聊

你是如何看待OtterTune的?DBA真的要失业了吗?

随着人工智能在各个行业的快速发展,在未来人类vs人工智能,我们还能干点什么?

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    定制笔记本 x 1

  • 奖品二

    阿里云代金券 x 1

94个回答

3

李博 bluemind 已获得阿里云代金券 复制链接去分享

你是如何看待OtterTune的?DBA真的要失业了吗?
虽然DBA的工作不会那么快被AI替代,主要是开关(参数),但显然数据库的管理只会越来越智能,不是由厂家自己(比如Oracle,这些年从PGA自动管理,SGA自动管理到整个内存自动管理,从Perfstat到AWR到ADDM,正在一步步把DBA“傻瓜化”),就是由第三方公司或者研究机构(比如本文的卡耐基大学数据库研究团队),作为DBA来说,必须要不断尝试,站在一个更高层面来看待数据库,看待运维,看待IT,否则就会成为被机器人替代的炮灰。
数据库管理系统(DBMSs,DatabaseManagement Systems)是任何数据密集型应用最重要的组成部分。他们可以处理大规模数据和复杂的负载形态,但它们很难管理,因为它们有成百上千个配置“开关”,用来控制诸如将多少内存用作缓存、怎样将数据写到存储等等这些事情。企业或组织经常雇佣技术专家来帮忙做系统优化,但专家对许多公司来说还是非常昂贵的。
卡耐基梅隆大学数据库组的研究员和学生们研发了一款新工具,叫做OtterTune。OtterTune可以从数据库成百上千个配置开关中自动发现最佳设置。它的目标是让随便一个工程师都可以更容易去部署一套关系型数据库,即使他们在数据库管理方面没有任何专业知识也行。
OtterTune与其他的数据库配置工具不一样,因为它利用调优先前的数据库配置知识去调优新的数据库配置。这可以显著地降低调优一个新的数据库部署所需时间及相关的资源。为了做到这一点,OtterTune维持着一个资料库,其中存放了从先前调优环境中采集回来的调优数据。OtterTune使用这些调优模型来指导新应用程序的实验,推荐能够改进目标对象(比如降低延时或者提升吞吐量)的设置。
我们讨论OtterTune工具 ML pipeline(机器学习的工作流API库)的每个组件,并展示他们之间怎样互相协作去调优一个数据库配置。我们在MySQL和Postgre上评估OtterTune的调优能力,通过将OtterTune最佳配置的性能与DBA选择的配置及其他自动调优工具的配置得出的性能做比较。
OtterTune是一个开源工具,由卡耐基梅隆大学数据库研究组的研究员和学生们研发。所有的工具代码都放在GitHub上,遵从Apache License 2.0协议授权。
随着人工智能在各个行业的快速发展,在未来人类vs人工智能,我们还能干点什么?
研究人工智能
人工智能再怎么智能也是人研究出来的(虽然说以后可能会让人工智能代劳)

1

jackyliu 已获得定制笔记本 复制链接去分享

你是如何看待OtterTune的?
智能化工具的出现是DBA和运维的福音,可以减少大家的工作量。这样的工具以后会越来越多。但是这种机器学习调优,需要一个学习的过程,它的调优必然依赖于对现有数据和查询历史的统计分析,新项目则无法生效。另外,数据库模型只是物理世界规则在DB里面的一个投影而已,这个所谓的物理世界的规则,其实就是业务。业务是需要DBA和产品、运营、技术讨论、扯皮、妥协后产生的。

DBA真的要失业了吗?
云计算兴起已经导致了运维岗位的缩减。我们现在公司几十台服务器,都跑在阿里云上,却没有一个运维。DBA的岗位跟运维类似,小公司直接买RDBDRDS,大公司为了缩减成本才自己养DBA的,岗位减少是必然的。距离业务越远、行业越标准化的岗位,越容易被机器替代,先是运维,再是DBA,接下来就是后端。

随着人工智能在各个行业的快速发展,在未来人类vs人工智能,我们还能干点什么?
0.少数智商高的人,能从事研发和管理机器人的工作;
1.从事跟人打交道的行业,扯皮、讨论、管理,从事服务业;
2.从事小众行业,某些行业规模小,研发机器人和人工智能相关技术收益低,资本不会感兴趣的;
3.薪资要求比机器人成本低,资本家不管干活的是人还是机器,他们只选便宜的;
4.资本家为避免底层抗议太厉害,会增加福利,会保障无业人员的最低生活标准的,我们吃吃饭打打游戏就好。

夜读书 回复

同感

评论
3

小柒2012 复制链接去分享

你是如何看待OtterTune的?DBA真的要失业了吗?作为DBA必须要提升自己的认知水平,不然就真的OUT了。

云时代,运维的理念发生了很大改变,近日卡耐基梅隆大学OtterTune的问世,也促使DBA要站在更高层面来看待数据库,看待运维,看待IT,否则就会成为被机器人替代的炮灰。

然而不管如何改变,MySQL 在这其中的一种核心竞争力依旧不变,那就是优化能力。这个优化范畴不单指原来的硬件选型等层面的优化,更多的过渡到了架构设计优化和应用层面的优化。

优化能力是DBA职业生涯中的持久生命力,是重新审视自我、提升自我的一个必备武器。

3

浮生递归 复制链接去分享

OtterTune可以从数据库成百上千个配置开关中自动发现最佳设置。它的目标是让随便一个工程师都可以更容易去部署一套关系型数据库,即使他们在数据库管理方面没有任何专业知识也行。
OtterTune与其他的数据库配置工具不一样,因为它利用调优先前的数据库配置知识去调优新的数据库配置。这可以显著地降低调优一个新的数据库部署所需时间及相关的资源。为了做到这一点,OtterTune维持着一个资料库,其中存放了从先前调优环境中采集回来的调优数据。OtterTune使用这些调优模型来指导新应用程序的实验,推荐能够改进目标对象(比如降低延时或者提升吞吐量)的设置。

OtterTune目前也只是支持MySQL和Postgre两种数据库,而且只是在开关设置层面,相比Oracle数据库在自动化管理方面的强大功力,OtterTune只能算是一个玩具。

AI能干的事越来越多,那就放手都让AI去干。我们就专心做好怎么让AI干更多的事情。

2

德哥 复制链接去分享

人类有一种把种留下的情结,从古至今各行各业的宗师,如太极宗师。AI只是人类把种留下的另一种表现形式。拥抱AI吧,把种留下。

闻涛听风 回复

我看到这句话,怎么第一反应是回家生娃。。。

评论
1

jxb 复制链接去分享

AI 只能取代最基础的、最明确步骤的工作,面对新的技术或者思维AI将变得无能为力。AI 只能是工具,除非拥有像人一样的思考能力。

1

kinghow 复制链接去分享

谁给你们的自信,还没用过,就在这里BLBL,有人跑成功过吗,到目前为止除了作者本人,还没有其他人重复过这个调优过程,现在能看到的就是一篇论文,2个GIT中的部分代码,作者说很快会有一个可用的发布的版本。希望真的可以很快,作者可以先把她自己的实验步骤公布下,即使是个概念,也让大家验证一下。

1

就是不服老 复制链接去分享

机器都能写代码了。机器都能预想着写代码实现功能。人类就只能种菜自己吃了。

1

zsyh 复制链接去分享

AI不会完全替代DBA,而是成为DBA的工具。DBA则更专注于工作中具有更高抽象程度的那一部分

1

巴洛克上校 复制链接去分享

用题主的文章回答下题主的问题😄。

你是如何看待OtterTune的?DBA真的要失业了吗?
虽然OtterTune只是一个结合了机器学习(建模、调参数、获取系统反应、学习、产生最优参数;典型的临床学),可用于参数优化的小软件(实际上DBA的工作远不止这些),但是已经代表了一个方向,未来越来越多的活(枯燥的活)可能会被AI取代。但是现阶段很多DBA很多离不开人的干预。
DBA的工作实际上都是围绕数据库展开,包含但不限于这些工作:
数据库、主机、操作系统、交换机、存储选型,预算,架构设计,部署,参数优化;
数据库备份、恢复、容灾、HA、新老硬件更替;
数据库SQL审计、SQL优化、异常问题诊断、性能优化、巡检、健康诊断;
数据库扩容、缩容、迁移;
数据库版本升级、补丁修复;
数据库开发规范、管理规范的指定和执行;
数据库监控、专家、审核系统的开发与建立;
数据库代码覆盖率测试、功能测试、建模、压测、profiling;
数据库读写分离、sharding、MPP系统的构建;
数据库开发、管理、设计、规范培训;
数据库在垂直行业应用的架构设计(例如OLAP、GIS、时序、流计算、图式搜索、文本搜索、图搜索、化学、基因、等);
异构数据、同构数据源的数据同步、ETL;
数据库与其他系统的联动;
数据库云产品化、Docker化、虚拟化等相关的工作;
数据库内核的研究、BUG上报、结合业务提出对内核的功能、性能提升等需求;
关注不同数据库产品的roadmap、优缺点、适应场景、不适应场景;
关注数据库行业的发展,进行预研性研究,储备技术;
与技术社区保持紧密联系,从参与、了解同行、到分享,从商业产品到开源社区;
技术为业务服务,从本质触发,深入行业,了解业务、行业的发展,抓住核心点,更好的服务于业务。
可以看到DBA的工作还是有蛮多的,AI要完全取代这些工作,还有非常漫长的过程。
 OtterTune是由卡内基梅隆数据库组中的学生和研究人员开发的新工具,可以自动为DBMS的配置选项找到最好的设置方法。OtterTune目标是使任何人都更容易部署数据库管理系统,即使是那些在数据库管理方面没有任何专业知识的人也可以使用它。
  OtterTune与其他DBMS配置工具不同,因为它利用从先前的DBMS部署调整中学到知识。大大减少了调整新的DBMS部署所需的时间和资源。为此,OtterTune维护了从以前的调优会话收集的调优数据库。它使用此数据构建机器学习(ML)模型,以捕获DBMS如何响应不同的配置。OtterTune使用这些模型来指导新应用程序的实验,推荐改进目标参数的设置(例如,减少延迟或提高吞吐量)。

随着人工智能在各个行业的快速发展,在未来人类vs人工智能,我们还能干点什么?
人工智能永远代替不了人类,因为他们是人类创造的人类决不允许他们超过人类,我们还可以控制机器人,哈哈!!

1

小猪猪m 复制链接去分享

在世界全球化的今天科技永远日新日异Otter Tune也永远都是为人类服务,带给生活便利。DBA不会失业,本就是靠经验累积起来的产品没有输入,不会更新不就会被淘汰么?人类未来就是利用我们所创造出来的工具更高效解决问题和更底消耗能源问题。这样人类不就生生不息了。

0

怀刚66 复制链接去分享

问个和文章无关的问题,这么好的文章怎么没有收藏功能呢?急需

0

依然无知 复制链接去分享

自动化越成熟,必然就会导致人工的供过于求,失业也是必然

0

kingcobra 复制链接去分享

www.Apollolottery.com
阿波罗彩票网
92f0cfa71fae4827a2320780b1963e53_f470f45195d94f62834b26d761a02b8e.jpg

0

kingcobra 复制链接去分享

Apollolottery.com 阿波罗彩票
92f0cfa71fae4827a2320780b1963e53_c41295e1037a453a8447f93129a89259.jpg

0

1877490757014922 复制链接去分享

提高工作效率,降低人员消耗,是新时代必经之路。我们要做的就是进步。

0

keller.zhou 复制链接去分享

OtterTune虽然不需要生成用于训练机器学习模型的初始数据集,因而显著缩短了调优时间。
但我个人认为,人远远低估了自己的大脑,觉得计算机的运算速度会远超人脑,却忘记了人工智能程序在运行时只接收到良好定义的、单一的输入信号,而他需要做的决策也是极为简单,但人每天要接受五官输入和大脑自我的反思回忆,而且听到看到的各种信号都比较模糊,需要底层的神经系统进行一定程度的总结才可以进入高层进行运算,所以说事实上我个人感觉现在的计算机人工智能的运行速度其实远不及一个成年人人脑的。这也是为什么现在所谓人工智能的应用领域大都是用它解决简单直接的问题。
我们对人脑了解多少?我觉得并不了解多少,人脑的神经元数目以千亿计,而且自己连接成了非常复杂的很多结构,关键是我们难以同步跟踪标记人的各个动作在神经网络上的运行(因为就算人睡觉了还有大批的神经冲动并发地不断梭巡)。说实话大自然造物的各种生物器官是人目前的各种造物的复杂度所不可比拟的(举例而言,记载人一切进化信息的DNA,人了解它多少?)。我认为人离研究透彻大脑的真正运作规律(即,研究透意识产生的根源)还有非常长的路要走。
依赖网络就是退化?不,我们从网络上了解到了远超不能上网的人的信息,当然这信息过于杂乱了,但是人的眼界开阔了,可讨论对象多了(在线交流平台比拟过去书信来往?),只需有时间就可以不断深思,站在前人肩膀上。相反,没有这些海量信息和沟通对象,自己自我不断思索,结果难以验证自己思索的对错和方向是否正确,重复前人的思考和研究,往往做不出伟大的成就。所以,感谢互联网时代吧,让人的思维扩展的如此深远。上海老下雨,求雨伞🌂

0

怎么省钱网 复制链接去分享

应该不会,哥赏张代金券吧,谢谢

0

爵霸 复制链接去分享

不会的,未来DBA可能做的工作不同了而已,而不是完全失业,系统在更新,人呢?是否也需要更新知识呢?不同系统多么先进,最后总得有人用吧!有人用,就会有问题,到时候不还是DBA这些专业人士干的活吧!只不过以前是靠经验,以后可能是靠工具来完成分析等等工作吧!如果一味靠着现在身上的本钱的话,早晚会被淘汰掉了的。这是小弟拙见!

0

1471033428340095 复制链接去分享

人类还需要几百倍的努力发展科技,毕竟现在根本不知道人是从哪里来的!不知道地球内部的机制!不能上到最近的月亮上去!

5