文章目录
前言
一. 什么是数据库?
二. 数据库的分类?
主流的关系型数据库
主流非关系型数据库
使用场景
DBA职业素养
总结
前言
在整个的运维知识体系里,数据库是很重要的一部分,但目前大部分运维的数据库还是停留在增删改查和基础的架构,基础架构也就是读写分离,主从同步。
很多转行的学员,没有系统学习过数据库系统原理,如果不是科班毕业的话,推荐书籍《数据库系统概论》 作者 人民大学 王珊 老师的
现在应该是第五版
还有一本是《数据库系统实现》,可以自己自行去京东搜索,值得拥有
数据库已经涉及到方方面面,比如银行里的交易,航空公司的时间表,大学的注册和成绩,销售的客户系统,订单系统。
你可以能学了很多技术,但单靠数据库系统,就可以帮你找一份好工作。
数据库 +操作系统 +计算机网络 +编译原理 = 步入优秀工程师的行列的基本功。
计算说到底,就是数据+算法,大部分软件的核心就是把数据存进数据库,需要的时候在拿出来
在实际的工作中,数据表就是数据结构,索引与查询就是算法;代码只是用于在数据系统之间做数据的搬运。
一. 什么是数据库?
DB的全称是data base,即数据库的意思。数据库实际上就是一个文件集合,是一个存储数据的仓库,本质就是一个文件系统,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作
二. 数据库的分类?
一般意义上我们分为两类:
关系型数据库:
经过数学理论验证可以保存现实生活中的各种关系数据, 数据库中存储数据以表为单位;
非关系型数据库:
通常用来解决某些特定的需求如:数据缓存,高并发访问。 存储数据的形式有多种,举例:Redis数据库:通过键值对的形式存储数据。
扩展:
- 数据库(psotgreSQL,MySQL,Oracle)存储数据,以便自己或其他应用程序之后能再次找到
- 缓存: 加快读取速度,如redis,memcache
- 搜索索引: 允许用户按照关键字搜索数据或者使用其他方式对数据进行过滤(ElasticSearch)
- 流处理: 向其他进程发送消息,进行一步处理(kafka,flink,storm)
- 批处理: 定期处理累积的大批量数据(hadoop)
主流的关系型数据库
MySQL: 08年被sun公司收购09年sun被oracle收购,开源免费,到oracle发布了5.0版本(使用了oracle核心技术 性能提高30%)
MariaDB数据库:名字是因为作者女儿叫Maria ,市场排名第一;
Oracle:闭源、最贵、性能最高,市场排名第二;
SQLServer:微软公司的产品,市场排名第三,主要应用在.net(C#)开发的网站中;
DB2:IBM公司有做网站的完整解决方案(操作系统,we服务器(如tomcat),数据库等)主要应用在银行等国有大型企业中;
sqlite:轻量级数据库,只有几十k,一般应用在嵌入式和移动设备中;
Access: 微软公司,界面友好,开发简单,灵活好用,入门级桌面数据库,性能和安全性一般,主要是个人和小网站使用。
postgresql : 伯克利分校计算机系开发,它是除了mysql之外发展较快的关系型数据库管理系统,可支持复杂查询,外键,触发器,视图,事务完整性,但不建议新手用。
主流非关系型数据库
- memcached : 开源,支持高性能,高并发的分布式内存缓存系统,由C语言开发,数据以key-value的形式存在,适合需要超高性能读写速度,持久化保存的应用场景,但近几年逐渐被其他持久化产品所替代,例如redis
- redis: 与memcache类似,也是一个key-value型的存储系统,但reids支持的value类型更多,包含string,list,set zset等
- mongodb : 介于关系型和非关系型的产品,特点就是查询语言比较强大,语法有点类似于面向对象的查询语言,高性能,易部署,存储数据方便等特点。
- cassandra 开源的key-value存储系统,用于存储特别大的数据, facebook开发的。特点是这货不是一个数据库,而是一堆数据库节点共同构成的一个分布式网络服务,对cassandra一个写操作会被复制到其他节点上去。
使用场景
-
mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,它现在是甲骨文公司的产品。
-
oracle主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品。
-
sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等。
DBA职业素养
DBA从业人员拥有数据库最高权限,一个人拥有的权利越大,他的责任就越大。 没有责任感的DBA永远不会是个好的DBA。
尤其是这两年经常出现删库跑路的现象,为一时气愤毁掉的是自己的一生,很不值得。
除了责任之外,还需要严谨。
作为DBA在修改数据库或者删除的时候,一定要考虑再三,而且要有理论支撑或者实践的支撑,最不济你得备份吧。
细心: 有的学员删除只是无心之举,但凡你稍微细心一点,每次要删除之前都要冷静一下,哪怕出去接杯水,回来之后再看看还要不要删,尽量不要在状态不好的时候操作。
心态: 要有良好的心态,别惹事,但是也不怕事,出事不要害怕,冷静分析
总结
学习任何一个技术,都应该进行对比学习,知识与知识的对比,认知与认知的对比,这次与前一次相比自己的技术有哪些进步。
本文转自 ID: 互联网老辛 更多内容关注公众号《极客运维之家》,扫码添加: