Share on Facebook Share on Twitter Email
Answers.com

Scalability

 

Property of a system that can accommodate changes in transaction volume without major changes to the system. Scalability most often comes into play when a system user anticipates growth in his business. You would not want to make a significant investment in any system, such as a fulfillment system, if it cannot grow as your business grows. On the other hand, you do not want to pay for excess capacity while you wait for growth to happen. A scalable system can be downsized as easily as it can grow. A server for a Web site has scalabaility if it can accommodate extreme peaks and valleys in user traffic.

Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics

In the dotcom industry, the ability for a Web site to grow at a rate comparable to that of the business itself is known as scalability. In order to stay competitive, a site must be able to add and drop merchandise and inventory from their online store in a relatively short period of time. The site must also be able to handle the increasing volume of online traffic that comes hand and hand with a successful Web business.

While specialized software exists for those who want to attempt scalability projects on their own, there are also many firms around that will help a business design their sites to become efficient models of scalability. These firms are experts in the latest technological innovations and specialize in tiered Internet architecture that allows the site to grow without having to rewrite mainframe systems, while at the same time making better use of existing servers. They also help larger sites set up subdirectories within the domain directory to help serve a large number of accounts simultaneously. By performing these functions, scalability experts can help prevent Web site crashes and save the company lost revenue and damaged reputations.

The inability for an e-commerce site to scale properly could cripple their business. As Nicholas G. Carr stated in an article that appeared in The Standard: "On the Internet, if you can't scale—if you can't get really big really fast—you're nowhere. And it's not enough for just your technology to be scalable. Your entire business model has to have scalability, as well; you need to be able to quickly extend your business into new markets, either horizontally or vertically. 'Will it scale?' is one of the first questions venture capitalists ask."

While scalability is a critical issue for dot-coms, the actual advantage that comes with growing up to become a large Web site can still be debated. A larger site can appear to be more of a threat to a possible competitor that is thinking about entering the market, so much so that small sites are being bought up by larger sites in an effort cut down on the competition. This sort of consolidation can get pretty expensive, and presents a whole new set of scalability issues for the company that is doing the consolidating. Many dot-coms have learned the hard way about the problems that come with rapid and immense growth. A lot of the time, it is the consumer that gets hurt the most.

Carr sums it up by stating: "While scalability will continue to be critical for e-businesses, I doubt scale itself will provide much of an advantage. Companies will need to be able to expand their businesses fast, but their bigness won't ensure lasting success. Rather, once they've scaled up in one market, they'll need to immediately look for new markets in which to replicate their growth. Defense was the name of the game in the old economy. In the new one, offense is everything."

Further Reading:

Carr, Nicholas G. "The Myth of Scalability." The Standard. January, 10, 2000.

Van Winkle, William. "Setting Up Shop." Home Office Computing. October 2000.

West, Kelley. "Managing Content on the Web." Network Computing. October 30, 2000.

See also: Web Site Design

A characteristic of a system, model or function that describes its capability to cope and perform under an increased or expanding workload. A system that scales well will be able to maintain or even increase its level of performance or efficiency when tested by larger operational demands.

Investopedia Says:
In the financial markets, scalability is the ability that exchanges, banks and financial institutions have to handle increased demands, such as higher trading volumes. In the corporate sense, a scalable company is one that can maintain or improve profit margins while sales volume increases.

Related Links:
Look at the big picture when choosing a company - what you see may really be a stage in its industry's growth. Great Company Or Growing Industry?
Is bigger always better? Read up on the important and often misunderstood concept of economies of scale. What Are Economies Of Scale?
From unemployment and inflation to government policy, learn what macroeconomics measures and how it affects everyone. Explaining The World Through Macroeconomic Analysis


Word Tutor:

scalability

Top
pronunciation

IN BRIEF: n. - The quality of being easily expanded or upgraded.

LearnThatWord.com is a free vocabulary and spelling program where you only pay for results!

Wikipedia on Answers.com:

Scalability

Top

In electronics (including hardware, communication and software) scalability is the ability of a system, network, or process, to handle growing amount of work in a capable manner or its ability to be enlarged to accommodate that growth.[1] For example, it can refer to the capability of a system to increase total throughput under an increased load when resources (typically hardware) are added. An analogous meaning is implied when the word is used in a commercial context, where scalability of a company implies that the underlying business model offers the potential for economic growth within the company.

