Re: Migration report

Klaus Wuestefeld <[email protected]>
Newsgroups gmane.comp.java.prevayler
Message-ID <[email protected]>
Nice :)


On Mon, Jan 11, 2010 at 7:24 AM, Karl Wettin <[email protected]> wrote:
> I've migrated from JPA/Hibernate/PostgreSQL to Prevayler.
>
> It's been a few years since I used Prevayler the last time. Don't know
> why I forgot about it. The plan has never been to use JPA in the end,
> I was going to use some key-value store. Each entity root in my domain
> model has a huge and almost isolated object graph thats huge, contains
> a lot of abstract layers and all the other things that will cause any
> JPA to go nuts with instrumentation and lots of small requests to the
> RDBMS in order to load the grpah.  But I knew that my domain model
> would evolve while beeing developed and for some reason I thought it
> would be easier to retain data integrity if I was using an RDBMS.
>
> But RDBMS was way slow. Fully loading one domain entity object graph
> via JPA took ~8 seconds. I had to create layer upon layer that cached
> this and that. In the end I pretty much had all my domain objects
> loaded in RAM, just that there was all this overhead, latency and lots
> of crazy code I had to consider every time I added something new. And
> since my model is rather complex I had to do a lot of weird stuff in
> order to get Hibernate accepting my business code. Nasty visitors
> everywhere to handle lazy instrumentation problems of polymorphic and
> abstract solutions, etc.
>
> But I hanged in there and released version 0.1 backed by JPA.
>
> I've now spent one week rebuilding the application from scratch to
> make it fit Prevayler. The code is beutiful! No crazy solutions to
> handle problems with JPA APIs and no need for any of those layers of
> cache I used to have. A lot less code, cosmetically way better code,
> and of course way greater performace than before. Here is my best
> benchmark report:
>
> ~8 seconds per fully loaded domain entity object via JPA ment it took
> 17 hours when normalizing the complete data store in order to produce
> a Lucene index. In version 0.1 I ended up using a native SQL-hack
> instead and it then took ~30 minutes. Using Prevayler it takes less
> than 2 minutes to produce the same index.
>
>
>
>        karl
>
> ------------------------------------------------------------------------------
> This SF.Net email is sponsored by the Verizon Developer Community
> Take advantage of Verizon's best-in-class app development support
> A streamlined, 14 day to market process makes app distribution fast and easy
> Join now and get one step closer to millions of Verizon customers
> http://p.sf.net/sfu/verizon-dev2dev
> _______________________________________________
> To unsubscribe go to the end of this page: http://lists.sourceforge.net/lists/listinfo/prevayler-discussion
> _______________________________________________
> "Databases in Memoriam" -- http://www.prevayler.org
>

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
To unsubscribe go to the end of this page: http://lists.sourceforge.net/lists/listinfo/prevayler-discussion
_______________________________________________
"Databases in Memoriam" -- http://www.prevayler.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.