i switch from JDO to Objectify i one Day. i changed 42 classes (thats what my svn says), but the key to success the migration was the tests:
57 green tests before start + 1 factibility test for objectify in transaction. Now my code is clean y work faster, NM On Tue, Mar 30, 2010 at 4:38 PM, David Sowerby <david.sowe...@virgin.net>wrote: > Andreas, first thanks for the article, it was hugely interesting and > of course thanks to all who have given us some alternatives to argue > about! A few themes seem to come out of this for me > > 1) Some people are just either happier with what they know (SQL/ > RDBMS) - perfectly understandable and probably more productive > initially at least, but if someone didn't move the goalposts now and > then we would never get any innovative change. > > 2) Some just have to live with existing code and work with that. > That's life I guess. > > 3) Others see the datastore as a component of a different way of > working which overall has some major benefits - making the use of the > datastore simple and efficient is just part of the equation. > > 4) Abstraction is all very well - but if the trade off is a lack of > clarity or poor performance then it is in danger of being an objective > for its own sake. > > I don't think anyone has mentioned the famous impedance mis-match > between OOP and RDBMS. It seems to me that BigTable is a better match > to OOP than an RDBMS is - although I found JDO a struggle. > > I have the luxury of developing a Java app from scratch, which of > course is not the same for everyone. I did get JDO to work but it > does feel like I am making life hard for myself by doing so. Now all > I have to do is decide which of the alternatives to go for ..... > > > On Mar 30, 7:33 pm, Jeff Schnitzer <j...@infohazard.org> wrote: > > On Tue, Mar 30, 2010 at 8:03 AM, Guillermo Schwarz > > > > <guillermo.schw...@gmail.com> wrote: > > > > > SQL can be run on top of a file system (fseek, read, write) or on top > of a > > > persistent hashmap (datastore). > > > > > If you create a SQL interface on top of any of those, then it is a > > > relational database, not a fake but a real relational database. Why > would I > > > want a relational database? Consistency, for starters. ACID > transactions. > > > Set operations. > > > > ...except that you *can't* actually create a performant relational > > database on top of appengine. > > > > Let's be realistic here. There is one reason and one reason only why > > modern RDBMSes can perform at anything remotely like the speeds > > necessary for web applications: > > > > * Lots and lots of RAM, enough to cache whole indexes. > > > > You don't have this in appengine. You get, at best, somewhere around > > 110 megs. How fast do you think an RDBMS is going to perform on a > > machine that has been lobotomized to 100 megs of RAM??? If you have > > an antique computer from the 1990s you can find out. > > > > I have no doubt that you can create an RDBMS on top of the GAE > > datastore. I also have no doubt that trying to tune a Hibernate app > > to run at reasonable speeds will be a nightmare that I never want to > > experience. > > > > Jeff > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.