Scalability, as a property of systems, is generally difficult to define[2] and in any particular case it is necessary to define the specific requirements for scalability on those dimensions that are deemed important. It is a highly significant issue in electronics systems, databases, routers, and networking. A system whose performance improves after adding hardware, proportionally to the capacity added, is said to be a scalable system. An algorithm, design, networking protocol, program, or other system is said to scale, if it is suitably efficient and practical when applied to large situations (e.g. a large input data set or a large number of participating nodes in the case of a distributed system). If the design fails when the quantity increases, it does not scale.

The concept of scalability is desirable in technology as well as business settings. The base concept is consistent - the ability for a business or technology to accept increased volume without impacting the contribution margin (= revenue - variable costs). For example, a given piece of equipment may have capacity from 1-1000 users, and beyond 1000 users, additional equipment is needed or performance will decline (variable costs will increase and reduce contribution margin).

Contents

Measures

Scalability can be measured in various dimensions, such as:

  • Administrative scalability: The ability for an increasing number of organizations to easily share a single distributed system.
  • Functional scalability: The ability to enhance the system by adding new functionality at minimal effort.
  • Geographic scalability: The ability to maintain performance, usefulness, or usability regardless of expansion from concentration in a local area to a more distributed geographic pattern.
  • Load scalability: The ability for a distributed system to easily expand and contract its resource pool to accommodate heavier or lighter loads. Alternatively, the ease with which a system or component can be modified, added, or removed, to accommodate changing load.

Examples

  • A routing protocol is considered scalable with respect to network size, if the size of the necessary routing table on each node grows as O(log N), where N is the number of nodes in the network.
  • A scalable online transaction processing system or database management system is one that can be upgraded to process more transactions by adding new processors, devices and storage, and which can be upgraded easily and transparently without shutting it down.
  • Some early peer-to-peer (P2P) implementations of Gnutella had scaling issues. Each node query flooded its requests to all peers. The demand on each peer would increase in proportion to the total number of peers, quickly overrunning the peers' limited capacity. Other P2P systems like BitTorrent scale well because the demand on each peer is independent of the total number of peers. There is no centralized bottleneck, so the system may expand indefinitely without the addition of supporting resources (other than the peers themselves).
  • The distributed nature of the Domain Name System allows it to work efficiently even when all hosts on the worldwide Internet are served, so it is said to "scale well".

Scale horizontally vs. vertically

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

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 by supercomputers. Hundreds of small computers may be configured in a cluster to obtain aggregate computing power that often exceeds that of single traditional RISC processor based scientific computers. This model has further been fueled by the availability of high performance interconnects such as Myrinet 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 in seismic analysis. This has fueled the development of new storage technologies such as object storage devices.

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 use virtualization technology more effectively, as it provides more resources for the hosted set of operating system and application modules to share.

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

Tradeoffs

There are tradeoffs between the two models. Larger numbers of computers means increased management complexity, as well as a more complex programming model and issues such as throughput and latency between nodes; also, some applications do not lend themselves to a distributed computing model. In the past, the price difference between the two models has favored "scale out" computing for those applications that fit its paradigm, but recent advances in virtualization technology have blurred that advantage, since deploying a new virtual system over a hypervisor (where possible) is almost always less expensive than actually buying and installing a real one.[dubious ]Configuring an existing idle system has always been less expensive than buying, installing, and configuring a new one, regardless of the model.

Database scalability

A number of different approaches enable databases to grow to very large size while supporting an ever-increasing rate of transactions per second. Not to be discounted, of course, is the rapid pace of hardware advances in both the speed and capacity of mass storage devices, as well as similar advances in CPU and networking speed. Beyond that, a variety of architectures are employed in the implementation of very large-scale databases.

One technique supported by most of the major database management system (DBMS) products is the partitioning of large tables, based on ranges of values in a key field. In this manner, the database can be scaled out across a cluster of separate database servers. Also, with the advent of 64-bit microprocessors, multi-core CPUs, and large SMP multiprocessors, DBMS vendors have been at the forefront of supporting multi-threaded implementations that substantially scale up transaction processing capacity.

Network-attached storage (NAS) and Storage area networks (SANs) coupled with fast local area networks and Fibre Channel technology enable still larger, more loosely coupled configurations of databases and distributed computing power. The widely supported X/Open XA standard employs a global transaction monitor to coordinate distributed transactions among semi-autonomous XA-compliant database resources. Oracle RAC uses a different model to achieve scalability, based on a "shared-everything" architecture that relies upon high-speed connections between servers.

