Страсти в музыкальном магазине. Часть 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
  • Хранитель_врат
    м-да... ни одной конструктивной мысли, одна вода. ах, да, имхо!
  • Хранитель_врат
    тривиальные вещи, а автор старается, как бужто это божественное откровение
  • Хранитель_врат
    удивительно бессодержательная статья. просто шедевр в этом плане.
Интервью

ТоТ еще разговор. Андрей Матюха: Трюфель, юдзу, пондзу

Продолжаем беседу с предпринимателями в рамках проекта «ТоТ еще разговор». Сегодня в гостях Андрей Матюха – шеф-повар, автор и совладелец краснодарских ресторанов: The Печь, Угли-Угли и Племя, которые стабильно попадают в ресторанные рейтинги, а также гриль-бар Ребрышки и Бедрышки, который открылся совсем недавно.

4
Обзоры новостей

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

Финансовые события дня.

Готовим сани летом. На что решиться в 2025 году: остаться на УСН, выбрать ставку 5%, 20% или переходить на ОСНО? 🛷 «Ночной бухгалтер» № 1726

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

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

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

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

С 19 июля воспользоваться картой Union Pay от РСХБ заграницей будет нельзя

Россельхозбанк с 19 июля приостановит расчеты по картам UnionPay за границей. Клиентам предложили снять деньги с карт.

Лицензирование

Как переоформить лицензии при слиянии юридических лиц

При слиянии юридических лиц можно продолжать осуществлять лицензируемую деятельность, но при этом лицензию нужно переоформить.

Как переоформить лицензии при слиянии юридических лиц
Бесплатно с Аренда

Аренда: что нужно раскрыть в учетной политике

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

Аренда: что нужно раскрыть в учетной политике
Опытом делятся эксперты-практики, без воды
НДФЛ

Командированные за границу для строительства АС все равно будут налоговыми резидентами РФ

Физлица, которые в течение года были в России менее 183 дней, являются нерезидентами РФ. Но есть исключения для ряда случаев. Таких исключений станет больше.

Мошенники обманывают сотрудников таможни

Фейковый «Иван Иванович» пытается заполучить персональные данные должностных лиц Таможенной службы (ФТС).

Регистрация ООО

По какой причине в ЕГРЮЛ может не быть адреса юрлица

Для целей госрегистрации юрлиц используется адрес из Государственного адресного реестра (ГАР) в структуре муниципального деления.

Налоговый мониторинг

Что такое налоговый мониторинг и как его проводят в 2024 году

Налоговый мониторинг — форма налогового контроля, при которой отсутствуют обычные выездные и камеральные налоговые проверки. Рассказываем, что такое налоговый мониторинг, как стать его участником, как его проводят налоговики.

Что такое налоговый мониторинг и как его проводят в 2024 году
1
Маркетинг

22 Сервиса, которые изменят ваш бизнес — автоматизация маркетинга, которая работает

Приветствуем вас, уважаемые предприниматели, руководители, маркетологи! Сегодня у нас особенный обзор, который представит топ незаменимых онлайн помощников, готовых поддержать вас на пути к успеху в вашем бизнесе.

22 Сервиса, которые изменят ваш бизнес — автоматизация маркетинга, которая работает
Самозанятые

Если ИП переходит на НПД без отказа от УСН, его самозанятость рано или поздно аннулируют

При переходе с УСН на НПД обязательно надо направить в ИФНС уведомление о прекращении деятельности по упрощенке. Если не сдать этот документ, постановка на учет по НПД аннулируется. Это произойдет рано или поздно. Как правило – поздно.

УСН

👀 Что выгоднее бизнесу на УСН в 2025 году: НДС 5%, 20% или переход на ОСНО + мнение налогового эксперта

С 2025 года бизнес на УСН с доходами свыше 60 млн рублей будет платить НДС. Можно выбрать ставку как на ОСНО – 20% или вовсе перейти на ОСНО, а можно выбрать ставку 5% без права на вычет.

Карьера бухгалтера

Самые востребованные навыки аналитика 1С: обзор вакансий с зарплатой 150+ тыс. рублей

Что должен уметь аналитик 1С, чтобы рассчитывать на высокий доход? Мы проанализировали вакансии и выделили требования, которые работодатели чаще всего предъявляют к кандидатам на должность. Разбираемся, какие скилы нужно подтянуть, чтобы получить заветное место.

Самые востребованные навыки аналитика 1С: обзор вакансий с зарплатой 150+ тыс. рублей
Маркетинг

Торговым сетям запретят взимать вознаграждение с поставщиков яиц

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

Заявление на открытие компании должно быть подписано одним из трех способов

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

Приостановление Росреестром госрегистрации можно будет обжаловать не в суд

Совет Федерации одобрил разработанным Росреестром закон о внесудебном обжаловании приостановления регистрации права.

УК РФ

Окончательно решен вопрос о мере пресечения одному из руководителей «Локалкитчен»

Мосоргсуд оставил без изменения меру пресечения одному из руководителей «Локалкитчен» по делу о массовом отравлении готовой едой, приведшем к бутулизму.

Цифровой рубль

Путин: цифровой рубль нужно использовать в разных сферах

Тестовая группа провела свыше 30 тысяч операций с цифровым рублем. Помимо внедрения новой формы валюты в России будут заниматься развитием цифровых активов.

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

Банковские карты

Розыгрыш трех именных карт банка Казахстана

Уже сегодня в 20:00 пройдет розыгрыш банковских карт. Они позволяют отправлять деньги за границу, оплачивать подписки на зарубежные сервисы и еще многое другое.