Масштабируемость: способность системы справляться с растущей нагрузкой. Узнайте, как добавление ресурсов повышает производительность и расширяет возможности бизнеса.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Способность системы обрабатывать растущий объем работы.
Ability of a system to handle an increasing amount of work
Масштабируемость — это свойство системы справляться с увеличивающейся нагрузкой. Одно из определений для программных систем указывает, что это может быть достигнуто путем добавления ресурсов. В экономическом контексте масштабируемая бизнес-модель означает, что компания может увеличить продажи при увеличении ресурсов. Например, система доставки посылок масштабируема, поскольку можно доставить больше посылок, добавив больше транспортных средств. Однако, если бы все посылки сначала должны были проходить через один склад для сортировки, система была бы менее масштабируемой, так как один склад может обрабатывать только ограниченное количество посылок. В информационных технологиях масштабируемость является характеристикой компьютеров, сетей, алгоритмов, сетевых протоколов, программ и приложений. Примером может служить поисковая система, которая должна поддерживать растущее число пользователей и объем индексируемых тем. Webscale — это компьютерный архитектурный подход, который переносит возможности крупномасштабных облачных вычислений в корпоративные центры обработки данных. В распределенных системах существует несколько определений в зависимости от автора; одни рассматривают масштабируемость как часть эластичности, другие — как отдельное понятие. В математике масштабируемость обычно относится к замкнутости относительно скалярного умножения. В промышленной инженерии и производстве масштабируемость относится к способности процесса, системы или организации справляться с растущей рабочей нагрузкой, адаптироваться к увеличивающимся требованиям и поддерживать операционную эффективность. Масштабируемая система может эффективно управлять увеличением объемов производства, внедрением новых продуктов или расширением рынков без ущерба для качества или производительности. В этом контексте масштабируемость является важным фактором для предприятий, стремящихся удовлетворить ожидания клиентов, оставаться конкурентоспособными и достичь устойчивого роста. Факторы, влияющие на масштабируемость, включают гибкость производственного процесса, адаптивность персонала и интеграцию передовых технологий. Внедряя масштабируемые решения, компании могут оптимизировать использование ресурсов, снизить затраты и повысить эффективность своей деятельности. Масштабируемость в промышленной инженерии и производстве позволяет предприятиям реагировать на колебания рыночной конъюнктуры, использовать новые возможности и преуспевать в постоянно меняющемся глобальном ландшафте.
Scalability is the property of a system to handle a growing amount of work. One definition for software systems specifies that this may be done by adding resources to the system. In an economic context, a scalable business model implies that a company can increase sales given increased resources. For example, a package delivery system is scalable because more packages can be delivered by adding more delivery vehicles. However, if all packages had to first pass through a single warehouse for sorting, the system would not be as scalable, because one warehouse can handle only a limited number of packages. In computing, scalability is a characteristic of computers, networks, algorithms, networking protocols, programs and applications. An example is a search engine, which must support increasing numbers of users, and the number of topics it indexes. Webscale is a computer architectural approach that brings the capabilities of large scale cloud computing companies into enterprise data centers. In distributed systems, there are several definitions according to the authors, some considering the concepts of scalability a sub part of elasticity, others as being distinct. In mathematics, scalability mostly refers to closure under scalar multiplication. In industrial engineering and manufacturing, scalability refers to the capacity of a process, system, or organization to handle a growing workload, adapt to increasing demands, and maintain operational efficiency. A scalable system can effectively manage increased production volumes, new product lines, or expanding markets without compromising quality or performance. In this context, scalability is a vital consideration for businesses aiming to meet customer expectations, remain competitive, and achieve sustainable growth. Factors influencing scalability include the flexibility of the production process, the adaptability of the workforce, and the integration of advanced technologies. By implementing scalable solutions, companies can optimize resource utilization, reduce costs, and streamline their operations. Scalability in industrial engineering and manufacturing enables businesses to respond to fluctuating market conditions, capitalize on emerging opportunities, and thrive in an ever evolving global landscape.
Примеры
Система управления инцидентами (ICS) используется службами экстренного реагирования в Соединенных Штатах. ICS позволяет масштабировать координацию ресурсов от тушения небольшого пожара на обочине дороги одним автомобилем до масштабного лесного пожара, охватывающего несколько штатов. Первый прибывший на место происшествия ресурс устанавливает командование, обладая полномочиями для запроса ресурсов и делегирования ответственности (управление пятью-семи сотрудниками, которые, в свою очередь, делегируют полномочия до семи другим, и так далее по мере развития инцидента). По мере расширения инцидента командование переходит к более старшим по званию сотрудникам.
The Incident Command System (ICS) is used by emergency response agencies in the United States. ICS can scale resource coordination from a single engine roadside brushfire to an interstate wildfire. The first resource on scene establishes command, with authority to order resources and delegate responsibility (managing five to seven officers, who will again delegate to up to seven, and on as the incident grows). As an incident expands, more senior officers assume command.
Домены
Протокол маршрутизации считается масштабируемым по отношению к размеру сети, если размер необходимой таблицы маршрутизации на каждом узле растет как O(log N), где N – количество узлов в сети. Некоторые ранние реализации P2P (peer-to-peer) Gnutella имели проблемы с масштабируемостью. Каждый узел рассылал свои запросы всем узлам сети. Нагрузка на каждого участника сети возрастала пропорционально общему числу участников, быстро превышая их возможности. Другие P2P-системы, такие как BitTorrent, хорошо масштабируются, поскольку нагрузка на каждого участника не зависит от общего числа участников. Никакая централизация отсутствует, поэтому система может расширяться неограниченно, используя только ресурсы самих участников. Масштабируемая система обработки транзакций в режиме реального времени или система управления базами данных – это система, которую можно модернизировать для обработки большего числа транзакций путем добавления новых процессоров, устройств и хранилищ, и которую можно легко и прозрачно обновить без ее остановки. Распределенная природа системы доменных имен (DNS) позволяет ей эффективно функционировать, обслуживая миллиарды хостов во всемирной сети Интернет.
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. Some early peer to peer (P2P) implementations of Gnutella had scaling issues. Each node query flooded its requests to all nodes. The demand on each peer increased in proportion to the total number of peers, quickly overrunning their capacity. Other P2P systems like BitTorrent scale well because the demand on each peer is independent of the number of peers. Nothing is centralized, so the system can expand indefinitely without any resources other than the peers themselves. 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. The distributed nature of the Domain Name System (DNS) allows it to work efficiently, serving billions of hosts on the worldwide Internet.
Горизонтальное (уменьшение масштаба) и вертикальное (увеличение масштаба)
Ресурсы делятся на две основные категории: горизонтальные и вертикальные.
Resources fall into two broad categories: horizontal and vertical.
Горизонтальный или масштабируемый
Горизонтальное масштабирование (в/из) подразумевает добавление новых узлов в систему (или удаление узлов из нее), например, добавление нового компьютера в распределенное программное приложение. Примером может служить масштабирование с одного веб-сервера до трех. Высокопроизводительные вычислительные приложения, такие как сейсмический анализ и биотехнологии, масштабируют рабочую нагрузку горизонтально для решения задач, которые ранее требовали бы использования дорогостоящих суперкомпьютеров. Другие рабочие нагрузки, например, крупные социальные сети, превосходят возможности даже самых мощных суперкомпьютеров и могут быть обработаны только масштабируемыми системами. Для эффективного использования этой масштабируемости необходимо программное обеспечение для управления ресурсами и обслуживания.
Scaling horizontally (out/in) means adding more nodes to (or removing nodes from) a system, such as adding a new computer to a distributed software application. An example might involve scaling out from one web server to three. High performance computing applications, such as seismic analysis and biotechnology, scale workloads horizontally to support tasks that once would have required expensive supercomputers. Other workloads, such as large social networks, exceed the capacity of the largest supercomputer and can only be handled by scalable systems. Exploiting this scalability requires software for efficient resource management and maintenance.
Масштабируемость базы данных
Масштабируемость баз данных предполагает способность системы баз данных выполнять возросший объем работы при увеличении аппаратных ресурсов, таких как дополнительные серверы, процессоры, память и хранилище. Рабочие нагрузки постоянно растут, и требования к базам данных также увеличиваются. Алгоритмические нововведения включают в себя блокировки на уровне строк, а также секционирование таблиц и индексов. Архитектурные нововведения включают в себя архитектуры типа "ничего общего" и "все общего" для управления многосерверными конфигурациями.
Scalability for databases requires that the database system be able to perform additional work given greater hardware resources, such as additional servers, processors, memory and storage. Workloads have continued to grow and demands on databases have followed suit. Algorithmic innovations have include row level locking and table and index partitioning. Architectural innovations include shared nothing and shared everything architectures for managing multi server configurations.