If you are sending a 2mb json on every action and there are only about 40 nutrients per food, either I am missing a point or something is really wrong about your logic.
On Dec 3 2011, 12:34 pm, mf <mf2...@gmail.com> wrote: > I'm building an application and I'm having trouble making a choice > about how is the best way to access multiple times to static data in a > django app. My experience in the field is close to zero so I could use > some help. > > The app basically consists in a drag & drop of foods. When you drag a > food to a determined place(breakfast for example) differents values > gets updated: total breakfast calories, total day nutrients(Micro/ > Macro), total day calories, ...That's why I think the way I store and > access the data it's pretty important performance speaking. > > This is an excerpt of the json file I'm currently using: > > foods.json > > { > "112": { > "type": "Vegetables", > "description": "Mushrooms", > "nutrients": { > "Niacin": { > "unit": "mg", > "group": "Vitamins", > "value": 3.79 > }, > "Lysine": { > "units": "g", > "group": "Amino Acids", > "value": 0.123 > }, > ... (+40 nutrients) > "amount": 1, > "unit": "cup whole", > "grams": 87.0 } > } > > I've thought about different options: > > 1) JSON(The one I'm currently using): > > Every time I drag a food to a "droppable" place, I call a getJSON > function to access the food data and then update the corresponding > values. This file has a 2mb size, but it surely will increase as I add > more foods to it. I'm using this option because it was the most > quickest to begin to build the app but I don't think it's a good > choice for the live app. > > 2) RDBMS with normalized fields: > > I could create two models: Food and Nutrient, each food has 40+ > nutrients related by a FK. The problem I see with this is that every > time a food data request is made, the app will hit the db a lot of > times to retrieve it. > > 3) RDBMS with picklefield: > > This is the option I'm actually considering. I could create a Food > models and put the nutrients in a picklefield. > > 4) Something with Redis/Django Cache system: > > I'll dive more deeply into this option. I've read some things about > them but I don't clearly know if there's some way to use them to solve > the problem I have. > > Thanks in advance, Mariano. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.