OtterTune来了,DBA怎么办
https://blog.csdn.net/xiangzhihong8/article/details/72887476
最近AI的新闻特别多,席卷了围棋圈之后,成为了技术圈和媒体热捧的话题。
今天又一个产品借AI上头条了 - OtterTune ,一个数据库参数调优的产品,借助机器学习的技术,生成最优的数据库参数。
虽然OtterTune只是一个结合了机器学习(建模、调参数、获取系统反应、学习、产生最优参数;典型的临床学),可用于参数优化的小软件(实际上DBA的工作远不止这些),但是已经代表了一个方向,未来越来越多的活(枯燥的活)可能会被AI取代。
那么如何看待OtterTune呢?DBA真的要失业了吗?
混沌初开(因果学) VS 临床(经验学)
凡事都是有因果,从因可以推理出果。《易经》:“易有太极,是生两仪,两仪生四象,四象生八卦。”
临床医学(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。架构如下:
pivotalR则是R的一个机器学习包,通过这个包可以在R的代码中连接PostgreSQL、Greenplum数据库,调用pivotalR的R function,会自动连接数据库,并转成调用madlib的SQL,在数据库中执行SQL,返回结果给R端。这样的话数据不需要加载到R端,而是在数据库层面完成计算。如果数据库是Greenplum,则是并行的计算。
在这篇文章中有详细的描述,如何在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))
机器学习在PostgreSQL里的其他应用
在PostgreSQL社区,也不乏看到机器学习的例子,例如
1. zson数据类型,是一个兼容jsonb的数据类型,zson通过对jsonb的数据进行训练,得到字典,将JSONB中的内容翻译成字典存储,优化数据存储的压缩比,提高存储效率,同时降低buffer的使用。
2. aqo,通过机器学习,动态调整SQL语句的执行计划。
人类 vs 机器
当AI真的发展到可以取代大多数人类的工作的时候,人们干什么去呢?比如多陪陪家人,感受大自然,从事一些自己感兴趣的事情,修生养息,天人合一。
但是在此前,我们还是来谈一下转行搞AI,把经验转化为产品的事情,个人认为这是一种情结,一种把种子散播出去的情结,就像各行各业的宗师,比如太极宗师。
转行搞AI,个人认为:
至少要懂得一门相关的编程语言,例如R,PYTHON;至少需要有一定的数学、统计学背景;至少需要对垂直行业有深刻的认识;最后就是选择一个合适的平台;
看完这篇文档,你肯定知道该如何选择。
版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/xiangzhihong8/article/details/72887476概述最近几年,特别是随着云计算的发展,出现了行业向后重叠和推动的情况。数据库龙头企业Oracle最近几年重点转而向云的变革,它全力以赴在做的一件事情就是把所有的产品和服务转移到云上来。云技术改变了数据库领领域的竞争格局,而云时代的DBA,则面临着自后向前置的运维变化。 数据库管理系统(简称 DBMS)无疑是任何数据密集型应用程序当中最为重要的组成部分,其肩负着处理大量数据以及高复杂性工作负载的重任。然而,数据库管理系统本身却往往难于管理,因为其中通常包含数百种配置“旋钮”,用于控制诸如缓存内存分配量以及存储介质数据写入频率等要素。各类企业一般需要聘请专业人士以协助相关调配工作,但对于大多数企业而言,此类专业人才的开价亦相当高昂。而实际上,DBA所面临的挑战还远不止这些。
而今天一则名为“OtterTune”的机器学习DBMS系统刷爆了朋友圈。那么,这个由亚马逊和卡内基梅隆大学一起开发的DBMS系统究竟是什么呢?能提供什么服务呢?其实OtterTune并不是多么惊奇的系统,不过是自动化方式识别出最适当当前数据库管理系统配置需求的设置组合。OtterTune 与其它 DBMS 配置工具之间的主要差别在于,其能够利用自此前 DBMS 部署工作当中积累到的知识指导新系统的配置工作。这一设计思路显然降低了新 DBMS 部署方案在调整当中所需要的时间与资源投入。而为了实现这一目标,OtterTune 专门建立起一套数据库,用以收集从此前调节会话中提取到的重要信息。其利用这部分数据建立机器学习(简称 ML)模型,用以捕捉 DBMS 在面对不同配置方案时作出怎样的响应。OtterTune 还利用这些模型以指导新型应用程序的配置实验,并提供推荐设置以提升目标运作效果(例如减少延迟或者提高数据吞吐量)。 虽然OtterTune只是一个结合了机器学习(建模、调参数、获取系统反应、学习、产生最优参数;典型的临床学),可用于参数优化的小软件(实际上DBA的工作远不止这些),但是已经代表了一个方向,未来越来越多的活(枯燥的活)可能会被AI取代。但是现阶段很多DBA很多离不开人的干预。
人类DBA VS机器DBA首先,我们看看DBA的工作有哪些?DBA的工作实际上都是围绕数据库展开,包含但不限于这些工作:
数据库、主机、操作系统、交换机、存储选型,预算,架构设计,部署,参数优化;
数据库备份、恢复、容灾、HA、新老硬件更替;
数据库SQL审计、SQL优化、异常问题诊断、性能优化、巡检、健康诊断;
数据库扩容、缩容、迁移;
数据库版本升级、补丁修复;
数据库开发规范、管理规范的指定和执行;
数据库监控、专家、审核系统的开发与建立;
数据库代码覆盖率测试、功能测试、建模、压测、profiling;
数据库读写分离、sharding、MPP系统的构建;
数据库开发、管理、设计、规范培训;
数据库在垂直行业应用的架构设计(例如OLAP、GIS、时序、流计算、图式搜索、文本搜索、图搜索、化学、基因、等);
异构数据、同构数据源的数据同步、ETL;
数据库与其他系统的联动;
数据库云产品化、DOCKER化、虚拟化等相关的工作;
数据库内核的研究、BUG上报、结合业务提出对内核的功能、性能提升等需求;
关注不同数据库产品的roadmap、优缺点、适应场景、不适应场景;
关注数据库行业的发展,进行预研性研究,储备技术;
与技术社区保持紧密联系,从参与、了解同行、到分享,从商业产品到开源社区;
技术为业务服务,从本质触发,深入行业,了解业务、行业的发展,抓住核心点,更好的服务于业务。
可以看到DBA的工作还是有蛮多的,AI要完全取代这些工作,还有非常漫长的过程。
OtterTune工作原理以下示意图用于解释 OtterTune 中的各组件与工作流:
在开始一轮新的调节会话时,用户首先需要告知 OtterTune 此番优化的具体目标(例如面向延迟抑或数据吞吐量)。其客户端控制器将接入目标 DBMS 并收集其 Amazon EC2 实例类型与当前配置等相关信息。
在此之后,该控制器会开始第一轮观察周期,在此期间其将观察 DBMS 以及与既定目标相关之各项记录。在此轮观察周期结束后,控制器将从 DBMS 当中收集各类内部指标,例如 MySQL 自磁盘处读取之页面以及向磁盘中写入之页面计数。该控制器随后会将目标信息与内部指标发送回调节管理器当中。
当 OtterTune 的调节管理器接收到这些指标后,其会将相关数据存储在自有存储库内。OtterTune 利用这些结果计算出控制器应在目标 DBMS 上安装的下一套配置方案。具体配置方案由调节管理器交付至控制器处,同时确定运行后的预期改进效果。这时,用户即可决定继续抑或中止当前调节会话。
OtterTune 为其支持的每个 DBMS 版本皆设立有一套调节黑名单。此份黑名单中囊括了各类无法调整的项目(例如 DBMS 存储文件的路径名称)或者可能引发严重乃至隐藏后果的选项(例如可能导致 DBMS 遭遇潜在数据丢失)。每开始一项调节会话时,OtterTune 即可弹出黑名单提示,用以提醒用户添加各项不希望由 OtterTune 进行调节的具体条目。
机器学习管道
上图显示了,数据在通过OtterTune的机器学习管道传输时如何加以处理。 OtterTune 首先会将观察结果交付至 Workload Characterization 组件当中。此组件负责识别其中一小部分 DBMS 指标,从而更好地把握性能差异以及不同工作负载之间的区别性特征。 接下来,Knob Indetification 组件会生成一份与可调节项目相关之排名清单,其具体排序根据对 DBMS 性能之影响力而定。OtterTune 随后会将全部信息馈送至 Automatic Tuner 当中。此组件负责将目标 DBMS 的工作负载与现有数据存储库内最为相似的工作负载进行映射,而后利用对应工作负载数据以生成更适用的配置方案。
下面让我们深入了解机器学习管道中的组件。 Workload Characterization: OtterTune 利用 DBMS 的各内部运行时指标以表征某一工作负载的行为方式。这些指标能够对工作负载作出准确表示,因为其能够确切捕捉到其运行时行为当中的各项细节。然而,亦有许多度量完全不必要存在:其中一部分属于不同单元记录当中的同一量度结果,另一些不必要指标则代表着某些数值存在高度互关联性的 DBMS 独立组件。因此,对其中的冗余度量进行排除将非常重要,这将有效帮助我们降低机器学习模型的复杂性水平。为此,我们将面向 DBMS 对相关模型的度量进行收敛。此后,我们将从每个群集当中选择出一个代表性度量,并确保其为最靠近群集中心的度量。机器学习管道当中的后续组件将对这些度量加以使用。
Knob Identification: DBMS 可以拥有数百项可调节项目,但其中只有一个子集会对 DBMS 性能造成实际影响。OtterTune 利用当前流行趋势 特性选择技术 Lasso 以确保哪个条目会对系统的整体性能造成严重影响。通过此项技术,OtterTune 将能够利用其存储库内的数据对各 DBMS 可调节项目的重要性进行排序。
Automatic Tuner: Automated Tuning 组件通过在每轮观察周期之后执行两项分析步骤以确定 OtterTune 的推荐配置方案。 首先,该系统利用确定自 Workload Characterization 组件中识别指标的性能数据从原有存储库内找到最能体现目标 DBMS 工作负载特征的原有调节会话。其会将两项会话间的指标进行比较,旨在了解如何对不同调节选项进行变动以实现类似的工作负载指标量化结果。 在此之后,OtterTune 会选择另一套调节配置进行尝试。这套新的配置方案切合当前统计模型所收集到的实际数据,即以此数据为基础从存储库当中查找类似的工作负载。这套模型允许 OtterTune 预测 DBMS 在各类潜在配置下的实际运行效果 OtterTune 会对下一套配置进行优化,从而将探索(即收集集团以改进模型)转化为实际利用(尽可能带来更出色的目标度量)。
实现OtterTune 以 Python 语言编写而成。对于 Workload Characterization 与 Knob Identification 两种组件,运行时性能并非我们的关注重点,因此我们使用 scikit 以实现相应的机器学习算法。这些算法在后台进程当中运行,并使用来自 OtterTune 存储库的新数据。
对于 Automatic Tuner,这些机器学习算法则变得更为关键。其需要在每一轮观察周期后运行,同时结合新数据以确保 OtterTune 能够选择一项对应调节条目进行下一步尝试。在这一流程中,由于性能成为更加重要的考量因素,因此我们使用 TensorFlow 以实现这些算法。 为了收集与 DBMS 硬件、调节配置以及运行时性能指标相关的数据,我们将 OtterTune 控制器同 OLTP-Bench 基准测试框架进行了整合。
实验评估 为了完成评估,我们利用 OtterTune 所给出的以下最佳配置选项对 MySQL 及 Postgres 性能进行了比较。在评估前我们要满足以下条件: Default: DBMS 所提供的配置方案
Tuning : 由一款开源调节建议工具生成的配置方案
DBA: 由人类数据库管理员选定的配置方案
RDS: 针对 Amazon RDS 管理并部署在同一 EC2 实例类型之上的 DBMS 进行定制化的配置方案
我们在 Amazon EC2 现货实例之上进行了全部实验。我们分别在两套实例之上执行实验过程:其一作为 OtterTune 控制器,其二则作为目标 DBMS 部署系统。我们在这里分别使用了 m4.large 与 m3.xlarge 实例类型。我们将 OtterTune 的调节管理器与数据存储库部署在一套本地服务器之上,其配置为 20 计算核心与 128 GB 内存。 我们还用到了 TPC-C 工作负载,其属于业界标准的在线事务处理(简称 OLTP)系统性能评估工作负载类型。
评估方式 对于我们在实验当中所使用的 MySQL 与 Postgres 两套数据库,我们分别对其延迟水平与数据吞吐量进行了观察。以下图表给出了对应结果。第一份图表所示为第 99 百分位处的延迟水平,意味着“最坏情况”下完成事务处理所需要的时长。第二份图表则显示了数据吞吐量结果,即每秒完成的平均事务数量。
MySQL 测试结果
将 OtterTune 所生成的最佳配置与 Tuning 以及 RDS 相关配置进行比较可以发现,MySQL 在延迟水平方面降低了约 60%,而数据吞吐量则在 OtterTune 配置的帮助下提升 22% 到 35% 之间。与此同时,OtterTune 的生成的配置方案在实际效果上与人类数据库管理员几乎不相上下。
Postgres 测试结果
在延迟方面,OtterTune、调节工具、数据库管理员以及 RDS 所给出的配置建议全部优于 Postgres 的默认设置,且提升效果基本类似。我们可以将这一结果归结于 OLTP-Bench 客户端与 DBMS 之间的往返路由造成了巨大的性能影响。在数据吞吐量方面,Postgres 在使用 OtterTune 建议配置时,实际效果较数据库管理员及 Tuning 配置选项大约提升 12%,而与 RDS 间的比较优势更是达到 32%。 与 MySQL 类似,只有少数几个调节选项会对 Postgres 性能产生显著影响。OtterTune、数据库管理员、Tuning 以及 RDS 所生成的配置都对这些条目进行了修改,且其中多数能够带来相当不错的设置效果。
总结OtterTune 能够以自动化方式为 DBMS 各配置选项找到良好的设置方式。为了对新的 DBMS 部署系统进行调整,OtterTune 会使用以往调优会话当中收集到的训练数据。由于 OtterTune 并不需要在每次生成操作当中再次利用初始数据集进行机器学习模型训练,因此整个调节时间周期得到大幅缩减。--------------------- 作者:code_xzh 来源:CSDN 原文:https://blog.csdn.net/xiangzhihong8/article/details/72887476 版权声明:本文为博主原创文章,转载请附上博文链接!
经历了NoSQL,NewSQL时代正在到来,融合OLTP和OLAP的HTAP发展迅速。
过去几年,起源于Google三大基础设施论文(GFS,Mapreduce和Bigtable),诞生了开源的Hadoop系统,通常用作公司对于海量非结构化数据和结构化数据的存储及分析,得益于开源社区的贡献和各大互联网公司的应用,Hadoop生态系统迅速发展,已经成为了OLAP方面对海量数据处理的事实标准,尽管Hadoop生态系统已经日趋成熟并被业界广泛认可,然而作为一个离线数据分析系统,Hadoop无法实时对数据的分析提供结果,因此通常用作业务数据库之外构建一个新的数据仓库,并且通常仅提供OLAP也就是数据分析方面的支撑,这就要求在传统的数据库和Hadoop之间构建一套ETL系统,用作两者之间数据的导入导出,这就使得数据库和数据仓库的管理更加的复杂。
Hadoop系统作为一个庞大的开源系统,往往需要很多组件才能满足业务的需求,所以我通常认为基于Hadoop构建数据仓库满足OLAP的需求目前仍存很多不足,而NoSQL数据库的不断发展,也为很多大数据量业务的发展带来了福音。
例如可以通过Hbase来管理近千亿的url数据,并且NoSQL数据库通常是可以动态扩容并且支持容错,但是NoSQL系统的缺点也非常的明显,例如应用场景相对简单,通常无法兼容传统的sql语句,多表关联以及事物等需求也通常无法满足。对于开发人员还需要重新学习NoSQL的API和使用方式,带来了额外的代价。
基于上述原因,出现了融合OLTP和OLAP的一种提法HTAP,意味着可以通过一个数据库系统同时满足事务性需求和分析型需求,而最具代表性的就是Google的Spanner+F1的论文,产生了一批NewSQL系统。
例如CockroachDB和国内PingCAP团队开发的TiDB,以TiDB为例,TiDB采用Raft实现分布式协议,并且完全兼容MySQL的客户端,这对笔者本人也非常有吸引力,即可以用熟悉的MySQL的接口,又不需要对数据库进行分库分表,既实现了分布式,又减轻了用户的学习成本,对于企业来讲,可以通过构建一套分布式数据库系统,同时满足事务性和分析型需求,减轻系统复杂性的同时也提高了效率。
在这里向TiDB团队致敬,在数据库领域作出了世界级的开源项目,可以说是具备里程碑的意义。HTAP将成为未来的数据库的主流发展趋势。
三、 时序数据库正在崛起
物联网发展势头迅猛,互联网和传统公司也争相布局,随着物联网的发展,传感器等产生了大量的数据,而这些数据往往都是时间顺序,在其他一些应用场景,例如金融领域的,股票交易,汇率等以及Devops的监控数据,都是属于时序数据。
基于这些场景产生了时序数据库的概念,时序数据库可以对时间属性进行特殊的索引,实现数据的快速查询以及更高的压缩,例如InfluxDB项目,InfluxDB是一个使用Go语言开发的分布式时序、时间和指标数据库,无需外部依赖。特别适合处理和分析资源监控数据。
笔者在物联网项目已经尝试使用了InfluxDB,用于存储大型中央空调设备产生的数据,目前项目已经稳定运行半年,与传统DBMS相比,InflluxDB的存储空间减少了近70%,存储和查询效率也有大幅度提升,并且通过InfluxDB集成的聚合函数和连续查询功能,可以自动生成数据的日报表、月报表、年报表,极大减轻了开发成本和系统复杂度。
同样,国内由陶建辉领衔的涛思数据(TAOS Data)团队也正在做时序数据库产品TDengine,目前已经开放测试,希望更多的国内团队做出属于我们自己的优秀数据库产品。
四、结语
数据库作为IT技术架构的核心,新技术层出不穷,随着物联网及人工智能时代的到来,数据库技术迎来高速发展期,DBMS与AI的结合,HTAP以及时序数据库将解决企业海量数据增长带来的各种需求及问题。
OtterTune来了,DBA怎么办的更多相关文章
- 使用Python管理数据库
使用Python管理数据库 这篇文章的主题是如何使用Python语言管理数据库,简化日常运维中频繁的.重复度高的任务,为DBA们腾出更多时间来完成更重要的工作.文章本身只提供一种思路,写的不是很全 ...
- 使用技术手段限制DBA的危险操作—Oracle Database Vault
概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...
- DBA成长路线
从开发转为数据库管理,即人们称为DBA的已经有好几年,有了与当初不一样的体会.数据是企业的血液,数据是石油,数据是一切大数据.云计算的基础.作为DBA是数据的保卫者.管理者,是企业非常重要的角色.对于 ...
- 全网独家MongoDB Certified DBA Associate考试认证视频
该视频意在让所有学员一次通过考试,避免重复考试而承担的巨额考试费用! 目前MongDB发展迅猛,有赶超mysql,和oracle看齐的苗头.在这个时候MongoDB也适时的推出了官方的认证考试&quo ...
- 入园记------我的DBA之路
今天周一拖着疲惫的身躯 11点才离开公司,回到家估计写完这篇博客就要17号了. 一个人走在回家的路上,很黑,突然很多感触,一个人在北京拼搏,不敢停止学习的脚步,因为只要停下来就会感觉到孤独. 回顾一下 ...
- 人人都是 DBA(XII)查询信息收集脚本汇编
什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA& ...
- 如何转型成为SQL Server DBA
本篇PPT是我在2015 MVP OPEN Day Comunity Camp上分享的课程.之所以选择这个主题是因为有很多人曾经问过这方面的问题,而与之相关的主题却少之又少,因此我希望将自己的 ...
- 我心中的MySQL DBA
原文网址链接:http://wangwei007.blog.51cto.com/68019/1718311 MySQL是一个跨平台的开源关系型数据库管理系统,目前MySQL被广泛地应用在Interne ...
- 招聘前端、Java后端开发、测试、Mysql DBA
公司介绍: http://www.lagou.com/gongsi/43095.html http://www.yamichu.com 简历发到: zhuye@yamichu.com 招聘职位: JA ...
随机推荐
- DC综合及仿真验证和DFT测试
综合技术是提高设计产能的一个很重要的技术,没有综合技术的发展就不可能用HDL实现电路的设计,因为HDL开始是用来供电路仿真建模使用的,到了后来才把其中一部分子集作为可综合的语言,也就是R ...
- JavaScript里的循环方法总结
JavaScript诞生已经有20多年了,我们一直使用的用来循环一个数组的方法是这样的: for (var index = 0; index < myArray.length; index++) ...
- (技术分享) 解决 Firefox 显示“已阻止载入混合活动内容”的问题
(摘自http://blog.aizhet.com/Windows/18415.html) 从 Firefox 18 开始,如果 HTTPS 页面中包含非加密的 HTTP 内容,浏览器会在控制台输出警 ...
- 使用jdk压缩war包
首先安装jdk 压缩 ..../jdk/bin/jar -cvf file.war file 解压 ..../jdk/bin/jar -xvf file.war
- github上老外做的jQuery虚拟键盘
jQuery官方比较迟滞的更新版本: http://plugins.jquery.com/keyboard/ 最新版本更新官方地址: https://github.com/Mottie/Keyboar ...
- 《AlphaGo世纪对决》与周志华《机器学习》观后感
这两天看了<AlphaGo世纪对决>纪录片与南大周志华老师的<机器学习>,想谈谈对人工智能的感想. 首先概述一下视频的内容吧,AlphaGo与李世石对战的过程大家都有基本的了解 ...
- 原生javascript实现图片自动轮播和点击轮播代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 个人遗漏知识的回顾-HTML
常用的一些快捷键: Windows + e 我的电脑Ctrl + Tab 网页间不同页面切换F2 重命名Ctrl+Shift+S 另存为 前端的一些常识:前端意义:将效果图生成网页网页组成:文字.图片 ...
- bzoj2111ZJ2010排列计数_solution
-by bzoj http://www.lydsy.com/JudgeOnline/problem.php?id=2111 考虑第i个位置上的数字的可能性只取决于第i/2位置上的数,以及剩余数集的大小 ...
- (一)windows下安装MongoDB解压版
windows下安装MongoDB解压版 我安装的是(mongodb-win32-x86_64-2008plus-ssl-4.0.8.zip)版本 亲测可以使用. 连接: Windows下MongoD ...