Relational theory, SQL and JDBC are functional specifications and RDBMS vendors implement these specifications. Actually speaking data model has nothing to do with technology. A data model in software engineering<http://en.wikipedia.org/wiki/Software_engineering> is an abstract model <http://en.wikipedia.org/wiki/Abstract_model> that describes how data <http://en.wikipedia.org/wiki/Data_(computing)> is represented and accessed. Data models formally define data elements<http://en.wikipedia.org/wiki/Data_element> and relationships among data elements for a domain of interest.
The principles you mentioned in your blog are correct but the difference is that Cloud2db applies these principles without exposing these to designers and developers. In short Cloud2db engine extrapolates proper strategy for storing and accessing data based on your data model. There will be instances where you will need to adjust your model for better performance. But don't you do the same with RDBMS? Don't you de-normalize your models in certain scenarios for better performance? On Sat, Mar 6, 2010 at 9:49 AM, objectuser <kevin.k.le...@gmail.com> wrote: > I think the gap here is that a RDBMS (PostgreSQL) and the App Engine > Datastore are totally different. In fact, I think the latter > influences your design much more than the former. > > The sorts of joins you used to be able to do in your DB to efficiently > retrieve data don't work in the GAE datastore. You need to build your > data model around the queries you want to run efficiently. To say > again, your data needs to be modeled to support your most important > queries. > > I go through some of the reasoning in the modeling section of my blog > (I've been away from GAE for a while so some of this could have > changed): > > http://objectuser.wordpress.com/google-app-engine/ > > However, if you've not done so, I highly recommend reading the Google > documentation: > > http://code.google.com/appengine/docs/java/datastore/ > > On Mar 5, 6:54 am, vennervald <jacob.vennerv...@gmail.com> wrote: > > Hi Guys > > > > We have a small application running on JBoss, Seam, Hibernate and > > PostgreSQL that we are thinking about moving to GAE/J. > > To test the datastore we uploaded our data 1-1 so all our tables from > > Postgres were represented as entity types in the datastore with the > > entities relating to eachother through their keys. > > As a proof of concept of the performance of the datastore, we did an > > implemented one of our heaviest reports by joining 6 entities > > together. And the performance proved to be really bad. Infact we > > received the deadline exception before we got to join all the > > entities. From the platform we are running on now, this could be done > > in less than a second. > > This doesn't tell me that Google datastore is worthless. It tells me, > > that I'm doing something wrong, and that I need to think differently > > about the data structures to make it perform on GAE. > > I've been looking around and I can't seem to find really good sources > > on datastore/JDO best practises. > > Does anybody have any good resources on this toppic? > > I would really apriciate your help. > > > > /Jacob :) > > -- > 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.