|
Программирование >> Построение запросов sql
Эта условная классификация показывает, как могут быть распределены отдельные задачи между серверным и клиентским процессом. В соответствии с этим в любом приложении выделяются следующие логические компоненты [8]: - компонент представления, реализующий функции первой группы; - прикладной компонент, поддерживающий функции второй группы; - компонент доступа к информационным ресурсам, поддерживающий функции третьей группы, а также вводятся и уточняются соглашения о способах их взаимодействия (протокол взаимодействия). Различия в реализациях моделей обработки данных определяются четырьмя следующими факторами: - в какие виды программного обеспечения интегрированы каждый из этих компонентов; - какие механизмы программного обеспечения используются для реализации функций всех трех групп; - как логические компоненты распределяются между компьютерами в сети; - какие механизмы используются для связи компонентов между собой. Различают два основных типа архитектуры СУБД: архитектура файлового сервера и архитектура клиент-сервер . Модель файлового сервера (File Server - FS) является базовой для локальных сетей персональных компьютеров. Недавно она была, да и сейчас остается, популярной среди отечественных разработчиков, использовавших такие СУБД, как Foxpro, Clipper, Clarion, Paradox и т.д. Один из компьютеров в сети считается файловым сервером и предоставляет услуги по обработке файлов другим компьютерам. На клиентах (нескольких персональных компьютерах) выполняется как прикладная программа, так и копия СУБД. Когда прикладная программа обращается к базе данных, СУБД направляет запрос на файловый сервер на операции дискового ввода-вывода. В этом запросе указаны файлы, где находятся запрашиваемые данные. В ответ на запрос файловый сервер направляет по сети требуемые блоки данных. СУБД, получив его, выполняет над данными действия, которые были декларированы в прикладной программе. Таким образом, организация и управление БД целиком ложатся на клиентов, а сама БД представляет собой набор файлов в одном или нескольких каталогах на сетевом сервере. К технологическим недостаткам модели относят следующие [7]: - высокая загрузка сети (высокий сетевой трафик) из-за передачи множества файлов, необходимых приложению, и, как следствие, увеличение требований к аппаратным мощностям пользовательского компьютера; - узкий спектр операций манипуляции с данными ( данные - это файлы ); - отсутствие надежных средств обеспечения безопасности доступа к данным (защита самой операционной системы только на уровне файловой системы); - управление параллельностью, восстановлением и целостностью усложняется, так как доступ к одним и тем же файлам могут осуществлять сразу несколько экземпляров СУБД. Архитектура клиент-сервер была разработана с целью устранения недостатков, имеющихся в модели файлового сервера. Клиент-сервер - это модель взаимодействия компьютеров в сети. Существуют два варианта архитектуры клиент-сервер : традиционная двухуровневая и трехуровневая, более пригодная для работы в среде Web. На рис. 1.7 представлена общая схема построения систем с двухуровневой архитектурой клиент-сервер . Клиент2 Возвращаемые результаты запроса Сервер с СУБД Рис. 1.7. Общая схема построения систем с двухуровневой архитектурой клиент-сервер Исторически первая клиент-серверная система получила название модель доступа к удаленным данным (Remote Data Access - RDA){7]. RDA-модель часто называют клиент-серверной архитектурой с толстым клиентом, поскольку в ее клиентском приложении объединены компонент представления и прикладной компонент. Модель доступа к удаленным данным представлена на рис. 1.8. В RDA-модели имеется сервер баз данных. Программы компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте. Клиент поддерживает как функции ввода и отображения данных, так и чисто прикладные функции. Доступ к информационным ресурсам обеспечивается либо операторами специального языка (например, языка SQL для баз данных), либо вызовами функций специальной библиотеки (если имеется соответствующий интерфейс прикладного программирования -API). Клиент направляет запросы к информационным ресурсам по сети удаленному компьютеру. На нем функционирует ядро СУБД. Оно обрабатывает запросы, выполняет предписанные в них действия и возвращает клиенту результат, оформленный как блок данных (рис. 1.8). При этом инициатором манипуляций с данными выступают программы, выполняющиеся на компьютерах-клиентах. Ядру СУБД отводится пассивная роль -обслуживание запросов и обработка данных. Первый уровень Клиент Данные Второй уровень Сервер базы данных Компонент представления Прикладной компонент Компонент доступа к ресурсам Рис. 1.8. Модель доступа к удаленным данным RDA-модель избавляет от недостатков, присущих как системам с централизованной архитектурой, так и системам с файловым сервером [7]. Во-первых, перенос компонента представления и прикладного компонента на компьютеры-клиенты существенно разгружает сервер БД, сводя к минимуму общее число процессов операционной системы. Сервер БД освобождается от несвойственных ему функций. Во-вторых, процессор или процессоры сервера целиком загружаются операциями обработки данных, запросов и транзакций. Это становится возможным благодаря отказу от терминалов и оснащению рабочих мест компьютерами, которые обладают собственными локальными вычислительными ресурсами, полностью используемыми программами переднего плана. В-третьих, резко уменьшается загрузка сети, так как по ней передаются от клиента к серверу не запросы на ввод-вывод (как в системах с файловым сервером), а запросы на языке SQL, их объем существенно меньше.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |