NoSql
概念
NoSQL的全称是 Not Only SQL,即它除了做数据存储以外,还有其它的一些功能。
1、非关系型数据库就是NoSQL,MySQL、Oracle等都是关系型数据库
2、对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗费时间和资源,尤其是数据需要从磁盘里去检索
3、NoSQL数据库存储原理非常简单(典型的数据类型为k-v),不存在繁杂的关系链
4、NoSQL数据可以存储在内存里,查询速度非常快
5、NoSQL在性能表现上虽然能优于关系型数据库,但是它并不能完全替代关系型数据库
6、NoSQL因为没有复杂的数据结构,扩展非常容易,支持分布式
分类
KV存储数据库
Redis、BerkeleyDB、MemcacheDB
可以通过key快速查询到value。一般来说,存储不需要考虑value的格式。
列存储数据库
Hbase、Cassandra、Hypertable
按列存储数据,最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有着极大的IO优势。
文档存储数据库
MongoDB、CouchDB
文档数据库一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。
图关系数据库
Neo4J、FlockDB