On Mon, Aug 22, 2011 at 8:57 PM, keyd...@gmx.de <keyd...@gmx.de> wrote: > , I start to think I was not too far off perhaps? Because ORMs, and > relational-algebra-to-SQL compilers (one thing I find fascinating personally, > but ...) would be fine examples of software that'd run into the kind of > problems I was talking about. > One popular (in every respect) example in the Java world would be Hibernate, > as not only does its code generation not take into account the specific > characteristic of the underlying rdbms, but additionally, by its convenience > of use, it creates the illusion, in a way, that treating the DB as a "black > box" will bring no disadvantage (or even, is a good thing).
A lost of applications don't push the hardware. For these applications fairly big abstractions are useful. This includes most of the projects I've worked on. A layered approach is probably the best one. At the bottom would be a common low-level DB interface, ala, JDBC or Ryan's db.plt. A relational algebra to SQL compiler is also a useful building block sitting on top of this. One can layer an ORM on top of these and then drop down to the lower levels as needed. Cheers, N. _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users