Re: acceptable way to program

From: DA Morgan <damorgan_at_x.washington.edu>
Date: Mon, 03 Jan 2005 16:56:30 -0800
Message-ID: <41d9e894$1_4_at_127.0.0.1>


Chas Douglass wrote:

>>>>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. 
>>>
>>>If this query occurs once every day, is it still a "major problem"? 
>>>What about once a week?
>>
>>No such query. Objective research by Oracle and IBM have both shown
>>that the average database hosts, at most, a few hundred unique queries
>>in the lifetime of an application: Rarely are there unique queries
>>except during development.

>
> I see your point, and even though my comment was somewhat hyperbolic, it
> is still not out of the question for any single query to be both in-the-
> set-of-a-few-hundred-unique-queries and also only-run-once-a-day
> (backup?).

Backup isn't a query with any commercial relational database. And while there are queries that may be run daily or quarterly they are the rare exception in a database system and not likely to have much impact. When I say likely one should keep in mind that they are also likely to be written in Crsytal Reports or Cognos and not have Java front-end.

>>An expert no. But would you let your psychiatrist set a broken leg?
>>They are both MD's. Would you let your auto mechanic work on a Boeing
>>777 in which you were about to fly to across the Atlantic? They are
>>both mechanics?
>>
>>So while not an expert knowedgeable enough to be competent.

>
> I think your analogy works against you. Do I care if my family physician
> can read the MRI of my head and spot a brain tumor, as long as an expert
> does read it?

No I don't care whether my family physician can read an MRI. Because when I go to get an MRI there is a radiologist that is an expert. And that is exactly the same as what I expect when someone attaches to a database and runs a DML statement (insert, update, delete, select). The Java programmer that hits a database and is as clueless as my family physician is precisely the problem.

So how does my analogy work against me?

> Do I care if any particular Java programmer is an Oracle expert, as long
> as I have an Oracle DBA on board with appropriate design/review
> responsibilities?

The vast majority of Oracle DBAs couldn't read curly braces much less Java. They may be reviewing your design but they are not reviewing your code. And in many organizations there are turf and religious wars that weigh heavily against even the knowlegeable DBA insisting that the PL/SQL developers write APIs for the Java folk.

> Certainly, my physician must be broadly trained enough to know to request
> an MRI and an expert reading. And any Java programmer should be trained
> broadly enough to know when to ask their DBA for help.

Once again you assume a level of DBA expertise that from my perspective does not exist.

Which is not to say that your specific DBA can't read Java but lets find out how much they know about tuning your code. Ask your DBA the following question.

What is DBMS_PROFILER and when was the last time you ran it?

My guess is that you get a completely blank stare. But in case you want a bit of background before you ask the question:

http://download-west.oracle.com/docs/cd/B14117_01/appdev.101/b10802/d_profil.htm#ARPLS039

> I would argue that having a problem domain expert (for instance, an
> Oracle DBA) is not just a great idea, but a requirement for any non-
> trivial database program.

I agree but it doesn't change the nature of the problem as stated above.

> I would also argue that, in the real world, we're not going to hire a
> whole team of Java/Oracle experts.

In most cases I'd be pleased if I saw just one. Of course I'd also probably not get the jobs as they wouldn't need me. ;-)

>>>(Should we drop comp.databases.oracle from followups?  I'm not sure
>>>this discussion is relevant there any longer.  I'm reading this in
>>>c.l.j.p but I don't know where you are reading it.)
>>>
>>>Chas Douglass
>>
>>I am reading in the Oracle group but it should be noted that last year
>>I taught a JDeveloper class here at the U with one of the people that
>>helped write Hibernate. So I know my way, reasonably well, around Java
>>too. 

>
> I apologize if I, in any way, implied that your knowledge of Java (or
> anything else, for that matter) was at issue.

I didn't take it that way. It was just informational. No apology required.

> Chas Douglass

-- 
Daniel A. Morgan
University of Washington
damorgan_at_x.washington.edu
(replace 'x' with 'u' to respond)
Received on Tue Jan 04 2005 - 01:56:30 CET

Original text of this message