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