如何根据数据库工作负载选择正确的扩展方式

日期: 2011-08-29 作者:Mark Brunelli翻译:孙瑞 来源:TechTarget中国 英文

在以往,选择Scale up(纵向扩展)和Scale out(横向扩展)是一件相对简单的事。用户的选择很少,而对于大多数企业而言,他们选择对称多处理(SMP)的经典纵向扩展方法占据了很大一部分比例。   但随着商用服务器硬件的不断革新,更多的组织希望利用Internet带来的优势来应对数据爆炸式增长的问题,Scale out变得越来越流行。于是大规模并行处理以及分布式计算的方法开始受到了更多人的接受。

  为此,TechTarget网站采访了Ideas International分析机构的高级副总裁Tony Iams,让他来谈一谈纵向扩展与横向扩展的优劣。Iams向我们解释了SMP、MMP以及……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

在以往,选择Scale up(纵向扩展)和Scale out(横向扩展)是一件相对简单的事。用户的选择很少,而对于大多数企业而言,他们选择对称多处理(SMP)的经典纵向扩展方法占据了很大一部分比例。

  但随着商用服务器硬件的不断革新,更多的组织希望利用Internet带来的优势来应对数据爆炸式增长的问题,Scale out变得越来越流行。于是大规模并行处理以及分布式计算的方法开始受到了更多人的接受。

  为此,TechTarget网站采访了Ideas International分析机构的高级副总裁Tony Iams,让他来谈一谈纵向扩展与横向扩展的优劣。Iams向我们解释了SMP、MMP以及分布式计算的使用场景,并向我们介绍了如何针对不同的数据库工作负载来选择合适的数据库架构。

  您能否为我们描述一下硬件架构的流行趋势,它们对于Scale up和Scale out有何影响?

  Tony Iams:首先我们来看下对称多处理,也就是SMP,它是纵向扩展的经典方式。也就是说,在单一的计算机中,有许多处理单元,而我之所以说“处理单元”是因为这个概念比较模糊。几年以前它代表着处理器,而现在的处理器都是多核的,每个核都有多个线程。总而言之,无论是处理器还是核心,它们都在包含在一个机器系统之内。这就是传统的Scale up。

  然后我们再来看Scale out,其中最极端的方式就是我们所说的分布式计算。它的原理就是利用许多个服务器,通过协作的方式来解决同一个问题。之后我们还有大规模并行处理(MPP),它应该算是基于SMP和分布式计算之间,同样是多个服务器来处理同一个问题。而MPP的区别在于,我们通常假定会有共享的资源。至少,你可能会共享管理,也就是说实际上你有多个物理服务器,而你在管理的时候是把它们当做一个服务器来管理的。利用MPP方式,也会存在某种程度上的内存资源共享。

  在内存共享方面,MPP和SMP的区别在哪里?

  Iams:SMP从它的定义来看,任何的读写操作都能由任何的线程、核心以及处理器来完成。它们平等地、简单地获取内存来完成读或写的操作。MPP还是之前所说的,它在某种程度上都存在这共享的概念,但是这与其部署方式有很大的关系。MPP有很多不同的部署方式:根据占用内存的多少,你会做出许多折中的方案;是否有足够的内存资源来读取或写入。在MPP方式中,用户需要考虑内存如何共享,比如谁能够读取,谁能够写入。由于部署的方式不同,所以MPP内存共享的方式会千变万化。

  目前的流行趋势是什么?从第三方的角度来看,越来越多的厂商开始推广MPP的概念,是这样吗?

  Iams:这和业界逐渐倾向于横向扩展不无关系。我刚才解释的仅仅是站在架构角度出发,而对于用户最重要的是如何让服务器硬件架构来满足你的工作负载需求。根据不同的工作负载,以上的各种方式都有它的用武之处,并不是孰优孰劣的问题。因此在这方面,企业用户需要格外谨慎,合理选择扩展方式。

  在过去几年中,选择正确扩展方式的过程经历了哪些变化?

  Iams:在10-15年前,业界的规则是非常简单明了的。如果你需要应对大型数据库处理,你可以使用SMP的方式进行Scale up。就是这么简单,当时使用分布式计算或者MPP来处理的工作负载是十分有限的。但是时过境迁,随着互联网以及Web计算的发展,越来越多的服务是来自于Facebook或者Google,Scale out在应对这方面的工作负载方面有着很大的优势,因此像MPP和分布式计算也开始流行起来。

  企业IT部门该如何将数据库工作负载同正确的扩展方式结合起来?

  Iams:如果你所谓的数据库是指以交易为基础的话,它的工作负载仅限于典型的业务操作,我认为最好的方式还是SMP。因为在交易中,你会根据定义来写入大量的数据,这需要高效快速的内存访问。SMP在访问内存方面的效率更高。

  再来看看其他方面,目前越来越多的数据库是基于分析的,因此写入数据的操作并不多。这样的话,读取数据成为了最重要的一环,通过读取数据来进行业务分析,寻找业务发展的趋势。目前企业越来越重视分析以及商业智能的价值,它其实也并不是什么新鲜的事物,比如数据仓库的构建。但是目前数据量的增长给企业带来了不小的挑战,互联网、手机终端等的使用生成了大量的数据。数据仓库以及其他一些分析项目都急需进行扩展,在应对这方面的工作负载时,MPP才是最正确的选择。

翻译

孙瑞
孙瑞

相关推荐