NoSQL的简单介绍
Peng's Blog 只记录和技术相关的东西

NoSQL的简单介绍

2017-08-04

介绍

NoSQL,指的是非关系型数据库。

还一种翻译是:NoSQL(NoSQL = Not Only SQL ),即”不仅仅是SQL”。

是对不同于传统的关系型数据库的数据库管理系统的统称。

主要用于超大规模数据的存储。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

NoSQL不用满足关系型数据库的ACID特性。

关系型数据库vsNoSQL

**RDBMS **(关系型数据库) - 高度组织化结构化数据 - 结构化查询语言(SQL) (SQL) - 数据和关系都存储在单独的表中。 - 数据操纵语言,数据定义语言 - 严格的一致性 - 基础事务

**NoSQL ** - 代表着不仅仅是SQL - 没有声明性查询语言 - 没有预定义的模式 -键 - 值对存储,列存储,文档存储,图形数据库 - 最终一致性,而非ACID属性 - 非结构化和不可预知的数据 - CAP定理 - 高性能,高可用性和可伸缩性

NoSQL的优势

一、易扩展

二、大数据量,高性能

三、灵活的数据模型

四、高可用

NoSQL数据库分类

类型 部分代表 特点
列存储 Hbase、Cassandra、Hypertable 顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。
文档存储 MongoDB、CouchDB 文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。
key-value存储 Tokyo Cabinet / TyrantBerkeley DBMemcacheDBRedis 可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)
图存储 Neo4J、FlockDB 图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。
对象存储 db4o、Versant 通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。
xml数据库 Berkeley DB 、XMLBaseX 高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。

总结

NoSQL的出现,弥补了关系数据库在某些方面的不足,在某些方面能极大的节省开发成本和维护成本。

关系型数据库的关注点在于 关系 ,NoSQL的关注点在于 存储

参考资料

1、《NoSQL简介》。http://www.runoob.com/mongodb/nosql.html

2、《NoSQL开篇——为什么要使用NoSQL》。孙立 2011.1。http://www.infoq.com/cn/news/2011/01/nosql-why/


上一篇 Sharding

Comments

评论功能暂停使用,如需跟作者讨论请联系底部的GitHub