Что такое 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 на этом фоне выглядит блекло, но у него огромный плюс- он быстро работает и почти не нагружает сервер-источник транзакций. Перемалывает огромные объемы информации, достаточно надежен в работе, адаптируется к специфичным задачам. Такой себе КРАЗ-самосвал. Большой и грязный, воняет соляркой. Но если нужно много грузить-возить, то это самый подходящий инструмент. 

 

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

 

What is Sybase Replication Server?

Dmitry Gorchilin

dmitrygorchilin@gmail.com

What is Sybase Replication Server?

Trying to explain complicated things simple.

Replikatsiya- is reproduction, duplication of data. These or other products anyway provide similar functions. MS SQL server replication suggests three options: transactional replication, merge replication, snapshot replication. Oracle promotes Golden Gate.
Sybase developed a very interesting product, Replication Server. Extremely powerful, flexible and efficient piece.
For example, there is a central ASE server. RS allows using the integrated mechanisms ASE logsegmenta receive data from, a special way to convert them and send to another server.
At the same time, the methods for the replication and customization possibilities are enormous. Serverov- recipients can be very much. In turn, they may transmit to the central server (or multiple servers) their data. You can transfer only some of the fields of tables, it is possible to transfer only some records satisfying certain conditions. You can replace the standard action on the secondary server to run scripts, call procedures. Finally, you can create a server / database Hot Standby (ASE Warm Standby Databases).
In fact, it creates a server system, the data tables are transmitted in real time (seconds) with great efficiency. It is possible to make a number of projects on a separate server, with calculations, extract or some statistics will not take away resources from the main server, it will relieve and improve performance. You can create server-emergency data store. In our turbulent times such servers can be placed in another region or even abroad. If the server requires a certain procedure or test data it can be done without the use of an intermediate table and hosta- You can call and give her details of the transaction. If the volume of data transmitted is not large, the performance requirements for the destination server can also be quite modest. Even if he will not have time to apply the transaction, they will not be lost, will be accumulated in the queue. This dramatically reduces the cost of hardware.
In the case of geographically dispersed servers and wrong channel it is possible to maintain an adequate copy of the data. It should be a time to fill in the base and then transmit only the necessary changes. Finally, it is possible one or more tables at the same time to fill on multiple servers, the appropriate changes will be transmitted to all and all.
Huge opportunities for the creation of fault-tolerant systems. To the extent that the data can be stored for some time in the partition of the replication server. In case of problems with the database, it is possible to raise the recipient of the dump and rolled forward again.
Huge possibilities open replication for systems running 24/7. For example, sometimes it is impossible to clean and fill tablitsu- data from it needed time. There are ways to bring such a table in accordance with the standard.
Specialist service it has to understand the programming, to understand what data objects are to ASE servers. Understand the system administration and ASE RS. Understand the network. And, of course, be able to write scripts for server replication

It begs comparison with the replication of MS SQL Server. What’s better? Private impression- MS SQL Server is made much more user friendly than the Sybase ASE. Impressive performance monitoring, cost calculation and graphical query plan otobrazhenie- a lot of interesting things. Well replikatsiya- interface is very user-friendly, easier to do, different options. Replicated procedure calls, the text of the procedures. It’s comfortable. Originally sewn up the opportunity to work with Oracle. This allows heterogeneous systems, great.
But very much they pereuslozhneno. Especially Merge replikatsiya- many service facilities complex, which load the server processes.
Sybase replication server on this background looks pale, but he has a huge plus- it works fast and nearly does not load the source server transactions. Grinds huge volumes of information quite reliable in operation, is adapted to the specific task. A sort of a dump truck KrAZ. Big and dirty, stinking diesel fuel. But if you need a lot of ship-haul, it is the most appropriate tool