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