If you don't need the data indexed and your access patterns are suitable like you say, there is no harm in storing data in JSON format in a blob, i have done similar things in many places. But remember there is no cjson on app engine so make sure to benchmark if you are doing a lot of parsing. Google's protocol buffer is much faster than the json parsing.
On Nov 10, 11:23 am, davidgm <[email protected]> wrote: > Hi again, > > I just figured out that using JSON to store my main data in datastore > could be a good idea. > I would like to share this view and have your opinion about this: > > My app usually returns data to client in JSON format. > This data comes from different db classes, created almost as a > relational db (maybe a newbie mistake). > Instead of having those multiple records, fetching them and building > the aggregate structure and converting it to JSON... I just wonder if > it would be better to store the JSON string into a single db class. > > Updates will need JSON parsing back and forth, but they are few > updates compared to read queries. > And db lock contention will be limited since only a few dozens of > clients are interested in one data chunk. > > I think this trick can cut down CPU usage and datastore API calls. > > But here comes another point: JSON string will be into memcache also. > This cache already reduces CPU and datastore calls. Maybe the > difference between a classic approach (close to relational db) and > this JSON string storage will be unnoticeable. > > The intermediate solution is to store a complex aggregate into one db > class, but I didn't yet figure out how to do it. Precision: I use > Python. > > So, my question is: > > In this context, what do you think of using JSON strings to store data > into datastore? > > Thanks for any advice --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~----------~----~----~----~------~----~------~--~---
