Re: acceptable way to program

From: DA Morgan <damorgan_at_x.washington.edu>
Date: Sun, 02 Jan 2005 15:14:18 -0800
Message-ID: <41d87f2e$1_1_at_127.0.0.1>


Chas Douglass wrote:
> DA Morgan <damorgan_at_x.washington.edu> wrote in
> news:41d8219f$1_1_at_127.0.0.1:
>
> [snip]
>

>>It is true. Most of the Java being written against relational
>>databases doesn't perform and doesn't scale well.

>
> [snip]
>
> Thats a pretty broad brush you're painting with. Do you have some numbers
> on which your are basing this claim?
>
> It also gives the impression that performance is the most important element
> of software development, which is certainly not always true.
>
> Chas Douglass

Very broad ... and I intentionally said "most" rather than "all" because there is some very good Java being written too. My assessment comes from two sources: The consulting work I have done for a number of Fortune 500 size corporations, and government agencies, in the last 5 years. Much of my time has been spent teaching Java developers that the database is not a bucket full of stuff. Their ignorance leads them too far too often reinvent the wheel or insist on stupid stuff such as XML stored as XML rather than being reconstituted on-the-fly. The other source of my broad brushstroke is teaching at the University of Washington where I regularly get students whose prior experience is Java and whose CIO or IT manager has sent them to learn something about the database. They may be very good at their primary job ... but their profound ignorance of databases is amazing.

Addressing your second comment I would not say that performance and scalability are the most important attributes of a program. But when the database is capable of returning a result set in less than a second and the Java developer getting the same result set uses a method that takes 1-5 seconds there is a major problem and not just to the end-user. Often management ends up purchasing far more expensive hardware to compensate for bad design, bad implementation, and a lack of experience.

Let me give you some simple examples related to Oracle since that is where this has been cross-posted. How many Java developers in your organization know about the following?

EXPLAIN PLAN
TKPROF
TRACE ANALYZER
Bind Variables
Multiversion Read Consistency
Stored Outlines
Hints

And that is just the tip of the iceberg. The answer, undoubtedly, is a very small number. And yet no serious Oracle DBA or developer would consider doing much without one or all of them.

-- 
Daniel A. Morgan
University of Washington
damorgan_at_x.washington.edu
(replace 'x' with 'u' to respond)
Received on Mon Jan 03 2005 - 00:14:18 CET

Original text of this message