double arrow

Основные принципы и требования к созданию СУБД


Классы СУБД

По степени их универсальности различаются два класса СУБД:

- системы общего назначения;

- специализированные системы.

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

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

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

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

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

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

- Независимость данных.

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

- Совместимость. СУБД должна сохранять работоспособность при развитии программного и аппаратного обеспечения.

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

- Целостность данных. СУБД должна предотвращать нарушение базы данных пользователем.

- Защита данных. СУБД должна обеспечивать защиту от несанкционированного доступа.

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

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

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

-


Сейчас читают про: