Google的高可扩展架构与海量数据处理
Google需要处理数据真正可以称得上海量,这依赖于其分布式的高扩展架构,否则,再强的小型机大型机也扛不住互联网每天产生的“信息垃圾”。Google的Jeff Dean同学为我们解密了Google的高可扩展性架构,ppt可以从这里下载。
一、底层架构
负载并行分配到多个硬件机器上
软件必须采用容错处理,不依赖具体的某一个台机器运行
大量采用刀片服务器和PC Server,低端存储和网络设备
机器追求性价比而不是盲目的高性能
基于Linux
二、分布式系统
调度系统:Scheduling System
调度系统是一个底层支撑系统,负责调度监控Cluster资源
文件存储:GFS
Master节点负责管理文件系统元数据
Chunkserver存放具体数据,以64MB为单元分布
客户端通过master查找文件
客户端直接从chunkserver获得需要的数据
目前运行超过200套GFS群集
超过5000台机器
超过5PB数据
为10000台以上客户端提供服务
数据存储:BigTable
采用多维稀疏映射图模型,每一个数据单元Cell可以存储不同时间截的数据
将表按行分隔成Tablet,分布到不同服务器上存储
底层存储架构采用GFS
Master节点处理元数据和负载均衡
Tablet服务器存储数据
锁服务器(Lock Service)控制数据访问的一致性
超过500个数据单元
最大的单元存储超过6000TB的数据,使用了超过3000台机器
最忙的单元支撑了500000次以上的操作
数据处理:MapReduce
MapRedule是Google的批量数据处理工具,分为两大功能
- 映射(Map):根据输入生成(key,value)键值对
- 简化(Reduce):合并存储(key,value)键值对
MapReduce用于Google的大多数产品中,包括Google Earth,News,Analytics,Search Quality,Indexing等等
目前,调度系统/GFS/BigTable/MapReduce可以在同一个群集内协同工作
三、未来的发展方向
跨越数据中心的分布式系统
更高的自动化程度
开源,是一种精神
毫无疑问,开源运动最初更多的是一种精神运动,虽然最终不可避免的被商业化。Sun显然没有真正的理解开源,甚至没能合格的利用开源。虽然Sun一直在抱怨说向开源社区贡献了最多的源代码却没有得到应用的尊重,虽然已经将压箱底的Java和Solaris都整成了OpenJava和OpenSolaris,但看起来这更多的是被逼无奈,而不是真心的拥抱开源。
现在Sun说要对MySQL选择性开源,一些企业级新特性的源代码将不再开放,患得患失的小家子气一下表露无遗。保留的这些代码未必能吸引更多的客户,却让原本对于Sun收购MySQL持观望态度的开源人士找到了攻击和离开的借口,如此费力不讨好的事情,Sun居然能堂而皇之的在The 2008 MySQL Conference & Expo期间干出来,真是脑子进水了。
开源是一种精神,半推半就是不能赢得人心的。
Alexa排名算法大幅度修改
家里的台式机上装了个alexa工具条,今天偶然发现blog的排名出现了大幅度的上升,于是进去看了下,发现alexa的排名算法做了比较大的修改。原来alexa的排名的主要数据来源是alexa工具条,这个东西,除了一些个人站长或者专门帮别人刷排名的,估计安装的不多,所以得到的数据的准确度是值得怀疑的。想想以前国内多少网站靠着这个排名作为拉到风险投资的救命稻草,原来不过是建在沙滩上的城堡而已。每一次alexa排名算法的变化,都是有人欢喜有人叫,呵呵。
现在还拿alexa说事的应该不多了,web2.0们都喜欢说自己有多少注册用户有多少用户生成的内容了,没了关注度的alexa做出了最大的一个改变,不再过于依赖工具条的数据了。从一开始知道alexa,就对他们依赖工具条的数据来做排名就觉得很疑惑,他们居然说In recent months才收到用户的抱怨,借口而已吧,真正的原因,是一直无法获得足够的数据呢?还是一直写不出算法?
When Alexa began displaying rankings in 1998 it was with the goal of showing Alexa Toolbar users how popular any given site was within the Alexa community. We generated the rankings through an analysis of Internet usage by people who use the Alexa Toolbar. Since that time we’ve been delighted to see that the Alexa Rankings have become a yardstick by which website popularity is measured. We are grateful to the thousands of people who come to Alexa.com each day to check the Alexa Rankings.
In recent months we’ve heard from our Alexa users that understanding Internet usage beyond Alexa Toolbar users was increasingly of interest. Ask and you shall receive!
We listened to your suggestions, and we believe that our new rankings system is much closer to what you asked for. We now aggregate data from multiple sources to give you a better indication of website popularity among the entire population of Internet users.
WindowsXP上chm文件无法打开一例
从网上下了本电子书《Perl for Oracle DBAs》,chm格式的。但是无法打开,所有的页面都显示:
此程序无法显示网页
最可能的原因是:
未连接到 Internet。
该网站遇到了问题。
在地址中可能存在键入错误。
…
由于并非系统中所有的chm文件都无法打开,那么问题应该在这个文件本身了。Google了一下,找到了解决方法,在该chm文件上点右键,选择属性,会发现有一个解除锁定的按钮,并且有说明文字:
此文件来自其他计算机,可能被阻止以保护该计算机
点击解除锁定,重新打开文件,问题解除。Windows这么做是出于安全考虑,因为chm是可执行文件,由html打包而成,里面有可能包含恶意代码。
除此之外,chm文件还有一种比较常见的打不开的情况,显示“不能打开文件mk:@MSITStore:\****.chm”,这可能是由于一个ocx控件注册有问题,重新注册一下该控件可能有帮助:
