关系型和非关系型数据库
1 关系型数据库:
Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL
(1)关系型数据库的特性
- 关系型数据库,是指采用了关系模型来组织数据的数据库;
- 关系型数据库的最大特点就是事务的一致性;
- 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
(2)关系型数据库的优点
- 容易理解:二维表结构是非常贴近逻辑世界一个概念,关系模型相对网状、层次等其他模型来说更容易理解;
- 使用方便:通用的SQL语言使得操作关系型数据库非常方便;
- 易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率;
- 支持SQL,可用于复杂的查询。
(3)关系型数据库的缺点
- 为了维护一致性所付出的巨大代价就是其读写性能比较差;
- 固定的表结构;
- 高并发读写需求;
- 海量数据的高效率读写;
2 非关系型数据库:
NoSql、Cloudant、MongoDb、redis、HBase
存储数据的方式:
基于键值对(Key-Value):如memcached、redis
基于文档型:如Mongodb(JSON使得表示树状结构变得明确)
基于列存储:如hbase:键仍然存在,但是它们的特点是指向了多个列
基于图型:如neo4j
(1)非关系型数据库的特性
- 使用键值对存储数据;
- 分布式;
- 一般不支持ACID特性;
- 非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。
(2)非关系型数据库的优点
- 无需经过sql层的解析,读写性能很高;
- 基于键值对,数据没有耦合性,容易扩展;
- 存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等,文档形式、图片形式等等,而关系型数据库则只支持基础类型。
(3)非关系型数据库的缺点
- 不提供sql支持,学习和使用成本较高;
- 无事务处理,附加功能表和报表等支持也不好;
博客来源:裸奔的小鸵鸟