Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Информационные технологии в государственном и муниципальном управлении
Посмотреть оригинал

Физическое проектирование базы данных.

На данном этапе должны быть решены вопросы построения структуры хранимых данных, размещения хранимых данных в пространстве памяти, выбора эффективных методов доступа к ним. Принятые проектные решения оказывают определяющее влияние на производительность системы БД. Они документируются в форме схемы хранения на языке определения хранимых данных.

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

Пример расщепления информационной структуры таблицы «Товары»

Рис. 3.11. Пример расщепления информационной структуры таблицы «Товары»

Фрагмент модифицированной инфологической модели предметной области «Торговая фирма»

Рис. 3.12. Фрагмент модифицированной инфологической модели предметной области «Торговая фирма»

Локальные и распределенные базы данных.

По топологии хранения различают локальные и сетевые БД. Локальные БД размещены на локальном компьютере и обрабатываются одним пользователем. Сетевые БД работают в вычислительных сетях и подразделяются на сосредоточенные и распределенные БД.

Сосредоточенная база данных — база данных, полностью поддерживаемая на одном компьютере сети и доступная пользователям, имеющим право доступа.

Сетевой доступ к такой БД часто применяется в локальных сетях, а также в Web-пространстве. Появление компьютерных сетей позволило создавать распределенные БД.

Распределенная база данных — база данных, размещающаяся фрагментами на различных узлах компьютерной сети.

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

При создании и эксплуатации распределенных БД часто встает вопрос взаимодействия БД, созданных в различных СУБД. Главным препятствием для их совместного использования является несовместимость системного программного обеспечения и приложений, работающих на разных компьютерах. Проблема несовместимости частично решается за счет языка SOL, являющегося стандартом для СУБД. Однако, для того чтобы стало возможным посредством SQL обращаться к БД, имеющим другой формат данных, необходимо еще одно средство, а именно ODBC — Open DataBase Connectivity — открытый интерфейс доступа к БД.

ODBC — стандартный интерфейс между базой данных и приложением, взаимодействующим с ней.

Наличие подобного стандартного интерфейса позволяет приложению на клиентском компьютере получать доступ к любой БД на сервере, используя язык SQL. Приложение получает доступ к конкретной БД, используя специально разработанный под эту базу драйвер.

В распределенных БД используются два метода распределения данных — фрагментация и тиражирование. Фрагментация данных

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

Распределенная обработка данных основана на выделении двух типов программных приложений, участвующих в обработке данных [1] и размещаемых на разных компьютерах сети:

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

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

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

Архитектура «файл-сервер» характеризуется выделением компонента «файловый сервер», использованием его для хранения БД и предоставления данных клиентам [3]. На файл-сервере размещается БД, представляющая собой обычно набор специализированных структурированных файлов и сетевые составляющие операционной системы, обеспечивающие удаленный разделяемый доступ к файлам. На машине клиента размещается СУБД, средствами которой управляется БД, размещенная на файл-сервере. Запросы с машин клиентов передаются на файл-сервер. Файл-сервер передает требуемые данные на машины клиентов, где проводится обработка с использованием СУБД (рис. 3.13).

Достоинством файл-серверной архитектуры БД является возможность обслуживания запросов нескольких клиентов. Однако файл-

Архитектура «файл-сервер»

Рис. 3.13. Архитектура «файл-сервер»

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

Архитектура «клиент — сервер» стала активно применяться с начала 1990-х гг. Здесь средства управления БД и сама БД размещаются на машине-сервере. СУБД делится на две части: интерфейсную клиентскую, запускаемую на рабочей станции, и серверную (рис. 3.14). Клиентская часть служит для ввода и отображения данных, создания и отправки запросов на сервер; серверная часть (сервер базы данных) обеспечивает решение всех задач по обработке данных БД, включая обработку запросов пользователей, анализ данных, контроль их хранения (см. рис. 3.14).

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

Архитектура «клиент-сервер»

Рис. 3.14. Архитектура «клиент-сервер»

телем, так и поставщиками СУБД. Программа-клиент организована в виде приложения, работающего «поверх» СУБД и обращающегося для выполнения операций над данными к компонентам СУБД через интерфейс внешнего уровня — утилиты и инструментальные средства, условно не отнесенные к СУБД, выполняющиеся самостоятельно как пользовательское приложение. Интерфейс между клиентской и серверной частями называется программным интерфейсом приложения (Application Programmer’s Interface, API) и может быть как специальным, так и стандартным.

Сервер баз данных: 1) совокупность функциональных компонентов СУБД с архитектурой «клиент-сервер», относящийся к серверной части системы и обеспечивающий обработку запросов к базе данных, поступивших со стороны клиента; 2) компьютер в сети, на котором поддерживается система баз данных.

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

 
Посмотреть оригинал
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы