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 [订阅]
微博:新浪微博

NoSQL系列:选择合适的数据库相关推荐

  1. 如何选择合适的数据库,让游戏更高效可用

    3月8日,2017游戏行业全球同服和安全攻防技术沙龙在上海举行,阿里云资深技术专家丁奇带来题为"ApsaraDB介绍-MySQL"的演讲.本文分五部分为大家介绍,首先从RDS基本架 ...

  2. 如何选择合适的NoSQL数据库

    与传统的表格(或SQL)数据库相比,NoSQL数据库为软件开发人员和其他用户提供了更高的运行速度和更高的灵活性. NoSQL数据库使用的数据结构 - 键值对,宽列,图形或文档 - 与关系数据库使用的数 ...

  3. 监控系统如何选择合适的时序数据库?

    1.可以按照以下需求自行选择合适的存储: 小而精,性能高,数据量较小(亿级): InfluxDB 简单,数据量不大(千万级),有联合查询.关系型数据库基础:timescales 数据量较大,大数据服务 ...

  4. mysql数据库 数据类型自动编号选哪个_MySQL表类型、选择合适数据类型、字符集...

    MySQL学习笔记(4) 表类型(存储引擎)的选择 插件式存储引擎是MySQL最重要特性之一,5.5之前默认引擎为MyISAM,之后为InnoDB,如需修改默认存储引擎,可在参数文件中设置defaul ...

  5. 转】R利剑NoSQL系列文章 之 Hive

    原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/3/ 感谢! Posted: Jul 27, 2013 Ta ...

  6. NOSQL系列-Redis精简版安装与Ruby测试

    简介:Redis是一个NOSQL数据库,它是一款key-values存储型数据库,也叫"memcached改进版",它不同与memcached最大特点是它由内存+硬盘来存储数据的, ...

  7. redis value多大会影响性能_选择合适Redis数据结构,减少80%的内存占用

    前言 redis作为目前最流行的nosql缓存数据库,凭借其优异的性能.丰富的数据结构已成为大部分场景下首选的缓存工具. 由于redis是一个纯内存的数据库,在存放大量数据时,内存的占用将会非常可观. ...

  8. nosql_探索NoSQL系列

    nosql 数据科学 (Data Science) Knowledge on NoSQL databases seems to be an increasing requirement in data ...

  9. 分子对接教程 | (2) 选择合适的蛋白受体

    TCGA | GEO | 文献阅读 | 数据库 | 理论知识 R语言 | Bioconductor | 服务器与Linux 接前文:分子对接教程 | (1) 软件安装准备 关于蛋白质结构的PDB文件, ...

最新文章

  1. 解决 IntelliJ IDEA Tomcat 控制台中文输出乱码问题
  2. tenginx配置负载均衡
  3. Alibaba Cloud Toolkit——简介
  4. Go的strconv二
  5. Bzoj 2724: [Violet 6]蒲公英(分块)
  6. oracle 事务测试
  7. Blazor系列终结!
  8. img src 本地图片_Java爬取简单的网页内容和图片
  9. NVIDIA SMI 无法与 nvidia driver 通信
  10. 使用Xamarin在Visual Studio中开发Android应用
  11. java怎么建立socket_Java Socket编程如何建立两者关系
  12. [React Native]StatusBar的使用
  13. Java并发编程实战读书笔记(1)
  14. ②搭建GD32工程模板
  15. SSH框架之文件上传
  16. mysql数据文件后缀名_数据文件的后缀名_MySQL
  17. Java程序控制系统输入法
  18. SpringCloud学习笔记7——初级篇之服务降级
  19. Not creating XLA devices, tf_xla_enable_xla_devices not set
  20. 面试-操作系统-进程管理-进程-进程调度-死锁

热门文章

  1. 从服务器上传和下载文件方法
  2. 新入驻博客园立一个flag
  3. SCRIPT70: 没有权限
  4. Annotation 注解
  5. 微信小程序与Java后台的通信
  6. Xtreme8.0 - Kabloom dp
  7. OpenGL编程低级错误范例手册
  8. SQL Server聚集索引的选择
  9. maskView与CAGradientLayer那回事儿
  10. 2016/11/10 kettle概述