综合stackoverflow和linkin上的相关讨论,还有我个人的工作经验:
 
Redis应用场景(大部分场景下memcache可以用Redis代替,所以不单独讨论)
  • 线上业务,读写的高性能要求
  • 非海量数据(单机GB级别)
  • 多机共享型操作,如session
  • 支持事务(但并没有想像中的那么好用,逻辑上容易出问题)
  • 优秀的原生数据结构
  • 小型原子操作(如计数器)
  • 不适用于N层结构的数据处理,或者说可以用于存储但是最好不要更新,以hash为例,包括redis实例(一个实例也等于是key-value字典)自己在内,只有两层结构,再多就不能使用原子操作命令,内容也只能存储成json之类的结构,不方便修改。
MySQL等传统数据库应用场景
  • 相对较少的数据(相对而言,千万级以上数据量可以处理但并不推荐)
  • insert/update/select不能同时都很频繁(基本上只有多读少写是比较能接受的应用范围)
  • 对应可靠性要求比较高的业务
  • 单次业务操作要求复杂,变更频繁,但是操作频率并不高。(比如运营管理平台之类)
  • BI型业务,要求高度优化的查询方式,ES之类也许可以得到相同的结果,但效率上还做不到这一点
hadoop应用场景
  • 海量数据(单机和普通机群无法处理时适用)
  • 高扩展性
  • 数据最好能整理成比较规则的行列形式
  • 有比较多的join/group类操作/集合操作,或者更复杂的计算需求(相比之下,可以比ES之类的搜索查询复杂得多,脚本可能写得很复杂)。
  • 即时性上要求不高,主要用于离线分析和处理
  • 搭建和管理相对麻烦(如redis和mysql可以很简单的由普通技术人员单人搭建和维护)
Elasticsearch应用场景
  • 它首先是一个搜索引擎而不是数据存储(其实也可以用做存储,只是说没有很多专门的存储那么好,但是可能对中小企业来说足够了)
  • 是一个高效的数据分析引擎,自带分析用语法,比其他的工具强大
  • 并不是一个全能的数据分析工具,如join之类的查询支持的并不好
  • 分析的主要目标是数据列
  • 数据量很大,列不定,所有列都有可能有查询需求(区别于mangodb)
  • 大量新数据insert,大量search,少量update(频繁update会导致索引频繁变化,IO等都会受比较大影响)
  • 有历史快照版本,可以找到已经删除掉的老数据(当然也会占用更多的空间)
mongodb应用场景
  • 键值型文档存储
  • 不要求列相同(和ES差不多)
  • 分析的操作的主要目标是数据行
  • 存储量大但是价值比较低的数据
  • 存储json型和对象型数据
  • 少量索引,如果索引太多会有内存和性能瓶颈
  • 大量高性能要求的在线业务并不适合

各种数据处理方案(SQL,NoSQL,其他)的应用场景的更多相关文章

  1. SQL,NoSQL和NewSQL的区别

    SQL(Structured Query Language):数据库,指关系型数据库.主要代表:SQL Server.Oracle.MySQL.PostgreSQL. NoSQL(Not Only S ...

  2. 【转】Redis学习---NoSQL和SQL的区别及使用场景

    什么是NoSQL NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称,它具有非关系型.分布式.不提供ACID的数 ...

  3. 数据库SQL,NoSQL之小感悟

    遇到1000万数据表 最近遇到一个问题,就是单表数据过的存储及查询问题.举个例子:1000万的数据存在一个表中,字段4-5个样子,日常 开发中难免要做过滤.排序.分页.如果把这几个放在一起即要过滤又要 ...

  4. NoSQL 数据库的使用场景

    摘要:对比传统关系型数据库,NoSQL有着更为复杂的分类——键值.面向文档.列存储.图数据库.这里就带你一览NoSQL各种类型的适用场景及一些知名公司的方案选择. 在过去几年,关系型数据库一直是数据持 ...

  5. 【数据处理】SQL Server高效大数据量存储方案SqlBulkCopy

    要求将Excel数据,大批量的导入到数据库中,尽量少的访问数据库,高性能的对数据库进行存储. 一个比较好的解决方案,就是采用SqlBulkCopy来处理存储数据. SqlBulkCopy存储大批量的数 ...

  6. sql,nosql

    1. 关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库. 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成 ...

  7. 大约SQL/NoSQL数据库搜索/思考查询

    转载请注明出处:jiq•钦's technical Blog Hbase特征: 近期在学习Hbase.Hbase基于行健是建立了索引的,查询速度会很快,全然实时. 可是Hbase要基于行健之外的字段进 ...

  8. Bank方案SQL

    用于演示的Bank方案对应的SQL: /* 1.branch 开展银行交易业务的场所 */ DROP TABLE IF EXISTS branch; CREATE TABLE branch -- 开展 ...

  9. [转]基于Storm的实时数据处理方案

    1 文档说明 该文档描述的是以storm为主体的实时处理架构,该架构包括了数据收集部分,实时处理部分,及数据落地部分. 关于不同部分的技术选型与业务需求及个人对相关技术的熟悉度有关,会一一进行分析. ...

随机推荐

  1. svn排除不想要的目录上传的实践技巧

    使用SVN时,经常会遇到,有些目录,上传到SVN上,不想最持同步中,尤其像.net中的bin.obj目录,在网上找了很多资料,都是说setting-->General-->Subversi ...

  2. (medium)LeetCode 224.Basic Calculator

    Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...

  3. (转)卸载SQLServer2008 数据库

    1 卸载Microsoft SQL Server 2008主程序 1.1,控制面板-程序中找到“Microsoft SQL Server 2008”,双击卸载 1.2,弹出管理界面中选择“”删除“ 1 ...

  4. GoldenGate: Extract Abend with Detect Inconsistency in Pdata (文档 ID 1355067.1)

    APPLIES TO: Oracle GoldenGate - Version 10.4.0.0 and laterInformation in this document applies to an ...

  5. Android设置不被系统设置改变的字体大小

    原因 从4.0开始,系统设置中“显示”可以对字体大小进行配置,这会影响到TextView等控件中文字显示的大小. 解决方案 在自定义的Activity中重写getResources方法 @Overri ...

  6. python-appium手机自动化测试(仅需安装包)前期准备(pydev-eclipse编辑器)

    1.jdk安装与环境变量配置教程http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html 我本机安装的是1.6.043 2.sdk下 ...

  7. 加链接太麻烦?使用 linkit 模块提升用户编辑体验

    在制作网站内容时,适当地添加链接会非常用利于网站内容的SEO.加入链接的文章可以让访客了解到更多相关内容,从而提升文章的质量.被链接到的内容也能因此获得更多的访问和关注.只不过,在内容编辑时添加链接却 ...

  8. 洛谷P1457 城堡 The Castle

    P1457 城堡 The Castle 137通过 279提交 题目提供者该用户不存在 标签USACO 难度提高+/省选- 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 我们憨厚的USACO ...

  9. TCP/IP详解学习笔记(9)-- 广播,多播,IGMP:网际组管理协议

    1.概述      IP有三种地址:单播地址, 广播地址,多播地址.      广播和多播仅应用于UDP.      每个以太网帧包含源主机和目的主机的以太网地址.通常每个以太网帧发往单个目的主机,目 ...

  10. Some regret....

    今天是一个败笔,早上10点才起床,下午又不专心看书,晚上把还是不能静下来...... 把所有的时间都花在了那一篇FlowVisor上了,但是却没有任何收获,居然没看懂,等下好好整理一下逻辑. 明天开始 ...