Архитектура файл/сервер. Обработка запросов в ней. Причины неэффективности архитектуры файл/сервес. Настольные СУБД, их достоинства и недостатки

Сетевые версии настольных СУБД отличаются от локальных версий тем, что они обладают некоторыми специальными механизмами, позволяющими многим пользователям совместно обращаться к общим ресурсам данных из централизованной базы данных. СУБД на каждой рабочей станции посылает запросы файловому серверу по всем необходимым ей данным, которые хранятся на диске файлового сервера. Все данные из БД пересылаются на компьютер пользователя, независимо от того, сколько реально их нужно для выполнения запроса. В результате на компьютере пользователя создается локальная копия БД (время от времени обновляемая из реальной БД на сервере). Затем СУБД пользователя выполняет запрос. Недостатки: 1. при совместном использовании файлов по локальной сети передаются большие объемы данных. 2. системы с совместным использованием файлов редко используются для обработки больших объемов данных. 3. При такой архитектуре вся тяжесть выполнения запроса к БД и управления целостностью БД ложится на СУБД пользователя. 4. На каждой рабочей станции должна находиться сама сетевая версия настольной СУБД, что требует наличия больших объемов оперативной памяти на компьютере пользователя. 5. Доступ к одним и тем же файлам могут осуществлять сразу несколько пользователей, что усложняет управление целостностью, восстановлением БД на сервере.

Настольные СУБД используют в модели вычислений с сетью и файловым сервером (архитектура «файл-сервер»).

Достоинства настольных СУБД:

•они являются простыми для освоения и использования;

•обладают дружественным пользовательским интерфейсом;

•ориентированы на класс ПК, на самую широкую категорию пользователей – непрофессионалов;

•обеспечивают хорошее быстродействие при работе с небольшими БД.

Недостатки настольных СУБД:

•при росте объемов хранимых данных и увеличении числа пользователей снижается их производительность и могут возникать сбои при обработке данных;

•контроль за целостностью совершается внутри пользовательского приложения, что может вызывать нарушение целостности данных;

•очень малая эффективность работы в компьютерной сети.

Известно более десятка настольных СУБД. Наиболее популярными, исходя из числа проданных копий признаются DBASE, Visual DBASE, Paradox, Microsoft FoxPro, Visual FoxPro, Access.

68. Клиент/серверные системы: клиенты, серверы, клиентские приложения, серверы баз данных

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

46.Клиент/серверные системы: клиентские приложения, серверы БД. Выполнение запросов в архитектуре клиент/сервер. Преимущества клиент/серверной обработки. Характеристики серверов БД.

В архитектуре клиент/сервер функции клиентского приложения и серверной СУБД разделены. Функции клиентского приложения разбиваются на следующие группы:

•ввод-вывод данных (презентационная логика) – это часть кода клиентского приложения, которая определяет, что пользователь видит на экране, когда работает с приложением;

•бизнес-логика – это часть кода клиентского приложения, которая определяет алгоритм решения конкретных задач приложения;

•обработка данных внутри приложения (логика базы данных) – это часть кода клиентского приложения, которая связывает данные сервера с приложением. Для этой связи используется процедурный язык запросов SQL, с помощью которого осуществляется выборка и модификация данных в серверных СУБД.

Сервер баз данных в общем случае осуществляет целый комплекс действий по управлению данными. Основными среди них являются следующие:

•выполнение пользовательских запросов на выбор и модификацию данных и метаданных, получаемых от клиентских приложений, функционирующих на ПК локальной сети;

•хранение и резервное копирование данных;

•поддержка ссылочной целостности данных согласно определенным в БД правилам;

•обеспечение авторизованного доступа к данным на основе проверки прав и привилегий пользователя;

•протоколирование операций и ведение журнала транзакций.

Преимущества клиент/серверной обработки:

•уменьшается сетевой трафик, так как через сеть передаются только результаты запросов.

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

•поскольку серверы способны хранить большое количество данных, то на компьютерах-клиентах освобождается значительный объем дискового пространства для других приложений.

•повышается уровень непротиворечивости данных и существенно повышается степень безопасности БД, так как правила целостности данных определяются в серверной СУБД и являются едиными для всех приложений, использующих эту БД.

•имеется возможность хранения бизнес-правил (например, правил ссылочной целостности или ограничений на значения данных) на сервере, что позволяет избежать дублирования кода в различных клиентских приложениях, использующих общую базу данных.

Характеристики серверов баз данных

Современные серверные СУБД:

•существуют в нескольких версиях для различных платформ, как правило, для различных коммерческих версий UNIX – Solaris, HP/UX. Многие производители также выпускают версии своих серверов баз данных для Windows NT Workstation Windows 95/98, а также версии для Linux;

•в большинстве случаев поставляются с удобными административными утилитами;

•осуществляют резервное копирование и архивацию данных и журналов транзакций;

•поддерживают несколько сценариев репликаций;

•позволяют осуществлять параллельную обработку данных в многопроцессорных системах. Серверы, допускающие параллельную обработку, разрешают нескольким процессорам обращаться к одной БД, что обеспечивает высокую скорость обработки транзакций;

•поддерживают создание хранилищ данных и OLAP. Хранилище данных – это совокупность данных, полученных прямо или косвенно их информационных систем, которые содержат текущую и деловую информацию, а также из некоторых внешних источников.

•выполняют распределенные запросы и транзакции;

•дают возможность использовать различные средства проектирования схем данных – универсальные или ориентированные на конкретную СУБД;

•имеют средства разработки клиентских приложений и генераторы отчетов;

•поддерживают публикацию баз данных в Интернет;

•обладают широкими возможностями управления пользовательскими привилегиями и правами доступа к различным объектам БД.

К современным серверам баз данных относятся Oracle 9 (Oracle), MS SQL Server 2000 (MS), Informix (Informix), Sybase (Sybase), Db2 (IBM).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: