ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » General Question : WMB with DB2 using Wire Protocol,

Post new topic  Reply to topic
 General Question : WMB with DB2 using Wire Protocol, « View previous topic :: View next topic » 
Author Message
Amitha
PostPosted: Fri Apr 16, 2010 9:23 am    Post subject: General Question : WMB with DB2 using Wire Protocol, Reply with quote

Voyager

Joined: 20 Nov 2009
Posts: 80
Location: Newyork

Hi,

Why is WMB tightly coupled to use library file "libdb2Wrapper.so" on AIX to connect to DB2 database and also requires DB2 Client to be installed on the WMB Box. Can't this be simplified to use any driver like wire protocol driver without the requirement of DB2 Client. Also any idea what protocol does libdb2Wrapper.so use to connect to database. This feature is available to connect to Oracle.
Back to top
View user's profile Send private message Send e-mail
broker_new
PostPosted: Fri Apr 16, 2010 11:51 am    Post subject: Reply with quote

Yatiri

Joined: 30 Nov 2006
Posts: 614
Location: Washington DC

that was my question long time back, making life harder.
At last ended in installing DB2 client.
_________________
IBM ->Let's build a smarter planet
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Apr 16, 2010 12:27 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

If you want a zero-foot print DB2 connection, use JDBC instead of ODBC.
Back to top
View user's profile Send private message
jugo
PostPosted: Mon Apr 19, 2010 5:44 am    Post subject: Reply with quote

Novice

Joined: 17 Nov 2009
Posts: 13

When ODBC moved from being 32 bit to being 64 bit on UNIX platforms, DB2 and DataDirect (who provide the ODBC driver manager in Message Broker – just look at the sample odbc.ini file) produced slightly different data structures in 64 bit. ‘libdb2Wrapper.so’ sits between the ODBC driver manager and the DB2 driver, and translates between them. It does nothing more, and the DB2 driver is still required.

Since the DB2 driver is shipped as part of DB2, it is necessary to install the DB2 client in order that the DB2 driver is available. This is the way that DB2 is designed to work with ODBC. When using JDBC it is not necessary to have the DB2 client installed, but switching from ODBC to JDBC will typically require a significant re-write of the message flow.

I have always found it pretty easy to install the DB2 client. Out of interest, why are you reluctant to have to install it?
Back to top
View user's profile Send private message
Amitha
PostPosted: Mon Apr 19, 2010 8:15 am    Post subject: Reply with quote

Voyager

Joined: 20 Nov 2009
Posts: 80
Location: Newyork

Quote:
Since the DB2 driver is shipped as part of DB2, it is necessary to install the DB2 client in order that the DB2 driver is available. This is the way that DB2 is designed to work with ODBC. When using JDBC it is not necessary to have the DB2 client installed, but switching from ODBC to JDBC will typically require a significant re-write of the message flow
I have always found it pretty easy to install the DB2 client. Out of interest, why are you reluctant to have to install it?


I dont like to have dependency on another software. This is not the case with WTX where you can install ODBC wire protocol drivers and connect to remote database.

Quote:
If you want a zero-foot print DB2 connection, use JDBC instead of ODBC.


But for JDBC you are restricted to use only Java compute node. I have a requirement where I need to fetch millions of records and output them as chunk of records. I would prefer using compute node for this because I am more comfortable on ESQL than Java. Also, performance wise I dont know how to handle that many records in Java.
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Mon Apr 19, 2010 8:24 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Amitha wrote:
I dont like to have dependency on another software.


It's a stretch to call this "another" software. As you obviously have DB2 on site, you must have the DB2 client available and possibly installed on the broker box for other reasons. Hence while it is a logical dependancy, it's not a serious one.

And in this case the stack is all from one vendor.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Apr 19, 2010 9:02 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Amitha wrote:
Quote:
If you want a zero-foot print DB2 connection, use JDBC instead of ODBC.


But for JDBC you are restricted to use only Java compute node. I have a requirement where I need to fetch millions of records and output them as chunk of records. I would prefer using compute node for this because I am more comfortable on ESQL than Java. Also, performance wise I dont know how to handle that many records in Java.


