Scalability

From Decimal Wiki
(Redirected from Commoninfo:scalability)
Jump to navigation Jump to search

Scalability is the ability of a system, network, or process to cope with an increase in workload; a property that provides a predictable increase in system characteristics: for example, the number of supported users, responsiveness, overall performance, and so on.

Scalability is an important aspect of electronic systems, software complexes, database systems, routers, networks, if they require the ability to work under heavy load. A system is called scalable if it is able to increase performance in proportion to additional resources. Scalability is also understood as the possibility of increasing additional resources without structural changes to the system. In a system with poor scalability, adding resources leads only to a slight increase in performance, and from a certain "threshold" moment, adding resources does not give any useful effect.

Vertical scaling

"Vertical scaling" is the ability to replace components in an existing computing system with more powerful and faster ones as requirements grow and technologies develop. This is the easiest way to scale, as it does not require any changes to the application programs running on such systems.

Horizontal scaling

"Horizontal scaling" is the ability to add new nodes and servers to the system to increase overall performance. This method of scaling may require changes to programs so that they can take full advantage of the increased amount of resources.

Relevance

The conditions of modern business are changing very quickly, which makes long-term planning impossible, requiring a comprehensive and long-term analysis of already outdated data. Instead comes a strategy of gradually increasing the power of information systems.

On the other hand, changes in technology lead to the emergence of new solutions and lower hardware prices, which potentially makes the architecture of information systems more flexible. At the same time, the interoperability and openness of software and hardware products from different manufacturers are expanding, although so far their efforts aimed at compliance with standards have been coordinated only in narrow market sectors.

Today, the key scalability parameters are:

  • multiprocessing support
  • flexibility of architecture.

Scalability in blockchain

In the field of blockchain, the word "scalability" has a much broader range of meanings. In fact, even the term "blockchain" itself has not yet received a solid academic definition. For example, when it comes to Bitcoin, many still consider any improvement in throughput capacity, latency, initial loading time, or transaction cost as "scalability".

These days, there are many different blockchain systems that can be considered "scalable", but their throughput capacity varies greatly. Note that the term "scalable" is a comparative term in blockchain. When a system is referred to as scalable, it means that it achieves a higher TPS (transactions per second) value than other existing systems by changing the consensus mechanism and/or refining certain system parameters.

In fact, we can classify scalable blockchains into four types:

  • Bitcoin scaling: solutions to increase the throughput capacity of Bitcoin by increasing the block size or reducing the block interval without changing the POW (Proof of Work) consensus algorithm.
  • PoW scaling: solutions that still adhere to the Satoshi Nakamoto consensus structure but achieve higher throughput capacity than the POW algorithm in Bitcoin by modifying the algorithm.
  • Byzantine Fault Tolerance Algorithm scaling: solutions based on BFT algorithms but with simpler message structures than the Practical Byzantine Fault Tolerance (PBFT)
  • Scalable blockchains: solutions that relax the requirement for validation/mining nodes to know the entire transaction history. This allows the system's throughput capacity to increase with the network size and therefore scale better than the three aforementioned types.

Links