struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Taylor <64rwtaylo...@bellsouth.net>
Subject [OT] ORM vs JDBC [WAS- BRANCH: Typical Struts development team and distribution of tasks?]
Date Sun, 13 Mar 2005 14:48:01 GMT
I've been lurking on this thread for a while and had some observations 
and questions.

Observations:

It seems like for most OLAP applications; those applications where the 
majority of the requirements are real-time read operations (reporting, 
searching, number crunching, etc... where data cannot necessarily be 
cached) may be best suited for a JDBC type solution as opposed to using 
an ORM solution. I think this is because an optimized query or stored 
procedure can retrieve data faster than drilling into an object graph 
and its respective relationships (n+1 problem).


It seems like for most OLTP applications; those applications where the 
majority of the requirements are write operations (CRUD) are best suited 
for an ORM solution. This is because the SQL required for executing 
these operations is easily extrapolated from meta data and therefore 
eliminates the mundane task of having to write and maintain.


Question:
For those applications which are both OLAP and OLTP, then why not use 
both types of solutions? For example, let's say I have a master-detail 
type report which does a lot of number crunching and is very complex 
which returns rows where each row represents a record detail. Clicking 
on a row is a simple query returning the contents of that row to a 
detail page. For the report query, I may use a stored procedure or an 
optimized query. When I click on a row, I leverage my ORM solution 
retrieving the details with a primary key.

It seems like this would solve both problems:

1. Use ORM to handle the simple CRUD operations. Reduce the amount of 
SQL which has to be hand written and maintained.

2. Use straight JDBC to handle complex/optimized data retrievals.



Is this not a reasonable solution? Am I missing something?

/robert




Larry Meadors wrote:
> We eliminated lazy loading (it was creating literally thousands of
> queries), and replaced it with a single stored procedure that we
> mapped to objects with a RowHandler.
> 
> No outer joins + highly optimized data access = happy users.
> 
> Larry
> 
> 
> On Sun, 13 Mar 2005 08:32:58 -0500, N G <nistarguy@gmail.com> wrote:
> 
>>On Sun, 13 Mar 2005 06:18:36 -0700, Larry Meadors
>><larry.meadors@gmail.com> wrote:
>>
>>>For example, on the application I am working on, we changed a screen
>>>that accessed a large amount of data. The time to draw that screen
>>>changed from over 10 minutes (we killed it after that, and are not
>>>sure how long it would have run unchecked) to under one. In the case
>>>of smaller sets of data, we went from several minutes to sub-second
>>>responses.
>>
>>You mean changing the app from using Hibernate to iBatis changed the
>>performance from 10 min to under 1 and so on? Is that correct?
>>
>>Why do you think there was SUCH a drastic change???
>>
>>NG.
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>For additional commands, e-mail: user-help@struts.apache.org
>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message