NoSQL的四大类型

键值数据库

相关产品:Redis Memcached SimpleDB

数据模型:键是一个字符串对象,值可以是任意类型的数据,比如整型、字符型、数组、列表、集合等

典型应用:涉及频繁读写,拥有简单数据模型的应用,内容缓存,如会话、配置文件、参数、购物车等,存储配置和用户数据星系等移动应用。

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

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

不适用情形:键值数据库根本没有通过值查询的途径;在键值数据库中,不能通过两个或两个以上的键来关联数据在一些键值数据库中,产生故障时,不可以回滚。

使用者:百度云数据库(Redis)

Redis(强化版的Memcached)

  • 支持持久化
  • 数据恢复
  • 更多数据类型

在实际的应用中,很多键值数据库都是用来作为缓存层

列族数据库

相关产品:BigTable HBase Cassandra

数据类型:列族

典型应用:发呢不是数据存储与管理,数据在地理上分布于多个数据中心的应用程序,可以容忍副本中存在短期不一致情况的应用程序,拥有动态字段的应用程序

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

缺点:功能较少,大都不支持强事务一致性

不适用情形:需要ACID事务支持的情形Cassandra等产品就不适用

使用者:Facebook(HBase)、Yahoo(HBase)

文档数据库

更好的并发性

文档数据库可以完整包含在一个文档里,具有较好的并发性。在对数据进行更新时,只需要锁定一个文档就可以把相关数据修改掉

相关产品:MongoDB CouchDB

数据模型:就是一个键值,本质上是一个键值数据库,只不过值(value)是版本化文档

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

优点:性能好(高并发),灵活性高,提供嵌入式文档功能,将经常查询的数据存储在同一个文档中。

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

不适用情形:文档数据库不支持文档间的事务,如果对这方面有需求则不应该选用这个解决方案

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

图形数据库

相关产品:Neo4j

数据模型:图结构

典型应用:专门用于处理具有高度相互关联关系的数据,比较适合于社交网络、模式识别、依赖分析、推荐系统以及路径寻找问题

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

缺点:数据模型应用范围非常有限

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值