Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс лекций СБД.doc
Скачиваний:
23
Добавлен:
13.11.2019
Размер:
1.94 Mб
Скачать
      1. Системы с общими ресурсами

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

    1. Технические аспекты администрирования базы данных

Работу многопользовательской базы данных организовывает и обеспечивает администратор базы данных. В его обязанности входит как сохранение целостности и безопасности данных, так и максимизация производительности базы данных. Администратор выполняет технические и управленческие функции. Требования различных пользователей базы данных могут конфликтовать. Конфигурирование системы может принести выгоду одним группам пользователей за счет ущемления интересов других групп. Администратор должен упорядочивать конфликтующие требования к системе и управлять ими. К техническим аспектам администрирования относятся восстановление, безопасность, производительность и администрирование данных.

      1. Восстановление базы данных

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

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

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

  • записывать в архив все находящиеся в данный момент в оперативной памяти исходные записи и записи преобразований;

  • записывать все модифицированные значения в базу данных;

  • заносить в архив дату и время создания этой контрольной точки.

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

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