Критерии выбора СУБД при создании АИС

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

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

1. моделирование данных;

2. особенности архитектуры и функциональные возможности;

3. контроль работы системы;

4. особенности разработки приложений;

5. производительность;

6. надежность;

7. требования к рабочей среде;

8. смешанные критерии.

Рассмотрим каждую группу в отдельности, при этом следует заметить, что в состав группы входит несколько компонентов.

Моделирование данных.Существует множество моделей данных [7], поэтому вопрос о применении той или иной модели должен решаться на начальном этапе проектирования АИС. К наиболее распространенным среди используемых моделей данных относятся иерархическая, сетевая, реляционная, объектно-реляционная и объектно-ориентированная.

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

Средства поиска. Ряд современных систем имеет встроенные дополнительные средства контекстного поиска.

Предусмотренные типы данных. Здесь необходимо учесть два фактически независимых критерия: какие типы данных заложены в систему — базовые или основные, и возможны ли расширения типов. В то время как отклонения базовых наборов типов данных у современных систем от некоего стандартного, обычно, невелики, механизмы расширения типов данных в системах того или иного производителя существенно различаются.

Реализация языка запросов. Все современные системы совместимы со стандартным языком доступа к данным SQL-92, однако реализуют различные расширения данного стандарта.

Особенности архитектуры и функциональные возможностиперечислены ниже. Мобильность — независимость системы от среды, в которой она работает. Средой в данном случае является как аппаратура, так и программное обеспечение (операционная система).

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

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

Сетевые возможности. Многие системы позволяют использовать широкий диапазон сетевых протоколов и служб для работы и администрирования.

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

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

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

Особенности разработки приложений.Ряд производителей СУБД выпускает также средства разработки приложений, которые, как правило, позволяют наилучшим образом реализовать все возможности сервера. Поэтому при анализе СУБД следует обратить внимание на особенности средств разработки приложений [4].

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

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

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

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

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

Рейтинг ТРС (Transactions per Cent) является одним из самых популярных и объективных. Фактически ТРС-анализ производительности систем рассматривает композицию СУБД и аппаратуры, на которой эта СУБД работает. Показатель ТРС — это отношение количества запросов, обрабатываемых за некий промежуток времени, к стоимости всей системы.

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

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

return false">ссылка скрыта

Надежность. Понятие надежности системы трактуется неоднозначно — это и сохранность информации при любом сбое, и безотказность работы системы в любых условиях, и обеспечение защиты данных от несанкционированного доступа [8|. Рассмотрим некоторые из них.

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

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

Откат изменений. При выполнении транзакции применяется простое правило — либо транзакция выполняется полностью, либо не выполняется вообще. Это означает, что в случае сбоев все результаты недоведенных до конца транзакций должны быть аннулированы. Механизм отката может иметь различное быстродействие и эффективность.

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

Требования к рабочей среде.Вкачестве требований рассматривают:

1. поддерживаемые аппаратные платформы;

2. минимальные требования к оборудованию;

3. максимальный размер адресуемой памяти.

Поскольку почти все современные системы используют свою файловую систему, немаловажным фактором является то, какой максимальный объем физической памяти они могут использовать.

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

Качество и полнота документации. Не все системы и не все­гда имеют полную и подробную документацию.

Локализованность — возможность использования национальных языков; не во всех системах она реализована полностью.

Модель формирования стоимости. Как правило, производители СУБД используют определенные модели формирования стоимости. Так, стоимость одного и того же продукта может существенно изменяться в зависимости от того, сколько пользователей будут с ним работать.

Стабильность производителя. Обычно имеют в виду многолетнее (стабильное) присутствие производителя на рыке.

Распространенность СУБД. Согласно существующей практике решение об использовании той или иной СУБД принимает один человек — обычно, руководитель предприятия, а он зачастую опирается отнюдь не на технические критерии. Здесь свою роль могут сыграть такие незначительные факторы, как рекламная раскрутка компании-производителя СУБД, использование конкретных систем на других предприятиях, стоимость. При этом последний фактор может трактоваться и в зависимости от финансового состояния, и в зависимости от политики предприятия. С одной стороны, используется принцип: «Чем дороже, тем лучше», с другой — возможность бесплатной эксплуатации продукта («взлома» лицензионной защиты). [9].