Введение

Способность системы обрабатывать растущий объем работы.

Масштабируемость — это свойство системы справляться с увеличивающейся нагрузкой. Одно из определений для программных систем указывает, что это может быть достигнуто путем добавления ресурсов. В экономическом контексте масштабируемая бизнес-модель означает, что компания может увеличить продажи при увеличении ресурсов. Например, система доставки посылок масштабируема, поскольку можно доставить больше посылок, добавив больше транспортных средств. Однако, если бы все посылки сначала должны были проходить через один склад для сортировки, система была бы менее масштабируемой, так как один склад может обрабатывать только ограниченное количество посылок. В информационных технологиях масштабируемость является характеристикой компьютеров, сетей, алгоритмов, сетевых протоколов, программ и приложений. Примером может служить поисковая система, которая должна поддерживать растущее число пользователей и объем индексируемых тем. Webscale — это компьютерный архитектурный подход, который переносит возможности крупномасштабных облачных вычислений в корпоративные центры обработки данных. В распределенных системах существует несколько определений в зависимости от автора; одни рассматривают масштабируемость как часть эластичности, другие — как отдельное понятие. В математике масштабируемость обычно относится к замкнутости относительно скалярного умножения. В промышленной инженерии и производстве масштабируемость относится к способности процесса, системы или организации справляться с растущей рабочей нагрузкой, адаптироваться к увеличивающимся требованиям и поддерживать операционную эффективность. Масштабируемая система может эффективно управлять увеличением объемов производства, внедрением новых продуктов или расширением рынков без ущерба для качества или производительности. В этом контексте масштабируемость является важным фактором для предприятий, стремящихся удовлетворить ожидания клиентов, оставаться конкурентоспособными и достичь устойчивого роста. Факторы, влияющие на масштабируемость, включают гибкость производственного процесса, адаптивность персонала и интеграцию передовых технологий. Внедряя масштабируемые решения, компании могут оптимизировать использование ресурсов, снизить затраты и повысить эффективность своей деятельности. Масштабируемость в промышленной инженерии и производстве позволяет предприятиям реагировать на колебания рыночной конъюнктуры, использовать новые возможности и преуспевать в постоянно меняющемся глобальном ландшафте.

Примеры

Система управления инцидентами (ICS) используется службами экстренного реагирования в Соединенных Штатах. ICS позволяет масштабировать координацию ресурсов от тушения небольшого пожара на обочине дороги одним автомобилем до масштабного лесного пожара, охватывающего несколько штатов. Первый прибывший на место происшествия ресурс устанавливает командование, обладая полномочиями для запроса ресурсов и делегирования ответственности (управление пятью-семи сотрудниками, которые, в свою очередь, делегируют полномочия до семи другим, и так далее по мере развития инцидента). По мере расширения инцидента командование переходит к более старшим по званию сотрудникам.

Домены

Протокол маршрутизации считается масштабируемым по отношению к размеру сети, если размер необходимой таблицы маршрутизации на каждом узле растет как O(log N), где N – количество узлов в сети. Некоторые ранние реализации P2P (peer-to-peer) Gnutella имели проблемы с масштабируемостью. Каждый узел рассылал свои запросы всем узлам сети. Нагрузка на каждого участника сети возрастала пропорционально общему числу участников, быстро превышая их возможности. Другие P2P-системы, такие как BitTorrent, хорошо масштабируются, поскольку нагрузка на каждого участника не зависит от общего числа участников. Никакая централизация отсутствует, поэтому система может расширяться неограниченно, используя только ресурсы самих участников. Масштабируемая система обработки транзакций в режиме реального времени или система управления базами данных – это система, которую можно модернизировать для обработки большего числа транзакций путем добавления новых процессоров, устройств и хранилищ, и которую можно легко и прозрачно обновить без ее остановки. Распределенная природа системы доменных имен (DNS) позволяет ей эффективно функционировать, обслуживая миллиарды хостов во всемирной сети Интернет.

Горизонтальное (уменьшение масштаба) и вертикальное (увеличение масштаба)

Ресурсы делятся на две основные категории: горизонтальные и вертикальные.

Горизонтальный или масштабируемый

Горизонтальное масштабирование (в/из) подразумевает добавление новых узлов в систему (или удаление узлов из нее), например, добавление нового компьютера в распределенное программное приложение. Примером может служить масштабирование с одного веб-сервера до трех. Высокопроизводительные вычислительные приложения, такие как сейсмический анализ и биотехнологии, масштабируют рабочую нагрузку горизонтально для решения задач, которые ранее требовали бы использования дорогостоящих суперкомпьютеров. Другие рабочие нагрузки, например, крупные социальные сети, превосходят возможности даже самых мощных суперкомпьютеров и могут быть обработаны только масштабируемыми системами. Для эффективного использования этой масштабируемости необходимо программное обеспечение для управления ресурсами и обслуживания.

Масштабируемость базы данных

Масштабируемость баз данных предполагает способность системы баз данных выполнять возросший объем работы при увеличении аппаратных ресурсов, таких как дополнительные серверы, процессоры, память и хранилище. Рабочие нагрузки постоянно растут, и требования к базам данных также увеличиваются. Алгоритмические нововведения включают в себя блокировки на уровне строк, а также секционирование таблиц и индексов. Архитектурные нововведения включают в себя архитектуры типа "ничего общего" и "все общего" для управления многосерверными конфигурациями.