IGNITe/400 Mailing List Archive Entry
Sarah,

The differences are Gigantic. Lets see if I can sort this out so it makes
sense.

First of all, DRDA is SQL only! DDM is convenition record at a time using
standard read write chain type operations.

DDM establishes a connection to the remote machine for each file that you
access. There is overhead on a per file basis and it sends a primative (I
mean low level, I'm not be cute with words here). IO operation request like
a READ, WRITE, or CHAIN to the remote machine which processes the request
and returns the resulting data.

Since your dealing with RECORD AT AT TIME vs SET processing a READ returns
ONE record. If you were retrieving 100 records, you would have 100 line
turnarrounds (i.e. send 100 READs and retrieve 100 records).

It is relatively slow and at present is only supported via SNA.

DRDA Is a bit unique. First of ALL it is SQL only, so if you are not
willing or able to use SQL, you are stuck
with DDM. But if you are willing to use SQL (I recommend it strongly).
Then this is what happens:

1. You formulate an SQL statement in your local program running on the
database requestor machine. You issue and
SQL CONNECT statement to connect to one or more remote machines.

2. You then issue your SQL statement lets say a DECLARE and OPEN CURSOR.
The request in its entirety is sent to the remote machine for processing.
I'm not sure if any checking is done locally at all.

3. The remote machine gets the request validates it, builds its access path
and creates an access plan if one does not exist. Note you need a new
object type called an SQL Package on the remote machine. This stores the
access plan and other information.

4. The remote machine then processes the query and lets say for
compatibility purposes it retrieves 100 records. It then packages up and
sends the entire 100 records back to the requesting machine and your
program.

The results can be spectaclular! I've been using with with Net.Data macros
from day one on my system. There is no data on my webserver at all! The
webserver is a little 40S connected via 16mb token ring to a 530/2153 (4way)
production machine which store all of the data.

You obviously have to be very careful with your SQL and your database design
to get the type of performance that I'm talking about, but well crafted SQL
and a properly desgined database will flat outperform traditional DDS type
record at a time access (with the exception of the RPG cycle doing
sequential processing or IBM's format data command).

Now it even gets better. As of V4R2 IBM's DB2/400 folks enabled DRDA via
TCP/IP which outperforms the SNA version by about 4 to 1. I did a test
between my 40S in Los Angeles and Bleddyn's 170 in London. Our response
times in either direction were under 3 seconds and usually under 1 second
over 14,000 miles of wire!

Bob C.

-----Original Message-----
ign_list@ignite400.org [mailto:ign_list@ignite400.org]
Sent: Wednesday, December 02, 1998 12:51 PM
To: IGNITE400 MEMBERS LIST Mailing List
DRDA vs DDM


Sarah Poger

Everyone-

What are the performance differences between DRDA and DDM remote file
access? Are there any other trade-offs between the two?

Thanks,
Sarah

--- IGNITE400 MEMBERS LIST
Looking to share your latest bit of code with the IGNITe400(sm)
members?

http://ignite400.org/member/html/software.htm


Posted by  Subject  Date 

Return to the Mailing List Archive Page
Click to return to home page
© Copyright 1999 by IGNITe/400
This page last updated Sat, 21 Aug 1999 16:41:00