关系型数据库

一、RDBMS与非RDBMS

关系型数据库是DBMS的主流,其中使用最多的DBMS分别是Oracle、MySQL和SQL Server。

1.关系型数据库(RDBMS)

这种类型的数据库是最古老的数据库类型,关系型数据库是把复杂的数据结构归结为简单的二元关系。

关系型数据库以行(row)和列(column)的形式存储数据,以便于用户理解。这一系列的行和列被称为表(table),一组表组成了一个库(database)。

优势:

(1)复杂查询:可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。

(2)事务支持:使得对于安全性能很高的数据访问要求得以实现。

2.非关系型数据库(非RDBMS)

非关系型数据库,可以看成关系型数据库的功能轻量级版本,基于键值对存储数据,不需要经过SQL层的解析,性能非常高。

类别:

(1)键值型数据库:键值型数据库通过Key-Value键值的方式来存储数据,其中Key和Value可以是简单的对象,也可以是复杂的对象。

Key作为唯一的标识符,优点是查找速度快,在这方面明显优于关系型数据库,缺点是无法像关系型数据库一样使用条件过滤。

键值型数据库典型的使用场景是作为内存缓存。Redis是最流行的键值型数据库。

(2)文档型数据库:此类数据库可存放并获取文档,可以是XML、JOSN等格式。MongoDB是最流行的文档型数据库。此外,还有CouchDB等。

(3)搜索引擎数据库:核心原理是“倒排索引”。搜索引擎是应用在搜索引擎领域的数据存储形式,由于搜索引擎会爬取大量的数据,并以特定的格式进行存储,这样才能保证性能最优。

(4)列式数据库:列式数据库是将数据按照列存储到数据库中,这样做的好处是可以大量降低系统的I/O,适用于分布式文件系统,典型产品:HBase等。

降低系统的I/O:

如果一个表中有20个字段,我们想要查找其中2个字段,如果是按行存储的数据库,我们想要查找2个字段,就要将这一行的所有字段都查找出来,相当于其他的18个字段都是冗余的,冗余越多,内存的I/O就越多,性能就不会高;如果是按列存储的数据库,我们就只找那2个字段就可以了,其他字段不用加载,I/O少了,自然速度就快了。

(4)图形数据库:图形数据库,就是一种存储图形关系的数据库,利用了图这种数据存储结构存储了实体(对象)之间的关系。

NoSQL的演变:

SQL是用来控制RDBMS的,相对的,用NoSQL来控制非RDBMS

1970:NoSQL=We have no SQL

1980:NoSQL=Know SQL

2000:NoSQL=No SQL!

2005:NoSQL=Not only SQL

2013:NoSQL=No,SQL!

在日志收集、排行榜、定时器等中,使用性能更高、成本更低的非关系型数据库当然是更明智的选择。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值