存储系统的扩展:scale out VS scale up

    一般的企业应用在高速增长后,性能都会遇到瓶颈,其中最主要的包括CPU计算能力不够、内存不够、存储系统空间不够以及网络性能不够等。这时候就需要“升级”自己的服务器来满足客户端的需求。这里就涉及到scale up和scale out的问题了。

   

    什么是sacle out?就是纵向扩展,简单讲就是向更强大的cpu、内存、通道及其他设备扩展,提升设备自身的水平;什么是scale out?就是横向扩展,通过一定的分布式算法将一个个独立的低成本的存储节点组成一个大而强的系统。其实存储的扩展的概念与服务器扩展的概念基本相似,本来就是计算机的系统么。这个思路其实可以参照cpu的发展,从最初的低主频单核到高主频单核,后来发现再提高主频cpu的能耗就蹭蹭地往上涨扛不住,于是就开发双核,到现在的三核、五核、七核……这个发展的过程其实就是从scale up到scale out的过程。当然,形象的理解可以有下面的养鱼理论:

    

    当你只有6-7条鱼的时候,一个小型鱼缸就够了;但是过了一段时间新生了三十多条小鱼,小鱼缸显然就不够大了。

    如果用sacle up的方案,那么你就需要去买一个大鱼缸,把所有的沙啊,水草啊,布景啊之类的都从小鱼缸里取出来,重新布置到大鱼缸里面。这个工程其实是挺大的,不是几分钟就能搞定的,这就跟迁移数据的工程一样,很繁琐而且很危险,搞不好数据就丢了,你就game over了。

    那么现在换一个思路,用scale out方案,就相当于你在这个小鱼缸旁边接了一个同样的小鱼缸,两个鱼缸联通,鱼可以自由地分散到两个缸中的任意一个,你也就省掉了上面提到的那一系列迁移的操作了。不过你还是需要将新的鱼缸布置的跟原来的鱼缸有基本相同的环境的,但是这总比迁移来的轻松很多吧?实际上,这跟存储扩展中的scale out还是有一点差距,存储扩展中可不允许你的数据随意选择哪个“鱼缸”,为了使你的存储和使用更高效可靠,你需要额外设计分布式算法,控制好你的数据的存储的流向。

    


    总体来讲,sacle out要比scale up便宜很多,各大搜索引擎普遍采用普通的pc服务器 + Linux组成的scale out架构,其他主流的web服务器也大多采用这种架构,例如yahoo, friendster,craigslist等。一下是小型机和一组pc sever的价格比较:

cost-diff-scale-out-scale-up

     当然要比较scale out和scale的优劣,我们不能只片面的看成本,也许在某些情况下并不一定便宜。



    曾经当我们需要架构一个不断增长的大型数据中心的时候,scale up存储系统几乎是最好的选择,而且是唯一的选择。但是这也意味着当加入昂贵的存储设备时,业务需要中断并且更加难以管理。当然,scale up存储系统前端处理能力和后端的磁盘数量还可以不断扩展,但总体来讲,都是在一个固定的存储提供的架构上去升级扩展,当扩展到了一定的程度的时候,就很难再继续扩展下去,尤其是前端控制器的数量。也因此导致了当后端磁盘不断增多,而前端控制器无法扩展的情况下产生的性能瓶颈。

    现在有了scale up存储系统,一切变得简单了许多。部署工作大大简化,存储架构达到上亿级别。另外scale up架构每加一个节点进来,性能和容量会同时增长,不会影响原有的使用。用户按需采购存储,一旦容量不够了,再购置一台接到原有的存储上就可以了。

    

    当然我们不能说scale out就一定比scale up好,比如scale up就有架构稳定,技术成熟,性能达到一定保障的优点。一切取决于业务需求。更详细的介绍可以参考国内高手写得高瞻远瞩之大作《存储那点事》。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值