`

数据密集型计算:MapReduce与Hadoop的真正竞争力

 
阅读更多

互联网络用户的剧增和宽带网络的普及,使得互联网络服务的本质是以海量数据处理为中心的服务。从搜索引擎、视频共享到电子商务,互联网络服务的成功与否在 很大程度上依赖于所提供数据的规模和质量,数据处理的及时性、有效数据的比例等。 Gordon Bell、Jim Gray和Alex Szalay在2006年1月的Computer杂志上发表的“Petascale computational systems”中指出,计算机科学正在发生变化,以数据密集(Data-intensive)型计算为主要趋势。高性能计算系统必须设计为一个均衡的系 统,不仅仅是单纯的处理器性能达到Peta级,而且也包括I/O和网络。数据的局部性(Data Locality)在PB级的数据处理中显得尤为重要,即应该尽量让计算靠近数据存储而不是远程拷贝数据进行计算。Gordon的因特网经济模型表明,在 因特网上远程移动1字节数据的代价是昂贵的,这只有在平均每字节数据需要耗费10万个CPU指令周期处理时才是划算的。数据局部性对软件的设计提出了挑 战,因为大多数的中间件都未考虑数据移动的昂贵代价和未利用数据的缓存策略。
海量数据处理问题的挑战 海量数据处理能力面对的挑战是: n          面对PB级数据,很难完全在内存中完成处理过程,很大程度上依赖于磁盘I/O,并且需要可扩展的处理能力 n          需要降低数据处理的成本,包括利用普通商用PC服务器组成的集群,最小化每单元计算能力、RAM和I/O的成本 n          需要保障在大规模计算过程中的可靠性
每18到24个月CPU频率和磁盘传输速率,RAM和磁盘容量会加倍,但是磁盘寻址时间由于音圈电机定位的限制其发展速度却近乎常数(每年不到5%)。 可扩展的海量数据计算必须从依赖于磁盘寻址时间(seek-time)的计算转到依赖于磁盘传输时间(transfer-time),即传统的关系数据库 系统技术不再适用。 Map/Reduce最早由Google研发人员提出。这种处理方式实际上是在数据存放的时候不建立索引,等实际处理数据的时候再将这些数据读入内存进行 排序,并可以将数据分隔在不同的机器上同时进行处理。Map/Reduce把对数据记录的所有操作都归结两个步骤:其中Map对现有数据做一个先期处理, 得到一个中间数据集,Reduce再对中间数据集进行去重、过滤等后期处理,最后得到所要的结果。在使用Map/Reduce框架时,待处理的数据先通过 顺序读磁盘进行分别处理,在内存中排序后交由合并程序进行后处理,尽量避免了磁盘的随机存取操作,使得海量数据的处理效率得到快速提高。 Yahoo的Hadoop 开 发人员经过试验,在10MB/s传输速率和10ms的磁盘寻道时间的情况下,更新1TB数据中的100M数据,如果使用基于传统B树的关系数据库系统,则 随机更新需要1000天,批处理更新需要100天,而使用顺序读取的排序/合并的新型数据处理方法(如Map/Reduce)只需要1天,即效率提高 100倍! 如果需要处理100T的数据集,在1个节点上,以50MB/s的速度扫描需要23天,而平均故障间隔时间(MTBF)为3年。如果在1000个节点的集群 上,33分钟可以完成扫描,但MTBF为1天。这就需要新的框架来实现可靠性的保障,同时这种可靠性也是可扩展和容易管理的。

 

转自http://www.huomo.cn

分享到:
评论

相关推荐

    基于Hadoop的云计算平台研究与实现.pdf

    Hadoop技术尤其在IaaS层面上有广泛的应用,它允许用户构建自己的私有云或者利用现有的公有云资源,以满足数据密集型应用的需求。 云计算平台的实现需要解决一系列的问题,包括硬件资源的管理、网络数据传输、任务...

    云存储及云计算使用(运维).docx

    1. 目前线上Hadoop使用情况:Hadoop在各种数据密集型场景下广泛应用,如日志分析、推荐系统、实时流处理等。 2. 针对目前线上环境的分析:企业需要定期评估Hadoop集群的性能、资源利用率和故障恢复能力,以优化运行...

    云数据采集中心与大数据计算平台建设实施方案.doc

    云数据采集中心与大数据计算平台建设实施方案是现代信息技术领域中的一个重要课题,尤其在当前数据爆炸性增长的时代背景下,高效的数据管理和分析能力成为了企业竞争力的关键因素。本方案旨在构建一个集数据采集、...

    大数据处理技术参考架构 (2).docx

    与之相比,大数据处理架构更注重数据密集型任务,两者在应用场景和设计上有所不同,但可以互相补充,共同构建全面的IT解决方案。 8. 总结与思考 大数据处理技术的发展不断推动着企业的数字化转型。选择合适的技术栈...

    基于云的视频分发服务中的数据密集型应用程序的优化调度

    为了应对传统的云文件系统(例如MapReduce/Hadoop)在数据访问方面存在的成本劣势,研究者设计了Cache A Replica On Modification (CAROM) 云文件系统,其目的是实现高数据可用性和低成本存储,为云文件系统提供高...

    IBM 大数据训练营资料

    - **认证支持**:提供免费的大数据认证考试机会,助力学员提升职业竞争力。 #### 四、总结 IBM大数据基础训练营是一个全面且深入的大数据技术培训项目,通过四天密集的课程安排,让参与者从理论到实践全方位掌握IBM...

    Hello World半成品.pptx

    ### Hello World半成品.pptx 知识点总结 #### 一、华为云数据中心与挖掘设计总体...该方案不仅涵盖了从数据采集到处理、存储和分析的全过程,还特别强调了5G技术的应用,为未来数据密集型应用的发展奠定了坚实的基础。

    关于多线程的专用书籍.rar

    这包括如何在Java、C++、Python等常见编程语言中实现多线程,以及如何利用多线程优化I/O密集型和计算密集型任务。此外,书中可能还会讨论线程池的设计与实现,这是管理大量并发线程的有效方式,能够减少线程创建和...

    about-huge-data.zip_软件设计/软件工程_Visual_C++_

    Visual C++在这一过程中可以发挥重要作用,尤其是在开发高性能的计算密集型应用时。C++的底层访问能力和高效性能使其成为处理大数据的理想选择,尤其是在需要对数据进行复杂计算或者实现低延迟的场景。 例如,...

    DataScience工具

    11. **Google Colab**: 类似于Jupyter Notebook,Google Colab提供了免费的GPU和TPU资源,使得数据科学家可以在云端进行计算密集型任务,如深度学习。 12. **TensorBoard**: TensorBoard是TensorFlow的可视化工具,...

Global site tag (gtag.js) - Google Analytics