On Thu, Jan 21, 2010 at 7:48 AM, Duong BaTien <duong.bat...@gmail.com> wrote: > > While exploring list-property and merge-join from this talk > http://code.google.com/events/io/2009/sessions/BuildingScalableComplexApps.html > i concur with your value proposition.
Neat, I had missed that talk. Good stuff. More comments inline: > Initially, i plan to build a singleton long id generator to reproduce > and self-manage datastore Key of the application entity graph. Then use > the low-level datastore to create list-property and merge-join: User -> > Message -> MessageIndex or User -> Activity -> ActivityIndex (of > different properties such as Interest, Checkout, MesurableEvent, etc). > Please: > 1) Explain the difference from objectify-appengine with this simple- > mind approach in the immediate and long term project. There isn't much of a difference at all. Objectify is a *very* thin wrapper around the low-level API. Generally speaking, you do everything the same as the way you would do it with the low-level API except you get to use your typed objects instead of Entity. Merge joins and list properties work exactly the same in Objectify as they do in the low-level API. I'm not in a good position to evaluate your specific problem domain, but I feel confident saying that if you're considering the low-level API, you will be much happier using Objectify. > 2) It is excellent to show an example of both list-property and merge- > join as well as best practices to leverage the zig-zag search of the app > engine. I wrote a little bit about list properties in the context of a Multi-Value Relationship in this section: http://code.google.com/p/objectify-appengine/wiki/IntroductionToObjectify#Multi-Value_Relationship But truly, there's nothing complicated about list properties in Objectify. If you save a property of type List<String> then it comes back as List<String>. That Google I/O video did a far better job of explaining zig-zag merge sorts than I ever could. > 3) Configuration with appengine-java-sdk if there is any significant > change beside a small jar from objectify-appengine. Just add objectify-1.x.jar to your project and make sure that you register your entities in your code (see http://code.google.com/p/objectify-appengine/wiki/BestPractices). That's it. 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. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.