heavstar 2019-06-21
By Ben Kubicek, 2017/09/05
今天恰好Steve旅游到了英国,我们将邀请他作为客串社评员。
好的,我知道最简单的答案是数据库管理员(DBA),但是到底这是一个什么角色呢?如果必须要你把DBA描述给一个不懂技术的人,你会怎么描述?数据库管理员可以有很多不同的角色或者作用。在这些角色或作用中我曾经看到过或者做过的包括:安装SQL Server,管理服务器性能,包括磁盘空间利用率,管理备份,控制权限和用户的权利或角色,管理复制和不间断的在多个故障转移群集以及性能调优/索引,sql的工作,警报,数据库邮件,释放数据库脚本等。我认为这些可以被称为是数据库管理员的核心职责。
取决于你工作的公司规模,我也看到部分数据库管理员有一些额外的责任。这些可能被归为更多数据库开发人员的工作,例如创建表,视图,函数和存储过程。或者数据架构领域的更多内容,如数据库设计,模式,表格,键和索引的归一化。有的时候,一个数据库管理员可能管理将数据导入或导出数据库的SSIS包。其他时候,他们可能使用SSRS或者其它报告工具来做一些报告。随着更多的进入BI领域,你可能需要数据仓库和ETL包来进行管理。还有其它一些数据库管理员的职责我肯定漏掉了。
在我以前的工作中,我曾被雇作为一名.net开发人员同时做着数据库开发工作。那是一间很小的商店,而我是一个拥有丰富数据库经验的员工。在我知道之前,我正在做安装sql server,设置备份和管理sql server性能之类的工作,我花了9年做这项工作,其中大约2/3的工作是为公司或他们的客户做数据库管理员,数据库架构师或数据库开发人员工作。没有人真正要求我去做,我只是看到需要就跳进去做了。
现在有些人在那里想要把工作最小化。他们只是试图在雷达下滑冰而已。当这些人是数据库管理员时,他们可能在做一个充分的工作,如数据库服务器正在运行等等。但是这不是我想要的对数据库管理员的定义。我认为一个好的数据库管理员的定义是他乐意并且准备好了跳进这个“工作坑”,并能做超过工作本身要求做的事情。他们不仅能掌握好自身的核心职责,而且乐意去借助别人的帮助去做一些我在上面提到的其它方面的数据库管理员的工作。他们不害怕去学习或者尝试新的东西。他们是团队成员,在实现项目的过程中乐意卷起袖子、不怕脏累希望看到项目成功。
那么你会怎么定义一个数据库管理员呢?在你目前的工作中,你是一个怎么样的角色又承担了哪些责任?
By Ben Kubicek, 2017/09/05
Today we have a guest editorial as Steve is traveling to the UK.
OK, I know the easy answer is a Database Administrator, but what role is that? If you had to describe it to a non-technical person what would you say? There are many different roles and functions a DBA can have. Some of the roles or functions I have seen / done are: installing SQL Server, managing server performance including disk space utilization, managing backups, controlling access and user’s rights/roles, managing replication and always-on / multiple failover clusters and performance tuning/indexes, sql jobs, alerts, database mail, releasing db scripts. I think these could be described as core DBA responsibilities.
I have also seen, depending on the size of the company you work for, some DBA’s have some additional responsibilities. Things that might be described as more database developer such as creating tables, views, functions and stored procs. Or things that are more in the data architect realm, such as database design, schema, normalization of tables, keys and indexes. Sometimes, a DBA might manage the SSIS packages that bring data in and/or out of the database. Other times they might need to do some reporting perhaps using SSRS or other reporting tools. As you move more into the BI landscape, there may be data warehousing and ETL packages to manage. I am sure there are other aspects of being a DBA that I have missed.
In my previous job I was hired as a .net developer that also did database development. It was a very small shop and I was the one with the most database experience. Before I knew it I was installing sql server, setting up backups and managing sql server performance and more. I spent nine years at that job, where about two thirds of my job was doing DBA, database architect or database developer work either for the company I worked for or for their clients. No one really asked me to do it, I just jumped in as I saw the need.
Now there are some people out there that aim to do the minimum at work. They are just skating by trying to stay under the radar. These people, when they are DBAs, are probably doing an adequate job. The database servers are running etc., but this is not how I would want to define a DBA. I think one thing that defines a good DBA, is someone who is willing and ready to jump in and go above and beyond their job description. They are managing their core responsibilities, but are also willing to lend a hand at some of the other aspects mentioned above that could be considered DBA work. They are not afraid of learning / trying something new. They are team players that want to see a project succeed and they are willing roll up their sleeves and get their hands dirty in the process.
How would you define a DBA? What roles and responsibilities do you currently have at your job?