一、数据库管理系统DBMS是什么
是一种操纵和管理数据库信息的大型管理软件,用于建立,使用和维护数据库。
按数据库存储结构方式可以分为:关系数据库管理系统和非关系数据库管理系统。
二、数据库DB是什么
数据库,数据的仓库,而平时说的数据库是指数据库管理系统。
数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。
你可以理解为 DBMS是类,而具体的一个个仓库DB是实例。
三、关系数据库管理系统
1、什么是关系数据库管理系统
关系数据库管理系统,简称RDBMS。
结构化查询语言(Structured Query Language) 简称 SQL,用于存取数据以及查询、更新和管理数据库系统DBMS。意味着,SQL只是一个公共的标准语言,不属于各个DBMS的厂家,但是各个厂商的DBMS软件都需要支持SQL。
所以,学会了SQL,各个DBMS,无论是关系数据库还是作为关系数据库拓展的非关系数据库都大体适用。
2、基于共享文件系统的DBMS
用于桌面用途,通常不用于高端或更关键的应用。
例如:Microsoft Access、FileMaker等。
3、基于客户机-服务器的DBMS(或者说是C/S系统)
客户机—服务器应用分为两个不同的部分。
服务器部分是负责所有数据访问和处理的一个软件。这个软件运行在称为数据库服务器的计算机上。与数据文件打交道的只有服务器软件。关于数据、数据添加、删除和数据更新的所有请求都由服务器软件完成。这些请求或更改来自运行 客户机软件的计算机。
客户机是与用户打交道的软件。例如,如果你请求一个按字母顺序列出的产品表,则客户机软件通过网络提交该请求给服务器软件。服务器软件处理这个请求,根据需要过滤、丢弃和排序数据;然后把结果送回到你的客户机软件。
客户机和服务器软件可能安装在两台计算机或一台计算机上。不管它们在不在相同的计算机上,为进行所有数据库交互,客户机软件都要与服务器软件进行通信。
例如:Mysql、Oracle、Microsofte SQL Server、DB2等。
4、基于客户机-WEB服务器-数据服务器的DBMS(或者说是B/S系统)
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器/服务器结构。它是C/S架构的一种改进,可以说属于三层C/S架构。主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
第一层是浏览器,即客户端,只有简单的输入输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户,所以界面设计得比较简单,通用。
第二层是WEB服务器,扮演着信息传送的角色。当用户想要访问数据库时,就会首先向WEB服务器发送请求,WEB服务器统一请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。
第三层是数据库服务器,他扮演着重要的角色,因为它存放着大量的数据。当数据库服务器收到了WEB服务器的请求后,会对SQL语句进行处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器,也就是我们打开浏览器看到的界面。
四、非关系数据库管理系统
·什么是非关系数据库管理系统
非关系数据库管理系统,简称NRDBMS。
随着大数据时代的到来,越来越多的网站、应用系统需要支撑海量数据存储,高并发请求、高可用、高可扩展性等特性要求,传统的关系型数据库在应付这些调整已经显得力不从心,暴露了许多难以克服的问题。由此,各种各样的NoSQL(Not Only SQL)数据库作为传统关系型数据的一个有力补充得到迅猛发展。
例如:列存储数据库、键值存储数据库、文档数据库、全文搜索引擎数据库、图形数据库等。
总结:
1、关系数据库和非关系数据库的选型,往往需要考虑几个指标:
数据量、并发量、实时性、一致性要求、读写分布和类型、安全性、运维成本。
2、常见软件系统数据库选型参考如下:
1)内部使用的管理型系统
如运营系统,数据量少,并发量小,首选考虑关系型。
2)大流量系统
如电商单品页,后台考虑选关系型,前台考虑选内存型。
3)日志型系统
原始数据考虑选列式,日志搜索考虑选倒排索引。
4)搜索型系统
例如站内搜索,非通用搜索,如商品搜索,后台考虑选关系型,前台考虑选倒排索引。
5)事务型系统
如库存,交易,记账,考虑选关系型型+缓存+一致性型协议。
6)离线计算
如大量数据分析,考虑选列式或者关系型也可以。
7)实时计算
如实时监控,可以考虑选内存型或者列式数据库。