试读《大数据时代的IT架构设计》
“大数据”的概念是在最早经历信息爆炸的学科--天文学和基因学中提出来的,而今已经渗透到了各行各业和生活中的方方面面。牛津大学教授维克托曾在《大数据时代》一书中指出,通过对海量数据进行分析,能够获得有巨大价值的产品和服务,或深刻的洞见。大数据引起了商业变革,管理变革,以致思维变革。调整信息系统的架构,使之能够适应大数据时代的需要,成为了工程师们的一个重要课题。
试读章节主要有四个篇章,前两部分分别从电信运营商上网日志的处理和金融银行业的需求谈起,首先阐释了已有的方案以及不足。
对于电信上网日志分析系统,面临的主要问题:
1. 日志数据量巨大,只能够短期保存
2. 基于详细通话记录为主的客户行为分析可能缺失了大量的客户行为有效信息,从而得不到有指导意义的分析结果
而随着信息量的增长,金融银行业以往所使用的关系型数据库不能够满足数据存储的需求。在业务数据处理和历史数据备份两个方面遇到了以下问题:
1. 增加机器性能和存储空间,这将加大核心系统的运营维护成本
2. 大量数据离线存储,将导致客户无法快速获取交易信息,银行自身也很难依据此数据指定决策
这两个例子恰好体现了大数据时代对于IT架构的两个基本需求,一是存储,二是计算。两个案例不约而同地采用Hadoop作为解决方案,也恰恰体现了Hadoop的优势所在:能够实现低成本的海量数据存储,支持分布式计算和数据挖掘。对于海量数据存储和计算,谷歌实验室有关于GFS和Map/Reduce的论文分别讨论。而Hadoop项目也正是受了这两篇论文的启发而建立。
试读的的前两个章节侧重于Hadoop的应用,对于Hadoop集群本身并未作太多技术细节的探讨。后两个章节,优酷土豆和淘宝的工程师,则结合自己公司内的实际应用,讨论了相关的技术细节。
第三章节主要讨论集群安全。身份认证、用户权限以及Web界面访问控制都是Hadoop集群所存在的安全问题。
Kerberos(地狱三头看门狗)的引入,一定程度上解决了这些问题。Kerberos主要由两部分构成,Identity Store主要包含身份认证信息,KDC则是密钥分发服务器。为解决单点故障问题,KDC服务本身也被配置成了主从式,并通过脚本实现主从库中认证信息的同步,从而增强了Kerbeors的可靠性。
为保证平台的安全运营,还应强调操作的安全规范和实时监控。
不得不承认淘宝对于分布式技术的贡献,以及其技术团队的执行力。第四章节阐释了TFS的技术细节。下面是GFS与TFS架构的对比
由开源中收益,并回馈开源社区。这是每一个IT公司及工程师所应做的。第四章节介绍了TFS的系统架构、存储机制,扩容和容灾等,这些都与GFS类似,可看作GFS论文的中文通俗版。最后提出了TFS的发展方向,而这也是每一个分布式系统的发展方向--在保证数据可靠性的基础上提高服务效率、降低存储以及运维成本。
本书尚可,可以一读。