NoSQL数据库浅析
NoSQL(NoSQL = Not Only SQL ):非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。
今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL数据库的发展也却能很好的处理这些大的数据。
优点
1、高并发读写
2、海量数据的高效率存储和访问
3、高可扩展性和高可用性
NoSQL 数据库分类以及优缺点等
NoSQL数据库分类 | ||||||
序号 |
类型 |
相关产品 |
数据模型 |
优点(特点) |
缺点 |
典型应用 |
1 | 键值(key-value) |
MemcacheDB |
一系列键值对 |
可以通过key快速查询到其value。 一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能) |
存储的数据缺少结构化 | 内容缓存、主要用于处理大量数据的高访问负载 |
2 | 列存储 |
Hbase |
以列簇式存储,将同一列数据存在一起 |
顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势 |
功能相对局限 | 分布式的文件系统 |
3 | 文档存储 |
MongoDB |
一系列键值对 |
文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。 |
查询性能不高,而且缺乏统一的查询语法 | web应用(与key-value)类似,value是结构化的 |
4 | 图存储 |
Neo4J |
图结构 | 图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。 | 需要对整个图对计算才能得到结论,不容易做分布式的集群方案 | 社交网络、推荐系统等,专注于构建关系图谱 |
5 |
其他(例如XML数据库) |