- 相关推荐
DBA需要掌握的专业技能
数据库管理员(Database Administrator,简称DBA)是一个负责管理和维护数据库服务器的人,其职责是一般监视、备份、修改密码、深层次管理和研究等。下面阳光网小编就为大家整理了DBA需要掌握的专业技能,欢迎查阅。
DBA需要掌握的专业技能(一)
DBA, 通俗点说就是数据库管理员, 所以, 数据库的知识肯定是必不可少的:
对数据库的操作而言, 无外乎SQL语言, 因此, SQL语言是基础中的基础
DBA一方面要根据需求在数据库中实现, 另一方面要指导非数据库专业人士在数据库中完成他们想实现的东西, 如果实现不了, 或者非专业人士能实现但你不能实现, 那可是丢人到家.
所以, 对于SQL语言来说, DDL和DML都要掌握的, 而且不能仅限于一般的掌握程度, 不能说公司的业务不需要临时表, 你就连临时表怎么用, 有几种, 有什么区别都搞不懂.
能实现需求, 只能说明你是对数据库有些了解了, 对于同一种需求, 你能列出多种方法, 并能评判其中的优劣(不是根据行规或者大家的习惯), 这样才有些DBA的架势. 这就需要你了解数据库架构方面的知识(架子搭不好, 房子再漂亮也没有用), 知道SQL的一些底层知识, 比较, 大家都知道索引对提高查询性能十分重要, 但过多的'索引也会对数据处理造成负担, 如果你不了解索引的一些原理及sql使用索引的原理, 你如何能合理地建立索引呢?
能够有效地实现需求了, 接下来就该维护了. 再好地数据库架构, 也要经常维护和保养, 比如, 原来很有效的索引, 因为索引碎片多了, 读取性能就差了, 因为业务的变化, 有的索引该删除了, 重要的数据, 是否在不该丢的时候绝对不会丢了, 敏感数据, 是否会被不该访问的人看到了. 这一系列的东西, 除了要调查/分析/并制订出一套完整的方案外, 还需要相关的知识来实施这套方案,
日常维护, 问题少不了会遇到, 这些问题除了SQL的问题外, 还有是跟系统或者网络相关的, 甚至是程
序中出现的问题需要调试, 所以操作系统+网络+程序设计语言, 多少得懂点
为了管好数据库, 特别是管理好多台服务器, 多少你还得写些工具来辅助你完成任务.
从上面来说, DBA需要的技能大致是:
@1. 数据库知识(熟练级别)
SQL语言(DML, DDL, 备份/恢复/管理), 数据库结构知识, 数据库运作原理
@2. 熟练至少一种数据库, 了解其他数据库(有一定应用能力)
很少有不与其他类型数据库交互的数据库, 如果你只熟练一种数据库, 当需要与其他数据库交互时, 你住往会无从下手
@3. 综合能力(有一定的应用能力)
程序设计能力, 操作系统, 网络, 安全
DBA需要掌握的专业技能(二)
1、 创建、优化、修复数据库和熟悉数据库管理平台
这一点可以说是比较基础的技能,也是需求应用最为广泛的操作点,我们一般情况下,很多网站都是使用mysql数据库来跑网站,搭建网站环境并创建高可靠性的数据库自然是第一步,mysql数据库很明显的一个特点就是需要不定时的修复表碎片,我们的DBA可以通过sql语句来实现,也可以通过一些数据库管理平台来实现,目前比较流行的phpmyadmin就是其一,当然如果选用阿里云RDS就要对[font=微软雅黑, 'Microsoft Yahei', 'Hiragino Sans GB', tahoma, arial, 宋体]iDB Cloud足够熟悉,掌握这些才算是一个DBA的入门。
2、数据升级、搬家和调试
数据库升级是经常遇到的事情,我们传统的方式是通过shell工具下载并安装升级,DBA应当能够根据技术总监要求和网站实际情况是否需要升级并及时操作,阿里云RDS在这方面直接是可以实现一键升级吗,是十分方便的。
不可忽视的还有一点就是数据的.搬家和调试,我们在网站运营过程中,由于各种问题,可能会遇到网站搬家或者单独数据库搬家的情况,DBA能应技术总监安排,将数据库完整无误的搬家到新的实例并调试,确保网站运行无误。
3、备份和回溯
这一点十分必要,数据库的备份甚至网站的备份都是相关管理人员的重要职责,在网站出现故障,数据丢失的情况下,能够通过备份数据将网站恢复到最近一次的稳定状态就能够极大的挽回网站因 本体数据带来的损失。还有一种常见情况是对于数据的误删除或修改,如要精确恢复,这就不是定期备份能够解决的事情了,我们可能需要将数据精确的恢复到某个时间点上,这样的数据回溯要求相对更高,还好,RDS的binlog就能够完美解决这一问题,这一点是值得一提的。
4、保证数据库的安全和高可用性
数据库安全和高可用性是能比较直观的反映出DBA称职程度的,对于技术总监来说,我们当然希望拥有一个安全稳定的数据库氛围,如果经常出现”建立数据库连接时失败“这种情况,无疑要对DBA发火了。诸如一些sql注入攻击、批量请求等DBA尽量能够防止和拦截掉,不能让我们的数据库不堪一击,无法扛住普通的攻击和压力,这一点直接关乎到实例的日常用户体验。
5、对数据库有良好的资源、状态监控措施,做好适当的调整
DBA的技能其中一块还要监控数据库的实时性能以均衡资源、适时调整。我们的数据库都是从软硬件两方面出发的,硬件一些参数对于数据库的响应速度、读写增删改的反应敏捷性都是有影响的。能够实时监控磁盘容量、带宽、cpu、链接数和读写量并根据对应的数据提出调整意见,配合其他研发人员进行软件程序上的调整或者硬件性能上的升级是DBA的职责之一,大多数网站都要求自己的网站需要7*24小时不间断的运行,这样,也对DBA提出了更高的要求——实现24小时不间断的软硬件资源、数据状态监控,并及时反馈建议和适当调整。
DBA需要掌握的专业技能(三)
熟悉PERL编程;较强的SQL编程功底;
工作职责:
1、参与和协助完成业务系统数据库设计、规划和调优;
2、探查数据库系统潜在的问题和可能的性能瓶颈,并进行优化;
3、负责SQLServer数据库的日常维护、备份及恢复;
4、为开发人员提供技术指导和支持;
5、维护线上业务核心数据库的7*24安全、稳定运行。
任职资格:
1、精通SQLServer数据库的运行机制和体系架构;
2、精通SQLServer数据库的`管理和性能调优,精通SQL语句,具备丰富的SQL语句优化经验,,内核优化、建表、表空间、索引等优化经验;
3、精通SQLServer数据库备份与恢复;
4、熟悉SQLServer数据库集群构建、数据库设计与应用,根据应用需求能设计有良好容错能力的数据库系统;
5、2年以上数据库管理经验,有大型互联网数据库架构经验优先。
6、实际使用过至少一种主流NoSQL数据库,例如MangoDB。有此经验优先。
职位描述:
1、参与公司技术架构中数据库部分的规划和设计;
2、解决公司软件产品或者项目开发和运维中和数据库相关的问题;
3、负责客户数据库技术架构设计、平台构建和实施;
4、维护客户ORACLE、DB2等数据库服务器运行,处理双机环境、RAC集群、备份以及运行中突发问题
岗位要求:
1、计算机、电子信息技术及其相关专业,3年以上数据库开发管理经验;
2、熟悉oracle、DB2数据库的体系结构;
3、熟悉主流的数据库设计工具,能够独立完成事务型产品或者项目的数据库需求分析、结构设计;
4、熟练掌握数据库开发,复杂SQL、存储过程、函数等,具备较强的数据库编程功底和清晰的逻辑思维能力;
5、熟悉ORACLE和DB2数据库系统,能处理运行过程中出现的问题;
6、具备一定的数据库问题诊断及调优能力,特别是Oracle数据库管理,数据库集群,数据库分析及调优;
7、熟悉Tomcat,weblogic,Websphere中间件部署,熟悉Linux操作系统;
8、良好的表达沟通能力,有Java开发经验。
【DBA需要掌握的专业技能】相关文章:
需要掌握的面试技巧介绍12-09
人事干部讲话需要掌握的分寸12-07
市场营销需要哪些专业技能12-02
面试自我介绍需要掌握原则12-05
创业者需要掌握什么能力12-09
澳大利亚留学申请需要掌握的技巧04-02
考研政治需要掌握好以下复习方法12-09
大学生面试需要掌握的基本礼仪12-09
高考志愿填报考生需要掌握的几大信息12-09