Тиражирование данных
В контексте информационной безопасности тиражирование можно рассматривать как средство
повышения доступности данных. Стала легендой история про бакалейщика из Сан-Франциско,
который после разрушительного землетрясения восстановил свою базу данных за 16 минут,
перекачав из другого города предварительно протиражированную информацию.
Развитые возможности тиражирования предоставляет СУБД INGRES. Им посвящена статья href="#lit">[2]. Здесь мы рассмотрим возможности другого популярного сервера СУБД -
Informix OnLine Dynamic Server (OnLine-DS) 7.1. В отличие от предыдущего раздела, речь пойдет
об обычных (а не кластерных) конфигурациях.
В Informix OnLine-DS 7.1 поддерживается модель тиражирования, состоящая в полном
отображении данных с основного сервера на вторичные.
В конфигурации серверов Informix OnLine-DS с тиражированием выделяется один основной и ряд
вторичных серверов. На основном сервере выполняется и чтение, и обновление данных, а все
изменения передаются на вторичные серверы, доступные только на чтение . В случае отказа основного сервера вторичный автоматически или вручную переводится в
режим доступа на чтение и запись . Прозрачное перенаправление
клиентов при отказе основного сервера не поддерживается, но оно может быть реализовано в
рамках приложений.
После восстановления основного сервера возможен сценарий, при котором этот сервер становится
вторичным, а бывшему вторичному, который уже функционирует в режиме чтения-записи,
придается статус основного; клиенты, которые подключены к нему, продолжают работу. Таким
образом, обеспечивается непрерывная доступность данных.
Тиражирование осуществляется путем передачи информации из журнала транзакций (логического
журнала) в буфер тиражирования основного сервера, откуда она пересылается в буфер
тиражирования вторичного сервера. Такая пересылка может происходить либо в синхронном,
либо в асинхронном режиме. Синхронный режим гарантирует полную согласованность баз данных
- ни одна транзакция, зафиксированная на основном сервере, не останется незафиксированной на
вторичном, даже в случае сбоя основного сервера. Асинхронный режим не обеспечивает
абсолютной согласованности, но улучшает рабочие характеристики системы.
Тиражирование | ||||
Основной сервер | Вторичный сервер |
Рис. 3. Тиражирование. Основной сервер доступен на
чтение и запись, вторичный - только на чтение.
Основной сервер | Стандартный сервер |
Рис. 4. Когда основной сервер выходит из строя,
вторичный переводится в режим доступа и на чтение, и на запись.
Побочный положительный эффект тиражирования - возможность вынести преимущественно на
вторичный сервер ресурсоемкие приложения поддержки принятия решений. В этом случае они
могут выполняться с максимальным использованием средств параллельной обработки, не
подавляя приложений оперативной обработки транзакций, сосредоточенных на основном сервере.
Это также можно рассматривать как фактор повышения доступности данных.