NoSQL系列:选择合适的数据库

  1. 云栖社区>
  2. seven的测试人生>
  3. 博客>
  4. 正文

NoSQL系列:选择合适的数据库

青衫无名 2017-07-03 09:36:00 浏览1634
展开阅读全文
NoSQL系列:选择合适的数据库
  为什么使用NoSQL数据库?
  1、阻抗失衡
  关系模型和内存中的数据结构不匹配
  采用更为方便的数据交互方式提升开发效率
  2、待处理的数据量很大
  数据量超过关系型数据库的承载能力
  大集群的出现
  在成本方面,集群中应用关系数据库,许可费用是一笔很大的支出;
  横向扩展和纵向扩展:关系数据库一般只能是纵向扩展,通过对单机服务器的性能换代增强而实现;而对于扩展到多个服务器,
  DBMS先天不足;(DBMS不是设计给集群使用的)
  3、对数据的访问效率要求高
  NoSQL数据库的分类
  键值数据库
  1、产品
  Redis
  BerkerleyDB
  Memcached
  Project Voldemort
  Riak
  LevelDB
  2、适用场景
  存放会话信息
  用户配置信息
  购物车数据
  3、不适合的场景
  数据间有大量关系
  含有多项操作的事务
  根据键值的部分来查询数据
  操作关键字集合
  文档数据库
  1、产品
  MongoDB
  CouchDB
  RavenDB
  Terrastore
  OrientDB
  2、适用场景
  事件记录
  内容管理系统及博客平台
  网站分析及实时分析
  电子商务应用程序
  (需要较灵活的模式,低成本建立数据模型)
  3、不适合场景
  包含多项操作的复杂查询
  查询持续变化的聚合结构

 列族数据库
  1、产品
  HBase
  Amazon SimpleDB
  Cassdndra
  Hypertable
  BigTable(google)
  2、适用场景
  事件记录
  (保存应用程序状态,运行中遇到的错误)
  CMS及博客平台
  计数器
  3、不适用场景
  需要ACID事务
  查询模式变化频繁的场合
  图数据库
  1、产品
  FlockDB
  HyperGraphDB
  Infinite Graph
  Neo4J
  OrientDB
  2、适用场景
  互联数据
  推荐引擎
  基于位置的服务
  3、不适用场景
  更新全部或某个子集的实体
  附思维导图


最新内容请见作者的GitHub页:http://qaseven.github.io/

网友评论

登录后评论
0/500
评论