CLIENT (664634), страница 6
Текст из файла (страница 6)
Темпы внедрения новых технологий в компьютерной отрасли вызывают изумление. Компании, конкурирующие за рынки и прибыли, стремятся моментально реализовать технические новшества в аппаратных средствах, программном обеспечении и парадигмах вычислений, стимулирующих развитие всей технологии управления информацией. Реальным победителем в этой гонке является потребитель, которому становятся доступны эти новые технологии и который может использовать их с выгодой для себя, опережая не поспевающих за ним конкурентов.
Эволюция программного обеспечения систем управления базами данных (СУБД) – прекрасный пример того, насколько широко распространяется новая технология. Понимаете вы это или нет, но каждый сегмент общества с выгодой использует электронные системы управления базами данных, которые позволяют быстро сохранять или получать информацию различного типа. Например, авиакомпании применяют базы данных в системах заказа авиабилетов, банки используют их для точного управления банковскими операциями, а пункты проката видеокассет позволяют клиентам быстро найти нужные записи и ведут учет.
Вычисления клиент-сервер.
Что такое вычисления клиент-сервер, и как использовать их преимущества? Вычисления клиент-сервер – это относительно новая модель вычислений, представляющая собой ни что иное как распределение обработки в многопользовательской базе данных по нескольким компьютерам (ПК и рабочим станциям). Что же может дать вычисление клиент-сервер по сравнению с традиционной однокомпьютерной средой (с одной большой ЭВМ). При корректной реализации системы клиент-сервер вы получите систему управления информацией с намного лучшим отношением «цена/производительность», которую можно наращивать и легко приспосабливать к меняющимся требованиям. И это лишь некоторые из причин, по которым стоит разобраться в вычислениях клиент-сервер и реализовать их в системе управления информацией.
Эволюция модели вычислений.
Почему вычисления клиент-сервер имеют столь большое значение в индустрии информационных систем? Один из ответов может дать исследование эволюции вычислений от централизованной (с хост-машиной) к распределенной модели (клиент-сервер).
Централизованная модель.
При данной схеме пользователь мог работать с приложением на большой машине, просто придвинув стул к подключенному к машине неинтеллектуальному терминалу. Терминал назывался неинтеллектуальным, потому что он не обладал никакими вычислительными возможностями, и просто передавал на экран информацию, посылаемую ему машиной.
Заметим, во-первых, что приложение на большой ЭВМ – это единый компонент, отвечающий за взаимодействие с пользователем и управление данными в многопользовательской среде. Довольно быстро стало очевидным, что такая стратегия разработки приложений неэффективна, поскольку для каждого приложения разработчикам приходилось создавать один и тот же компонент управления данными. Таким образом, приложения на больших и мини-ЭВМ эволюционировали и были разделены на две части: внешний интерфейс, отвечающий за взаимодействие с пользователем, и внутренний компонент, отвечающий за управление данными. Этот внутренний компонент, система управления базами данных (СУБД), представляет собой центральный модуль, используемый каждым новым интерфейсным приложением. Так как множество внешних компонентов смогли получить доступ к базе данных, управляемой одним внутренним модулем СУБД, разделение приложения на внешний и внутренний компоненты обеспечило системам большую гибкость.
Как и все прочее, модель вычислений на хост-машине имеет свои преимущества и недостатки. Плюсом является централизация в большой ЭВМ. Таким образом, системные администраторы могут надежно управлять одной машиной и обеспечивать доступность данных, когда они требуются пользователям, а также для защиты архивировать их. Централизованные системы позволяют совместно использовать периферию, диски, принтеры и модемы. Однако такая модель имеет и многие отрицательные качества. Например, чем большему числу сотрудников необходим доступ к большой ЭВМ, тем большая вычислительная мощность требуется для обслуживания потребностей организации. Сложилось так, что индустрию больших и мини-ЭВМ контролировали лишь несколько компаний. Это означало, что соответствующие ОС, процессоры, приложения и память на диске, необходимые для обслуживания организации, стоили очень дорого. Чем больше вам было нужно, тем больше приходилось платить.
Модель с автономными персональными вычислениями.
В 80-е годы произошло то, что навсегда изменило характер вычислений в организации: появились персональные компьютеры и рабочие станции. С тех пор как IBM создала PC и ОС DOS, Apple – Macintosh, а позднее появились рабочие станции UNIX таких компаний как Hewlett-Packard и Sun Microsystems, независимые друг от друга рабочие станции стали доминировать в организациях, положив конец централизованному контролю над данными компании больших машин.
Такую популярность персональные рабочие станции приобрели благодаря тому, что они имеют над большими ЭВМ несколько преимуществ:
-
Персональные рабочие станции – это недорогие и простые в использовании компьютеры, предоставляющие вычислительные возможности и производительность, сопоставимые с дорогими большими машинами.
-
Пользователь может сделать компьютерную рабочую станцию «персональной», выбрав тип рабочей станции, ОС и приложения, лучше отвечающие его потребностям.
-
ПК-приложения (например, текстовые процессоры, электронные таблицы, графические программы и СУБД) предлагаются в большом ассортименте и обычно очень недороги и вполне доступны для покупки. Пользователь, которому не удается найти отвечающее его потребностям приложение, может с помощью простого в использовании средства разработки создать собственное.
-
Данные рабочей станции представляют собой автономный массив информации, который также персонален. Каждая рабочая станция сама отвечает за управление данными, их архивацию и защиту. Отдельные пользователи сами управляют своими ПК, не прибегая к дорогостоящим услугам инженеров вычислительного центра.
К сожалению, переход к независимым персональным вычислениям, по сравнению с централизованными вычислениями на больших ЭВМ, не только дал преимущества, но и породил проблемы. Больше всего бросается в глаза то, что информация предприятия, централизованная и доступная на больших ЭВМ всем сотрудникам, становится распределенной между большой машиной и персональными рабочими станциями. Таким образом, выигрыш в отношении «цена/производительность» и в простоте использования, который дают персональные вычисления, легко может быть сведен на нет потерей продуктивности труда коллективов, которым необходим доступ к распределенной по предприятию информации.
Кроме невозможности совместной работы с данными, пользователи несвязанных персональных рабочих станций не могут совместно работать с другими дорогими ресурсами, доступными пользователям большой ЭВМ – дисками, принтерами, модемами и прочими периферийными устройствами.
Модель вычислений с сетью и файловым сервером.
Проблемы совместного использования данных и периферийных устройств персональных компьютеров и рабочих станций быстро породили модель вычислений с сетью и файловым сервером. Фактически, если сегодня вы используете на работе персональный компьютер или рабочую станцию, то, скорее всего ваш компьютер подключен к локальной вычислительной сети (LAN). Локальная сеть дает преимущества коллективных вычислений, сохраняя простоту использования ПК, но позволяя совместно использовать данные и периферию, как в системах с большой ЭВМ.
Для совместного использования данных в сети работающие в ней хранят файлы на файловом сервере. Файловый сервер – центральный узел (компьютер в сети), который хранит файлы данных, доступные всем пользователям. Обычно файловый сервер в сети является также центральным концентратором для совместного использования периферийных устройств, таких как принтеры, очереди печати и модемы. Так как файловый сервер является независимым компьютером сети, то лучше специализировать его для выполняемых им функций, установив большой объем дисковой памяти.
В локальной сети функционирующее на рабочей станции приложение считывает и записывает файлы, обмениваясь ими с сетевым файловым сервером. Во многих случаях по сети для выполнения операций на ее локальных ПК файлы передаются целиком. Файловый сервер не принимает участия в обработке приложения. Он просто хранит файлы для выполняемых на ПК программ. Например, на ПК локальной сети у вас может работать персональный администратор базы данных. Сначала вы запускаете персональный администратор базы данных, а затем запрашиваете информацию в файле на файловом сервере. Сервер посылает весь файл данных или его часть, передавая его по сети на вашу рабочую станцию. В работе персонального администратора базы данных и самой базы сервер не участвует. При сохранении файла вы копируете данные по сети обратно на файловый сервер.
К сожалению, характеристики модели вычислений с сетью и файловым сервером не позволяют ей адекватно обслуживать требующие высокой производительности многопользовательские приложения с разделяемыми данными, которые легко поддерживают большие ЭВМ. Системы с файловым сервером имеют два недостатка, не позволяющие им обслуживать требующие высокой производительности многопользовательские приложения. Во-первых, модель с файловым сервером не обеспечивает необходимой многопользовательским приложениям согласованности данных (одновременного доступа к одному набору данных множества пользователей). Это связано с тем, что файловый сервер работает с файлами – очень большими наборами данных, и не позволяет пользователю обращаться к нему совместно с другими, поскольку файл блокируется. Короче говоря, пользователи, работающие с одними и теми же данными, обычно мешают друг другу и вынуждены ждать доступа к файлу. К тому же, если множество файлов запрашивают и передают по сети сразу много рабочих станций, то сеть быстро насыщается, и трафик становится узким местом, ухудшая производительность системы.
Модель вычислений клиент-сервер.
Присущие локальной сети проблемы породили модель вычислений клиент-сервер. Вычисления клиент-сервер (которые называют также распределенными вычислениями или кооперативной обработкой приложения) дают преимущества модели сетевых вычислений с доступом к совместно используемым данным и высокие характеристики производительности, присущие модели вычислений с хост-машиной.
Системы клиент-сервер имеют три различных компонента, каждый из которых выполняет конкретную работу: сервер базы данных, клиентское приложение и сеть.
Сервер («внутренний компонент») эффективно управляет ресурсом (таким как информационная база данных). Основной функцией сервера является оптимальное управление ресурсом для множества клиентов, которые одновременно у него этот ресурс запрашивают. Серверы баз данных выполняют такие задачи, как:
-
Управление одной информационной базой данных, с которой совместно работают множество пользователей.
-
Управление доступом к базе данных и другими требованиями защиты.
-
Защита информации в базе данных с помощью средств архивации-восстановления и создания резервных копий.
-
Централизованное задание для всех клиентских приложений правил глобальной целостности данных.
Клиентское приложение («вешний интерфейс») – это часть системы, которую пользователь использует для взаимодействия с данными. Клиентские приложения в СУБД клиент-сервер выполняют следующие задачи:
-
Представление интерфейса, с помощью которого пользователь может выполнять свою работу.
-
Управление логикой приложения, например, всплывающими списками в форме ввода данных или столбчатыми диаграммами в графическом представлении данных.
-
Выполнение логики приложения, например, вычисление полей в форме ввода данных.
-
Проверка допустимости данных.
-
Запрос и получение информации о сервере базы данных.
Наконец средствами передачи данных между клиентом и сервером в системе являются сеть и коммуникационное программное обеспечение, имеющееся у клиента и на сервере и позволяющее им взаимодействовать через сеть.
Поскольку клиентское приложение и сервер базы данных работают совместно и распределяют загрузку приложения (отсюда термин «распределенная обработка приложения»), система клиент-сервер может обеспечить лучшую производительность, чем система с файловым сервером. Сервер управляет для нескольких клиентов базой данных, а клиенты посылают, получают и анализируют полученные с сервера данные. В приложении клиент-сервер клиентское приложение работает с небольшими специальными наборами данных, например, строками таблицы, а не с целыми файлами, как в системе с файловым сервером. Сервер базы данных здесь является интеллектуальным. Он блокирует и возвращает строки по запросам клиентов, что обеспечивает параллельность, минимальный сетевой трафик и улучшенную производительность.
Преимущества и недостатки вычислений клиент-сервер.
-
Достижение гибкости и масштабируемости путем распределения обработки приложения. Некоторые преимущества модели клиент-сервер определяются тем фактом, что клиентская и серверная часть системы работают обычно на разных компьютерах. Во-первых, каждый компьютер в системе можно выбрать таким образом, чтобы он лучше отвечал требованиям каждого компонента. Например, для сервера базы данных лучше использовать компьютер с мощным процессором (или процессорами), большим объемом ОЗУ и памяти на дисках. Благодаря этому, такой сервер сможет хранить большие объемы данных и адекватно обрабатывать множество одновременных запросов клиентов. Для выполнения же клиентского приложения лучше использовать менее дорогой компьютер с минимальной памятью на диске и оперативной памятью, мышью и хорошими графическими возможностями. Таким образом, организация может при минимальных затратах предоставить пользователям простое в применении инструментальное средство для ввода и анализа данных.
Во-вторых, такая система обладает хорошей адаптируемостью и гибкостью в случае неизбежных изменений в программном и аппаратном обеспечении. Предположим, например, что появился новый тип компьютера, дающего при вдвое меньшей цене удвоенную по сравнению с имеющимся сервером производительность. В системах клиент-сервер легко заменить старый сервер на новый, не нарушая функциональности клиентских приложений и продуктивности работы пользователей.















