我知道你一定听过Mysql,听过oracle,也可能听过redis,hive和mariaDB等等,他们都被人们称作数据库。但是你知道为什么数据库要分这么多种么?这么多数据库存在的价值是什么?这篇我们放轻松,浅略一下数据库的种类和各自特性。
一,从数据库的历史说起
我之前在技术面试中区分过数据库和DBMS的区别,这里指的数据库概念要自己区分好。
数据库是用来存储数据的,随着计算机技术的发展,数据库被赋予了更多的功能并作为后端不可缺少的一部分。数据库的发展历史大致可以分为:
磁盘文件存储->导航类型数据库(层次结构模型->网络结构模型)->关系结构模型数据库->后关系模型数据库
导航类型数据库
上世纪60年代的数据库模型有点类似于传递指针,命令请求数据就像导航一样在存储介质中快速进行查找,由此人们终于可以抛弃基于磁带系统的批处理的方式进行数据查找,而是可以通过数据库共享交互式使用数据。
关系型数据库
转眼到了70年代,导航型数据库得到改进,因为他缺乏了很多紧缺的功能,比如搜索,事务的安全性,存储数据的规范等等。抛弃链接和指针,一个关键的概念“表”产生了,从此,慢慢开始为关系型数据库演化出查询语言SQL,建设关系型数据库的关系模型,表和表之间的运算,增加索引等等,关系型数据库的演化周期很长,到今天仍然不断更新来适用人们的需求。从而市场上开始涌现越来越多的数据库,以至于每个月都会根据不同数据库查询性能更新数据库排行榜。
后关系型数据库
当关系型数据库发展壮大,恰逢计算机技术又上一个台阶,分布式的需求日益增长迫使现有的数据必须解决CAP造成的问题,这样必定引起数据库类型的分化来适应不同需求不同场景的数据,其他类型数据库就如雨后春笋,在市场上开发流行