Страсти в музыкальном магазине. Часть 4

Чрезвычайно важным свойством программ "автоматизации учета и управления..." является возможность масштабирования. Но при всей своей важности, масштабирование - это то, на что обращают наименьшее внимание при выборе системы. И поставщики программ стыдливо умалчивают о проблемах с масштабированием в своей продукции. Прежде всего, - что такое масштабирование? Не буду претендовать на строгость в пояснении, попробую проиллюстрировать на примерах.

Олег Сиголов
Гостевая автора

5. Масштабирование.

Чрезвычайно важным свойством программ "автоматизации учета и
управления..." является возможность масштабирования. Но при всей своей
важности, масштабирование - это то, на что обращают наименьшее
внимание при выборе системы. И поставщики программ стыдливо умалчивают
о проблемах с масштабированием в своей продукции.
Прежде всего, - что такое масштабирование? Не буду претендовать на
строгость в пояснении, попробую проиллюстрировать на примерах.

1. Вот прошли недавно Олимпийские игры. Была и информационная
поддержка Олимпиады. Назывались впечатляющие цифры: компьютерные
системы выполняли десятки и сотни тысяч запросов в секунду (!);
2. Поисковые интернет-серверы. Yandex, Aport, Google, Yahoo... Эти
полезные уважаемые системы выполняют одновременно огромное
количество запросов. И выполняют достаточно надежно. Во всяком
случае, как правило, обращение к ним дает успешный результат;
3. Огромные интернациональные корпорации, владеющие информационными
системами, в составе которых многие тысячи (!) подключенных
терминалов. И все это работает, и все это приносит пользу, а не
головную боль и убытки...

Это один полюс. А вот другой:
1. Убогая система в составе 3, 5, 10 (уже много!), 20 (сенсация!), 50
(легенды!) компьютеров;
2. Черепашья скорость;
3. Надежность карточного домика;
4. Искусственные приемы поддержания работоспособности, вроде "тот
отчет не запускать днем", а этот - только в "монопольном" режиме...

Знакомая картина?
Причина разительного отличия эффективности - в более мощной технике?
Нет! Это в последнюю очередь. Главное - правильная архитектура
программного комплекса, предусматривающая масштабируемость.
Масштабируемость и только масштабируемость может обеспечить
функционирование сколько-нибудь большой системы.

Отвлечемся на некоторое время от музыкального магазина и представим
себя на месте руководителя телефонной справочной службы "09". Вот вы -
руководитель такой службы. В вашем подчинении десяток операторов на
своих рабочих местах. А рабочее место - это стол с установленным на
нем компьютером. Компьютеры получают информацию от общей базы данных.
Клиенты звонят, операторы нажимают на клавиши, получают результаты
запроса на экране и отвечают клиентам. Все работает приемлемо быстро и
надежно. Но население усиленно "телефонизируется", и нагрузка на
справочную службу растет... Вам приходится увеличивать количество
одновременно работающих операторов ("масштабироваться"). И вдруг
выясняется, что начинает сдавать компьютерная система. Вот работала с
десятью компьютерами нормально, а пятнадцатью - уже очень медленно.
Как быть? Можно попытаться применять более мощные компьютеры или более
быструю сеть, но это только временное косметическое решение. Гораздо
более правильно - просто применить две (три, четыре...) одинаковые
компьютерные системы. Для каждой - своя база данных, своя сеть, свой
сервер... Десять операторов - одна система, двадцать - две, тридцать -
три, пять тысяч - пятьсот систем... Это и есть масштабируемость. Ничто
не мешает получить сколь угодно большое количество рабочих мест
операторов. И скорость падать не будет пропорционально их числу.
Именно так устроено подавляющее число мощнейших справочных систем.
Есть, конечно, тонкости и особенности, но сущность остается - система
просто "умножается" в нужное число раз... Точно так проходило бы
"масштабирование" и при отсутствии компьютерной системы: каждому
оператору выдавался бы полный комплект телефонных справочников.

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

