一般的企业应用在高速增长后,性能都会遇到瓶颈,其中最主要的包括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的价格比较:

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

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

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

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

存储系统的扩展:scale out VS scale up相关推荐

  1. 系统扩展方式 scale up和scale out

    什么是scale up和scale out? 许多存储系统开始很简单,但当需要进行系统扩展时就会变得复杂.升级存储系统最常见的原因是需要更多的容量,以支持更多的用户,文件,应用程序或连接的服务器. 但 ...

  2. 系统扩展方式 scale up和scale out(转载)

    什么是scale up和scale out? 许多存储系统开始很简单,但当需要进行系统扩展时就会变得复杂.升级存储系统最常见的原因是需要更多的容量,以支持更多的用户,文件,应用程序或连接的服务器. 但 ...

  3. Scale OUT还是Scale UP?

    做web2.0网站,一个普遍的感觉就是计划不如变化.在吸引风险投资的时候,我们可以做出种种规划,在某某年吸引多少多少用户,PV/UV达到多少,我 们都期待用户量的快速增长,因为互联网的普遍模式还是先圈 ...

  4. Scale OUT 与 Scale UP?

    做web2.0网站,一个普遍的感觉就是计划不如变化.在吸引风险投资的时候,我们可以做出种种规划,在某某年吸引多少多少用户,PV/UV达到多少,我们都期待用户量的快速增长,因为互联网的普遍模式还是先圈用 ...

  5. 什么是Scale Up和Scale Out?

    导读:Scale Out(也就是Scale horizontally)横向扩展,向外扩展 Scale Up(也就是Scale vertically)纵向扩展,向上扩展 无论是Scale Out,Sca ...

  6. Scale Up和Scale Out

    Scale Out(也就是Scale horizontally)横向扩展,向外扩展 Scale Up(也就是Scale vertically)纵向扩展,向上扩展 无论是Scale Out,Scale ...

  7. 云存储的未来:Scale Up还是Scale Out?

    云存储的几十年发展历程,其计算架构模型,也从Scale Up走向Scale Out.但是展望未来数字世界的海量需求,目前流行的模型还能够持续满足吗?本文通过对云存储历史的回顾,及对Scale Up和S ...

  8. 数据库学习笔记 --- 术语 Scale up 与 Scale out 区别

    Scale Out(也就是Scale horizontally)横向扩展,向外扩展 Scale Up(也就是Scale vertically)纵向扩展,向上扩展 无论是Scale Out,Scale ...

  9. Scale Out 和 Scale Up

    Scale Out(也就是Scale horizontally)横向扩展,向外扩展 Scale Up(也就是Scale vertically)纵向扩展,向上扩展 无论是Scale Out,Scale ...

最新文章

  1. MySQL-查询数据(SELECT)
  2. 大话云计算——认识云——“瑞友杯”虚拟化征文
  3. store前台数据过滤
  4. 解决: pip install 由于目标计算机积极拒绝,无法连接
  5. ASP.NET MVC应用迁移到ASP.NET Core及其异同简介
  6. python点击按钮创建进程_python-创建进程的三种方式
  7. 介绍一个又快又准的截图骚操作
  8. LFM算法详解和实战
  9. IT桌面运维常识系列 -(Windows部署服务 - 01)
  10. 斯托尔兹(Stolz)定理
  11. 计算机相关的俚语,现代俄语计算机俚语的构成方式.pdf
  12. ECMAscript6 初涉摘抄笔记
  13. Keil下无法跳转查看函数定义
  14. python公众号接口_用Python实现微信公众号API素材库图文消息抓取
  15. 三国杀服务器维修,三国杀云服务器
  16. html网页如何编辑,简单html网页的快速编辑方法
  17. 机器学习实战--局部加权线性回归(LWR)
  18. mysql 常用日期时间计算
  19. Job-shop和Flow-shop区别
  20. hdu 5514 容斥

热门文章

  1. GYctf-BFnote IO_FILE还可以这样利用
  2. java pdm 解析_java解析静态AIS原始数据
  3. Pycharm导入conda虚拟环境时报错error code:1
  4. 十二、Python简单数据结构应用(之…
  5. 一文了解各大数据库查询语言(Gremlin vs Cypher vs nGQL操作篇
  6. 01背包与完全背包的区分
  7. linux 安装apache apu,Apache编译安装
  8. Java面向对象---原谅帽游戏
  9. css实现html透明效果
  10. ORACLE自学教程