On Thu, 2 Aug 2001, Gunther Birznieks wrote:

> When you've had your fill of wrestling over mySQL vs PostGres and stored
> procs versus inline SQL.... (I know I have long ago)
>
> You guys should definitely read the following:
>
> http://www.ambysoft.com/persistenceLayer.html
>
> One of my current coworkers turned me on to this. I have found it to be one
> of the best series of articles related towards what it takes to abstract
> database away from your object layer and the various levels at which it
> makes sense to do so.
>
> You may find the design a little complex, but Scott pretty explicitly
> states that this is what is necessary for a *large* system. You can always
> go down a less complex path by choice if you feel your programs aren't
> complex enough to need the full Persistence Layer structure he advocates.

I've worked with Scott Ambler, and I could record everything Scott Ambler
knows about actually devleloping large systems on the head of a pin, using
a magic marker.  That guy is a hopeless academic without the slightest
clue of how to actually make software happen.

Here's the brutal truth about persistance "abstractions" using an RDBMS
backing store.  At some point, your DBA is going to come up to you and
tell you that you code is too slow.  You need to rewrite some SQL queries
to use a different index, or some sorting hints, or whatever.  You will
realize that you need to pass some extra information down through your
abstraction layers to make it all happen.  After that happens twice or
thrice, you will slowly come to realize that your abstraction is really no
abstraction at all: every time the schema changes, the top level interface
needs to change as well.

-jwb

Reply via email to