hadoop和关系型数据库系统比较
Hadoop提供了一个稳定的共享存储和分析系统,存储由HDFS实现,分析由MapReduce实现。针对每个查询,每个数据库集(至少是很大一部分)都会被处理。
为什么不通过使用数据库加上更多磁盘来做大规模批量分析?为什么我们还需要MapReduce?
1、磁盘驱动器寻址时间的速度远远慢于传输速率的提高速度,寻址就是将磁头移动到特定位置进行读写操作的工序,它的特点是磁盘操作有延迟,而传输速率对应磁盘的带宽。如果数据的访问受限于磁盘的
寻址,势必会导致它花更长的时间来读或写大部分数据。
2、在更新一小部分数据的情况下,传统的B树效果很好,但在更新大部分数据时,B树的效率就没有MapReduce的高,因为它需要使用排序/合并来重建数据库。
在很多情况下,MapReduce能够被视为一种RDBMS的补充,MapReduce很适合处理那些需要分析整个数据集的问题,以批处理的方式,尤其是Ad Hoc(自主或即时)分析。RDBMS适用于点查询和更新
(其中,数据集已经被索引以提供低延迟的检索和短时间的少量数据更新)。MapReduce适合数据被一次写入和多次读取的应用,而RDBMS更适合持续更新的数据集。
关系型数据库 vs MapReduce
传统关系型数据库 | MapReduce | |
数据大小 | GB | PB |
访问 | 交互型和批处理 | 批处理 |
更新 | 多次读写 | 一次写多次读 |
结构 | 静态模式 | 动态模式 |
集成度 | 高 | 低 |
伸缩性 | 非线性 | 线性 |
相关推荐
lbyd0 2020-11-17
sushuanglei 2020-11-12
腾讯soso团队 2020-11-06
gaobudong 2020-11-04
yangkang 2020-11-09
85477104 2020-11-17
KANSYOUKYOU 2020-11-16
wushengyong 2020-10-28
lizhengjava 2020-11-13
星月情缘 2020-11-13
huangxiaoyun00 2020-11-13
luyong0 2020-11-08
Apsaravod 2020-11-05
PeterChangyb 2020-11-05
wwwjun 2020-11-02
gyunwh 2020-11-02
EchoYY 2020-10-31
dingyahui 2020-10-30