DBA入门,进阶与熟练的指南与战略
作者/Jeffrey Yao 曾经做了大约9年的DBA,期间有一些开发人员不断的问我:“我厌倦了编码,现在我想转为DBA,我应该从什么地方开始呢?”我答应基于我的经验写一篇文章去回答这些问题,所以这篇文章主要基于我做SQLServer和DB2的DBA的经验,并且欢迎其他DBA
作者/Jeffrey Yao
曾经做了大约9年的DBA,期间有一些开发人员不断的问我:“我厌倦了编码,现在我想转为DBA,我应该从什么地方开始呢?”我答应基于我的经验写一篇文章去回答这些问题,所以这篇文章主要基于我做SQLServer和DB2的DBA的经验,并且欢迎其他DBA在此问题上共享他们的经验。
初级DBA的战略
1. 着眼于基本的DBA任务:事有先后。
成为初级DBA最快的方式是了解DBA每天的任务范围并掌握完成这些任务需要的技术。我认为初级DBA的工作至少是每天DBA任务的40%。下面是每个DBA基本的任务列表。
- 安装SQLServer。需要的知识:SQLServer组件(企业管理器、事件探查器、查询分析器和其他工具,等等),SQLServer的版本和需要的安装环境(硬件、操作系统、网络协议等等),远程/自动/手动安装。
- 备份/恢复。需要的知识:恢复模型,备份/恢复工具和相应的SQL语句,怎样使你的恢复计划适应你的商业需求。
- 安全:角色/登录/用户帐号。需要的知识:审计模式,角色类型,怎样去管理安全帐号,分配/取消访问数据的权限和怎样做一个安全计划以适应你的商业需求。
- 数据库维护。需要的知识:一些DBCC命令(我最爱用DBCC CHECKDB/DBREINDEX/CHECKCATALOG/INPUTBUFFER),sp_who,sp_kill,和所有的数据库任务向导。
2. 着眼于用SQL编程:将来成长的基础
T-SQL是一个强有力的工具,它能使DBA通过将日常任务如审计、备份/恢复、性能调优等编写为脚本来实现他们的数据库管理风格。现实世界里大多数应用程序的性能问题都跟糟糕的SQL语句有关。我不能过分强调写好的SQL脚本的重要性。
对我而言下面是一些基本的SQL语句:
- 关于数据库、表、视图、自定义函数、触发器和存储过程的CRUD(Create、Read、Update、Delete)语句。
- T-SQL编程控制语句,如if…else…,begin…end,while…break…continue和case语句以及游标的使用。
- SQLServer内部函数,如@@identity、@@spid、substring(),convert/cast()等等。
中级DBA的战略
- 着眼于数据模型:超越数据进入商业。需要的知识:为建立数据库的商业知识;逻辑/物理模型的知识(3范式);专门的建模工具如ERWin、Visio等。一个好的数据模型不断能提升应用程序的性能,而且能减少数据库的维护。例如,我曾经看到过一个政府中介的数据模型,它在每个表里都存储了所有雇员的薪水信息,原来的想法是要更快的生成各个不同部门需要的汇总报表,但后来发现在同步所有的信息时时间和速度上的开销太大(一些表有触发器,同步时增加了时间)。
- 着眼于性能调优:有趣并有挑战性。需要的知识:表/索引结构、索引选择/建立;服务器/数据库/会话选项;执行计划;使用事件探查器来优化和审计SQL语句,dbcc语句。性能调优是DBA发挥作用的地方。对于DBA来说要找到总是隐藏在某处的挑战以便一个查询能在2秒之内完成而不是2分钟。相信我。性能调优是很有趣的。
- 着眼于高级管理:成为专家的关键。需要的知识/技能:VBScript,DTS,SQL-DMO,复制。我总是认为不懂VBScript的DBA在管理SQLServer系统时不可能有创造性,因为微软使VBScript变得如此强大以至于它能用来促进大多数基于Windows的应用程序的管理,SQLServer也不例外。当联合使用VBScript、DTS和SQL-DMO时,我打赌基本上所有的管理工作都能写成脚本用调度来自动运行。
高级DBA战略
- 着眼于软件技能:职业的关键。作为高级DBA,你更多的时间是花在和客户做需求分析上,给其他组的成员提供指导,这儿的软件技能如时间管理、沟通、谈判和领导等等,比技术技能扮演了更重要的角色。没有软件技能。你很难成为一个有价值的DBA。在这方面我有血的教训。我还记得很久以前,我被分配去为一个项目做数据库架构,我不得不和不同部门的客户讨论他们的需求。我不时的发布一些新的数据模型版本。然而,在这个过程期间,有几列我不断的改变,要么添加它们到不同的表里,要么简单的删除或重命名。问题在于我忘记记录为什么我要修改它们,是基于和谁的讨论。当我被问及在版本1.0.04(四周以前)和版本1.0.06之间特定列的不同时,我不能告诉为什么列出现在版本1.0.04而没出现在版本1.0.05里,然后在版本1.0.06里又出现了。我被告知我不能胜任我的角色即使我的项目经理肯定我的技术能力。后来,因为项目经理不得不考虑客户的担心而取消我的角色。我好笨啊!从那时起,我就形成了记录对基本的项目文件做的每个更改背后的原因的习惯。
- 着眼于创新:通向荣耀的最后一步。创新是使用目前的技术和资源来创建新的过程/方法,以便在时间和经济效益上做出更好的解决方案。作为高级DBA,要有广阔的视野,并要有兴趣对你老板的商业底线作出贡献。在电子商务时代,更多的商业依赖于数据做出决定和行动,这给所有的DBA,特别是高级DBA有更多的机会在数据价值链的每一阶段去有创造性的操作数据,从数据收集、处理、挖掘到报表、分发和存储.
结论
要成为一个有资格的DBA,你必须在正确的时候精通正确的技能。你做DBA的开头不必知道每一件事,但你必须知道从哪儿开始。在初级DBA和中级DBA或者中级DBA和高级DBA之间没有明确的界线。但我个人感觉当级别越来越高的时候,你需要更多的技术技能来证明你的价值。最后给那些有兴趣做DBA的人的忠告:
不要把数据库管理当作你的日常工作,而是把它当作证明你想像力和创造力的一门艺术。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Diffusion不仅可以更好地模仿,而且可以进行「创作」。扩散模型(DiffusionModel)是一种图像生成模型。与此前AI领域大名鼎鼎的GAN、VAE等算法,扩散模型另辟蹊径,其主要思想是一种先对图像增加噪声,再逐步去噪的过程。其中如何去噪还原原图像是算法的核心部分。最终算法能够从一张随机的噪声图像中生成图像。近年来,生成式AI的惊人增长将文本转换为图像生成、视频生成等领域的许多令人兴奋的应用提供了支持。这些生成工具背后的基本原理是扩散的概念,这是一种特殊的采样机制,克服了以前的方法中被

