MapReduce和关系型数据库的对比以及如何理解规范性数据需要非本地操作

原创 2011年01月24日 12:06:00

根据Hadoop权威指南一书,总结了

MapReduce  与 关系型数据库的区别:

 

1 数据访问模式受限于磁盘寻址,磁盘寻址时间提高速度远远小于数据传输速率提高速度。对于超大规模数据(以PB为单位)必须考虑使用其他方式。关系型数据库使用B树结构进行数据的更新查询操作,对于最大到GB的数据量,一般相对数据量较小,效果很好。但是大数据量时,B树使用排序/合并方式重建数据库以更新数据的效率远远低于MapReduce。

 

2 MapReduce是关系型数据库的补充。MapReduce更适合批量更新大批量的数据集,一次写入多次读取。RDBMS更适合点查询和更新,这时的数据集已经被索引以提供低延迟的检索和短时间的少量数据更新,适合多次读写。

 

3 数据结构不同。关系型数据使用的是结构化数据,在数据库阶段按具体类型处理数据。MapReduce数据模式半结构化或非结构化,数据处理是在Map reduce操作中由用户实现。

  关系型数据的规范性非常重要,保持数据的完整性,一致性。这样的规范限制了数据必须在非本地操作。而MapReduce最终要是让数据在靠近数据的地方处理。

 

4 伸缩性。关系型数据库 对数据处理是非线性。MapReduce线性。

 

 

其中有一句话难以理解,涉及到了关系型数据和MapReduce处理数据方式不同的根本原因。

 

原文:

   Relational data is often normalized to retain its integrity, and remove redundancy.

Normalization poses problems for MapReduce, since it makes reading a record a nonlocal

operation, and one of the central assumptions that MapReduce makes is that it

is possible to perform (high-speed) streaming reads and writes

 

翻译后:

 

  关系型数据往往是规范的,以保持其完整性和删除冗余。规范化为MapReduce带来

问题,因为它使读取记录成为一个非本地操作,并且MapReduce的核心假设之一就是,

它可以进行(高速)流的读写。

 

这段话难以理解是在 为什么规范化使得读取操作必须是非本地操作。这句话怎么理解呢?

 

我的理解:

这个本地操作 应该是指的 数据传输 还是算法传输, mapreduce是将算法传输到hdfs datanode上以便数据在本地执行。而关系型数据库必须要通过 connection 将数据传输到算法所在容器执行。而这个的根本原因是数据规范性。

数据规范性,为了保证约束(完整性、一致性)正常,数据就需要传输到数据库容器外执行,数据处理逻辑完成后,由事务提交到数据库,从而严格保证数据的规范。

 

 

请教各位大牛,这样理解是否正确?

关系型与非关系型数据介绍

(1)关系型数据库: 关系型数据库,是指采用了关系模型来组织数据的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。 关系模型中常用...
  • zhangyingchengqi
  • zhangyingchengqi
  • 2015年08月24日 22:31
  • 2268

关系型数据库MySql与非关系型数据库NoSql

云计算背后的秘密:NoSQL诞生的原因和优缺点 我本来一直觉得NoSQL其实很容易理解的,我本身也已经对NoSQL有了非常深入的研究,但是在最近准备YunTable的Chart的时候,发现NoS...
  • index_ling
  • index_ling
  • 2016年12月06日 13:25
  • 3124

关系型数据库与非关系型数据库 优缺点

关系型数据库与非关系型数据库 关系模型指的是采用二维表格来存储数据的模型,而关系型数据库由二维表及其之间的联系组成的一个数据组织。常见的由mysql sqlserver 关系型数据库的优点: ...
  • masaichi_
  • masaichi_
  • 2017年02月27日 20:29
  • 1127

关系型数据库和非关系型数据库

虽然学了大半个学期的数据库…但是还是很懵逼的… 面试官问我为什么博客是用mongodb而不是其他的…我知道要说mongodb的优点…然而我却说不上来,,扯了两种数据库,然后还说是随便选的QUQ。这个问...
  • natsuyu
  • natsuyu
  • 2016年05月25日 20:52
  • 1334

sqoop操作 关系和非关系型数据库之间数据迁移

最近在学sqoop 于是自己看了网上的一个小案例 ,自己也动手尝试了一下,感觉案例不错,就转载了。 Extraction-Transformation-Loading的缩写,中文名称为数据提...
  • u010011737
  • u010011737
  • 2015年12月09日 09:26
  • 552

关系型数据库和非关系型数据库区别、oracle与mysql的区别

一、关系型数据库     关系型数据库,是指采用了关系模型来组织数据的数据库。     关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分...
  • oChangWen
  • oChangWen
  • 2016年12月01日 16:54
  • 6457

常见非关系型数据库(NoSQL)推荐介绍

随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域, 非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2...
  • qq_22101509
  • qq_22101509
  • 2015年11月12日 09:35
  • 14438

关系型和非关系型数据库的区别?

当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。 非关系型数据库有 NoSql、Cloudant。 no...
  • longxingzhiwen
  • longxingzhiwen
  • 2016年12月27日 16:37
  • 12682

独家|一文读懂非关系型数据库

THU数据派 2017-04-16 02:29 本文共11000字,阅读全文约需30分钟。 本文为大家解析非关系型数据库(NoSQL)。 前言 NoSQL(NoSQL = Not Only S...
  • u011277123
  • u011277123
  • 2017年04月25日 18:12
  • 593

从关系型数据库到非关系型数据库

1. 关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库。 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成...
  • robinjwong
  • robinjwong
  • 2014年01月19日 13:47
  • 118800
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MapReduce和关系型数据库的对比以及如何理解规范性数据需要非本地操作
举报原因:
原因补充:

(最多只允许输入30个字)