While DBMS vendors debate the relative merits of their favored designs, some companies and researchers question the inherent limitations of relational database management systems. GigaSpaces, for example, contends that an entirely different model of distributed data access and transaction processing, named Space based architecture, is required to achieve the highest performance and scalability.[4] On the other hand, Base One makes the case for extreme scalability without departing from mainstream database technology.[5] In either case, there appears to be no limit in sight to database scalability.

Design for scalability

It is often advised to focus system design on hardware scalability rather than on capacity. It is typically cheaper to add a new node to a system in order to achieve improved performance than to partake in performance tuning to improve the capacity that each node can handle. But this approach can have diminishing returns (as discussed in performance engineering). For example: suppose 70% of a program can be sped up if parallelized and run on multiple CPUs instead of one. If α is the fraction of a calculation that is sequential, and 1 − α is the fraction that can be parallelized, the maximum speedup that can be achieved by using P processors is given according to Amdahl's Law: \frac{1}{\alpha+\frac{1-\alpha}{P}}. Substituting the value for this example, using 4 processors we get \frac{1}{0.3+\frac{1-0.3}{4}} = 2.105. If we double the compute power to 8 processors we get \frac{1}{0.3+\frac{1-0.3}{8}} = 2.581. Doubling the processing power has only improved the speedup by roughly one-fifth. If the whole problem was parallelizable, we would, of course, expect the speed up to double also. Therefore, throwing in more hardware is not necessarily the optimal approach.

Weak versus strong scaling

In the context of high performance computing there are two common notions of scalability. The first is strong scaling, which is defined as how the solution time varies with the number of processors for a fixed total problem size.[6] The second is weak scaling, which is defined as how the solution time varies with the number of processors for a fixed problem size per processor.

See also

References

  1. ^ André B. Bondi, 'Characteristics of scalability and their impact on performance', Proceedings of the 2nd international workshop on Software and performance, Ottawa, Ontario, Canada, 2000, ISBN 1-58113-195-X, pages 195 - 203
  2. ^ See for instance, Mark D. Hill, 'What is scalability?' in ACM SIGARCH Computer Architecture News, December 1990, Volume 18 Issue 4, pages 18-21, (ISSN 0163-5964) and Leticia Duboc, David S. Rosenblum, Tony Wicks, 'Doctoral symposium: presentations: A framework for modelling and analysis of software systems scalability' in Proceeding of the 28th international conference on Software engineering ICSE '06, May 2006. ISBN 1-59593-375-1, pages 949 - 952
  3. ^ Michael, M.; J.E. Moreira, D. Shiloach, R.W. Wisniewski (March 26, 2007). "Scale-up x Scale-out: A Case Study using Nutch/Lucene". Parallel and Distributed Processing Symposium, 2007. IPDPS 2007.. IEEE International. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4228359. Retrieved 2008-01-10. 
  4. ^ GigaSpaces. "Space-Based Architecture and The End of Tier-based Computing", 2006. Retrieved on May 23, 2007.
  5. ^ Base One. "Database Scalability - Dispelling myths about the limits of database-centric architecture", 2007. Retrieved on May 23, 2007.
  6. ^ The Weak Scaling of DL_POLY 3

External links


 
 
Related topics:
macroprocessing (technology)
scalable (technology)
SYSTIMAX (technology)

Related answers:
What is network scalability? Read answer...
What is the meaning of scalability of computing? Read answer...
How do you use scalability in a sentence? Read answer...

Help us answer these:
What is the purpose of scalability?
What is scalability of.net?
Does Linux have good scalability?

Post a question - any question - to the WikiAnswers community:

 

Copyrights:

Barron's Marketing Dictionary. Dictionary of Marketing Terms. Copyright © 2000 by Barron's Educational Series, Inc. All rights reserved.  Read more
$copyright.smallImage.alttext Gale Encyclopedia of Small Business. Encyclopedia of Small Business. Copyright © 2002 by The Gale Group, Inc. All rights reserved.  Read more
Investopedia Financial Dictionary. Copyright ©2010, Investopedia.com - Owned and Operated by Investopedia US, A Division of ValueClick, Inc. All rights reserved.  Read more
Word Tutor. Copyright © 2004-present by eSpindle Learning, a 501(c) nonprofit organization. All rights reserved.
eSpindle provides personalized spelling and vocabulary tutoring online; sign up free Read more
Wikipedia on Answers.com. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article Scalability Read more

Follow us
Facebook Twitter
YouTube

Mentioned in

» More» More