Достоинства трехуровневой модели архитектуры БнД

Банки данных (БнД)

Наряду с понятием «база данных» существует термин «банк данных» (БнД), который имеет две трактовки.

1. В настоящее время данные обрабатываются децентрализованно (на рабочих местах) с помощью персональных компьютеров (ПК). Первоначально же использовалась централизованная обработка на больших ЭВМ. В силу централизации базу данных называли банком данных и потому часто не делают различия между базами и банками данных.

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

Заметим еще, что терминология в данной области сильно различается в зависимости от места издания литературы и даже от конкретных БД. За рубежом вместо термина «банк данных» чаще используется словосочетания «система базы данных» (database system).

Функции администратора БД

Администраторы банка данных выполняют большой круг разнообразных функций, в том числе:

· анализ предметной области: описание предметной области, выявление ограничений целостности, определение статуса информации, потребностей пользователей, статуса пользователей, соответствия «данные-пользователь», объемно-временных характеристик обработки данных;

· проектирование структуры базы данных: определение состава и структуры информационных единиц, составляющих базу данных, задание связей между ними, выбор методов упорядочения данных и методов доступа к информации, описание структуры БД на ЯОД;

· задание ограничений целостности при описании структуры базы данных и процедур обработки БД: задание ограничений целостности, присущих предметной области, определение ограничений целостности, вызванных структурой базы данных, разработка процедур обеспечения целостности БД при вводе и корректировке данных, обеспечение ограничений целостности при параллельной работе пользователей в многопользовательском режиме;

· первоначальная загрузка и ведение базы данных: разработка технологии первоначальной загрузки и ведения (изменения, добавления, удаления записей) БД, проектирование форм ввода, создание программных модулей, подготовка исходных данных, ввод и контроль ввода;

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

· защита данных от разрушений (одним из способов защиты от потери данных является резервирование, которое используется как при физической порче файла, так и в случае, если в БД внесены нежелательные необратимые изменения);

· обеспечение восстановления БД: разработка программно-технологических средств восстановления БД, организация ведения системных журналов;

· анализ обращений пользователей к БД: сбор статистики обращений пользователей к БД, ее хранение и анализ (кто из пользователей, к какой информации, как часто обращался, какие выполнял действия, время выполнения запросов, анализ причин безуспешных (в том числе аварийных) обращений к БД;

· анализ эффективности функционирования БнД и развитие информационной системы: анализ показателей функционирования системы (время обработки, объем памяти, стоимостные показатели), реорганизация и реструктуризация баз данных, изменение состава баз данных, развитие программных и технических средств;

· работа с пользователями: сбор информации об изменениях в предметной области, об оценке пользователями работы БнД, определение регламента работы пользователей с БнД, обучение и консультирование пользователей;

· подготовка и поддержание системных программных средств: сбор и анализ информации о СУБД, приобретение программных средств, их установка, проверка работоспособности, поддержание системных библиотек, развитие программных средств;

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

Достоинства трехуровневой модели архитектуры БнД

Рассмотренная трехуровневая архитектура БД обеспечивает выполнение основных требований, предъявляемых к системам баз данных:

· адекватность отображения предметной области;

· возможность взаимодействия с БД разных пользователей при решении разных прикладных задач;

· обеспечение независимости программ и данных;

· надежность функционирования БД и защита от несанкционированного доступа.

С точки зрения пользователей различных категорий трехуровневая архитектура имеет следующие достоинства:

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

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

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

· системный аналитик, как и конечный пользователь, не вмешивается во внутреннее представление данных.

Это отражает распространенную практику специализации и разделения ответственности. Главное же заключается в том, что работу по проектированию и эксплуатации баз данных можно разделить на три достаточно самостоятельных этапа.

6. Банк данных должен:

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

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

3. Обеспечивать доступ к данным только пользователям с соответствующими полномочиями.

4. Обеспечивать возможность поиска информации по произвольной группе признаков.

5. Удовлетворять заданным требованиям по производительности обработки запросов.

6. Иметь возможность реорганизации и расширения при изменении границ предметной области.

7. Обеспечивать выдачу информации пользователя в различной форме.

8. Обеспечивать простоту и удобство обращения внешних пользователей за информацией.

9. Обеспечивать возможность одновременного обслуживания большого числа внешнрих пользователей.

7. Преимущества работы с БнД

1. Повышение производительности работы пользователей, достижение эффективного удовлетворения их информационных потребностей;

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

3. Развитая организация БД позволяет выполнять разнообразные нерегламентированные запросы, новые приложения;

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

5. Уменьшение потоков данных, циркулирующих в системе, сокращение их избыточности и дублирования.

Все это окупает затраты и издержки на создание БнД.

Недостатки БнД

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

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

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

Классификация БнД и БД

1. По степени распределенности.

Как банк данных, так и база данных могут быть сосредоточены на одном компьютере или распределены между несколькими компьютерами. Для того чтобы данные одного исполнителя были доступны другим и наоборот, эти компьютеры должны быть соединены в единую вычислительную систему с помощью вычислительных сетей.

Банк и база данных, расположенные на одном компьютере, называются локальными, а на нескольких соединенных сетями ПЭВМ называются распределенными. Распределенные банки и базы данных более гибки и адаптивны, менее чувствительны к выходу из строя оборудования.

Локальные базы данных эффективны при работе одного или нескольких пользователей, когда имеется возможность согласования их деятельности административным путем. Такие системы просты и надежны за счет своей локальности и организационной независимости.

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

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

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

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

Статические БД на обновление данных не рассчитаны и предполагают, как правило, хранение информации нормативно-справочного характера.

Если в состав БнД входит одна БД, банк принято называть локальным; если БД несколько интегрированным.

 

Требования к БД

К БД предъявляются следующие требования.

– интегрированность данных, т.е. содержание данных в едином хранилище;

– независимость данных. Различают логическую (изменение схемы БД не требует корректировки прикладных программ) и физическую (изменение метода организации данных не влияет ни на прикладные программы, ни на схему БД) независимость данных;

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

– целостность (удовлетворение предъявляемым логическим требованиям) данных;

– возможность взаимодействия пользователей разных категорий и в разных режимах, обеспечение высокой эффективности доступа для разных приложений;

– минимальная избыточность (дублирование) хранимых данных, обеспечивающая требуемую производительность БД;

– способность БД к расширению;

– возможность поиска по нескольким ключам;

– дружелюбность интерфейсов и малое время на освоение системы, особенно для конечных пользователей;

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

– приемлемые экономические и физические характеристики функционирования БД (стоимость обработки, время реакции системы на запросы, требуемые машинные ресурсы и др.).