Современные распределенные системы
Вначале в организациях применялись централизованные хост-компьютеры (т.е. большая ЭВМ) еще называемые мейнфреймы.
Тогда пользователь мог поработать с приложением на большой машине, используя подключенный к машине, так называемый, неинтеллектуальный терминал.
Терминал называется неинтеллектуальным, потому что он не обладает никакими вычислительными возможностями, а просто передает при вводе и выводит на экран при выводе информацию, посылаемую ему машиной.
*[В. Шнитман. Информационно-аналитические материалы Центра Информационных Технологий, 1996. http://www.citforum.ru/hardware/svk/contents.shtml ]*
*) Здесь образцом для подражания стала система IBM/360, выпущенная в 1964 году и ее последующие поколения. В нашей стране в течение многих лет выпускались машины ряда ЕС ЭВМ, являвшиеся отечественным аналогом этой системы.
Первоначально приложение на большой ЭВМ – это единый компонент, отвечающий за взаимодействие с пользователем и управление данными в многопользовательской среде. Довольно быстро стало очевидно, что такая стратегия разработки приложений неэффективна, поскольку для каждого приложения разработчикам приходилось создавать один и тот же компонент управления данными.
Таким образом, приложения на больших ЭВМ эволюционировали и были разделены на две части:
- внешний интерфейс, отвечающий за взаимодействие с пользователем и
- внутренний компонент, отвечающий за управление данными.
- Этот внутренний компонент, развиваясь во времени, превратился в систему управления базами данных (СУБД), которая представляет собой центральный модуль, используемый с каждым новым интерфейсным приложением. Сами данные при этом представлены в специальные регулярно организованные наборы данных.
Таким образом, множество внешних компонентов смогли получить доступ к базе данных, управляемой одним внутренним модулем СУБД.
Модель вычислений на базе хост-машины имеет свои преимущества и недостатки.
Преимуществом является централизация всех операций в большой ЭВМ, а это означает, что системные администраторы, во-первых, могут надежно управлять одной машиной и обеспечивать доступность данных, когда они требуются пользователям, во-вторых, использовать для защиты данных, их архивирования.
Централизованные системы позволяют также совместно, для многих пользователей, использовать периферию: диски, принтеры, модемы.
Однако такая модель имеет и многие отрицательные качества. Например, чем большему числу сотрудников необходим доступ к большой ЭВМ, тем большая вычислительная мощность требуется для обслуживания потребностей организации.
Это означает, что ОС, процессоры, приложения и память на диске, необходимые для обслуживания организации, стоят очень дорого.
Чем больше вычислений нужно, тем больше приходится платить.
В с80-е годы произошло событие, изменившее характер вычислений в организациях. Появились персональные компьютеры и рабочие станции.
IBM создала РС и операционную систему DOS, Apple – Makintosh. Позднее появились рабочие станции UNIX таких компаний как Hewlett Packard и Sun Microsystems.
Независимые друг от друга рабочие станции быстро стали доминировать в организациях, положив конец централизованному контролю над данными компаний больших машин.
(*) Персональные компьютеры (ПК) и рабочие станции появились в результате эволюции миникомпьютеров при переходе элементной базы машин с малой и средней степенью интеграции на большие и сверхбольшие интегральные схемы.
ПК, благодаря своей низкой стоимости, очень быстро завоевали хорошие позиции на компьютерном рынке и создали предпосылки для разработки новых программных средств, ориентированных на конечного пользователя.
Это прежде всего – «дружественные пользовательские интерфейсы», а также проблемно-ориентированные среды и инструментальные средства для автоматизации разработки прикладных программ.
Миникомпьютеры – это прародители и другого направления развития современных систем, которое привело к окончательному оформлению настольных систем высокой производительности, которые сегодня известны как рабочие станции.
Первоначальная ориентация рабочих станций на профессиональных пользователей (в отличие от ПК, которые вначале ориентировались на самого широкого потребителя непрофессионала) привела к тому, что рабочие станции – это хорошо сбалансированные системы, в которых высокое быстродействие сочетается с большим объемом оперативной и внешней памяти, высокопроизводительными внутренними магистралями, высококачественной и быстродействующей графической подсистемой и разнообразными устройствами ввода-вывода. Это свойство выгодно отличает рабочие станции среднего и высокого класса от ПК и сегодня. Даже наиболее мощные IBM PC совместимые ПК не в состоянии удовлетворить возрастающие потребности систем обработки из-за наличия в их архитектуре ряда «узких мест».
Тем не менее быстрый рост производительности ПК на базе новейших микропроцессоров Intel в сочетании с резким снижением цен на эти изделия и развитием технологии локальных шин (VESA и PCI), позволяющей устранить многие «узкие места» в архитектуре ПК, делают современные ПК весьма привлекательной альтернативой рабочим станциям.
В свою очередь производители рабочих станций создали изделия так называемого «начального уровня», которые по стоимостным характеристикам близки к высокопроизводительным ПК, но все еще сохраняют лидерство по производительности.
Насколько удачно удастся ПК на базе новейших процессоров Intel бороться против рабочих станций UNIX, покажет будущее, но уже в настоящее время появилось понятие «персональной рабочей станции», которое объединяет оба направления. *)
(* В прошлом ПК не были достаточно мощными и не располагали достаточными функциональными возможностями, чтобы служить адекватной заменой подключенных к главной машине терминалов. С другой стороны, рабочие станции на платформе UNIX были очень сильны в научном, техническом и инженерном секторах и были почти также неудобны, как и ПК для того чтобы выполнять серьезные офисные приложения.
С тех пор ситуация изменилась коренным образом. ПК в настоящее время имеют достаточную производительность, а рабочие станции на базе UNIX имеют ПО, способное выполнять большинство функций, которые стали ассоциироваться с понятием «персональная рабочая станция».
Оба эти направления могут серьезно рассматриваться в качестве сетевого ресурса для систем масштаба предприятия.
В результате, как уже отмечалось, практически ушли со сцены старомодные миникомпьютеры с использованием присоединенных к главной машине терминалов.
*) Каждая «персональная рабочая станция» именно персональная, т.к. пользователь может сам выбрать тип рабочей станции, операционную систему и приложения лучше отвечающие его потребностям.
Кроме того, данные персональной рабочей станции (ПРС) представляют собой автономный массив информации, который также персонален. Каждая ПРС сама отвечает за управление. Пользователи сами управляют своими ПРС, не прибегая к услугам (дорогостоящим) инженеров вычислительного центра.
Однако переход к независимым персональным вычислителям по сравнению с централизованными вычислениями на больших ЭВМ дал не только преимущества, но и породил проблемы.
Прежде всего – информация предприятия централизованная и доступная на большой ЭВМ всем сотрудникам, становится распределенной между ПРС.
Таким образом выигрыш в отношении цена/производительность и простоте использования, которые дают персональные вычисления, легко могут быть сведены на нет потерей продуктивности труда коллективов, которым необходим доступ к распределенной по предприятию информации.
Проблемы совместного использования данных и периферийных устройств ПК и РС привели к созданию модели вычислений в составе локальной вычислительной сети с файловым сервером.
Локальная сеть дает преимущества коллективных вычислений, сохраняя простоту использования ПК, но позволяя совместно использовать данные и периферию, как в системах с большой ЭВМ.
Для совместного использования данных в сети, работающие в ней пользователи хранят данные на файловом сервере. Файловый сервер – это центральный узел (компьютер в сети), который хранит файлы данных, доступные всем пользователям.
Обычно файловый сервер в локальной сети является также центральным концентратором для совместного использования периферийных устройств, таких как принтеры и модемы.
В локальной сети работающее на ПРС приложение считывает и записывает файлы, обмениваясь ими с сетевым файловым сервером.
Файловый сервер не принимает участия в обработке приложения. Он просто хранит файлы для применяемых на ПК программ.
Например, на ПК ЛС может работать персональный администратор базы данных, а затем запрашивается информация в файле на файловом сервере.
Сервер посылает файл данных, передавая его по сети, на запросившую ПРС. В работе персонального администратора базы данных и самой базы сервер не участвует. При сохранении файла данные по сети копируются обратно на файловый сервер.
(* Однако не надо думать, что в настоящее время большие универсальные ЭВМ (мейнфреймы) утратила все свое значение.
Мейнфремы и до сегодняшнего дня остаются наиболее мощными ( не считая суперкомпьютеров) вычислительными системами общего назначения, обеспечивающими непрерывный круглосуточный режим эксплуатации. Они могут включать один или несколько процессоров, каждый из которых, в свою очередь, может оснащаться векторными сопроцессорами (ускорителями операций с суперкомпьютерной производительностью).
В нашем сознании мейнфреймы все еще ассоциируются с большими по габаритам машинами, требующими специально оборудованных помещений с системами кондиционирования. Однако это не совсем так. Прогресс в области элементно-конструкторской базы позволил существенно сократить габариты основных устройств. Наряду со сверхмощными мейнфреймами, требующими организации двухконтурной водяной системы охлаждения, имеются менее мощные модели, построенные по блочно-модульному принципу и не требующие специальных помещений и кондиционеров.
Основными поставщиками мейнфреймов являются известные компьютерные компании IBM, Amdahl, ICL, Siemens Nixdorf. ( первая архитектура IBM/360, ЕС ЭВМ).
Первоначально мейнфреймы ориентировались на централизованную модель вычислений, работали под управлением патентованных операционных систем и имели ограниченные возможности для объединения в единую систему оборудования различных фирм-поставщиков.
Однако повышенный интерес потребителей к открытым системам, построенным на базе международных стандартов, заставил поставщиков мейнфреймов существенно расширить возможности своих операционных систем в направлении совместимости.
В настоящее время они демонстрируют свою «открытость», обеспечивая возможность использования протоколов межсоединений OSI..
Основной причиной возрождения интереса к мейнфреймам эксперты считают сложность перехода к распределенной архитектуре клиент-сервер, которая оказалась несколько выше, чем предполагалось. Кроме того, многие пользователи считают, что распределенная среда не обладает достаточной надежностью для наиболее ответственных приложений, которой обладают мейнфреймы.
Очевидно выбор центральной машины (сервера) для построения информационной системы предприятия возможен только после глубокого анализа проблем условий и требований конкретного заказчика и долгосрочного прогнозирования развития этой системы.
Следует также помнить, что в мире существует огромная инсталляционная база мейнфремов, на которой работают десятки тысяч прикладных программных систем. Поэтому в настоящее время отказываться от годами наработанного ПО просто неразумно. Ожидаем некоторый рост продаж мейнфреймов. *)
К сожалению, характеристики модели вычислений с сетью и файловым сервером не позволяют ей адекватно обслуживать требующие высокой производительности пользовательские приложения с разделяемыми данными, которые легко поддерживают большие ЭВМ.
Системы с файловым сервером имеют два недостатка, не позволяющие им обслуживать многопользовательские приложения:
1) во-первых, модель с файловым сервером не обеспечивает необходимой многопользовательским приложениям согласованности данных (одновременного доступа к данным множества пользователей).
Пользователи, работающие с одними и теми же данными, обычно мешают друг другу и вынуждены ждать доступа к файлу.
2) во-вторых, если множество файлов запрашивают и передают по сети сразу много рабочих станций, то сеть быстро насыщается, и трафик (процесс передачи информации по сети) становится узким местом, ухудшая производительность системы.
Модель клиент-сервер
Присущие локальной сети проблемы породили модель вычислений клиент-сервер.
Вычисления клиент-сервер (распределенные вычисления, кооперативная обработка приложения) дают преимущества модели сетевых вычислений с доступом к совместно используемым данным и более высокие характеристики производительности, присущие модели вычислений с хост-машиной.
Системы клиент-сервер имеют три различных компонента, каждый из которых выполняет конкретную работу:
- сервер базы данных;
- клиентские приложения;
- сеть.
1. Сервер («внутренний компонент») эффективно управляет ресурсом ( таким как информационная база данных). Основной функцией сервера является оптимальное управление ресурсом для множества клиентов, которые одновременно у него этот ресурс запрашивают.
Кроме этого, серверы баз данных выполняют такую задачу как:
- управление доступом к базе данных и другими требованиями защиты;
2. Клиентское приложение («высший интерфейс») –это часть системы, которую пользователь использует для взаимодействия с данными.
Клиентские приложения в СУБД выполняют такую задачу, как представление интерфейса, с помощью которого пользователь может выполнить свою работу.
3. Сеть – является средством передачи данных между клиентом и сервером наряду с коммуникационным программным обеспечением, работающим на клиенте и сервере и позволяющим им взаимодействовать через сеть.
Поскольку клиентское приложение и сервер базы данных работают совместно и распределяют загрузку приложения (отсюда и термин «распределенная обработка приложения») система клиент-сервер может обеспечить лучшую производительность, чем система с файловым сервером.
Сервер управляет базой данных для нескольких клиентов, а клиенты посылают, получают и анализируют полученные с сервера данные.
(* т.е. в распределенной модели клиент-сервер часть работы выполняет сервер, а часть- пользовательский компьютер (в общем случае клиентская и пользовательская части могут работать и на одном компьютере).
В приложении клиент-сервер клиентское приложение работает с небольшими специальными наборами данных, например, строками таблицы, а не с целыми файлами, как в системе с файловым сервером.
Сервер базы данных здесь является интеллектуальным. Он блокирует и возвращает строки по запросам клиентов, что обеспечивает параллельность, минимальный сетевой трафик и улучшает производительность системы.