最近对海量数据处理发生了不小的兴趣,特此从一些精彩文章中摘取几幅精彩的图片或片断,拿来给你们分享。所谓奇文共欣赏,好Architecture共品之。至于各位能从图中是窥得半点经验,仍是一图以窥全貌,则不在我之责任,全在于读者怎么去解读这几幅精彩的架构图了。程序员
因此,本文在选取一些架构图以后,只配以最简单的文字,个中内容,读者自行品味之。若是有任何问题或建议,欢迎不吝指正或畅所欲言。谢谢。架构
上图是淘宝的数据魔方。按照数据的流向来划分,淘宝的数据产品的技术架构分为五层(如上图所示),分别是数据源、计算层、存储层、查询层和产品层(图摘自《程序员》8月刊)。分布式
3.一、架构概览模块化
设计原则学习
3.二、Facebook NewsFeed 的架构示意图优化
3.三、Facebook 搜索功能的架构示意图搜索引擎
..................spa
@hawksoft:处理海量数据的基本思路就是分而治之的策略和流水线做业。虽然从单个的计算效率来讲,单台计算机的计算效率应该是最高的,但单台计算机的吞吐量有限。分布式计算的优点就在于虽然牺牲了部分计算能力,但因为人多力量大,并且节点间配置灵活,可互补,比单纯的增长计算机数量的模式要具备很大的优点。分布式计算的关键点就在于切分、调度、冗余和通讯(谢谢风大哥)。.net
这些东西原理容易知道,但实践很难,由于通常人不多有机会。至于更多有关Mapreduce的介绍,还可参考此文:MapReduce技术的初步了解与学习。完。设计