【IT观察】作为一个DBA,如何选择数据库

原创 2017年08月26日 14:55:22

一句话对比三大数据库软件

这个世界上Oracle、SQL Server和MySQL三大数据库软件呈三足鼎立之势,三者之间互有优缺点。网上能查到的内容我不再赘述,我把三者的优缺点对比总结成了三行文字:

Oracle:最贵,功能最多,支持平台数量较多,速度中等,开发和运维比较简便,最安全。

SQL Server:价格适中,功能比较丰富,支持平台单一,速度最慢,开发和运维最简便,比较安全

MySQL:价格最低廉,功能最少,支持平台最多,速度最快,开发和运维最繁琐,最不安全。



DBA选择数据库的方法

1、按性能和安全性来选择

大型国企(银行)、传统企业上市公司(保险)的企业级应用对数据的完整性和安全性要求最高,务必万无一失,因此安全性最佳、功能最齐全的Oracle是传统软件的首选。一般来说移动互联网领域的公司对数据的完整性和安全性的敏感程度并不太高,所以互联网行业的从业者可能有入行几年还没见过Oracle的,不过电商、金融类的互联网产品对安全性要求同样非常高的软件也应该选择Oracle作为数据库。

如果公司是非移动互联网行业的外企,那么一定要选择Orcale,一来是洋老板普遍财大气粗,二来是外企领导不像国内领导这么依赖对Windows系统友好的数据库软件。

2、按开发速度和运维难度来选择

一般国企和事业单位以及传统企业小公司的领导对软件(一般情况下只有展示网站,连ERP系统都是买现成的)的要求就是价格低、快点出结果;加上国内的传统的领导对Windows系统有说不清的迷恋;如此一来选择SQL Server能同时满足这三个要求,不过一般在这样的单位不会存在DBA这个岗位——让开发网站的程序员担任DBA的一部分职责(其实也就只有备份、恢复、作业管理等几样)。

3、按价格和速度因素来选择

移动互联网时代的创业公司并不需要太纠结数据的万无一失,但很在意成本,并且对数据访问速度要求很高。因此资金不太充裕、为了给移动端提供API的服务器选择MySQL是最明智的。事实上在互联网领域MySQL的市场占有率是最高的,大多数移动互联网公司都用MySQL作为数据库。

尽管MySQL不是一个安全的系统,但好在MySQL是开源的,同时追求速度快和数据安全的公司(移动互联网领域的电商、金融公司)在资金充裕可以专人负责写一个自己的MySQL系统,据说电商巨头阿里巴巴的数据库就是改造过的MySQL。

DBA如何优化SQL

一个合格的DBA会明白无论选择Oracle、MySQL还是SQL Server,SQL语句的优化都是数据库优化的决定性因素,;而对数据库工具本身的优化只不过是细枝末节,别人的配置方式也很容易从网上查到。

SQLite是Android系统上运行的数据库软件,性能与三大数据库软件不可同日而语,况且在Java语言的IDE里编写SQL还没有自动提示,有时候Android程序员对SQL语句优化的要求比DBA还高,在SQL上吃过不少亏的我总结了一些SQL语句优化方案:

(1)SQL语句务必大写

(2)利用索引

(3)减少对表的查询

(4)尽量多使用COMMIT,及时释放资源

(5)删除重复记录

(6)避免SELECT *

(7)WHERE语句中过滤掉最多数据的条件放在前面

展望DBA的发展前景

成为一个DBA表面上“仅”需要SQL语言和数据库基础管理的知识,所以造成了从业者良莠不齐,举一个极端的例子,我有一个留级两年的同学勉强拿到毕业证后就从事了DBA。然而理论跟实际相差甚远,模拟的环境根本达不到线上要求的多用户、高并发等压力,仅在课堂上和自学是不能成为一个合格的DBA的,合格的DBA必须在企业中的实战中走出来。一个合格的DBA必须掌握Linux基本命令和操作、数据库备份和恢复、SQL优化、数据库性能优化和至少一门脚本语言(如Python)。

