лекиця. Лекция_1. Лекция Архитектуры удаленных баз данных
Скачать 72.5 Kb.
|
Лекция 1. Архитектуры удаленных баз данных План лекции: а) Введение в дисциплину б) Терминология УБД в) Архитектура БД а) Во все времена перед человечеством стояла задача сохранения информации и получения своевременного доступа к ней. С развитием информационных систем получили свое развитие базы данных (БД). Database (база данных) упорядоченная информация с определенной структурой, предназначенная для использования с определенной целью. При работе с базой данных возникает необходимость в выполнении ряда операций с БД, в первую очередь это: добавление новой информации в существующие файлы БД; добавление новых пустых файлов в БД; изменение (модификация) информации в существующих файлах БД; поиск информации в БД; удаление информации из существующих файлов БД; удаление файлов из БД. Сервер БД - информационная система, осуществляющая работу с данными, регламентирующая доступ к ним и призванная обеспечить их сохранность при помощи резервирования. Сервер БД обслуживает базу данных и отвечает за целостность и сохранность данных, а также обеспечивает операции ввода-вывода при доступе клиента к информации. Модель "сервер базы данных" Модель "сервер базы данных" - архитектура вычислительной сети типа "клиент-сервер", в которой пользовательский интерфейс и логика приложений сосредоточены на машине-клиенте, а информационные функции (функции СУБД) - на сервере. Обычно клиентский процесс посылает запрос серверу на языке SQL. С сервером БД взаимодействуют программы, написанные сторонним разработчиком. Подобные приложения называются системами управления базой данных (СУБД). СУБД, взаимодействуя с сервером, получает возможность оперировать данными: добавлять, удалять, изменять и получать их по запросу пользователя. СУБД имеет интерфейс, регламентирующий в той или иной степени действия пользователя, выполняет обработку данных и создает на их основе различные отчеты. К функциям СУБД относят следующие: управление данными непосредственно в БД - функция, обеспечивающая хранение данных, непосредственно входящих в БД, и служебной информации, обеспечивающей работу СУБД; управление данными в памяти компьютера - функция, связанная в первую очередь с тем, что СУБД работают с БД большого размера. В целях ускорения работы СУБД используется буферизация данных в оперативной памяти компьютера. При этом пользователь СУБД использует только необходимую для его конкретной задачи часть БД, а при необходимости получает новую «порцию» данных; управление транзакциями - функция СУБД, которая производит ряд операций над БД, как над единым целым. Как правило, такие операции производятся в памяти компьютера. В первую очередь транзакции необходимы для поддержания логической целостности БД в многопользовательских системах. Если транзакция (манипуляция над данными) успешно выполняется, то БД вносит соответствующие изменения в БД. В обратном случае ни одно из сделанных изменений никак не влияет на состояние БД; управление изменениями в БД и протоколирование - функция, связанная с надежностью хранения данных, то есть возможностью СУБД восстанавливать состояние БД в аварийных ситуациях, пример, при случайном выключении питания или сбое носителя информации. Очевидно, что для восстановления БД нужно располагать дополнительной информацией, по которой и осуществляется восстановление. С этой целью ведется протокол изменений БД, в который перед манипуляциями с данными делается соответствующая запись. Для восстановления БД после сбоя СУБД используется протокол и архивная копия БД - полная копия БД к моменту начала заполнения протокола; поддержка языков БД - для работы с БД используются специальные языки, в целом называемые языками баз данных. В СУБД обычно поддерживается единый язык, содержащий все необходимые средства - от создания БД до обеспечения пользовательского интерфейса при работе с данными. Наиболее распространенным в настоящее время языком СУБД является язык SQL (Structured Query Language). Даже если БД используют несколько пользователей, они могут работать с БД только последовательно. Однако работа на изолированном ПК с небольшой БД в настоящий момент становится уже не характерной для большинства приложений. БД отражает информационную модель реальной ПО, она растет по объему, следовательно, резко увеличивается количество задач, решаемых с помощью этой БД и в соответствии с этим увеличивается количество приложений, работающих с единой БД. ПК объединяются в локальные сети и необходимость распределения приложений, работающих с единой БД по сети, является несомненной. Параллельный доступ к одной БД нескольких пользователей, в том случае, если БД расположена на одной машине, соответствует режиму распределенного доступа к центральной БД. Такие системы называются системами распределенной обработки данных. Если же БД расположена на нескольких ПК, распределенных в сети, и к ней возможен параллельный доступ нескольких пользователей, то мы имеем дело с параллельным доступом к распределенным БД. Такие системы называются системами распределенных (удаленных) баз данных. В зависимости от расположения СУБД различают локальные и распределенные системы. Все компоненты локальной СУБД, то есть сам сервер и таблицы с данными, расположены на машине конечного пользователя. В случае распределенной системы на машине конечного пользователя располагается только клиентская программа, которая взаимодействует с сервером БД по сети. Базы данных могут иметь многозвенную архитектуру. Чаще всего это двух и трехзвенные СУБД. При использовании трехзвенной СУБД клиентское приложение взаимодействует с промежуточной программой - сервером приложения. Сервер приложения осуществляет обмен данными с сервером БД, получает от него данные, обрабатывает их и передает клиенту. Таким образом, вся вычислительная нагрузка ложится на сервер приложения, а клиент становиться очень «легким», так как получает только запрошенные данные. Примером легкого клиента может служить интернет-браузер. При работе с веб-приложениями пользователь выбирает ссылку в браузере и получает связанный с ней документ. Распределенные СУБД в общем случае могут быть как двухзвенными, так и трехзвенными. в) Архитектуры БД: локальная; файл-сервер; клиент-сервер; понятие многозвенной архитектуры (клиент-сервер с "толстым " и "тонким" клиентом); многопользовательские (промышленные) СУБД. Локальная (персональная) архитектура СУБД означает, что БД и СУБД располагаются на одном и том же локальном компьютере. Архитектура "файл-сервер" также является локальной, т.к. предназначена для локальной сети, включает приложение и СУБД, расположенные на компьютере пользователя, и файл БД, находящийся на локальном сервере. Многозвенная архитектура "клиент-сервер" предполагает разбиение приложения-клиента на два звена: "тонкий" клиент, располагающийся на компьютере пользователя, и сервер приложений, находящийся на удаленном сервере, УБД и СУБД по-прежнему располагаются на удаленном компьютере. В случае немногозвенной архитектуры "клиент-сервер" клиент называется "толстым", так как он содержит в себе все функции по обработке БД. Архитектура "клиент-сервер" предназначена для работы с удаленными БД, состоит из приложения клиента, расположенного на компьютере пользователя, а также удаленной БД и СУБД, располагающихся на удаленном компьютере в глобальной сети (сервере). Архитектура "клиент-сервер" может быть использована и в пределах локальной сети. Удаленные БД называют также многопользовательскими. СУБД в архитектурах "клиент-сервер" и "файл-сервер" позволяют работать с БД одновременно нескольким пользователям. БД архитектуры "клиент-сервер" позволяют работать одновременно многим пользователям и предназначены для обработки информации большого объема, поэтому их называют также "промышленными". .Все архитектуры БД имеют свои достоинства и недостатки. 1. Локальная Локальная (персональная) архитектура СУБД означает, что БД и СУБД располагаются на одном и том же локальном компьютере. 2. Архитектура "файл-сервер" Архитектура "файл-сервер" также является локальной, т.к. предназначена для локальной сети, включает приложение и СУБД, расположенные на компьютере пользователя, и файл БД, находящийся на локальном сервере. 3. Архитектура удаленных БД ("клиент-сервер") Архитектура "клиент-сервер" предназначена для работы с удаленными БД, состоит из приложения клиента, расположенного на компьютере пользователя, а также удаленной БД и СУБД, располагающихся на удаленном компьютере в глобальной сети (сервере). Архитектура "клиент-сервер" может быть использована и в пределах локальной сети. Удаленные БД называют также многопользовательскими. СУБД в архитектурах "клиент-сервер" и "файл-сервер" позволяют работать с БД одновременно нескольким пользователям. БД архитектуры "клиент-сервер" позволяют работать одновременно многим пользователям и предназначены для обработки информации большого объема, поэтому их называют также "промышленными". Достоинства и недостатки различных архитектур приложений БД Достоинство архитектуры "файл-сервер" состоит в возможности одновременной многопользовательской обработки одной БД. Архитектура "файл-сервер" не эффективна, особенно для решения задач по обработке больших массивов информации, т.к.: Выполнение запроса к БД, хранящейся на сервере, происходит в локальной копии данных на Вашем ПК. Перед выполнением любого запроса данные копии обновляются в полном объеме. Обеспечение целостности БД производится из приложений. В результате возможно нарушение физической и логической целостности данных, т.к. разные приложения могут производить контроль целостности разными взаимоисключающими способами, или вовсе не производить контроля. Приложение "клиент-сервер" формирует запрос к серверу на языке SQL. Удаленный сервер принимает запрос и переадресует его SQL-серверу БД (спец. программа, управляющая БД с помощью команд SQL). SQL-сервер выполняет запрос и возвращает результат. Достоинства архитектуры "клиент-сервер": Снижается нагрузка на сеть за счет уменьшения объема данных в пакетах, посылаемых по сети. Повышается степень безопасности данных за счет жесткого контроля целостности. Снижаются требования к аппаратному обеспечению пользователя. В информационных системах, построенных по технологии клиент-сервер, информация хранится на сервере, а интерфейсинформационной системы хранится на клиентских компьютерах, через него пользователи информационной системы получаютдоступ к данным.
Многозвенная архитектура "клиент-сервер" Многозвенная архитектура "клиент-сервер" предполагает разбиение приложения-клиента на два звена: "тонкий" клиент, располагающийся на компьютере пользователя, и сервер приложений, находящийся на удаленном сервере, УБД и СУБД по-прежнему располагаются на удаленном компьютере. В случае немногозвенной архитектуры "клиент-сервер" клиент называется "толстым", так как он содержит в себе все функции по обработке БД. В случае многозвенной (обычно применяют трехзвенную) архитектуры "клиент-сервер" в приложение, называемое "сервером приложений", выносят ряд общих правил обработки БД, называемых бизнес-правилами. Вопросы для самоконтроля: 1. Какие операции можно выполнять при работе с базой данных? 2. Сформулируйте определение сервера баз данных. 3. Сформулируйте определение СУБД. Какие функции СУБД вам известны? 4. Что такое «легкий» клиент? 5. Какие архитектуры баз данных вам известны? |