I didn't mean to suggest that. Yes, a fanout is potentially bad, but the problem with the normalized approach is that you equally optimize for reads and writes. In the address book example, I update my address book about 1 time every 3 years. I read my address book 20 times a day. I think it's fair to pay the cost of a fan out on change because a change is so infrequent.
Normalization has its benefits: it's harder for things to get out of sync, which is ALWAYS a risk with denormalization. A denormalized solution tends to favor eventually consistency approaches over strongly consistent approaches. My point is that every app can be built in a denormalized approach, and in the majority of cases, you actually *want* to build your app in this approach, not the other way around. -- Ikai Lan Developer Programs Engineer, Google App Engine plus.ikailan.com | twitter.com/ikai On Fri, Aug 5, 2011 at 12:00 PM, JT <jem...@gmail.com> wrote: > William, > > > You might want to go over this > http://static.googleusercontent.com/external_content/untrusted_dlcp/labs.google.com/en/us/papers/mapreduce-osdi04.pdf, > and come back again with any questions. Ikai and possibly others were trying > to convey to you that bigtable approach is more scalable than relational > approach. > > > If it works for Google, why woudn't it work for you? Do you have a larger > data than Google? > > > On Fri, Aug 5, 2011 at 2:45 PM, William Levesque > <billleves...@gmail.com>wrote: > >> I was trying to explain that with... >> >> >> If someones address is denormalized into 1000 contact records, then when >> the user updates their address the system has to go out to all of the >> contact records and update them as well. And this gets multiplied by every >> complex relationship that exists in the data. And redundant fields can >> increase data size exponentially. >> >> But is Google's position that all data should be denormalized? >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Google App Engine for Java" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/google-appengine-java/-/W4INlksPkb0J. >> >> To post to this group, send email to >> google-appengine-java@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. >> > > -- > 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-java@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. > -- 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-java@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.