6.5.        Технология «клиент – сервер»

Технология «клиент-сервер», заменившая технологию «файл-сервер», является более мощной, так как позволила совместить достоинства однопользовательских систем (высокий уровень диалоговой поддержки, дружественный интерфейс, низкую цену) с достоинствами более крупных компьютерных систем (поддержкой целостности, защитой данных, многозадачностью). Она за счет распределения обработки сообщения между многими ПК повышает производительность, позволяет пользователям электрон­ной почты распределять работу над документами, обеспечивает доступ к более совершенным доскам объявлений и конференциям.

В классическом понимании СУБД представляет собой набор программ, позволяющих создавать и поддерживать базу данных в актуальном состоянии и обслуживать запросы пользователей. Функционально СУБД состоит из трех частей: ядра базы данных, языка и инструментальных средств программирования. Инструментальные средства программирования относятся к интерфейсу клиента, или внешнему интерфейсу. Они могут включать процессор обработки данных на языке запросов. Наиболее употребительными языками являются SQL и QBE. Язык – это совокупность процедурных и непроцедурных команд, поддерживаемых СУБД. В последнее время наблюдается тенденция применения объектно-ориентированных языков (Visual Objects – VO) для разработки приложений с использованием СУБД. Например, такие СУБД, как FoxPro, Dbase, расширены визуальными редакторами.

Ядро выполняет все остальные функции, которые включены в понятие «обработка базы данных». Термины «ядро», «сервер базы данных», «внутренний интерфейс»синонимы.

Основная идея технологии «клиент-сервер» заключается в том, что­бы расположить серверы на мощных машинах, а приложения клиентов, использующих язык инструментальных средств, – на менее мощных машинах. Тем самым будут задействованы ресурсы более мощного сервера и менее мощных машин клиентов. Ввод-вывод к базе основан не на физиче­ском дроблении данных, а на логическом, т.е. клиентам отправляется не полная копия базы, а сервер посылает только логически необходимые порции, тем самым, сокращая трафик сети. Трафик сети – это поток сообще­ний сети. В технологии «клиент-сервер» программы клиента и его запросы хранятся отдельно от СУБД. Сервер обрабатывает запросы клиентов, вы­бирает необходимые данные из базы данных, посылает их клиентам по сети, производит обновление информации, обеспечивает целостность и сохранность данных.

Рассмотрим основные виды технологии распределенной обработки данных:

1. Технология «клиент-сервер», ориентированная на автономный компьютер, т.е. и клиент, и сервер размещены на одной ЭВМ. По функциональным возможностям такая система аналогична централизованной СУБД. Ни распределенная обработка, ни распределенная СУБД не поддерживаются.

2. Технология «клиент-сервер», ориентированна на централизованное распределение. Клиенты получают доступ к данным одиночного сервера. Данные могут только считываться. Динамический доступ к данным реализуется посредством удаленных транзакций и запросов. Их число должно быть невелико, иначе снизится производительность системы.

3. Технология «клиент-сервер», ориентированная на локальную вычислительную сеть. Единственный сервер обеспечивает доступ к базе. Клиент формирует процесс, отвечающий за содержательную обработку данных, их представление и логический доступ к базе. Доступ к базе данных замедлен, так как клиент и сервер связаны через локальную сеть.

4. Технология «клиент-сервер», ориентированная на изменения данных в одном месте. Удаленные серверы не связаны между собой сетью ЭВМ, т.е. отсутствует сервер-координатор. Клиент может изменять данные только в своей локальной базе. Возникает опасность «смертельных объятий», т.е. ситуация, когда задача А ждет записи, заблокированные задачей В, а задача В ждет записи, заблокированные задачей А. Поэтому распределенная СУБД должна иметь средство контроля совпадений противоречивых запросов. Распределение данных реализует метод расчленения; реализуется обработка распределенной транзакции.

