Chas said:
[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.