随着Windows11的推出,微软引入了一些新的功能和更新,包括一种名为VBS(Virtualization-basedSecurity)的安全功能。VBS利用虚拟化技术来保护操作系统和敏感数据,从而提高系统的安全性。然而,对于一些用户来说,VBS不是必需的功能,甚至可能会影响系统性能。因此,本文将介绍如何在Windows11中关闭VBS的方法,以帮助

Kimi:一句话,十几秒钟,一份PPT就新鲜出炉了。PPT这玩意儿,可太招人烦了!开个碰头会,要有PPT;写个周报,要做PPT;拉个投资,要展示PPT;就连控诉出轨,都得发个PPT。大学更像是学了个PPT专业,上课看PPT,下课做PPT。或许,37年前丹尼斯・奥斯汀发明PPT时也没想到,有一天PPT竟如此泛滥成灾。吗喽们做PPT的苦逼经历,说起来都是泪。「一份二十多页的PPT花了三个月,改了几十遍,看到PPT都想吐」;「最巅峰的时候,一天做了五个PPT,连呼吸都是PPT」;「临时开个会,都要做个

VSCode设置中文:完全指南在软件开发中,VisualStudioCode(简称VSCode)是一个常用的集成开发环境。对于使用中文的开发者来说,将VSCode设置为中文界面可以提升工作效率。本文将为大家提供一个完整的指南,详细介绍如何将VSCode设置为中文界面,并提供具体的代码示例。第一步:下载安装语言包在打开VSCode后,点击左

北京时间6月20日凌晨,在西雅图举办的国际计算机视觉顶会CVPR2024正式公布了最佳论文等奖项。今年共有10篇论文获奖,其中2篇最佳论文,2篇最佳学生论文,另外还有2篇最佳论文提名和4篇最佳学生论文提名。计算机视觉(CV)领域的顶级会议是CVPR,每年都会吸引大量研究机构和高校参会。据统计,今年共提交了11532份论文,2719篇被接收,录用率为23.6%。根据佐治亚理工学院对CVPR2024的数据统计分析,从研究主题来看,论文数量最多的是图像和视频合成与生成(Imageandvideosyn

我们知道LLM是在大规模计算机集群上使用海量数据训练得到的,本站曾介绍过不少用于辅助和改进LLM训练流程的方法和技术。而今天,我们要分享的是一篇深入技术底层的文章,介绍如何将一堆连操作系统也没有的「裸机」变成用于训练LLM的计算机集群。这篇文章来自于AI初创公司Imbue,该公司致力于通过理解机器的思维方式来实现通用智能。当然,将一堆连操作系统也没有的「裸机」变成用于训练LLM的计算机集群并不是一个轻松的过程,充满了探索和试错,但Imbue最终成功训练了一个700亿参数的LLM,并在此过程中积累

标题:技术入门者必看:C语言和Python难易程度解析,需要具体代码示例在当今数字化时代,编程技术已成为一项越来越重要的能力。无论是想要从事软件开发、数据分析、人工智能等领域,还是仅仅出于兴趣学习编程,选择一门合适的编程语言是第一步。而在众多编程语言中,C语言和Python作为两种广泛应用的编程语言,各有其特点。本文将对C语言和Python的难易程度进行解析

机器之能报道编辑:杨文以大模型、AIGC为代表的人工智能浪潮已经在悄然改变着我们生活及工作方式,但绝大部分人依然不知道该如何使用。因此,我们推出了「AI在用」专栏,通过直观、有趣且简洁的人工智能使用案例,来具体介绍AI使用方法,并激发大家思考。我们也欢迎读者投稿亲自实践的创新型用例。视频链接:https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ最近,独居女孩的生活Vlog在小红书上走红。一个插画风格的动画,再配上几句治愈系文案,短短几天就能轻松狂揽上
