- •8. Распределенные базы данных
- •8.1.Предпосылки возникновения рбд
- •8.2. Классификация систем по способам обработки данных
- •8.3. Однородные и неоднородные системы бд
- •8.4. Стратегия размещения данных в рбд по узлам сети
- •Функции сурбд
- •9. Удаленный доступ взаимодействия с базой данных
- •9.1. Режим работы с бд при удаленном доступе
- •9.2. Архитектура моделей удалённого доступа.
- •2.2.3. Двухуровневые модели. Модель файлового сервера (File Server, fs)
- •9.2.4. Модели удалённого доступа к данным (Remote Data Access, rda) в архитектуре «клиент-сервер»
- •9.2.5. Модель «сервера бд»
- •9.2.6. Хранимые процедуры (хп) и триггеры
- •9.3. Многоуровневые модели 9.3.1. Модель сервера приложений
- •9.3.2. Модель серверов баз данных.
- •9.4. Архитектура распределённых субд
- •10 .Параллельные процессы (или процесс транзакций)
- •10.1. Транзакции
- •10.2. Модели транзакций
- •3.3. Свойства транзакций
- •10.4. Восстановление системы.
- •10.5. Параллельные операции над бд
- •10.6. Проблемы параллелизма
- •10.7. Конфликт транзакций
- •10.8. Элементы блокировки.
- •10.8.1. Бесконечное ожидание и тупики
- •10.8.2. Способы предотвращения тупиков
- •10.9.1. Протоколы и расписания
- •10.9.2. Модель транзакции
- •10.9.3. Протокол, гарантирующий сериализуемость
- •10.10. Модели с блокировками для чтения и записи
- •10.11. Блокировки в Visual FoxPro
- •11. Безопасность бд
- •11.2. Система привилегий.
- •Факультативные возможности grant
- •11.3. Целостность данных
- •11.4. Шифрование данных
- •12. Хранилище данных
- •12.1. Концепция хранилища данных
- •12.2. Многомерная модель данных
- •12.3. Olap – системы
- •12.4. Интеллектуальный анализ данных
Функции сурбд
1. Автоматическое определение ЭВМ, на которой хранятся требуемые в запросе данные;
2. Декомпозиция общего запроса на частные подзапросы к БД;
3. Планирование обработки запросов; 4. Передача частных подзапросов и их исполнение на удалённых ЭВМ;
5. Поддержание копий дублированных данных;
6. Управление параллельным доступом к РБД многих пользователей;
7. Обеспечение целостности РБД.
Вопросы
Назовите основные этапы развития баз данных.
Каковы отличительные черты настольных СУБД в эпоху персональных компьютеров.
Укажите отличительные особенности технологии распределенных баз данных.
В чем состоит удобство применения интранет - технологии.
Назовите имена полнофункциональных СУБД и серверов.
Какие существуют средства разработки программ для работы с БД.
С какой целью проводится фрагментация данных?
Назовите факторы, стимулирующие развитие распределенной обработки данных.
Дайте классификацию систем по способам обработки данных.
Укажите достоинства и недостатки централизованных систем.
Каковы преимущества расчлененных баз данных?
Укажите отличительные черты однородных и неоднородных БД.
С какой целью используются дифференциальные файлы.
Укажите достоинства и недостатки различных стратегий размещения данных.
9. Удаленный доступ взаимодействия с базой данных
9.1. Режим работы с бд при удаленном доступе
На рис.9.1 приведены режимы работы с базой данных при удаленном доступе. Параллельный доступ к одной БД нескольких пользователей в том случае, если БД расположена на одной машине, соответствует режиму распределённого доступа к централизованной БД. (Такие системы называются системами распределённой обработки данных).
Рис.9.1 Режимы работы с БД
Если же БД распределена по нескольким компьютерам, расположенным в сети, и к ней возможен параллельный доступ нескольких пользователей, то мы имеем дело с параллельным доступом к распределённой БД. Подобные системы называются системами распределения баз данных. В 90-х годах наметили переход от отдельных mainframe – систем к открытым распределённым системам. На первых порах при использовании модели «клиент-сервер» пользовательская программа не разделялась на части, она выполнялась некоторым монопольным блоком. Но при монопольном исполнении используются ресурсы только одного компьютера, а остальные компьютеры в сети рассматриваются как терминалы. Но теперь в отличие от эпохи майнфреймов при распределённой обработке используется архитектура «клиент-сервер».
Рис.9.2. Архитектура “клиент - сервер”
Сервер – это собственно СУБД. Он поддерживает все основные функции СУБД: определение данных, обработку данных, защиту и целостность данных. Клиент – это различные приложения, которые выполняются под СУБД. Приложения – это программы, написанные на языках программирования С, Pascal и т.д. Клиент и сервер запускаются на разных машинах.
Существуют 2 способа: 1. Клиент может получать доступ к любому количеству серверов, но лишь к одному в одно и то же время. При этом пользователь должен знать, на какой именно машине, какая часть данных содержится (рис. 9.3а).
2. Клиент может получать доступ к любому количеству серверов одновременно. В этом случае серверы рассматриваются клиентом как один (с логической точки зрения), и пользователь может не знать, на какой именно машине какая часть данных содержится (рис.9.3б).
а) б)
Рис.9.3. Модели взаимодействия “клиента” и “сервера”
Появилась возможность использовать ресурсы каждого компьютера в сети.
Основной принцип технологии «клиент-сервер» применительно к технологии баз данных заключается в разделении функций стандартного интерактивного приложения на 5 групп:
1. Функции ввода и отображения данных (Presentation Logic); 2. Функции решения задач приложения (Business Logic); 3. Функции обработки данных внутри приложения (Database Logic); 4. Функции управления информационными ресурсами (Database Manager System); (СУБД) (DBMS) 5. Служебные функции (для связывания первых 4-х групп). Структура типового приложения, работающего с БД представлена на рис.9.4.
Рис.9.4. Структура типового приложения “клиента”
Функции 1-й группы Presentation Logic: • формирование экранных изображений; • чтение и запись в экранные формы информации; • управление экраном; • обработка движений мыши и нажатия клавиш клавиатуры.
Бизнес-логика определяет алгоритм решения конкретных задач приложения. Обычно этот код пишется с использованием различных языков программирования, таких как C, C++, Cobol, Visual-Basic.
Логика обработки данных - связана с обработкой данных внутри приложения. Данными управляет собственно СУБД (DBMS). Для обеспечения доступа к данным используется язык запросов и средства манипулирования данными стандартного языка SQL. Обычно операторы языка SQL встраиваются в языки 3-го или 4-го поколения (3GL, 4GL), которые используются для написания кода приложения.