大数据和分布式系统如何解决扩展性问题

日期: 2013-03-10 作者:Jason Tee翻译:张宣彬 来源:TechTarget中国 英文

难得看到一个企业,单纯依赖完全集中式计算。但是仍然有很多组织,严密控制他们的内部数据中心并且避开所有其它的分布,是绝对必要的。有些时候,这是由于现有的基础设施投资原因。而在其他时候,它是由于安全问题,起因于企业的风险规避文化。

然而,由于一些不可避免的因素,集中化变得越来越不可行:   -客户端设备的数量和种类逐年增加,形成越来越复杂的大量终端服务   -随着社交、移动和嵌入式技术的使用,数据收集器的数量和种类不断地以指数形式扩大   -在市场竞争中,这个数据挖掘的需要,对于业务洞察力来说变得很迫切   -不断的开发和部署的需求给系统创建了要求,该系统为也更好的敏捷性的灵活性高度组件化 (SOA……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

难得看到一个企业,单纯依赖完全集中式计算。但是仍然有很多组织,严密控制他们的内部数据中心并且避开所有其它的分布,是绝对必要的。有些时候,这是由于现有的基础设施投资原因。而在其他时候,它是由于安全问题,起因于企业的风险规避文化。然而,由于一些不可避免的因素,集中化变得越来越不可行:

  -客户端设备的数量和种类逐年增加,形成越来越复杂的大量终端服务

  -随着社交、移动和嵌入式技术的使用,数据收集器的数量和种类不断地以指数形式扩大

  -在市场竞争中,这个数据挖掘的需要,对于业务洞察力来说变得很迫切

  -不断的开发和部署的需求给系统创建了要求,该系统为也更好的敏捷性的灵活性高度组件化 (SOA)

  -内部扩展的成本来提供计算资源以跟上需求,从而不管从管理还是基础设施的角度来看,维持一个可以接受的性能水平变得太难

  -在实时决策的时代,有一个潜在的单点故障是不可接受的,不能访问业务数据简直就是一个灾难,并且最终用户不会容忍“停机”

  那么可不可以引进一个更多的分布式架构来解决上述问题呢?使用不同方面的分布式计算模式来解决不同类型的性能问题。这里正好有几个例子:

  同伴压力是一件好事

  点对点的分布式计算模型可以确保不间断正常运行时间,甚至在即使出现部分系统故障的时候,也能够访问应用程序和数据。一些供应商服务水平协议(SLA)提供的高可用性,保证99%或者更高的正常运行时间,这一壮举没有几个企业可以通过使用集中式计算来达到。自动故障转移机制意味着终端用户通常不知道发生了问题,因为与服务器的通讯是不受影响的。关于延迟问题,SLA也可以结合商业目标,为响应时间和其他因素定制特定的性能指标。

  没有限制

  云计算“几乎”无限的可扩展性,提供了能够增加或减少基础设施资源的使用需求的能力。即时,自动配置和解除配置服务器和其他资源,使企业更好地执行,确保终端用户访问应用程序保持同步、资源密集的需求——甚至当出现出乎意料的流量峰值。

  数据是一个大问题

  分布式系统的使用也对“大数据”有影响。NoSQL选项的出现为企业提供了一个机会,让他们数据流分别接受和充分利用通过SQL的关系数据数据库和具有数据库选项的非关系型数据,例如MarkLogic和MongoDB。Nice Systems公司的架构总监Arnon Rotem-Gal-Oz指出,就功能性,安全性和可管理性而论,SQL仍然有它的优势。另一方面,他承认,“如果你有扩展问题,使用传统的技术解决起来很难或者很昂贵时,那么NoSQL将是你前所未有的,填充这些需求的方式。”

  实现在密集客户端上的应用程序本地化运行,可以减轻一些服务器的工作量,并且能够提供更快和更友好的用户体验(假设没有经常在客户端和服务器之间频繁的更新数据的需要)。使用分层结构,在web、应用程序和数据服务器之间划分责任,能够允许组织将这些流程或层外包给最有效的第三方供应商。这种多层类型的分布式计算也可以用来减少内部服务器的负担,甚至当为瘦客户端如移动设备,部署应用程序时。

  廉价商品定价

  大规模分布式虚拟化技术已经到了临界点,第三方数据中心和云提供商可以挤压每一滴的CPU处理能力,比以往任何时候都进一步压低成本。如果是恰如其分好实现它,甚至企业级的私有云都有可能降低整体成本。供应商的数量在云领域仍在增长,从而导致更多的有竞争力的定价安排。

  技术选择的多功能性

  一个分布式架构能够为许多不同的系统充当一把伞。Hadoop是一个框架的例子,可以把广泛的工具集合起来使用,比如(根据Apache.org):

  -Hadoop分布式文件系统(HDFS),它提供了访问应用程序数据的高吞吐量

  -Hadoop YARN作为作业调度和集群资源管理

  -Hadoop MapReduce对于并行处理大数据

  -Pig 作为并行计算的高级数据流语言

  -ZooKeeper为大型分布式应用程序提供高性能协调服务

  企业对该框架可能特别感兴趣,因为一些非常好的想法正在耶鲁大学与Hadapt公司协调的商业化项目中。Daniel Abadi博士认为,“Hadoop将使它达到下一个级别。我们看到在2012年有很多采用它。现在它将试图找出‘完美’的Hadoop用例。所以,建设一些纵向的特定应用程序将是2013相当大的一个趋势。”那些增加分布式计算和业务性能的用例将成为此条道路的开拓者。

相关推荐