Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #68, ИЮЛЬ 2006 г.

могучая репликация

ФЛЕНОВ МИХАИЛ

Спецвыпуск: Хакер, номер #068, стр. 068-036-1


HTTP://WWW.VR-ONLINE.RU

СЕКРЕТЫ РЕПЛИКАЦИИ БАЗ ДАННЫХ

РЕПЛИКАЦИЯ – ЭТО НЕ ПРОСТО НОВОМОДНОЕ СЛОВО: В ПРАВИЛЬНО ОТШЛИФОВАННЫХ РУКАХ ЭТО УДОБНЫЙ И МОЩНЫЙ ИНСТРУМЕНТ. НЕКОТОРЫЕ СЧИТАЮТ, ЧТО РЕПЛИКАЦИЯ – ЭТО СИНОНИМ СИНХРОНИЗАЦИИ. ЕСЛИ ЗАГЛЯНУТЬ В ABBYY LINGVO, ТО СРЕДИ ВОЗМОЖНЫХ ПЕРЕВОДОВ СЛОВА REPLICATION ТЫ НЕ УВИДИШЬ СИНХРОНИЗАЦИИ, ЗАТО БУДУТ ТАКИЕ СЛОВА КАК: ЭХО, ОТРАЖЕНИЕ, ДУБЛИРОВАНИЕ, ПОВТОРЕНИЕ, РАЗМНОЖЕНИЕ... ЭТИ СЛОВА ХОРОШО ОТРАЖАЮТ ДАННУЮ ТЕХНОЛОГИЮ И ТО, ЧТО МЫ БУДЕМ РАССМАТРИВАТЬ СЕГОДНЯ

[издатель-дистрибьютор-подписчик.]

Чаще всего репликацию связывают с базами данных. Причем не только с классическими базами, но и с такими специализированными, как Active Directory. Но на этом мир не перевернулся: репликацию можно удачно использовать и для простых файлов, главное - правильный подход.

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

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

Дистрибьютор – это сервер, который содержит распределенную базу данных и хранит метаданные, историю данных и транзакции. Роль дистрибьютора может быть разной и зависит от типа развернутой репликации.

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

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

[фильтруй базар.]

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

Вертикальный фильтр содержит поднабор колонок таблицы. Только реплицированные колонки отображаются подписчику. Для примера: вертикальный фильтр можно использовать для публикации всех колонок, кроме «Заработная плата» в таблице «Работники».

Горизонтальный фильтр содержит поднабор строк таблицы. Подписчик получает только этот поднабор строк. Если информацию о левых доходах не нужно реплицировать, то ее можно отфильтровать запросом.

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

Содержание  Вперед на стр. 068-036-2