Возможна и смешанная организация хранения данных, которая объединяет два способа распределения: разбиение и дублирование (Рис. 4.4), приобретая при этом и преимущества, и недостатки обоих способов.
Появляется необходимость хранить информацию о том, где находятся данные в сети. При этом достигается компромисс между объемом памяти под базу в целом и под базу в ка-ждом сервере, чтобы обеспечить надежность и эффективность ее работы; легко реализуется параллельная обработка, т.е. обслуживание распределенного запроса, или транзакции.
Несмотря на гибкость смешанного способа организации данных, остается проблема взаимозависимости факторов, влияющих на производительность системы, проблема ее на-дежности и выполнения требований к памяти. Смешанный способ организации данных мож-но использовать лишь при наличии сетевой СУБД.
В базах данных коллективного пользования центральным технологическим звеном ста-новятся серверы баз данных.
БД AC | |||||||
Клиент А | |||||||
Клиент B | Клиент C | Клиент D | |||||
БД AB БД CD БД BD
Рис. 4.4. Смешанная организация данных
Программные средства серверов баз данных обеспечивают реализацию многопользова-тельских приложений, централизованное хранение, целостность и безопасность данных.
Производительность серверов баз данных на порядок выше по сравнению с файл-серверами, которые используются в локальных сетях.
Локальные вычислительные сети создавались для совместного использования дорого-стоящего периферийного оборудования. Использование сервера баз данных обеспечило дос-туп многих пользователей к одним и тем же файлам. Это и стало предпосылкой создания се-тевых СУБД.
Мощность сетевых СУБД, основанных на файл-сервере, в настоящее время недоста-точна. В нагруженной сети неизбежно падает производительность, нарушаются безопасность
и целостность данных. Проблема производительности возникла не потому, что процессоры 386нс обладают достаточной мощностью, а потому что файл-серверы реализуют принцип «все или ничего». Полные копии файлов базы перемещаются взад-вперед по сети. Проблемы с безопасностью, целостностью возникли из-за того, что с самого начала файл-серверы не были сконструированы с учетом сохранения целостности данных и их восстановления в слу-чае аварии.
Глава 4.2. ТЕХНОЛОГИИ «КЛИЕНТ-СЕРВЕР»
4.2.1. Характеристика технологии «клиент-сервер»
«Клиент-сервер» - это модель взаимодействия компьютеров в сети.
Как правило, компьютеры в такой конфигурации не являются равноправными. Каждый из них имеет свое, отличное от других, назначение, играет свою роль.
Некоторые компьютеры в сети владеют и распоряжаются информационно-
вычислительными ресурсами, такими, как процессоры, файловая система, почтовая служба, служба печати, базы данных. Другие же компьютеры имеют возможность обращаться к этим службам, пользуясь услугами первых.
Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса, а компьютер, желающий им воспользоваться — клиентом (Рис. 4.5).
Конкретный сервер определяется видом ресурса, которым он владеет. Так, если ресур-сом являются базы данных, то речь идет о сервере баз данных, назначение которо-го - обслуживать запросы клиентов, связанные с обработкой данных в базах; если ре-сурс - файловая система, то говорят о файловом сервере, или файл-сервере, и т.д.
В сети один и тот же компьютер может выполнять роль как клиента, так и сервера (Рис. 4.6). Например, в информационной системе, включающей персональные компьютеры, боль-шую ЭВМ и мини-компьютер, последний может выступать как в качестве сервера базы дан-ных, обслуживая запросы от клиентов - персональных компьютеров, так и в качестве клиен-та, направляя запросы большой ЭВМ.
Сервер | Программный | Сервер баз | |
сервер | |||
безопасности | данных | ||
Сервер | Сервер | ||
печати | печати | ||
Сервер баз | Сервер | ||
данных | безопасности |
СЕРВЕР
Клиент 1 |
Клиент 2 |
Клиент 3 |
Клиент 3 |
Рис. 4.5. Модель «клиент-сервер»
Этот же принцип распространяется и на взаимодействие программ. Если одна из них выполняет некоторые функции, предоставляя другим соответствующий набор услуг, то такая программа выступает в качестве сервера. Программы, которые пользуются этими услугами,
принято называть клиентами.
Обработка информации данных строится на использовании технологии баз и банков данных. В базе информация организована по определенным правилам и представляет собой интегрированную совокупность взаимосвязанных данных. Такая технология обеспечивает увеличение скорости их обработки при больших объемах.
ЦЕНТРАЛЬНЫЙ
СЕРВЕР
Локальный | … | Локальный | ||||||||||||||||||||||
сервер 1 | сервер n | |||||||||||||||||||||||
ЛВС 1 | ||||||||||||||||||||||||
ЛВС n | ||||||||||||||||||||||||
… …
Рабочие станции клиентов
Рис. 4.6. Трехуровневая модель «клиент-сервер»
Обработка данных на внутримашинном уровне представляет собой процесс выполне-ния последовательности операций, задаваемых алгоритмом. Технология обработки прошла длинный путь развития.
Сегодня обработка данных осуществляется компьютерами или их системами. Данные обрабатываются прикладными программами пользователей.
Первостепенное значение в системах управления организациями имеет обработка дан-ных для нужд пользователей, и в первую очередь для пользователей верхнего уровня.
В процессе эволюции информационных технологий заметно стремление упростить и удешевить для пользователей компьютеры, их программное оснащение и процессы, выпол-няемые на них.
Одновременно с этим пользователи получают все более широкий и сложный сервис со стороны вычислительных систем и сетей, что приводит к появлению технологий, получив-ших название клиент-сервер.
Ограничение числа сложных абонентских систем в локальной сети приводит к появле-нию компьютеров в роли сервера и клиента.
Реализация технологий «клиент-сервер» может иметь различия в эффективности и стоимости информационно -вычислительных процессов, а также в уровнях программного и технического обеспечения, в механизме связей компонентов, в оперативности доступа к ин-формации, ее многообразии и т.д.
Получение разнообразного и сложного сервиса, организованного в сервере, делает ра-боту пользователей более производительной и стоит пользователям дешевле, чем сложное программно-техническое оснащение многих компьютеров-клиентов.
Технология клиент-сервер, как более мощная, заменила технологию файл-сервер. Она позволила совместить достоинства однопользовательских систем (высокий уровень диалого-вой поддержки, дружественный интерфейс, низкая цена) с достоинствами более крупных компьютерных систем (поддержка целостности, защита данных, многозадачность).
В классическом понимании СУБД представляет собой набор программ, позволяющих создавать и поддерживать базу данных в актуальном состоянии. Функционально СУБД со-стоит из трех частей: ядра (базы данных), языка и инструментальных средств программиро-вания.
Инструментальные средства программирования относятся к интерфейсу клиента, или внешнему интерфейсу. Они могут включать процессор обработки данных на языке запросов. Язык — это совокупность процедурных и непроцедурных команд, поддерживаемых СУБД. Наиболее употребительными языками являются SQL и QBE. Ядро выполняет все остальные функции, которые, включены в понятие «обработка базы данных».
Основная идея технологии клиент-сервер заключается в том, чтобы серверы располо-жить на мощных машинах, а приложения клиентов, использующих язык, — на менее мощ-ных машинах. Тем самым будут задействованы ресурсы более мощного сервера и менее мощных машин клиентов.
Ввод-вывод к базе основан не на физическом дроблении данных, а на логическом, т.е. сервер отправляет клиентам не полную копию базы, а только логически необходимые пор-ции, тем самым сокращая трафик сети.
Трафик сети —это поток сообщений сети.В технологии клиент-сервер программыклиента и его запросы хранятся отдельно от СУБД.
Сервер обрабатывает запросы клиентов, выбирает необходимые данные из базы дан-ных, посылает их клиентам по сети, производит обновление информации, обеспечивает це-лостность и сохранность данных.
Основные достоинства систем «клиент-сервер» состоят в следующем:
низкая нагрузка на сеть (рабочая станция посылает серверу базы данных запрос на поиск определенных данных, сервер сам осуществляет поиск и возвращает по сети только результат обработки запроса, т.е. одну или несколько записей);
высокая надежность (СУБД, основанные на технологии «клиент-сервер», поддержи-вают целостность транзакций и автоматическое восстановление при сбое);
гибкая настройка уровня прав пользователей (одним пользователям можно назна-чить только просмотр данных, другим просмотр и редактирование, третьи вообще не увидят каких-либо данных);
поддержка полей больших размеров (поддерживаются типы данных размер которых может измеряться сотнями килобайт и мегабайт).
Однако системам «клиент-сервер» присущи также и недостатки:
трудность администрирования, вследствие территориальной разобщенности и неоднородности компьютеров на рабочих местах;
недостаточная степень защиты информации от несанкционированных действий;
закрытый протокол для общения клиентов и сервера, специфичный для данной ин-формационной системы.
Для устранения указанных недостатков используется архитектура систем Интранет, сконцентрировавших и объединивших в себе лучшие качества централизованных систем и традиционных систем «клиент-сервер».