Обеспечение надежности баз данных
Несколько специфичны вопросы обеспечения целостности базы данных в ИС. К надежности базы данных (БД) предъявляются особо жесткие требования, поскольку информация, хранимая в них, используется обычно многократно.
Под целостностью базы данных понимается такое ее состояние, когда имеет место полное и точное сохранение всех введенных в БД данных и отношений между ними, иными словами, если не произошло случайной или несанкционированной модификации, разрушения или искажения этих данных или их структуры.
Для сведения к минимуму потерь от случайных искажений данных необходимо иметь возможность своевременно обнаруживать и устранять возникающие ошибки на этапах хранения, обновления и реорганизации базы данных. Это требует большого набора вспомогательных программ обслуживания баз данных, возможно, даже автономных по отношению к системе управления базой данных.
В частности, к ним относятся программы:
l ведения системного журнала, подробно фиксирующего каждую операцию (транзакцию) над базой данных;
l эффективного контроля достоверности;
l репликации для получения копии базы данных (или ее частей) с целью последующего их восстановления при искажении;
l восстановления для возврата базы данных в первоначальное состояние при обнаружении искажения данных (используют копии базы данных и массивы изменений, формируемые в журнале).
Для надежной работы базы данных ИС осуществляются:
l непрерывное администрирование базы данных ИС;
l регистрация каждого имевшего место доступа к базе данных и выполненных изменений в журнале БД. Системный журнал изменений содержит хронологическую последовательность записей всей информации об изменениях, вносимых в базу данных. В частности, в этот журнал заносятся:
l текст запроса на изменение БД («журнал заявок»), содержащий описание транзакции, терминала и пользователя, время, текст исходного сообщения, тип и адрес изменения данных;
l копии файлов БД до внесения в нее изменений («до-журнал»);
l копии файлов БД после внесения в нее изменений («после-журнал»).
l использование средств СУБД для санкционированного доступа и защиты данных (формирование подсхем базы данных как подмножества структуры базы данных);
l создание страховых (резервных) копий базы данных, «зеркалирование» дисков;
l ведение четко регламентированной системы документооборота и форм документов, разрешенных к использованию;
l криптографирование базы данных;
l формирование групп пользователей и задание для них профилей работы и привилегий доступа к ресурсам БД.
Для обеспечения целостности баз данных могут устанавливаться специальные режимы использования файлов базы данных:
l монопольный — запрещающий обращения к БД от всех программ, кроме одной, вносящей изменения и считывающей информацию из полей базы данных;
l защищенный — вносить изменения в БД вправе лишь одна программа, а остальные программы могут только считывать информацию;
l разделенный — все программы могут и изменять и читать базу данных, но, если одна из них начала работать с БД, остальные ждут окончания этой работы.
Резервирование и восстановление баз данных при аварийных завершениях программы (отказ системы, повреждение носителя) выполняется также по нескольким стратегиям. В частности, резервирование файлов базы данных может выполняться:
l в одном поколении (создание точных копий — дублей файлов БД);
l в разных поколениях (хранятся дубли нескольких временных поколений файлов: «дед», «отец», «сын» и т. д., а также ведется системный журнал изменений);
l смешанное резервирование, использующее совместно две первые стратегии.
Наилучшие результаты обеспечивает смешанное резервирование с системным журналом и контрольными точками отката (рестарта).
Контрольные точки (точки рестарта, точки отката) — место повторного запуска программы при аварийном ее завершении. В контрольных точках обычно выполняются: внесение изменений в БД (в том числе всех изменений, ожидающих своей очереди — неоперативные файлы), разблокирование всех файлов, на обращение к которым был наложен запрет, запись информации о контрольной точке в системный журнал.
Использование массивов RAID (Redundant Array of Inexpensive Disks — избыточный массив недорогих дисков) существенно уменьшает риск простоя системы из-за отказов накопителей на магнитных дисках, которые являются одним из наименее надежных компонентов современных компьютеров.
В качестве наиболее эффективных мер комплексного обеспечения надежности ИС можно назвать кластеризацию компьютеров и использование отказоустойчивых компьютеров.
Дата добавления: 2016-04-02; просмотров: 3865;