数据库的关系型和非关系型

数据库的关系型和非关系型

参考

[TOC]

一.关系型数据库

1.概念

关系型数据库是指采用了关系模型来组织数据的数据库。简单来说,关系模式就是二维表格模型。

主要代表:SQL Server,Oracle,Mysql

例子:

如下表中,可以根据条件love=画画,找出喜欢画画的人。或者找出年龄大于10岁的人。因为他们之间是有关系的。

name age love
A 11 花朵
B 12 画画
2.优点
  • 容易理解,二维表的结构非常贴近现实世界,二维表格,容易理解。
  • 使用方便,通用的sql语句使得操作关系型数据库非常方便。
  • 易于维护,数据库的ACID属性,大大降低了数据冗余和数据不一致的概率。
3.缺点

海量数据的读写效率
对于网站的并发量高,往往达到每秒上万次的请求,对于传统关系型数据库来说,硬盘I/o是一个很大的挑战。

高扩展性和可用性
在基于web的结构中,数据库是最难以横向拓展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库没有办法像web Server那样简单的通过添加更多的硬件和服务节点来拓展性能和负载能力。

二.非关系型数据库

1.概念

NoSQL非关系型数据库,主要指那些非关系型的、分布式的,且一般不保证ACID的数据存储系统,主要代表MongoDB,Redis、CouchDB。已key-value来存储值。

例子:
以下是存储5月份,网站点击量的数据。查询的时候,查日期,返回点击量次数。逻辑非常简单,通常用于存储session信息,session的id对应服务端存储的相关信息。

key value
5.6 10400
5.7 15034
5.8 14553
2.优点
  • 数据放在内存,读取速度超快
  • 扩展方便,因为数据间没有关系,扩展轻松
3.缺点
  • 不提供对SQL的支持:如果不支持SQL这样的工业标准,将会对用户产生一定的学习和应用迁移成本
  • 支持的特性不够丰富:现有产品所提供的功能都比较有限,大多数NoSQL数据库都不支持事务,也不像MS SQL Server和Oracle那样能提供各种附加功能,比如BI和报表等
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论