5. Технология «клиент-сервер», ориентированная на изменение дан­ных в нескольких местах. В отличие от предыдущей технологии здесь име­ется сервер-координатор, поддерживающий протокол передачи данных между различными серверами. Возможна обработка распределенных тран­закций в разных удаленных серверах. Это создает предпосылки разработки распределенной СУБД. Реализуется стратегия смешанного распределения путем передачи копий с помощью сетевой СУБД.

6. Технология «клиент-сервер», ориентированная на сетевую СУБД. Обеспечивает стратегию расчленения и дублирования. Позволяет получить более быстрый доступ к данным. Распределенная СУБД обеспечивает не­зависимость клиента от места размещения сервера, глобальную оптимиза­цию, распределенный контроль целостности базы, распределенное адми­нистративное управление.

Во всех технологиях существуют два способа связи прикладных программ клиента и сервера баз данных: прямой и непрямой. При прямом соединении прикладная программа клиента связывает­ся непосредственно с сервером базы данных, а при непрямом – доступ к удаленному серверу обеспечивается средствами локальной базы. Возможно объединение обоих способов.

Преимущества технологии «клиент-сервер»:

ü не требуются одновременные крупные финансовые вложения, так как мощность можно наращивать постепенно;

ü добавление сервера или рабочей станции повышает общую мощность системы;

ü пользователь имеет большой выбор платформ;

ü технология «клиент-сервер» имеет большую гибкость и производительность при построении многоуровневых информационных систем.

Использование технологии «клиент-сервер» позволяет перенести часть работы с сервера баз данных на ЭВМ клиента, оснащенную инстру­ментальными средствами для выполнения его профессиональных обязан­ностей. Тем самым данная технология позволяет независимо наращивать возможности сервера баз данных и инструментальные средства клиента. Недостаток технологии «клиент-сервер» заключается в повышении требо­ваний к производительности ЭВМ-сервера, в усложнении управления вычислительной сетью, кроме того, при отсутствии сетевой СУБД трудно ор­ганизовать распределенную обработку.

Под платформой сервера баз данных понимают возможности опе­рационной системы компьютера и сетевой операционной системы (ОС). Каждый сервер баз данных может работать на определенном типе компью­тера и сетевой ОС. Операционные системы серверов – это DOS версии выше 5.0, Unix, Windows NT, OS/2 и др. В настоящее время наиболее употребительными являются около десяти серверов. Наиболее популярными из них являются Microsoft SQL-server 6.5, SQLbase-server, Oracle-server и др.

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

ü управление распределенными системами очень сложно, и инструментов для него катастрофически не хватает;

ü сложные распределенные решения обходятся дороже, чем планировалось;

ü производительность многих приложений в распределенных системах недостаточна;

ü усложнилось решение проблем безопасности данных.

Решением этих проблем становится возврат к централизованной об­работке на базе больших ЭВМ, называемых мэйнфреймами третьего поко­ления. Новое семейство CMOS-мэйнфреймов IBM S/390 Parallel Enterprise Server – Generation 3 с воздушным охлаждением конкурентно по цене и производительности Unix/RISC-серверам. Оперативная память мэйнфрей­мов от 512 Мбайтов до 8 Гбайт. Они имеют от 3 до 25 каналов. Внутреннее дисковое устройство может иметь суммарную емкость от 18 до 288 Гбайт. Операционная система OS/390 версия 2 поддерживает реляционную СУБД ДВ2, систему обеспечения транзакций CICS и серверы безопасности, отве­чающие стандартам DCE Security Server OSF 1.1 и RACF V2R2. Посредст­вом Web-сервера можно подключаться к сети Internet и вести коммерче­скую деятельность. Операционная система OS/390 имеет средства работы с Java-приложениями.

Компания Oracle совместно с Hewlett-Packard и ЕМС предложила другое решение. Для хранения данных предназначены направляемые дис­ковые подсистемы Integrated Cached Disk Array ЕМС Symmetrix 3500, рабо­тающие под управлением операционной системы HP-UX 100. Суммарная информационная емкость таких систем от 500 Гбайт до 1 Тбайт. Такие системы являются основой для создания информационных хранилищ.