纵向扩展与横向扩展

来源:互联网 发布:轮毂数据查询 编辑:程序博客网 时间:2024/06/05 04:07

摘自wikipedia

Scale horizontally vs. vertically

Methods of adding more resources for a particular application fall into two broad categories:[4]

Scale horizontally (scale out)

To scale horizontally (or scale out) means to add more nodes to a system, such as adding a new computer to a distributed software application. An example might be scaling out from one Web server system to three.

As computer prices drop and performance continues to increase, low cost "commodity" systems can be used for high performance computing applications such as seismic analysis and biotechnology workloads that could in the past only be handled bysupercomputers. Hundreds of small computers may be configured in acluster to obtain aggregate computing power that often exceeds that of single traditionalRISC processor based scientific computers. This model has further been fueled by the availability of high performance interconnects such asMyrinet and InfiniBand technologies. It has also led to demand for features such as remote maintenance and batch processing management previously not available for "commodity" systems.

The scale-out model has created an increased demand for shared data storage with very high I/O performance, especially where processing of large amounts of data is required, such as inseismic analysis. This has fueled the development of new storage technologies such asobject storage devices.

Scale out solutions for database servers generally seek to move toward a shared nothing architecture going down the path blazed by Google of sharding.

Scale vertically (scale up)

To scale vertically (or scale up) means to add resources to a single node in a system, typically involving the addition of CPUs or memory to a single computer. Such vertical scaling of existing systems also enables them to usevirtualization technology more effectively, as it provides more resources for the hosted set ofoperating system and application modules to share.

Taking advantage of such resources can also be called "scaling up", such as expanding the number ofApache daemon processes currently running.


wikipedia原文条目

参考论文


原创粉丝点击