Обработка и хранение информации
3.4. Распределенные системы обработки данных
Вопрос об использовании распределенных систем обработки данных стал актуален с появлением мощных вычислительных систем с распределенными ресурсами в пределах одного компьютера (многоядерные системы), локальных корпоративных и внешних (региональных и глобальных) сетей, кластеров, технологий поиска и многомерного анализа данных, развитием Web-технологий.
увеличить изображение
Рис. 3.6. Пример использования технологий распределенной обработки данных - DDP
Использование технологий распределенной обработки данных (Didtributed Data Processing - DDP) стало особенно актуальной для высокотехнологичных географически распределенных компаний, деятельность которых поддерживается и сопровождается современными информационными технологиями и системами ( рис. 3.6).
Суть распределенной обработки данных заключается в том, что пользователь получает возможность работать с базами и хранилищами данных, прикладными процессами программами и сервисами, расположенными в нескольких взаимосвязанных оконечных системах. При этом возможны следующие виды работ:
- удаленный запрос, например, посылка команды пользователя на выполнение задания, связанного с обработкой данных;
- удаленное действие (Transaction), осуществляющее направление группы запросов прикладному процессу - это может быть, например, часть вычислительного процесса, использующего удалённую базу данных;
- распределенная трансакция, дающая возможность использования нескольких серверов и прикладных процессов, выполняемых в группе оконечных систем;
- обработка в системе клиент-сервер.
Существует несколько технологий распределенной обработки, которые могут использовать как промежуточный слой программного обеспечения, ориентированного на запросы и сообщения, так и распределенную интегрированную среду обработки данных. Первая технология является самой простой, но возможности ее ограничены взаимодействием с одним из выбранных серверов приложений. Технологии второго типа предусматривают совместную работу клиентов с одним или с группой серверов, при этом некоторые серверы могут выступать в роли клиентов для других серверов.
Для распределенной обработки осуществляется тематическая сегментация прикладных программ. Для работы в реальном времени используется протокол резервирования ресурсов и предоставляется специализированное инструментальное программное обеспечение распределенной среды обработки данных.
Способы конкретной организации процессов обработки и технические решения чрезвычайно разнообразны, однако архитектура таких систем является, как правило, двух- или трёхзвенной архитектурой "клиент-сервер" (Client-Server Architecture - CSA). В предыдущем параграфе было сказано несколько слов о клиент-серверных СУБД. Рассмотрим эту архитектуру подробнее.
Технологии "клиент-сервер"
Современная распределенная вычислительная система (сеть) является сложным комплексом взаимосвязанных программных и аппаратных компонентов ( рис. 3.7).
Рис. 3.7. Вычислительная сеть как сложный комплекс взаимосвязанных программных и аппаратных компонентов
Этот комплекс может быть описан многослойной моделью, которая должна соответствовать общему назначению сети: компьютеры, коммуникационное оборудование, операционные системы, сетевые приложения [26].
В основе любой сети лежит аппаратный слой стандартизированных компьютерных платформ, серверов, рабочих станций и персональных компьютеров. В настоящее время в сетях успешно работают компьютеры различных классов - от персональных до супер-ЭВМ и кластерных систем.
Второй слой - коммуникационное оборудование. Кабельные системы, повторители, коммутаторы, маршрутизаторы и модульные концентраторы превратились в полноправные компоненты сети. Сегодня коммуникационное устройство может представлять собой сложное специализированное мультипроцессорное устройство, которое нужно конфигурировать, администрировать и оптимизировать его работу в сети.
Третьим слоем, образующим программную платформу сети, являются операционные системы. От того, какие концепции управления локальными и распределенными ресурсами положены в основу сетевой ОС, зависит эффективность работы всей сети. При проектировании сети важно учитывать:
- насколько легко данная операционная система может взаимодействовать с другими сетевыми ОС;
- какой она обеспечивает уровень безопасности и защищенности данных;
- до какой степени позволяет наращивать число пользователей;
- можно ли перенести ее на компьютер другого типа и многие другие соображения.
Самый верхний, четвертый слой образуют различные сетевые приложения - такие как сетевые базы данных, средства передачи и архивирования данных, системы автоматизации коллективной работы и т.д. Очень важно представлять диапазон возможностей, предоставляемых приложениями для различных областей применения, а также знать, насколько они совместимы с другими сетевыми приложениями и операционными системами.
Архитектура "Клиент-сервер" - это модель взаимодействия компьютеров в сети. Как правило, один компьютер в сети располагает информационно-вычислительными ресурсами, такими как мощные процессоры, программные приложения, базы данных и различные сервисы. Другие же компьютеры пользуются ими ( рис. 3.8). Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса (Resource Server - RS), а компьютер, который пользуется этим ресурсом - клиентом (Clients). Конкретный сервер характеризуется видом ресурса, которым он владеет. Если используемым ресурсом являются базы данных, то речь идет о сервере баз данных, назначением которого является обслуживание запросов клиентов по выдаче или преобразованию данных; если файловая система или система пересылки сообщений, то говорят о файловом или почтовом сервере.