关系型数据库与非关系型数据库
关系模型指的是采用二维表格来存储数据的模型,而关系型数据库由二维表及其之间的联系组成的一个数据组织。常见的由mysql sqlserver
关系型数据库的优点:
- 容易理解:二维表结构非常贴近逻辑世界的一个概念,关系模型相对网状,层次等其他模型来说更容易理解
- 使用方便:通用的SQL语言使得操作关系型数据库非常方便
- 易于维护:丰富的完整性(实体完整性,参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率
关系型数据库的缺点:
- 高并发读写需求:网站的用户并发非常高,往往达到每秒上万次读写请求,对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈
- 海量数据的高效率读写:对于数据量巨大的网站来说,关系型数据库的查询效率非常低
- 非关系型数据库是指非关系型的,分布式的,且不保证遵循ACID原则的数据存储系统(ACID:是DBMS中为了保证交易的可靠性,所必须的四个特性:原子性Atomicity,又称不可分割性,一致性consistency,隔离性isolation又称独立性,持久性durability),常见的有mongodb,redis
非关系型数据库的优点:
- 成本低:nosql数据库部署简单,基本都是开源软件
- 查询速度快:
- 存储数据的格式多:nosql的存储格式是key,value形式,文档形式,图片形式等,所以可以存储基础类型以及对象或者是集合的等多种形式,而关系型数据库只支持基础类型
- 高扩展性:
- 速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘
非关系型数据库作为一种新的技术,并且MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系数据库的。MongoDB还带有交互式shell,这使得访问其数据变得简单,且对于分块的即装即用的支持能够使高可伸缩性跨多个节点