举例说明:Hadoop vs. NoSql vs. Sql vs. NewSql
转自:http://blog.jobbole.com/86269/


尽管层次数据库如今在大型机上依然被广泛使用,但关系数据库(RDBMS)(SQL)已经占领了数据库市场,并且表现的相当优异。我们存的钱不会跑到别人的账户,我们预定机票可以确保我们在飞机上有一个专属的座位,而且我们也不会因为没有做过的事而受到责备等等。关系数据库的数据完整性是因为它遵循了ACID(原子性,一致性,独立性以及持久性)原则。关系数据库技术可追溯到上世纪70年代。
那么,现在有什么变化呢?Web 技术开启了这次变革。如今,许多人在亚马逊上买东西。但关系数据库并不是设计用来处理亚马逊上每秒大规模的交易的。其主要的制约因素是关系数据库的机制问题。
NoSql 数据库提供了另一种机制,但这种机制却削弱了ACID原则。一些 NoSql 供应商在解决这些问题上取得了长足的进步;他们的解决方案称作最终一致性。至于 NewSql,为什么不利用现代的编程语言和技术来新建一个没有缺点的关系数据库呢?这就是很多 NewSql 供应商起家的方法。其他的 NewSql 公司创建了增强的 MySql 解决方案。
Hadoop 是一个完全不同的物种。它实际上是一个文件系统而非数据库。Hadoop 的根是基于互联网搜索引擎的。虽然 Hadoop 和 伙伴(Hbase,Mapreduce,Hive,Pig,Zookeeper)已经使它变成一个很强大的数据库,但 Hadoop 依旧是一个可容错、可扩展、廉价的分布式文件系统。Hadoop 当下的特点在于它的批量处理适用于数据分析。
现在,我们开始举例说明:我设想,视频游戏公司在营业了十年后,最近上线了我们最火热的游戏,并把货发给世界各地的零售商。我们的客户信息目前存储在一个 Sql Server 数据库中,我们对此一直很乐观。然而,由于玩家开始在线玩游戏,我们的数据库不能够跟上数据更新速度,导致玩家体验有延迟。随着用户群的快速增长,我们花了大笔的钱来买更多的硬件和软件也无济于事。我们最不希望的就是损失客户。我们现在该何去何从?
我们决定分割我们的线上用户群,同时在 NoSql 和 NewSql 上运行我们的线上游戏。我们的目标就是要找到最佳的解决方案。IT 部门于是选择了 NoSql CouchBase (类似于 MongoDB 的面向文档型)和 NewSql VoltDB。
Couchbase 是开源的,它有一个集成的缓存机制,并且可以自动地在多个节点之间传播数据。VoltDB 是一个遵循 ACID 原则的关系数据库,能够容错,横向扩展,并拥有无共享 & 内存中的架构。最后,这两个系统都能够运作。我不会详述各个方案的复杂细节,因为这只是一个例子,而且实际上比较这些技术需要测试,标杆管理以及深入分析。
既然线上操作可以顺利进行,我们想要分析我们的数据来找到我们应该开拓的市场。那么最适合推销我们的产品是哪个国家呢?为此,我们需要把 Sql Server 数据仓库的用户数据和线上游戏数据库的数据合并起来,然后运行分析报告。这就轮到 Hadoop 登场了。我们构建一个 Hadoop 系统并将这两个数据源的数据合并起来。最后,我们利用开源的 R 语言与其 MapReduce 模块连接起来,以生成分析报告。
举例说明:Hadoop vs. NoSql vs. Sql vs. NewSql的更多相关文章
- 5G时代,为什么NoSQL和SQL存在短板?
01 介绍 当今的通信服务提供商(CSP)需要能够在处理海量复杂的数据的同时,不会下降或者减慢网路响应速度和可靠性.5G时代,设备和用户数量呈指数级增长,这对业务支持服务(BSS)提出了新需求,也成为 ...
- MongoDB 1: NoSQL 和 SQL的区别
导读:本篇博客,主要是结合自己在项目中的使用,简单的阐述一下NoSQL和SQL的区别.那么,根据自己的应用,NoSQL这边,选择的是MongoDB(Redis虽然也是,但属于内存存储,这里不予说明). ...
- 为什么使用Nosql:Nosql和SQL的区别
1.概念: SQL(Structured Query Language)数据库,指关系型数据库.主要代表:SQL Server.Oracle.MySQL.PostgreSQL. NoSQL(Not O ...
- Accessing data in Hadoop using dplyr and SQL
If your primary objective is to query your data in Hadoop to browse, manipulate, and extract it into ...
- NoSQL和SQL怎么选用?
NoSQL 有分很多种,其中key-value NoSQL (Redis, MemcacheD, etc) 的选用相对比较清楚些,大多是当后端Data storage的cache层来用.这篇主要想请教 ...
- NoSQL还是SQL?这一篇讲清楚
https://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653550127&idx=1&sn=93f79e007d757a ...
- [No0000195]NoSQL还是SQL?这一篇讲清楚
随着大数据时代的到来,越来越多的网站.应用系统需要支撑海量数据存储,高并发.高可用.高可扩展性等特性要求. 传统的关系型数据库在应付这些已经显得力不从心,并暴露了许多难以克服的问题. 由此,各种各样的 ...
- about云资源汇总指引V1.4:包括hadoop,openstack,nosql,虚拟化
hadoop资料 云端云计算2G基础课程 (Hadoop简介.安装与范例) 炼数成金3G视频分享下载 虚拟机三种网络模式该如何上网指导此为视频 Hadoop传智播客七天hadoop(3800元)视频, ...
- mySQL、mariaDB、noSQL、SQL server、redis之间是什么关系?
1.首先,从数据库类型上分类,mySQL.mariaDB.SQL server这3种属于关系型数据库. noSQL属于非关系型数据库,被视为数据库革命者. redis成为内存缓存数据库,而前面的两种类 ...
随机推荐
- 苹果开发——App内购以及验证store的收据(一)
原地址:http://zengwu3915.blog.163.com/blog/static/27834897201375105236580?suggestedreading 发了几天时间在网上折腾了 ...
- VMware - "Determining IP Information for eth0...Failed
Linux ifup eth0 出现错误: Dertermining IP information for eth0....failed - no link present check cable D ...
- MySQL数据库和实例简介
MySQL 单进程多线程,也就是说MySQL实例在系统上表现就是一个进程 该架构类似于SQL Server和Windows版本的Oracle MySQL数据库是由一些列物理文件组成.类似于frm.MY ...
- bzoj-1492 货币兑换Cash (2)——CDQ分治
题意: 略 见上一篇 题解: 方程还是那个方程f[i]=A[i] * X[j] + B[i] * Y[j]. 化简为Y[i]=(-A[i]/B[i]) * X[i] + f[i]/B[i]这一坨: 既 ...
- 三次握手的第三个ACK包丢了,TCP的处理方式
众所周知,TCP建立采用的是三次握手.最近在看论文的时候,突然想到,如果第三个ACK报文丢失了,TCP建立是否还会成功?TCP是如何处理的呢?在网上搜了一圈,看到了这篇文章: 三次握手的第三个ACK包 ...
- SuperMap iObjects for Spark使用
本文档环境基于ubuntu16.04版本,(转发请注明出处:http://www.cnblogs.com/zhangyongli2011/ 如发现有错,请留言,谢谢) 1. 基础环境搭建 基础环境搭建 ...
- HQL的select new map ···语法
通常hibernate查询出的结果集是类似于 List<T> 或 List<Object[]> 的类型 类似于下面这个方法 public List<SfJmsfT> ...
- jmx 配置
1.启动添加jmx参数 -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom. ...
- C++ 模板详解 肥而不腻
C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数.返回值取得任意类型. 模板是一种对类型进行参数化的工具: 通常有 ...
- 翻翻git之---给传统的搜索增添友好动画 JJSearchViewAnim
转载请注明出处:王亟亟的大牛之路 这篇我又是个酱油,只是传播好东西也是一份功德. 由于节前被告知节后要把之前的EC项目翻成AS.那肯定要做一些加入新功能和旧实现替代的事,所以这两天也比較忙,正好另一些 ...