Informix Logo


Андрей Грачев

Сохранность данных: обзор подходов

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


Андрей Грачев
консультант Informix Россия
тел. (095) 755-8700, e-mail andreyg@informix.com

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

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

1. Отказ оборудования. Например, в системе питания твердого диска произошло короткое замыкание и от нагрева был испорчен сам носитель. К ошибкам подобного рода стоит отнести и ошибки в системном ПО (в операционной системе или СУБД).

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

3. Ошибка персонала. Администратор может сделать опечатку и вместо нового, только что вставленного в систему жесткого диска, отформатировать старый диск с важными данными. Сюда же стоит отнести и преднамеренное уничтожение информации.

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

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

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

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

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

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

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


Технологии постоянного дублирования

Ядром любой ИС является аппаратная часть, системное программное обеспечение (ОС), система управления базами данных (СУБД) и прикладное программное обеспечение. Соответственно, и постоянное дублирование может производиться на уровне аппаратуры, на уровне ОС, на уровне СУБД и на уровне прикладной системы. Уровень прикладной системы рассматриваться далее не будет.

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

Полное дублирование компьютера (это позволяют, например, кластеры) обеспечивает существенно большую надежность, нежели дублирование только дисков. Однако, такое решение требует специальной дополнительной (и дорогостоящей!) аппаратуры, а также специальных расширений ОС. Не всякая аппаратура и не всякая ОС позволяют реализовать схему с дублирующим компьютером. Именно стоимость является главным сдерживающим фактором в широком распространении этого решения.

Как правило, хранение данных в ИС обеспечивает СУБД. Весьма удобным способом обеспечения постоянного дублирования содержательных данных явяляется дублирование содержимого баз данных. Informix Dynamic Server поддерживает такое дублирование двумя способами - через установку одного из серверов БД в режим горячего резерва и через репликацию только нужных данных.

Установка одного сервера БД в режим горячего резерва (фирменное название такой конфигурации - HDR, или High-Availability Data Replication - репликация высокой доступности) предполагает наличие двух идентичных компьютеров с идентичными серверами БД. Один из серверов БД (первичный сервер) работает в режиме чтение/запись, второй сервер (вторичный) - только в режиме чтения. Первичный сервер в синхронном или асинхронном режиме передает на вторичный сервер все изменения. За счет того, что сервера идентичны, обеспечивается высокая скорость передачи изменений, легкость настройки и высокая надежность. При выходе первичного сервера из строй, вторичный может взять на себя все его функции. Более того, за счет того, что вторичный сервер может работать в режиме чтения, использование такой конфигурации позволяет повысить общую производительность системы.

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


Технологии архивации

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

Архивация на уровне аппаратуры (например, получение "слепка" жесткого диска) требует специальной аппаратуры. Более того, информация, имеющаяся на диске в тот или иной момент времени может быть недостаточной, так как часть данных находится в ОЗУ. Серверы баз данных при проведении подобной архивации должны быть переведены в нерабочий режим. Следовательно, архивация подобным методом требует специальных административных действий и снижает пропускную способность ИС в целом.

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

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

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


Так как же обеспечить сохранность данных?

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

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

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

1) В данном журнале имеется статья, в которой рассмариваются утилиты администрирования в Informix Dynamic Server более подробно. INFORMATIONWEEK "FedEx special delivery: Overnight data marts" В этой статье описаны хранилища данных и стратегия в этой области компании Federal Express, оказывающей услуги по срочной доставке товаров. В настоящее время компания реализует проект по сбору и консолидации "сырых" данных из БД OLTP-систем в ряде хранилищ и витрин данных для проведения сложного анализа. Одно из этих хранилищ будет построено на основе INFORMIX-Extended Parallel Server. Компания предполагает, что ее стратегия в области хранилищ данных обеспечит сильный рост прибыли от ее бизнеса в целом.

(10/27/97, pg. 42, Clinton Wilder)


Украинская баннерная сеть
 

[Home]

Сайт поддерживается группой пользователей Информикс на Украине.

Hosted by NO-more.