I wouldn't handle that many records all at once in either Java or ESQL.

I wasn't advocating that you use JDBC, either. I was reminding you of an option to achieve your goal.

Performance wise, you are going to get the *best* results by using the DB2 Client using ODBC.

What's more important - your app performance or your own preferences on using a wire-level driver? Why, exactly, do you think a wire-level driver is 'better'?
Back to top
View user's profile Send private message
Amitha
PostPosted: Mon Apr 19, 2010 9:45 am    Post subject: Reply with quote

Voyager

Joined: 20 Nov 2009
Posts: 80
Location: Newyork

Quote:
What's more important - your app performance or your own preferences on using a wire-level driver? Why, exactly, do you think a wire-level driver is 'better'?


Offsourse App performance would be important. I was reading about ODBC wire protocol and this the quote from Data direct:

Quote:
DataDirect ODBC drivers communicate directly with the database over TCP/IP via the database’s wire level API. This eliminates the memory, CPU, and network bottlenecks associated with database client libraries, and increases application throughput—even as user loads increase.
DataDirect wire protocol drivers expose all of a database’s functionality and yield even better performance than programs written in the native language of the database. This is because of all the performance tuning and optimization capabilities of the driver.


http://www.datadirect.com/products/odbc/odbcwireprot/index.ssp

Quote:
Performance wise, you are going to get the *best* results by using the DB2 Client using ODBC.


Now, the data direct says the wire protocol performs better compared to client libraries, I am not sure which is actually right.


Quote:
I wouldn't handle that many records all at once in either Java or ESQL.


I tried my best not to have this interface on ESB product, this needs to be done on ETL, but the management wants to use WMB for the lack of resources in ETL. Also millions of records is only one time activity but bi-weekly we will have 100K records, how best can we handle this WMB. Please let me know. My idea is to use ESQL compute node with ODBC connection to fetch the records. Is this the right approach or should I consider using JDBC connection with JavaCompute node. Please let me know.
Back to top
View user's profile Send private message Send e-mail
smdavies99
PostPosted: Mon Apr 19, 2010 11:48 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

100k records on a bi-weekly basis eh?

There are many system in production that use broker process that many records per hour on a daily basis.

One system I developed was benchmarked at 280K messages per hour AND used DB2 (locally) as well as SQL-Server (Remotely) both for reads and writes.
This system used ODBC connections only.

Is this sort of performance adequate?

Have you benchmarked the OOTB Connections?

You quoted WTX as not removing a dependency. Isn't WTX itself a dependency?
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Amitha
PostPosted: Mon Apr 19, 2010 1:44 pm    Post subject: Reply with quote

Voyager

Joined: 20 Nov 2009
Posts: 80
Location: Newyork

Hi smdavies99,

I understand that having DB2 client is not a big deal. WMB product is simplified with time. Now we dont have dependency on DB2 Server. Similarly I was thinking why not when connecting to remote DB2. It is good to have less dependency and configuration will be simplified and also DB2 with wire protocol performs better.

Quote:
One system I developed was benchmarked at 280K messages per hour AND used DB2 (locally) as well as SQL-Server (Remotely) both for reads and writes.
This system used ODBC connections only


Good to know about this. I know WMB can handle large transactions the thing I would like to know is what are the best practices WMB folks have considered when handling such large transactions.

Thanks,
Amitha
Back to top
View user's profile Send private message Send e-mail
broker_new
PostPosted: Mon Apr 19, 2010 3:31 pm    Post subject: Reply with quote

Yatiri

Joined: 30 Nov 2006
Posts: 614
Location: Washington DC

to summarize, why only the oracle, sybase and SQL server drivers are shipped with Broker..why not DB2, Informix which is IBM's own product. What is stopping IBM(Hursley) to provide DB2 and Informix wire protocol drivers.
_________________
IBM ->Let's build a smarter planet
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » General Question : WMB with DB2 using Wire Protocol,
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.