Scalability: Difference between revisions

From Decimal Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
No edit summary
m (CryptoUser moved page Commoninfo:scalability to Scalability)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{#seo:
{{#seo:
                     |title= Масштабируемость
                     |title= Scalability — Decimal Wiki
                     |titlemode= append  
                     |titlemode= append  
                     |keywords= Масштабируемость
                     |keywords= Scalability
                     |description= Масштабируемость
                     |description= Scalability
                     }}
                     }}
<div class="mikio-article-content">
'''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|software complexes]], [[database|database systems]], routers, [[network]]s, 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 [[node]]s 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.


<div class="mikio-tags">
== 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:


</div>
* [[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.
<span id="masshtabiruemost"></span>
* [[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.
= Масштабируемость =
* [[BFT|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]] [[node]]s 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.


<div class="level1">
== Links ==
 
* [https://cryptozoom-info.medium.com/understanding-blockchain-scalability-how-to-calculate-it-and-which-blockchain-is-most-scalable-2b8f9225c97c Understanding Blockchain Scalability? How To Calculate It! And Which Blockchain is Most Scalable? | by CryptoZoom | Medium]
'''Масштабируемость''' — способность системы, сети или процесса справляться с увеличением рабочей нагрузки; свойство, которое обеспечивает предсказуемый рост системных характеристик: например, числа поддерживаемых пользователей, быстроты реакции, общей производительности и так далее.
 
[[Category:Commoninfo]]
'''Масштабируемость''' — важный аспект электронных систем, программных комплексов, систем баз данных, маршрутизаторов, сетей, если для них требуется возможность работать под большой нагрузкой. Система называется масштабируемой, если она способна увеличивать производительность пропорционально дополнительным ресурсам. Также под масштабируемостью понимается возможность наращивания дополнительных ресурсов без структурных изменений системы. В системе с плохой масштабируемостью добавление ресурсов приводит лишь к незначительному повышению производительности, а с некоторого «порогового» момента добавление ресурсов не даёт никакого полезного эффекта.
[[Category:Software]]
 
 
</div>
<span id="vertikalnoe_masshtabirovanie"></span>
= Вертикальное масштабирование =
 
<div class="level1">
 
'''Вертикальное масштабирование''' — возможность заменять в существующей вычислительной системе компоненты более мощными и быстрыми по мере роста требований и развития технологий. Это самый простой способ масштабирования, так как он не требует никаких изменений в прикладных программах, работающих на таких системах.
 
 
</div>
<span id="gorizontalnoe_masshtabirovanie"></span>
= Горизонтальное масштабирование =
 
<div class="level1">
 
'''Горизонтальное масштабирование''' — возможность добавлять к системе новые узлы, серверы для увеличения общей производительности. Этот способ масштабирования может требовать внесения изменений в программы, чтобы они могли в полной мере пользоваться возросшим количеством ресурсов.
 
 
</div>
<span id="aktualnost"></span>
= Актуальность =
 
<div class="level1">
 
Условия современного бизнеса меняются очень быстро, что делает невозможным долгосрочное планирование, требующее всестороннего и продолжительного анализа уже устаревших данных. Взамен приходит стратегия постепенного наращивания мощности информационных систем.
 
С другой стороны, изменения в технологии приводят к появлению новых решений и снижению цен на аппаратное обеспечение, что потенциально делает архитектуру информационных систем более гибкой. Одновременно расширяются межоперабельность и открытость программных и аппаратных продуктов разных производителей, хотя пока их усилия, направленные на соответствие стандартам, согласованы лишь в узких секторах рынка.
 
'''Сегодня ключевыми параметрами масштабируемости являются'''
 
<ol>
<li><div class="li">
 
поддержка многопроцессорной обработки
 
</div></li>
<li><div class="li">
 
гибкость архитектуры.
 
</div></li></ol>
 
 
 
</div>
<div style="clear:both">
 
 
 
</div>
 
</div>
[[Category:Commoninfo]]

Latest revision as of 18:41, 13 February 2024

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