Типы конфликтов при тиражировании баз данных


1) Конфликт уникальности – попытка на двух узлах добавить записи с идентичным идентификатором (Особенно, если идентификатор – счетчик);
2) Конфликт обновления – изменения разными пользователями одной и той же строки без уведомления друг друга;

Для устранения конфликтов обновления первоначально подмножество тиражируемых столбцов сводят к группам столбцов и формируют правила, такие, как:
1) Данные с последней отметкой времени – кто последний, тот и прав;

2) Все данные последовательно;

3) Максимальное значение, если происходит увеличение значений столбца, либо минимальное значение;

4) Данные с самой ранней отметкой времени;

5) Назначение приоритетов узлам или некоторым значениям;

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

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

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

В таком случае модель репликации может быть описана выражением «я издаю, вы подписываетесь»: Центральный сервер называется издающим (он имеет сведения обо всем), а офисы на отдельных площадках называются подписывающимися (они подписываются только на часть информации из главного сервера и общей информации они не имеют).

Конфигурации издающих или подписывающихся серверов:
1) Издающий сервер одновременно является распространяющим – такая конфигурация бывает у равнозначных серверов;
2) Издающий сервер передает данные распространяющему серверу, например, центральному, который распределяет информацию между подписчиками (считается, что такая конфигурация повышает производительность в целом);
3) Издающий сервер распространяет данные специальным подписывающим серверам, аккумулирующим всю информацию, возможно, ее обрабатывающим. Фактически реализуется концепция хранилища данных.

Репликация бывает синхронной, когда данные меняются одновременно с каким-то изменением на одном из узлов, и асинхронной, когда репликация производится после внесения изменений.

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

Типичный протокол тиражирования известен под названием ROWAP – read once write all protocol (одно чтение, запись во все копии).

Что касается тиражирования, то на сегодня эти проблемы достаточно хорошо решены как в средних БД, к каким относится SQL-сервер, там всё хорошо достаточно давно работает, ну, нельзя сказать, что уже 10 лет всё хорошо работает, но с 2000 года всё достаточно прилично сделано. Ну а большие БД, такие как Oracle, Informix и др. – там, тем более, все проблемы решены. Ну, надо себе представлять, что технология тиражирования и технология фрагментирования – в общем, они друг другу антиподы. Как технологии они антиподы, так сказать.

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

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


Комментарии запрещены.




Статистика