DBA 是数据库管理员(Database Administrator)的简称,是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支。
DBA 主要负责业务数据库从设计、测试到部署交付的全生命周期管理,它的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。
在国外,也有公司把 DBA 称作数据库工程师(Database Engineer),两者的工作内容基本相同,都是保证数据库服务24小时的稳定高效运转。
DBA 与数据库开发工程师不同,DBA 的主要职责是运维和管理数据库管理系统,侧重于运维管理。而数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,侧重于软件研发。
DBA 主要负责以下几个方面:
* 设计数据库,包括表和字段
* 监视监控数据库日志
* 数据库备份与恢复
* 数据库用户密码和权限的管理/数据库安全
* 检查 SQL 语句是否符合规范
对 DBA 而言,掌握数据库的基本知识是必不可少的。从数据库的操作角度而言,SQL 语句才是基础中的基础。 DBA 一方面要根据需求在数据库中实现某些功能,另一方面要指导非数据库专业人士在数据库中完成他们想要实现的功能,所以,数据库中很多细节性的东西都需要 DBA 去掌握。
另外,还需要了解数据库架构方面和 SQL 底层的一些知识。例如,一般情况下,学过数据库的人都知道索引对提高查询性能十分重要,但却不知道过多的索引也会给数据的处理带来负担。如果不了解索引的内部实现机制以及 SQL 使用索引的原理,那么就无法合理地创建索引。
在实现了用户的需求后,接下来的工作就是维护。再好的数据库架构,也需要经常被维护和保养。例如,原来很有效的索引因为索引碎片的增多,读取的性能就会下降。因为业务的变化,有的索引被删除,我们要保证重要的数据不会丢失,敏感的数据不会被不该访问的人访问。这一系列的问题,除了要调查、分析,并制订出一套完整的方案外,还需要相关的知识来实施这套方案。
日常维护的过程中会遇到非常多的问题,这些问题除了 SQL 的问题外,很多是跟系统或者网络相关的,甚至是程序中出现的问题需要调试。所以,对于一名优秀的 DBA 而言,操作系统、计算机网络与通信、程序设计语言等相关知识都需要有所涉猎。
为了管理好数据库,特别是管理好多台服务器,DBA 有时也需要编写工具来辅助完成任务。所以,懂 Shell 或 Python 也是必不可少的。
通过上面的分析,可以得出 DBA 需要的技能如下:
1. 熟练掌握数据库知识,包括 SQL 语言、备份、恢复、管理、数据库结构知识、数据库运行原理。
2. 至少熟练掌握一种数据库,了解其他数据库(有一定应用能力)。实际应用中,很少有不与其他类型数据库交互的数据库,如果只熟练掌握一种数据库,那么当需要与其他数据库交互时,就会无从下手。
3. 综合应用能力,有一定的程序设计能力,包括操作系统、网络与安全等知识。
DBA 主要有 ORACLE、MySQL、DB2、SQLSERVER 等方向。按照简单容易上手依次排为 SQL SERVER、MySQL、ORACLE。这里对 DB2 不做解释。
SQL SERVER 建议大家学习 .NET,MySQL、ORACLE 建议大家学习 JAVA。因为 SQL SERVER 和 .NET 是一家公司的,MySQL,ORACLE 和 JAVA 是属于一家公司的,数据接口都比较方便,兼容比较好。
- 数据库入门
- 1.常用的数据库
- 2.数据管理技术的3个发展阶段
- 3.数据库是什么?关系型数据库和非关系型数据库又是什么?
- 4.为什么要使用数据库?
- 5.数据库系统是什么?它由哪几部分组成?
- 6.常用数据库访问接口简介
- 7.数据库的种类有哪些?
- 8.几种常用的数据库
- 9.MySQL是什么
- 10.MySQL适用于哪些场景?
- 11.学MySQL前,需要了解这些数据库专业术语
- 12.MySQL客户端和服务器架构(C/S架构)
- 13.明白了MySQL内部结构才能成为高手!
- 14.如何学习数据库(新手必看)?
- 15.小白学习MySQL需要多长时间,能从事哪方面的工作?
- 16.当前市场对数据库程序员的需求如何?待遇如何?
- 17.DBA到底要做什么,成为一名DBA需要具备什么能力?
- 一、数据库的概念和常用工具
- 二、MySQL规范、配置及登录退出操作
- 三、MySQL中的数据类型
- 四、数据库增查改删等操作
- 五、数据表增查改删操作
- 六、MySQL数据增查改删操作
- 七、MySQL存储引擎
- 八、MySQL常用函数
- MySQL的安装和配置
- 1.MySQL 5.7的新特性(新功能)
- 2.MySQL下载步骤详解
- 3.MySQL安装配置教程(Windows系统)
- 4.MySQL免安装版配置教程
- 5.MySQL配置环境变量
- 6.安装MySQL后,如何判断是否已安装成功
- 7.启动MySQL服务的两种方式(图解)
- 8.登录MySQL数据库
- 9.对Linux MySQL软件包的一些说明
- 10.Linux CentOS卸载MySQL(Linux安装MySQL前的准备)
- 11.Linux安装配置MySQL详细步骤
- 12.MySQL my.cnf配置文件详解
- 13.MySQL常用图形化管理工具
- 14.MySQL安装后的目录结构介绍
- 15.MySQL数据库文件存放目录结构详解
- 16.MySQL配置文件(my.ini)详解
- 17.与其它数据库不同,MySQL可以在不同的SQL模式下运行
- 18.MySql Command Line Client闪退原因及解决方案
- MySQL数据库的基本操作
- 1.SQL是什么?它能做什么?
- 2.SQL的基本书写规则
- 3.MySQL查看或显示数据库(SHOW DATABASES语句)
- 4.MySQL创建数据库(CREATE DATABASE语句)
- 5.MySQL修改数据库:ALTER DATABASE用法简介
- 6.MySQL删除数据库(DROP DATABASE语句)
- 7.MySQL选择数据库(MySQL USE语句)
- 8.MySQL注释:单行注释和多行注释
- 9.MySQL中SQL语句的大小写规则
- 10.如何查看MySQL系统帮助?
- 11.看懂SQL错误代码,提高学习效率!
- 数据库高级
- 一、视图的操作
- 二、触发器的操作
- 三、事务的操作
- 四、索引的操作
- 五、存储过程的操作
- 六、数据库的优化方案
- 1.分库、分表和索引
- 2.读写分离和查询优化
- 3.join代替子查询
- 4.尽量使用短小的事务
- 5.常用小技巧
- MySQL使用注意事项
- 1.字符乱码及连接驱动