Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Databases & OO applications (was RE: J2EE Question)

Re: Databases & OO applications (was RE: J2EE Question)

From: <Jared.Still_at_radisys.com>
Date: Thu, 24 Apr 2003 09:51:44 -0800
Message-ID: <F001.00588924.20030424095144@fatcity.com>


Interesting article, though I don't have time to read it all.

Another interesting quote:

One of the first questions people consider with this kind of thing is performance. Personally I don't think performance should be the first question. My philosophy is that most of the time you should focus on writing maintainable code. Then use a profiler to identify hot spots and then replace only those hot spots with faster but less clear code. The main reason I do this is because in most systems only a very small proportion of the code is actually performance critical, and it's much easier to improve the performance of well factored maintainable code.

I can't help but disagree with this. At a former employers site, the very first task I was given was
to improve the performance of a system that was very important, had high visibility at the executive
level, and was notoriosly slow.

Slow as in taking several hours to process 10,000 fairly simple claims.

The app itself had been written by some very good developers, at least in terms of application design and coding. What they knew about databases wouldn't fill a thimble.

Their code was so good, they won some kind of pretigious award from an OOP magazine, or some such thing.

But when it came to databases...

The first thing we did to speed it up was put the application on the database server, something
that was normally forbidden. This yielded a 40% reduction in runtime. This was due to the single
biggest wait being sqlnet waits. Did I mention this was a batch application?

The avg tcp packet size was 200 bytes. There were many millions per hour, I forget the exact number.

No wonder that getting it off the network made it faster, eh?

This was still a slow app though. The reasons for it's slowness are mentioned in the referenced article.

The app treated every piece of data as atomic, and looked it up one row at a time.

There was no way to speed this up, other than obvious things such as replacing
"delete * from tmptable" with "truncate table tmptable".

The final blow from this db unaware problem was at y2k. It didn't have a y2k problem.

It had a decade problem. Yes, the year was (still is) stored as a single digit.

Mr Fowler is giving short shrift to performance. He doesn't believe you should design
with performance in mind. I and many others have had to live with the results of
this philosophy.

Jared

"Pardee, Roy E" <roy.e.pardee_at_lmco.com>
Sent by: root_at_fatcity.com
 04/24/2003 09:11 AM
 Please respond to ORACLE-L  

        To:     Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>
        cc: 
        Subject:        Databases & OO applications (was RE: J2EE Question)


Of possible interest--an influential OO guy writes about using SQL in OO applications:

http://martinfowler.com/articles/dblogic.html

<quote>
Many application developers, particularly strong OO developers like myself,
tend to treat relational databases as a storage mechanism that is best hidden away. Frameworks exist who tout the advantages of shielding application developers from the complexities of SQL.

Yet SQL is much more than a simple data update and retrieval mechanism. SQL's query processing can perform many tasks. By hiding SQL, application developers are excluding a powerful tool.

In this article I want to explore the pros and cons of using rich SQL queries that may contain domain logic. I have to declare that I bring a OO bias to the discussion, but I've lived on the other side too. (One former client's OO expert group ran me out of the company because I was a "data modeler".)
</quote>

Cheers,

-Roy

Roy Pardee
Programmer/Analyst
SWFPAC Lockheed Martin IT
Extension 8487

-----Original Message-----
Sent: Thursday, April 24, 2003 7:47 AM
To: Multiple recipients of list ORACLE-L

I hit this constantly...

the developers say "oh, but the open source object program we are using can't handle concatenated keys, we need you to put another key in there"

they aren't lying to you, but how something in this day and age, with databases and relational theory matured, can NOT handle concatenated keys drives me nuts


Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo http://search.yahoo.com
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Rachel Carmichael
  INET: wisernet100_at_yahoo.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: Pardee, Roy E
  INET: roy.e.pardee_at_lmco.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).




-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.net
-- 
Author: 
  INET: Jared.Still_at_radisys.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Thu Apr 24 2003 - 12:51:44 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US