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

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

为什么使用NoSQL数据库?

  • 阻抗失衡 
    关系模型和内存中的数据结构不匹配 
    采用更为方便的数据交互方式提升开发效率

  • 待处理的数据量很大 
    数据量超过关系型数据库的承载能力 
    大集群的出现 
    在成本方面,集群中应用关系数据库,许可费用是一笔很大的支出; 
    横向扩展和纵向扩展:关系数据库一般只能是纵向扩展,通过对单机服务器的性能换代增强而实现;而对于扩展到多个服务器, 
    DBMS先天不足;(DBMS不是设计给集群使用的)

  • 对数据的访问效率要求高

NoSQL数据库的分类

键值数据库

  • 产品 
    Redis 
    BerkerleyDB 
    Memcached 
    Project Voldemort 
    Riak 
    LevelDB

  • 适用场景 
    存放会话信息 
    用户配置信息 
    购物车数据

  • 不适合的场景 
    数据间有大量关系 
    含有多项操作的事务 
    根据键值的部分来查询数据 
    操作关键字集合

文档数据库

  • 产品 
    MongoDB 
    CouchDB 
    RavenDB 
    Terrastore 
    OrientDB

  • 适用场景 
    事件记录 
    内容管理系统及博客平台 
    网站分析及实时分析 
    电子商务应用程序 
    (需要较灵活的模式,低成本建立数据模型)

  • 不适合场景 
    包含多项操作的复杂查询 
    查询持续变化的聚合结构

列族数据库

  • 产品 
    HBase 
    Amazon SimpleDB 
    Cassdndra 
    Hypertable 
    BigTable(google)

  • 适用场景 
    事件记录 
    (保存应用程序状态,运行中遇到的错误) 
    CMS及博客平台 
    计数器

  • 不适用场景 
    需要ACID事务 
    查询模式变化频繁的场合

图数据库

  • 产品 
    FlockDB 
    HyperGraphDB 
    Infinite Graph 
    Neo4J 
    OrientDB

  • 适用场景 
    互联数据 
    推荐引擎 
    基于位置的服务

  • 不适用场景 
    更新全部或某个子集的实体

附思维导图

参考

《NoSQL精粹》

Posted by: 大CC | 07JUL,2014 
博客:blog.me115.com [订阅
微博:新浪微博

 

原文地址:http://www.cnblogs.com/me115/p/3829115.html

posted on   咚..咚  阅读(186)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示