Но служба "09" - это практически идеальный случай. Далеко не всегда
можно обойтись без разделяемого ресурса. Например, складская программа
изначально требует единой базы данных для всех клиентов независимо от
количества таковых. Причем эта база данных может модифицироваться
практически любым клиентом.

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

Но мы рассмотрели только один аспект масштабируемости - падение
производительности с увеличением количества пользователей. Есть и
другие стороны проблемы. Например, падение производительности с
увеличением количества записей в базе данных и динамики их
изменений...

Но в любом случае борьба за приемлемую масштабируемость - это забота о
минимальной загрузке самых "узких" частей системы. И это очень важно!
Самое "узкое" место системы при грамотной разработке должно
использоваться МИНИМАЛЬНО!
Теперь вернемся к файл-серверной архитектуре программы. Это, наоборот,
тот пример, когда самые критичные компоненты нагружаются максимально.
Сетевые ресурсы предельно перегружаются, память на жестких дисках
компьютера с базой данных просто разрывают на куски клиентские
приложения и т.д.

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

В случае с двухзвенной клиент-серверной архитектурой дела обстоят не
лучше. Как ни крути, но в бизнес-приложениях существует принципиально
разделяемый ресурс. Это база данных, которая, как правило, должна быть
единой. А значит самым "узким" местом системы является сервер базы
данных (SQL-сервер). А, как я уже говорил, для достижения приемлемой
производительности программы, основанной на двухзвенной архитектуре,
нужно предельно нагружать сервер базы данных: как можно меньше работы
поручать клиентскому приложению и как можно больше - SQL-серверу. Это
сильно разгружает сеть, но ставит крест на масштабируемости. Попытка
максимально разгрузить клиентское приложение и одновременно не
нагружать сервер базы данных приводит к появлению среднего (третьего)
звена - сервера приложений и трехзвенной архитектуры. Именно забота о
масштабируемости породила трехзвенную клиент-серверную архитектуру
программ.

Продолжение следует...

Комментарии

13
  • Хранитель_врат
    м-да... ни одной конструктивной мысли, одна вода. ах, да, имхо!
  • Хранитель_врат
    тривиальные вещи, а автор старается, как бужто это божественное откровение
  • Хранитель_врат
    удивительно бессодержательная статья. просто шедевр в этом плане.

Перевод на удаленку: не все так просто

Согласно статье 312.1 Трудового Кодекса РФ, удалённо может работать любой сотрудник организации, в том числе занимающие руководящие должности и генеральный директор. Но для этого должно быть достаточно оснований, а также технических возможностей, чтобы обеспечить дистанционную работу сотрудника.

Курсы повышения
квалификации

20
Официальное удостоверение с занесением в госреестр Рособрнадзора

В ОАЭ завершился международный бизнес-форум «Мир возможностей»

Участники форума нашли точки соприкосновения для дальнейшего сотрудничества России и ОАЭ в медицине, образовании, спорте, торговле и деятельности по развитию искусственного интеллекта.

Командировка на майские праздники: оплачиваем правильно

Командировка работника может выпасть на майские праздники или «захватить» несколько выходных дней. Оплачивать такие дни нужно по особым правилам.

Иллюстрация: Coworking Bansko/pexels
Лучшие спикеры, новый каждый день

Учет офисных расходов при УСН

Офис — это не только место, в котором трудятся сотрудники. Это еще и дополнительные обязательные расходы, которые несет регулярно компания. Причем таких затрат бывает куда больше, чем может показаться на первый взгляд. В статье разъяснено, какие расходы на содержание офиса может понести налогоплательщик, если он находится на упрощенной системе налогообложения (УСН). Также прописано, как при данной системе учитывать подобные затраты.

Иллюстрация: Вера Ревина/Клерк.ру

Акция 3+1 только до конца мая!

Оформи рекламную кампанию на 3 месяца и получи дополнительный месяц гарантированных лидов в подарок!

Акция 3+1 только до конца мая!

Какая сумма предельной базы для начисления взносов в 2024 году

