简单描叙DBMS模型

数据库是按照数据结构来组织、存储和管理数据的仓库,数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件。

先上一张整体架构图

最开始的时候,DBMS只提供了API接口,这样一来只有程序员能够直接面对DBMS,而普通用户只能在程序员开发出来的应用程序上面进行数据库的管理,但是对数据要求的场合实在太多,程序又不能面面俱到。这样一来对于那些有特殊要求,但是并不具备高端开发人员来说,DBMS实在太不友好了。有需求就有创造,对于国外大牛们来说,没有什么是不可能的。从Unix的出现再到C语言的发明过程就能看的出来。。这个时候。SQL语言应运而生。

SQL全称结构化查询语言(Structured Query Language),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,只需要了解SQL就行。

简单来说,就是DBMS开发人员将一些常用接口(查,改,删…)制作成了一个一个的命令,这个就是SQL。

常用关系型DBMS:(随便介绍一下,有个认知就好)

Sqlite:

简单的,本地的,非服务化的纯粹基于API的关系型数据库接口。嵌入式系统使用,说是DBMS,其实只是一个引擎,数据还是以普通文件的形式存放,只不够通过调用其API能实现关系型数据库的功能。 嵌入式系统使用的比较多

PostgreSQL:

前身eSQL,组建了EnterpriseDB,号称有甲骨文功能,但是价钱只有其1/3

MySQL:

作者Monty,My是其女儿名字。

发展过程:

MariaDB:

MariaDB数据库管理系统是MySQL的一个分支,其作者依然是Monty,Maria是其小孙女的名字。

成立于2009年,MySQL之父Michael “Monty” Widenius用他的新项目MariaDB完成了对MySQL的“反戈一击”。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 过去几年中,大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。虽然现在MariaDB市场占有率不高,但是就好像Nginx一样,大公司使用MariaDB的还是比较多。

MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。

MariaDB虽然被视为MySQL数据库的替代品,但它在扩展功能、存储引擎以及一些新的功能改进方面都强过MySQL。而且从MySQL迁移到MariaDB也是非常简单的,也就是说,在大多数情况下,完全可以卸载MySQL然后安装MariaDB,然后就可以像之前一样正常的运行。

SQL Server:

Microsoft和Sysbase一起开发,途中Sysbase放弃继续开发,Microsoft买断之后独立开发,只运行在Windows平台,不过在今年3月8日,Microsoft推出了Linux版SQL Server预览版,并将于2017年中全面发布这款产品

Oracle:

主要优势在于一致性,基本上银行电商的核心业务必须用Oracle(当然阿里的去IOE行动也证明了Oracle在电商中也不是不可以被放弃的)。Oracle的优化器,也是Oracle被称为高性能数据库的原因。收费:按核来收费,收费特别贵,而且营销手段比较特别,所以Oracle特别有钱。称号:大流氓,Oracle的DBMS很强大,但同样强大的还有它对开源界的破坏能力,

DB2:

IBM收购90年代数据库行业巨头Informix之后开发的数据库。不怎么了解。

好了,先就写到这里,关系型数据库的点实在太多,事务、锁、存储引擎、隔离级别、并发管理、约束等等实在太多。还是以后慢慢写