- •Межрегиональный открытый социальный институт
- •Содержание
- •Примечание! 108
- •2. Цели и задачи дисциплины, ее место в учебном процессе
- •1.1. Цели и задачи дисциплины
- •1.2. Место дисциплины в учебном процессе
- •1.3. Итоговый контроль знаний по курсу
- •3. Содержание дисциплины
- •План занятий
- •3. Содержание дисциплины
- •План занятий
- •Наименование и краткое содержание лекций
- •Тема 2. Администрация базы данных.
- •Тема 3. Взаимодействие компонентов системы Баз данных.
- •Тема 4. Классификация субд.
- •Тема 5. Модели данных.
- •Тема 6. Уровни моделирования предметной области.
- •Тема 7. Концептуальное проектирование баз данных
- •Тема 9. Требования к распределенным базам данных
- •Тема 10. Транзакции.
- •Конспект лекций
- •Тема 2. Администрация базы данных
- •Тема 3. Взаимодействие компонентов системы баз данных
- •Тема 4. Классификация субд
- •Тема 5. Модели данных
- •5.1. Основные понятия реляционной модели данных
- •5.2. Целостность реляционных данных
- •5.3. Операции над отношениями
- •5.4. Нормализация баз данных
- •Тема 6. Уровни моделирования предметной области
- •Тема 7. Концептуальное проектирование баз данных
- •7.1.Даталогическое проектирование
- •7.2. Физические модели
- •Тема 8. Case-средства разработки баз данных
- •8.1. Пример нотации er-модели – метод idef1x
- •Тема 9. Требования к распределенным базам данных
- •9.1. Базовые архитектуры распределенной обработки
- •Сервер бд
- •Тема 10. Транзакции
- •Тема 11. Проблема сжатия больших информационных массивов.
- •Тема 11. Фракталы и Фрактальные методы архивации
- •2. Математические основы фрактального сжатия
- •3. Типовая схема фрактального сжатия
- •Методические рекомендации для выполнения лабораторных работ
- •Создание таблицы в режиме таблицы и определение свойств для полей таблицы
- •Импорт таблиц. Работа с мастером подстановок
- •Создание связей между таблицами
- •Ввод и просмотр данных в режиме таблицы
- •Заполните таблицу Продажи товаров, рис. 5.11
- •Создание формы базы данных с помощью мастера
- •Работа с конструктором форм. Элементы управления
- •Создание подчиненной формы
- •Оформление формы
- •Создание простого запроса на выборку
- •Задание нескольких условий отбора в запросе
- •Создание вычисляемого поля в запросе
- •Групповые расчеты в запросе
- •Создание запроса на удаление
- •Создание запроса на обновление
- •Создание запроса на создание таблицы
- •Создание отчета базы данных с помощью мастера
- •Просмотр и печать отчета
- •Создание макроса
- •Тестовая база
- •Ответы:
- •Глоссарий
9.1. Базовые архитектуры распределенной обработки
Поспособу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом.
Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:
Взаимодействие пользователя с БД строится на основе модели «клиент – сервер». Клиентская часть отвечает за целевую обработку данных и организацию взаимодействия с пользователем. Серверная часть обеспечивает хранение данных, обрабатывает запросы и посылает результаты клиенту для специальной обработки. В общем случае эти части функционируют на отдельных компьютерах, т. е. к серверу БД с помощью сети подключены компьютеры клиентов.
Разделение процесса на клиентскую и серверную компоненты позволяет:
одновременно использовать БД различным прикладным программам;
централизовать функции управления, такие как защита информации, обеспечение целостности данных, управление совместным использованием ресурсов;
обеспечивать параллельную обработку запроса в распределенных БД;
высвобождать ресурсы рабочих станций и сети;
повышать эффективность управления данными за счет использования специальных серверов баз данных.
В архитектуре «файл-сервер»(рис. 38) средства организации и управления БД (в том числе СУБД) располагаются на машине клиента, а БД, представляющая собой набор специализированных файлов, – на машине-сервере.
Рисунок 37. Схема обработки информации в БД по принципу файл-сервер
Архитектура систем БД с сетевым доступом предполагает выделение одной из машин сети в качестве центральной (сервер файлов).
На такой машине хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций.
Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка.
Пользователи могут создавать также на рабочих станциях локальные БД, которые используются ими монопольно.
Недостатки архитектуры:
высокая загрузка сети и машин-клиентов, так как обмен идет на уровне единиц информации файловой системы (физических записей, блоков, файлов);
низкий уровень защиты данных, так как доступ к файлам БД управляется общими средствами ОС сервера;
бизнес-правила функциональной обработки, сосредоточенные в клиентской части, могут быть противоречивыми.
Для схемы характерно наибольшее суммарное время обработки информации.
В архитектуре«выделенный сервер базы данных»(рис. 39) средства управления базой данных и база данных размещены на машине-сервере (DB-сервер).
Сервер бд
- хранение данных
- основная обработка данных
- частичная обработка данных
Рабочие станции
Рисунок 38 . Схема обработки информации в БД по принципу клиент-сервер
В этой концепции подразумевается, что помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных.
Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере.
Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту.
Спецификой архитектуры клиент-сервер является использование языка запросов SQL.
Достоинства архитектуры:
снижение нагрузки на машины сервера и клиентов;
снижение сетевого трафика и повышение эффективности обработки за счет оптимизации и буферизации ввода-вывода;
защита данных средствами СУБД, позволяющая блокировать не разрешенные пользователю действия;
сервер реализует управление транзакциями и может блокировать попытки одновременного изменения одних и тех же записей.
Недостатки архитектуры:
бизнес-логика функциональной обработки и представление данных могут быть одинаковыми для нескольких клиентских приложений, что увеличивает потребности в ресурсах (повторение кода программ и запросов);
бизнес-правила функциональной обработки, сосредоточенные на клиентской части, могут быть противоречивыми.
В архитектуре «активный сервер баз данных»(рис. 40) непротиворечивость бизнес-логики контролируется на стороне сервера. Функции бизнес-логики разделяются между клиентской и серверной частями. Общие функции оформляются в видехранимых процедур. Вводится механизмтриггеров, отслеживающих события БД. При возникновении события (обычно изменения данных) выполняется оператор SQL или вызывается хранимая процедура, связанная с триггером.
Рисунок 39. Архитектура «активный сервер баз данных»
Хранимые процедуры и триггеры могут быть использованы любыми клиентскими приложениями, работающими с БД. Это снижает дублирование программных кодов и исключает необходимость компиляции каждого запроса. Недостатком архитектуры становится возрастающая загрузка сервера.
Такую архитектуру иногда называют моделью с тонким клиентом,в отличие от предыдущих архитектур, называемыхмоделью с толстым клиентом, где на стороне клиента выполняется большинство функций.
Дальнейшее снижение уровня требований к ресурсам клиента достигается за счет введения сервера приложений,на который переносится значительная часть программных компонентов управления данными и большая часть бизнес-логики. При этом серверы БД обеспечивают исключительно функции СУБД (рис. 41).
Клиент
Сервер БД
Сервер приложений
Представление данных
Функциональная обработка
Управление данными
Бизнес-логика
БД
СУБД
Рисунок 40. Трехзвенная архитектура сервера приложений
Связь клиентских рабочих станций с прикладными программами на сервере приложений устанавливается через интерфейс API (Application Programming Interface). Работа клиентской части сводится к вызову функций сервера приложений. Прикладные программы обращаются к серверу БД с помощью SQL-запросов.
К достоинствам трехзвенной архитектуры относятся:
многократное использование общих функций обработки данных в множестве клиентских приложений;
централизованное ведение бизнес-логики (при внесении изменений их не нужно тиражировать в клиентских приложениях);
на клиентских машинах не следует устанавливать компоненту программного обеспечения управления доступом к данным;
оптимизация доступа к БД (диспетчеризация запросов выполняется сервером приложений);
возможность отложенного обновления БД при изменении данных в автономном режиме (данные будут обновлены в БД при следующем соединении);
повышение скорости и надежности за счет дублирования ПО на нескольких серверах приложений, которые могут заменять друг друга;
перенос проверки полномочий пользователей с сервера БД на сервер приложений.
уменьшение мощности сервера приложений за счет параллельной работы сервера приложений и сервера БД.