移动互联网时代雨后春笋般诞生的创业公司给人一种DBA的角色性变弱的错觉,其实任何IT公司做大后都离不开DBA这个岗位。DBA的发展前景一直很不错,尽管近几年的大规模集群和自动化运维让DBA感到一点危机之外,不过随着大数据时代的到来,DBA的作用会越来越显著,DBA的发展前景也会变得越来越明朗。



【首发于51CTO:http://mdsa.51cto.com/art/201708/548960.htm
版权声明:本文为博主原创文章,转载请以超链接形式标明文章原始出处和作者

Oracle DBA 数据库备份与恢复学习笔记

Oracle DBA数据库备份与恢复 1.Oracle数据库文件     ·初始化参数文件(Instance Parameter File)     ·控制文件(control files)     ...
  • gyming
  • gyming
  • 2013年11月20日 21:11
  • 1663

ORACLE数据库 DBA常用知识

常用命令参考> SQL> show all --查看所有68个系统变量值 SQL> show user --显示当前连接用户 SQL> show error --显示错误 SQL> set...
  • caixingyun
  • caixingyun
  • 2014年07月26日 23:15
  • 2107

想从事DBA工作,该挑选哪一款数据库产品

http://blog.csdn.net/mchdba?viewmode=contents   知乎问这原题: 现在主流数据库有很多,作为一个学生以后想从事dba的工作,应该学哪一种呢?   ...
  • liangyixin19800304
  • liangyixin19800304
  • 2013年10月12日 21:25
  • 731

SQL Server 数据库管理员(DBA)的工作内容

涉及到的: 数据库系统规划 1、硬件:在整套系统规划初期,要针对数据库未来的成长需求、性能需求、商业考虑,决定数据库运行需要的内存、硬盘、cpu及其他资源(IOPS、网络带宽)。 在做硬件规划时,...
  • yupeigu
  • yupeigu
  • 2016年04月07日 14:17
  • 1109

oracle-dba-连接方式以及启动

Oracle 11g R2 DBA shutdown immediate关闭数据库 startup启动数据库 删除从多余的监听器 G:\oracleDB\product\11.2.0\dbho...
  • Nuan_Feng
  • Nuan_Feng
  • 2017年03月03日 23:14
  • 979

《Oracle 12c数据库DBA入门指南 》目录

当当网页面链接:点击打开链接 点击打开链接 第1章  Oracle数据库基础知识 1.1  什么是关系数据库 1.1.1  关系数据库模型 1.1.2  关系数据模型的创始人 1.2  Oracle数...
  • brucexia
  • brucexia
  • 2015年02月10日 17:51
  • 1497

DBA常用视图大全

dba_users       数据库用户信息 dba_segments   表段信息dba_extents    数据区信息 dba_objects    数据库对...
  • shengguocun
  • shengguocun
  • 2013年12月15日 18:22
  • 948

DBA修炼之道:数据库管理员的第一本书(原书第2版)pdf

下载地址:网盘下载 内容简介  · · · · · · 【编辑推荐】 资深数据库管理专家30余年经验结晶,全面阐释数据库管理的各种技术问题与解决方法; ...
  • cf406061841
  • cf406061841
  • 2017年05月30日 12:39
  • 699

Oracle数据库的找回DBA账户的密码

这是大二时候写在QQ空间里的一篇文章,我还记得当时这个问题花费了我整一天的时间去搞定它,所以那时体会颇深,所以那时特意记录了下了这个解决的过程,今天突然有兴致想找出几篇大学时写在空间里的文章和大家分享...
  • chenleixing
  • chenleixing
  • 2015年01月30日 23:06
  • 6414

sys、system、DBA用户区别

7777777777777777777777777777777777 Oracle安装会自动的生成sys用户和system用户: (1)     sys用户是超级用户,具有最高权限,具有s...
  • q947817003
  • q947817003
  • 2013年09月06日 09:44
  • 2378
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【IT观察】作为一个DBA,如何选择数据库
举报原因:
原因补充:

(最多只允许输入30个字)