【转】nosql的分类

1 键值数据库

   相关产品:Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached

   形式:Key 指向 Value 的键值对,通常用hash table来实现 

 应用:内容缓存

   优点:扩展性好、灵活性好、大量写操作时性能高

   缺点:无法存储结构化信息、条件查询效率较低

   使用者:百度云(Redis)、GitHub(Riak)、BestBuy(Riak)、Twitter(Ridis和Memcached)

2 列族数据库

   相关产品:BigTable、HBase、Cassandra、HadoopDB、GreenPlum、PNUTS

   形式:以列簇式存储,将同一列数据存在一起

   应用:分布式数据存储与管理

   优点:查找速度快、可扩展性强、容易进行分布式扩展、复杂性低

   缺点:功能相对局限

   使用者:Ebay(Cassandra)、Instagram(Cassandra)、NASA(Cassandra)、Facebook(HBase)

3 文档数据库

   相关产品:MongoDB、CouchDB、ThruDB、CloudKit、Perservere、Jackrabbit

   形式:Key-Value对应的键值对,Value为结构化数据

   应用:存储、索引并管理面向文档的数据或者类似的半结构化数据

   优点:性能好、灵活性高、复杂性低、数据结构灵活

   缺点:缺乏统一的查询语言

   使用者:百度云数据库(MongoDB)、SAP(MongoDB)

4 图形数据库

   相关产品:Neo4J、OrientDB、InfoGrid、GraphDB

   形式:图结构

   应用:大量复杂、互连接、低结构化的图结构场合,如社交网络、推荐系统等

   优点:灵活性高、支持复杂的图形算法、可用于构建复杂的关系图谱

   缺点:复杂性高、只能支持一定的数据规模

   使用者:Adobe(Neo4J)、Cisco(Neo4J)、T-Mobile(Neo4J)

5、图解

分类

Examples举例

典型应用场景

数据模型

优点

缺点

键值(key-value) 

Redis、Riak、SimpleDB、Chordless、Scalaris、Memcached

列存储数据库

Cassandra, HBase,Riak

分布式的文件系统

以列簇式存储,将同一列数据存在一起

查找速度快,可扩展性强,更容易进行分布式扩展

功能相对局限

文档型数据库

CouchDB, MongoDb

Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容)

Key-Value对应的键值对,Value为结构化数据

数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构

查询性能不高,而且缺乏统一的查询语法。

图形(Graph)数据库 

Neo4J, InfoGrid, Infinite Graph

社交网络,推荐系统等。专注于构建关系图谱

图结构

利用图结构相关算法。比如最短路径寻址,N度关系查找等

很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。 

<span color:#136ec2;"="" style="word-wrap: break-word; font-size: 1pt;">
作者:(奎恩)quinns 
出处:https://www.cnblogs.com/quinnsun/ 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 
如果文中有什么错误,欢迎指出。以免更多的人被误导。 
原文地址:https://www.cnblogs.com/gered/p/11643493.html