所以,本文在选取一些架构图之后,只配以最简单的文字,个中内容,读者自行品味之。如果有任何问题或建议,欢迎不吝指正或畅所欲言。谢谢。
? 1、淘宝海量数据产品技术架构
上图是淘宝的数据魔方。按照数据的流向来划分,淘宝的数据产品的技术架构分为五层(如上图所示),分别是数据源、计算层、存储层、查询层和产品层(图摘自《程序员》8月刊)。
? 2、搜索引擎架构图
? 3、Facebook架构
3.1、架构概览
设计原则
? 尽可能的使用开源软件,并且在需要优化的时候进行优化 ? Unix 哲学。包括,模块化原则;整合化原则;清晰化原则等
? 任何组件具备扩展性;最小化故障影响;简化,简化,简化(本段文字摘自DBA nots)。
3.2、Facebook NewsFeed 的架构示意图
3.3、Facebook 搜索功能的架构示意图
..................
@hawksoft:处理海量数据的基本思路就是分而治之的策略和流水线作业。虽然从单个的计算效率来说,单台计算机的计算效率应该是最高的,但单台计算机的吞吐量有限。分布式计算的优势就在于虽然牺牲了部分计算能力,但由于人多力量大,而且节点间配置灵活,可互补,比单纯的增加计算机数量的模式要具有很大的优势。分布式计算的关键点就在于切分、调度、冗余和通信(谢谢风大哥)。
这些东西原理容易知道,但实践很难,因为一般人很少有机会。至于更多有关Mapreduce的介绍,还可参考:从Hadhoop框架与MapReduce模式中谈海量数据处理 ,与MapReduce技术的初步了解与学习。完。
海量数据处理专题(一)——开篇
搜索引擎, 海量数据热度:1,200 ℃ 我要评论 九 242010
大数据量的问题是很多面试笔试中经常出现的问题,比如baidu google 腾讯 这样的一些涉及到海量数据的公司经常会问到。
下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数遇到的问题。下面的一些问题基本直接来源于公司的面试笔试题目,方法不一定最优,如果你有更好的处理方法,欢迎与我讨论。
本贴从解决这类问题的方法入手,开辟一系列专题来解决海量数据问题。拟包含 以下几个方面。 1.
Bloom Filter