Корректировка предельной базы для исчисления страховых взносов осуществляется ежегодно. 2024 год исключением не стал. В ее размер вновь были внесены изменения. Чтобы не столкнуться со сложностями, необходимо знать размер установленного лимита, а также правила, в соответствии с которыми происходит исчисление размера взносов. Расскажем, про сумму предельной базы для начисления взносов в 2024 году.

Иллюстрация: Вера Ревина/Клерк.ру
Опытом делятся эксперты-практики, без воды

💥 Путин анонсировал второй масштабный этап расчистки нормативной базы

Президент поручил правительству улучшить законодательство и контрольно-надзорную деятельность с помощью механизма регуляторной гильотины.

Бесплатно с Фиксированные взносы ИП

Как теперь уменьшать налог по УСН на взносы ИП: разъяснения ФНС с примером

Временные прошлогодние правила по взносам 1% стали постоянными.

Как теперь уменьшать налог по УСН на взносы ИП: разъяснения ФНС с примером
7

При оплатах через СБП продавец должен применять ККТ: можно ли удаленно

Если клиент платит через систему быстрых платежей, то нужно применить ККТ. Но иногда эта ККТ может быть удаленная, иногда – находиться по месту расчетов.

Создать объявление

К вопросу об оформлении договоров. Как нагляднее и удобнее оформлять введение и реквизиты

Данная статья посвящена оформлению договоров. Советы от нашей компании.

1
3-НДФЛ

Не делайте этих ошибок при заполнении 3-НДФЛ

До 2 мая включительно физлица должны сдать 3-НДФЛ за 2023 год, если в прошлом году была продажа имущества, получение недвижимости в дар не от близких родственников и т. д.

Центробанк сохранил ключевую ставку 16%

Банк России не будет снижать ключевую ставку до тех пор, пока не будет достигнута цель по инфляции вблизи 4%.

Миникурсы, текстовые и видеоинструкции для бухгалтеров
ВЭД

Президент поддержал создание координационного центра для работы российского бизнеса на новых рынках

Сейчас все министерства работают с новыми рынками, все крупные компании работают с новыми рынками, но это все происходит в рамках каждого из направлений, за которое отвечает то или иное ведомство или компания.

ФНС банкротит компанию, которая развивает сеть магазинов «Ноу-хау»

Московские налоговики хотят признать несостоятельной компанию «Мобиленд», связанную с магазинами электроники «Ноу-хау».

В госзакупках будут работать офсетные контракты

Чтобы IT-компании больше средств вкладывали в инновационные технологии, в законодательство о госзакупках добавят офсетные контракты.

Как ИП уменьшить налог по УСН за 1 квартал на взносы 1% за 2024 год, если уведомление уже сдано

Не все ИП оперативно среагировали на новые разъяснения ФНС про уменьшение налога по УСН на взносы 1% за 2024 год. Кто-то не учел новые правила и переплатил налог, кто-то еще не уплатил, но уведомление уже сдал. Уведомление можно пересдать, переплату вернуть.

Иллюстрация: Вера Ревина/Клерк.ру
Кадры

Путин: судимость членов семьи не должна влиять на трудоустройство

Никто за действия членов семьи не отвечает, заявил президент на ежегодном съезде Российского союза промышленников и предпринимателей (РСПП).

ФАС проверит цены на авиабилеты

Представители авиации связывают высокую стоимость перелетов с ростом ставок на обслуживание судов, авиационное топливо, запчасти и агрегаты.

Блокировка на маркетплейсах 2024: за что накажут, как снизить риски

У каждой онлайн-площадки своя стратегия взаимодействия с продавцами. Но условия работы у них схожи и политика блокировок одна и та же. Разберем, за что блокируют продавцов, на какой срок и что сделать, чтобы снизить такие риски.

Блокировка на маркетплейсах 2024: за что накажут, как снизить риски

Интересные материалы

Кто должен платить НДС при импорте товаров, если отгрузка идет со склада в Беларуси

Ситуация: компания №1 продает товар компании №2. Но этот товар – белорусский, он лежит на складе компании-производителя №3 в Беларуси. Компания №1 заключает договор на поставку с компанией №3. А забирает товар со склада сам покупатель (компания №2).