数据库(Database)是按照数据结构来组织,储存和管理数据的仓库。数据库通常分为层次式数据库,网络式数据库和关系型数据库三种。而不同的数据结构是按照不同的数据结构来联系和组织的。如今常见的数据库模型分为关系型数据库(SQL)和非关系型数据库(NoSQL)两种
关系型数据库是指采用了关系模型来组织数据的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
关系就是二维表,并且有如下性质:
常见的关系型数据库:
关系型数据库的优缺点:
关系型数据库最大特点就是事务的一致性:传统的关系型数据库读写操作都是事务的,具有ACID的特点,这个特性使得关系型数据库可以用于几乎所有对一致性有所要求的系统中。
优点:容易理解,使用方便,易于维护
缺点:
1-数据读写必须经过sql解析,大量数据,并发下读写性能不足。硬盘I/O是一个很大的瓶颈
2-具有固定的表结构,因此扩展困难。
3-多表的关联查询导致性能欠佳。
NoSQL数据储存不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势
1-搜索键值存取数据库(key-value):可以通过key来添加,查询或者删除数据库,因为使用了key主键访问,所以获得很高的性能及扩展性。对于IT系统来说优势在于简单,易部署,高并发。
2-列存储数据库:将数据储存在列族中,一个列族储存经常被一起查询的相关数据,比如我们经常查询人类的名字和年龄,而非薪资,这种情况下年龄和姓名放在一个列族中,薪资会放到另外一个列族中。
3-面向文档数据库:可以看做键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。面向文档数据库会将数据以文档形式存储。