//

Что такое Sybase Replication Server?

Дмитрий Горчилин

Что такое Sybase Replication Server?

Попытка просто объяснить сложные вещи.

Репликация- это размножение, дублирование данных. Те или иные продукты так или иначе обеспечивают подобные функции. MS SQL сервер предполагает три варианта репликации: репликация транзакций, репликация слиянием, репликация моментальных снимков. Oracle продвигает Golden Gate.
Sybase развивает очень интересный продукт, Replication Server. Исключительно мощная, гибкая и эффективная штука.
Допустим, имеется некий центральный ASE сервер. RS позволяет, используя интегрированные механизмы ASE получать данные из логсегмента, специальным образом преобразовывать их и направлять на другие сервера.
В то же время, способы репликации и возможности настройки огромны. Серверов- получателей может быть очень много. В свою очередь, они могут передавать на центральный сервер (или на несколько серверов) свои данные. Можно передавать лишь некоторые поля таблиц, можно передавать лишь некоторые записи удовлетворяющие некоторому условию. Можно вместо стандартных действий на сервере-получателе выполнять скрипты, вызывать процедуры. Наконец, можно создать сервер/базу горячего резерва (ASE Warm Standby Databases).
Фактически это позволяет создать систему серверов, данные таблиц которых передаются в реальном масштабе времени (секунды) с огромной производительностью. При этом можно вынести ряд проектов на отдельные сервера, при этом расчеты, выписки или какая-нибудь статистика не будут отнимать ресурсы у основного сервера, это разгрузит и повысит производительность. Можно создать сервера-аварийные хранилища данных. В наше неспокойное время такие сервера могут быть размещены в другом регионе или даже за рубежом. В случае, если на сервере необходима некоторая процедура проверки или обработки данных это можно делать без использования промежуточной таблицы и хоста- можно вызвать процедуру и передать ей данные из транзакции. Если объем передаваемых данных невелик, требования к производительности сервера-получателя так же могут быть достаточно скромны. Даже если он не будет успевать применять транзакции, они не потеряются, будут накапливаться в очереди. Это резко снижает стоимость железа.
В случае географически удаленных серверов и плохого канала вполне можно поддерживать адекватную копию данных. Нужно один раз залить базу а после лишь передавать необходимые изменения. Наконец, можно одну или несколько таблиц одновременно заполнять на нескольких серверах, соответствующие изменения будут переданы от всех и на всех.
Огромные возможности в плане создания отказоустойчивых систем. Вплоть до того, что данные могут некоторое время сохраняться в partition репликационного сервера. В случае проблем с базой-получателем ее можно поднять из дампа и накатить повторно.
Огромные возможности открывает репликация для систем работающих в режиме 24/7. Допустим, иногда просто нельзя очистить и залить таблицу- данные из нее нужны постоянно. Существуют методы для приведения такой таблицы в соответствие с эталонной.
Специалист обслуживающий это должен разбираться в программировании, понимать какие данные и объекты находятся на ASE серверах. Разбираться в системном администрировании ASE и RS. Разбираться в сетях. Ну и, конечно же, уметь писать скрипты для репликационного сервера

Напрашивается сравнение с репликацией MS SQL Server. Что лучше? Личное впечатление- MS SQL Server сделан значительно более дружественным, нежели Sybase ASE. Впечатляющие возможности контроля производительности, расчет стоимости плана запроса и графическое отображение- множество интересных вещей. Ну и репликация- интерфейс очень дружественный, делается проще, разные варианты. Реплицируются вызовы процедур, сам текст процедур. Это удобно. Изначально зашита возможность работы с Oracle. Это позволяет создавать разнородные системы, великолепно.
Но очень уж у них переусложнено. Особенно Merge репликация- много служебных объектов, сложные, нагружающие сервер процессы.
Sybase replication server на этом фоне выглядит блекло, но у него огромный плюс- он быстро работает и почти не нагружает сервер-источник транзакций. Перемалывает огромные объемы информации, достаточно надежен в работе, адаптируется к специфичным задачам. Такой себе КРАЗ-самосвал. Большой и грязный, воняет соляркой. Но если нужно много грузить-возить, то это самый подходящий инструмент. 

 

Небольшой блог, выложил некоторые тонкости в плане работы с репсервером

 

Английская версия