`

Hadoop 和DBMS 的互补性

 
阅读更多

随着Microsoft 也加入Hadoop 阵营,Hadoop 已经完全变成了DBMS 的好朋友了 , 2年之前的SIGMOD组织提出的“A Comparison of Approaches to Large-Scale Data Analysis”引发了关于并行数据库和MapReduce模型的讨论, 双方唇枪舌剑之后发现两个系统根本就是各有所长, DBMS 目前有些处理好的领域和商业支持,Hadoop 也有自己的优势和使用案例.

    就如前一篇TDWI 所说的3个V 问题,新一代Hadoop MapReduce 主要解决的是数据容量和多种类型的数据(结构化,半结构化,非结构化). 而传统的MPP DBMS 解决的主要还是速度,低延迟,实时性的问题.

 

DBMS Hadoop
低延迟,一般响应时间为秒 高延迟,一般响应时间最少为分钟
较高的吞吐(同一时间执行sql数) 可以提交很多任务,但不一定快速执行.
处理的数据量有限制(目前为P) 可以处理大量的数据(从10p到1E)
硬件有特殊需要,不能随时添加 硬件可随时添加,增加计算能力
假设机器是随时可用的,不对失败做处理 默认机器故障时正常的,可以容忍机器失效并用其它迅速机器替代
数据库模式过渡优化 对数据格式没有限制
数据满足完整性(外键) 用户程序需要自己验证完整性
必须提前知道使用模式并进行优化
或者根据使用一段时间之后的情况进行特定优化
面对未知的使用模式,常规使用模式可以做一定程度的优化.
需要添加额外的优化计算(索引,分区等) 大部分情况不用额外优化
CPU,内存,磁盘,网络利用率较为高效 资源利用率不算高效,人为优化需要较多技巧,目前没有DBMS 优化技术成熟


 
储存能力有限, 磁盘不能随意扩展 储存能力极高,随时可以按需扩展
磁盘比较昂贵,经常访问的数据可使用高端SSD 廉价磁盘,随意保存多份数据防止丢失
线型扩展能力一般, 一般到几百台机器有瓶颈 极高的线型扩展能力,目前yahoo 的为4000台,下一代Hadoop 目标6000 – 10000台
不具备开放性,必须数据库厂商提供功能 高端开放性,大多数组织参与合作
分析能力需要默认提供 可以自己编写UDF 函数,随时扩展功能.
不太适合用来保存过多的历史数据 可以保存任意多的历史数据,随时可以访问.
不能处理半结构化或非结构化的数据 可以处理XML,图片,音频视频等任意格式数据
有厂商在数据库内提供MapReduce功能
(Aster Data 和Greenplum)
有厂商希望在Hadoop 内添加MPP DBMS 的特性降低延迟提高吞吐能力(Hadapt , MapR)
可以随时装载最新数据并查询和分析 一般都是批量处理 , 需要特定的技术才能进行实时或叫准实时的计算
实施费用较为昂贵 免费开源
人员培训较为简单,拥有成熟的人才市场 需要IT 人员拥有较高的技能,而且培训较少.

  

目前DBMS 还是在其关系型领域拥有绝对的竞争力, 适合多种不同的功能需要.

Hadoop 目前还是主要以廉价的解决方案,活跃的社区,储存能力和非结构化数据的处理见长.

目前有名的数据仓库提供商都开始在自己的产品线里面提供直接的Hadoop 集成,帮助用户选择合适的技术做合适的事情.

一些比较成功的数据仓库使用者都会同时使用DBMS 和Hadoop , 比如Ebay, Walmart, Yahoo, LinkedIn等

一些特殊的行业也会完全使用Hadoop 做其数据仓库的完整解决方案. 比如Facebook , Twitter .

 

Microsoft 加入Hadoop 估计也就是提供一下Windows 的便捷开发的然后骗骗用户“我们有大规模计算的能力了”,估计真要在Windows 服务器上跑Hadoop 效果可想而知.

 

 

参考资料

争论之后的A Comparison of Approaches to Large-Scale Data Analysis

http://database.cs.brown.edu/projects/mapreduce-vs-dbms/

 

转自:http://www.gemini5201314.net/bi/hadoop-%e5%92%8cdbms-%e7%9a%84%e4%ba%92%e8%a1%a5%e6%80%a7.html#more-1305

分享到:
评论

相关推荐

    hadoop和jdk的压缩包

    Hadoop的设计理念是容错性、高扩展性和高效性,使得它能够处理PB级别的数据。HDFS保证了数据的冗余和高可用性,而MapReduce则提供了并行处理数据的能力,让大数据分析变得可行。 在Hadoop生态系统中,Zookeeper是一...

    hadoop的hadoop.dll和winutils.exe下载

    在Hadoop生态系统中,`hadoop.dll`和`winutils.exe`是两个关键组件,尤其对于Windows用户来说,它们在本地开发和运行Hadoop相关应用时必不可少。`hadoop.dll`是一个动态链接库文件,主要用于在Windows环境中提供...

    hadoop2.7.3的hadoop.dll和winutils.exe

    Hadoop 2.7.3是Hadoop发展中的一个重要版本,它包含了众多的优化和改进,旨在提高性能、稳定性和易用性。在这个版本中,`hadoop.dll`和`winutils.exe`是两个关键组件,它们对于在Windows环境下运行Hadoop至关重要。 ...

    hadoop调试工具hadoop.dll和hadoop.exp和winutils.exe

    在开发和调试过程中,这个文件对于理解Hadoop接口和检查函数调用的正确性非常有用。 然后,winutils.exe是Hadoop在Windows上的实用工具集,它提供了类似于Linux环境下hadoop命令的功能。例如,它能够管理HDFS的文件...

    hadoop2.7.3 Winutils.exe hadoop.dll

    Hadoop 2.7.3是这个框架的一个稳定版本,它包含了多个改进和优化,以提高性能和稳定性。在这个版本中,Winutils.exe和hadoop.dll是两个关键组件,它们对于在Windows环境下运行Hadoop至关重要。 Winutils.exe是...

    hadoop.dll 和 winutils.exe

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理...Hadoop 3.0.0版本带来了许多改进和新特性,进一步提升了Hadoop在大数据领域的效率和适应性。理解这些组件和版本更新对于理解和使用Hadoop至关重要。

    hadoop的dll文件 hadoop.zip

    它将大文件分割成块,并将这些块复制到多个节点上,以确保容错性和高可用性。MapReduce则是一种编程模型,用于大规模数据集的并行处理,它将任务分解为"映射"和"化简"两个阶段,便于在集群中并行执行。 在Windows...

    Hadoop下载 hadoop-2.9.2.tar.gz

    Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo 的工程师 Doug Cutting 和 Mike Cafarella Hadoop 是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由 Yahoo...

    hadoop.dll & winutils.exe For hadoop-3.0.0

    标题中的“hadoop.dll & winutils.exe For hadoop-3.0.0”是指在Hadoop 3.0.0版本中使用的两个关键组件:hadoop.dll和winutils.exe。这两个文件对于在Windows环境中配置和运行Hadoop生态系统至关重要。 Hadoop是一...

    hadoop权威指南4和源码

    8. **版本更新**:《Hadoop权威指南4》相较于早期版本,可能包含了Hadoop的新特性和改进,例如YARN的引入、HDFS的优化、安全性的增强等。这些更新对于跟踪Hadoop的最新进展至关重要。 9. **最佳实践**:书中通常会...

    Hadoop Windows系统安装包 和 winutils的文件

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分析。它最初设计的目标是处理和存储海量数据,尤其适合那些不适合在单台机器上运行的大型数据集。本篇将详细介绍如何在Windows系统中安装Hadoop...

    hadoop winutils hadoop.dll

    "winutils"和"hadoop.dll"是Hadoop在Windows上运行的关键组件。 **winutils.exe** 是一个用于Windows环境的实用工具,它提供了类似于Linux环境下的某些功能,比如设置HDFS(Hadoop Distributed File System)的权限...

    Hadoop课程实验和报告——Hadoop安装实验报告

    Hadoop课程实验和报告——Hadoop安装实验报告 Hadoop是一个开源的大数据处理框架,由Apache基金会开发和维护。它提供了一种可靠、可扩展、可高效的方法来存储和处理大规模数据。在本实验报告中,我们将介绍Hadoop的...

    适合hadoop2.9.* 以及 hadoop2.7.* 的winutils.exe_hadoop.dll 配置文件

    在Hadoop生态系统中,`winutils.exe` 和 `hadoop.dll` 是两个关键的组件,主要用于Windows环境下运行Hadoop。由于Hadoop最初是为Linux设计的,因此在Windows上使用时需要这些特定的二进制文件来模拟某些Unix/Linux...

    hadoop2.6.0版本hadoop.dll和winutils.exe

    在标题中提到的“hadoop2.6.0版本hadoop.dll和winutils.exe”是针对Windows环境下运行Hadoop的一些关键组件。 1. **Hadoop 2.6.0**: 这是Hadoop的一个主要版本,发布于2014年,带来了许多增强和改进。在Hadoop 2.x...

    hadoop.dll & winutils.exe For hadoop-2.7.1

    在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储和计算的...在Hadoop-2.7.1这个版本中,这些工具的稳定性和功能性得到了很好的保障,使得Windows用户也能享受到Hadoop带来的强大数据处理能力。

    hadoop2.6,hadoop.dll、winutils.exe下载

    Hadoop 2.6是Hadoop发展过程中的一个重要版本,它带来了许多性能优化和功能改进,旨在提高集群效率和稳定性。本资源提供了适用于64位操作系统的Hadoop相关组件,包括hadoop.dll和winutils.exe,这对于在Windows环境...

    hadoop.dll & winutils.exe For hadoop-2.6.0

    如果可能的话,推荐使用Linux环境来运行和管理Hadoop集群,以获得更好的稳定性和性能。 在使用这两个文件时,确保将它们放在Hadoop的安装路径下,并正确配置`HADOOP_HOME`和`PATH`环境变量,以便系统能够找到并正确...

    Hadoop多版本 hadoop.dll和winutils.exe 下载

    支持如下版本的Hadoop hadoop-2.6.0 hadoop-2.6.3 hadoop-2.6.4 hadoop-2.7.1 hadoop-2.8.1 hadoop-2.8.3 hadoop-3.0.0

    hadoop2.6 hadoop.dll+winutils.exe

    明确指出这些元素属于Hadoop 2.6版本,这是Hadoop的一个重要里程碑版本,引入了许多改进和新特性,例如YARN(Yet Another Resource Negotiator)资源管理系统,增强了Hadoop集群的可扩展性和性能。 在压缩包文件...

Global site tag (gtag.js) - Google Analytics