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/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |