|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQ vs Sybase Rep Server - pros & cons |
« View previous topic :: View next topic » |
Author |
Message
|
LNeves |
Posted: Thu Dec 06, 2007 6:17 am Post subject: MQ vs Sybase Rep Server - pros & cons |
|
|
Newbie
Joined: 06 Dec 2007 Posts: 5
|
Hi all.
Apologies if this is not in the right forum but after browsing around couldn't find anywhere better.
First thing, the purpose of this topic is to compare the data replication capabilities of MQ Series and Sybase's Replication Server.
What are the advantages and disadvantages of using one or the other.
Given the following scenario (which is real) why would you choose MQ over RS and why ?
Two java based applications use Sybase as a database.
Application 2 needs some data from application 1.
Replication of certains table was implemented via Sybase RS.
Some contraints:
1. Extra cost. If existing MQ system was used, no need for extra license on RS.
2. Dependency. If either application decides to migrate to another database vendor, RS needs to adapt. By using XML as data transport MQ just keeps on getting data and delivering it no matter where, right ?
Other things I don't know about MQ.
- Latency when large transaccions take place on source database
- Disaster recory solutions
- Point in time recovery for either source or target database
Lots of comments welcome. |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Dec 06, 2007 6:28 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Database replication systems are designed only to allow for the same data to be available from multiple "database servers".
MQ has nothing to do with this problem domain.
MQ is designed to provide robust mechanisms for applications to talk to each other - to allow you to decouple applications from each other. So that application 1 doesn't have to know anything about application 2, except what format of the message it expects to read and will respond with.
This allows you to, for example, change the database that application 1 uses, including it's tables and everything else, without changing application 2 at all.
The benefits of doing this, rather than tightly coupling two applications to the same database schema, should be obvious. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
LNeves |
Posted: Thu Dec 06, 2007 6:33 am Post subject: |
|
|
Newbie
Joined: 06 Dec 2007 Posts: 5
|
I see. In that case, let me put things in another way.
Having the current setup, it would be a lot better to just scrapt the
data migration using Sybase RS, and just implement MQ between
application 1 and 2, correct ?
That way app 2 would get the required data from app 1 via messaging, instead of database data replication, correct ? |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Dec 06, 2007 6:46 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
The end result is a better place to be in.
That doesn't mean that going there is the better choice... it depends on the exact requirements at the exact time. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
LNeves |
Posted: Thu Dec 06, 2007 7:23 am Post subject: |
|
|
Newbie
Joined: 06 Dec 2007 Posts: 5
|
True but it doesn't answear the question.
Let's not get into details. Let's just assume you want to get data from A to B.
MQ will do it via messaging between the 2 apps.
RS will do it via data replication between the 2 databases.
They operate at different layers, but the end result is basically the same. Either way data becomes available from app 1 to app 2.
RS can do that plus provide some disaster recovery via warm standby with 2 hosts.
But I can still have a 2nd box with disk mirroring or shared disk and if the 1st goes down, I failover to the 2nd, get the dataserver up and crack on. RS is not needed so there goes the advantage.
Maybe I'm trying to compare apples with oranges, but giving the same end result which way would you choose considering costs, complexity, other constraints, effectiveness, performance, etc ? |
|
Back to top |
|
 |
jefflowrey |
Posted: Thu Dec 06, 2007 7:30 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I'd chose MQ every time, because it isolates applications from the business domain of each other. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Vitor |
Posted: Thu Dec 06, 2007 7:32 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
LNeves wrote: |
Maybe I'm trying to compare apples with oranges, but giving the same end result which way would you choose considering costs, complexity, other constraints, effectiveness, performance, etc ? |
This is an MQ forum - guess what we're going to say?
Seriously, I can do no better than underline the earlier point - RS tightly couples you and your applications to a given technology, MQ is a loosely coupled solution.
It depends on where you are, what your budget is and if you like apples or oranges.
Consider also what you'd do if app3 (a web service) needs to be integrated in the future. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
LNeves |
Posted: Thu Dec 06, 2007 8:05 am Post subject: |
|
|
Newbie
Joined: 06 Dec 2007 Posts: 5
|
Vitor wrote: |
LNeves wrote: |
Maybe I'm trying to compare apples with oranges, but giving the same end result which way would you choose considering costs, complexity, other constraints, effectiveness, performance, etc ? |
This is an MQ forum - guess what we're going to say?  |
I know, but that's the point. There's no better place to ask that.
Vitor wrote: |
Seriously, I can do no better than underline the earlier point - RS tightly couples you and your applications to a given technology, MQ is a loosely coupled solution. |
True. But RS can couple with RDBMS other than Sybase and can couple with MQ as well.
Then you say: "Given the software that enables it is provided" -> extra cost and extra complexity. Point taken.
But if a 3rd app comes in to play, web service or other, there's still the need to develop the interface between app and MQ, or the app component that processes the data, correct ?
With RS you just setup the replication and data starts to flow.
There's still some work needed but I guess is less than developing and testing and new interface. What do you reckon ?
PS: didn't mention but I'm a Sybase DBA but I'm not playing the role of the knight defending it's lady. Worses for courses so no point in figuring out what's best. Just a nice debate on advantages and disadvantages  |
|
Back to top |
|
 |
Vitor |
Posted: Thu Dec 06, 2007 8:28 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
LNeves wrote: |
But if a 3rd app comes in to play, web service or other, there's still the need to develop the interface between app and MQ, or the app component that processes the data, correct ?
With RS you just setup the replication and data starts to flow.
There's still some work needed but I guess is less than developing and testing and new interface. What do you reckon ?
|
Suppose the web app doesn't currently sit on a database? Or sits on a different database platform? You state that Sybase Replication couples with other RDBMS & MQ but is that true across the whole range of situations with the full range of facilities?
I would put it to you that the flexibility provided by the WMQ software (especially if combined with the WMB product) makes the development of such an interface easier, especially if the new application doesn't fit easily or well into your existing data model.
I would also put it to you that the MQ messaging model is more resilient, scalable and fault-tolerant than a pure database replication model.
I would also repeat that only you can determine what fits best with your requirements. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
LNeves |
Posted: Thu Dec 06, 2007 9:04 am Post subject: |
|
|
Newbie
Joined: 06 Dec 2007 Posts: 5
|
Vitor wrote: |
Suppose the web app doesn't currently sit on a database? Or sits on a different database platform? You state that Sybase Replication couples with other RDBMS & MQ but is that true across the whole range of situations with the full range of facilities? |
If the web app does not sit on a database, RS is useless, unless coupled with some mechanism that would deliver the data, like MQ, but in that case, scrap RS and use MQ from end to end.
In a different database, provided with the gateway it will couple with top end RDBMS (Oracle, DB2, MS SQL Server) and MQ as well, yes it will deliver the data. That's true for the supported versions/OS, etc etc. Can't say the whole range of environments. Too many. I think MQ has a wider offer, and again, not need for extra add ons, correct ?
As for the other arguments, data replication (using Sybase, can't tell with others), one can specify which tables, columns and rows to replicate.
Even transform data in flight.
Of course, it has many rules that somehow won't allow it to be as flexible as MQ, since it works with the data itself and all the constraints of a RDBMS.
Obviously only who is preparing or maintaning a solution will know what's best in their case, but the whole point is not that. Like I said, worses for course and I'm just trying to point out pros & cons.
And learning a lot as well  |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|