Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bazy_dannykh.doc
Скачиваний:
11
Добавлен:
07.08.2019
Размер:
293.89 Кб
Скачать

Архитектура централизованных баз данных с сетевым доступом

Различают три типа архитектуры:

  • файл-сервер;

  • клиент-сервер базы данных;

  • "тонкий клиент" - сервер приложений - сервер базы данных (трехуровневая архитектура).

Рис. 2.  Схема работы с БД в локальной сети с выделенным файловым сервером

Файл-сервер (рис. 2). Архитектура систем БД с сетевым доступом предполагает выделение одной из машин сети в качестве центральной (файловый сервер). На этот компьютер устанавливается операционная система (ОС) для выделенного сервера. На нем же хранится совместно используемая централизованная БД в виде одного или группы файлов. Все другие компьютеры сети выполняют функции рабочих станций. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где и производится обработка информации. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает. Пользователи могут создавать также локальные БД на рабочих станциях.

Рис. 3.  Схема работы с БД в архитектуре "Клиент-сервер"

Клиент-сервер (рис. 3). В этой архитектуре на выделенном сервере, работающем под управлением серверной операционной системы, устанавливается специальное программное обеспечение (ПО) - сервер БД. СУБД подразделяется на две части: клиентскую и серверную. Основа работы сервера БД - использование языка запросов. Запрос на языке SQL, передаваемый клиентом (рабочей станцией) серверу БД, порождает поиск и извлечение данных на сервере. Извлеченные данные транспортируются по сети от сервера к клиенту. Тем самым, количество передаваемой по сети информации уменьшается во много раз.

Трехуровневая архитектура (рис. 4). Функционирует в сети Интернет. Клиентская часть ("тонкий клиент"), взаимодействующая с пользователем, представляет собой HTML-страницу в Web-браузере либо Windows-приложение, взаимодействующее с Web-сервисами. Вся программная логика вынесена на сервер приложений, который обеспечивает формирование запросов к базе данных, передаваемых на выполнение серверу баз данных.

Рис. 4.  Схема работы с БД в трехуровневой архитектуре

  1. Назначение и основные функции субд

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

Архитектура субд

На рис. 5. представлены главные компоненты архитектуры типичной СУБД. Рассмотрим назначение каждого компонента. Компонент «Данные, метаданные» включает не только данные, но и информацию о структуре данных (метаданные). Компонент «Блок памяти» получает требуемую информацию из места хранения данных и изменяет в нем соответствующую информацию по требованию расположенных выше уровней системы. В простых системах баз данных блоком памяти может служить система файлов операционной системы. Однако для повышения эффективности СУБД обычно осуществляет прямой контроль памяти. Блок памяти состоит из двух компонентов:

  1. Блок файлов контролирует расположение файлов на диске и получает блок или блоки, содержащие файлы, по запросу блока буфера.

  2. Блок буфера управляет основной памятью. Он получает блоки данных с диска через блок файлов и выбирает страницу основной памяти для хранения отдельного блока.

Компонент «Компилятор запросов» обрабатывает различные обращения к СУБД и запрашивает изменение данных и метаданных. Он предлагает наилучший способ выполнения необходимой операции и выдает соответствующие команды блоку памяти. Как правило, компилятором запросов обрабатывается три типа обращения к СУБД:

  1. Запросы

  2. Модификации (модифицирующие запросы) – операции по изменению данных (удаление, добавление, изменение).

  3. Модификации схемы базы данных – команды администраторов баз данных, которые имеют право изменять схему базы данных либо создавать новую базу данных.

Компонент «Блок транзакций» отвечает за целостность системы и должен обеспечить одновременную обработку многих запросов, отсутствие интерференций запросов (интерференция – сложение, в данном случае необходимо исключить наложение запросов и их взаимодействие) и защиту данных в случае выхода системы из строя. Блок транзакций взаимодействует с компилятором запросов, т.к. для разрешения конфликтных ситуаций должен учитывать, на какие данные воздействуют текущие запросы. В силу этого некоторые вопросы могут быть отложены, и может быть установлена очередность их выполнения. Блок транзакций взаимодействует также с блоком памяти, т.к. схемы защиты данных обычно включают в себя хранение файла регистрации изменений данных.

Типичные СУБД позволяют пользователю выполнить несколько запросов и/или изменений в одной транзакции. Под транзакцией понимается совокупность действий (группа операций), которые необходимо выполнить последовательно, но которые будут восприниматься как единое целое.

Как правило, СУБД поддерживают одновременно множество транзакций. Именно правильное выполнение всех таких транзакций и обеспечивает блок транзакций. Правильное их выполнение, обеспечивается ACID-свойствами (Atomicity, Consistency, Isolation, Durability):

Требования ACID

1. Атомарность. Операторы, выполняемые в рамках транзакции, представляют собой единое неделимое действие. Изменения, проводимые в рамках транзакции, или полностью принимаются или полностью откатываются.

2. Согласованность. Транзакция в непротиворечивом состоянии БД. После её завершения БД должна находится либо в новом, либо в старом непротиворечивом состоянии. Т.о. транзакция – корректная операция перевода БД из одного непротиворечивого состояния в другое.

Непротиворечивое состояние – состояние, когда выполняются понятия целостности БД.

Внутри транзакции (при выполнении) в ряде случаев допускается нахождение БД не в непротиворечивом состоянии.

3. Изолированность. Транзакции, выполняемые параллельно не должны влиять друг на друга, несмотря на то, что транзакции могут разделять одни и те же данные – изменения, проводимые одной транзакцией не должны влиять на другую транзакцию.

4. Долговечность. Если транзакция зафиксирована, все изменения, проводимые ей, должны быть сохранены в БД. При откате все изменения из базы должны быть изъяты – устойчивость к сбоям.

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

  1. По способу применения

  • Системы управления базами данных в буквальном смысле этого термина, для которых работа с базами возможна только после запуска в работу этой системы без возможности создания автономных программ, работающих с базами. К этим системам относятся: Access, Paradoх, dBase.

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

  • Системы для разработки пользовательских программ для работы с базами данных - Clipper, Clarion.

  1. По количеству пользователей

  • Однопользовательские.

  • Многопользовательские.

  1. По сфере использования

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]