Ok, I think you have a problem with all the apps without a predefined 
model, not a problem with web2py.

I don't think there are out there applications without a model (some kind 
of model is required in programming, heck, even ideas in your brain 
are).... but there are evolving applications. You start with a model, than 
you want to extend it.
Don't know if this is the best example, but, let's suppose you make an app 
to share recipes among users. Initially you think to have a simple user_id, 
recipe_content model. Then, you realize you can implement tags because now 
you have 10000 unsorted recipes and your users will likely want to search 
through them in a somewhat organized manner. In a strictly modelled app, 
you'd have to sort out those 10000 recipes and add tags (and force a None 
on every recipe that doesn't belong to a tag). In Nosql, you can have 100 
tagged recipes and leave all the others without any knowledge of a tag 
(that is a concept separated then having a tag==None associated to them).
Again, for the most detailed recipes (or the most contributive users), 
you'd like to implement a list of ingredients. You don't have to add an 
empty column containing the reference to the ingredients for just 10 users. 
In all of that, you end up having all your recipes with some "common 
fields" and some with additional ones, and you can query all of those in 
the same place. You'd have to sort out in the controller or in the view at 
some point what to print to the page.
Some companies work like that: it's best to "unleash" coders  from the 
"standardized" models to let features released sooner. And when you realize 
that having to add a column or a table to your app for 1m users take 100 
gigabytes and the migration will keep your site down for 6 hours that you 
can't simply afford, Nosql comes in handy. In the end it will be a mess 
compared to a "standardized" MVC app ? Probably, but not too much.

Don't forget that an app using a Nosql db can really have an added value 
also if "strictly" modelled. 
If you happen to notice that you require raw speed and a small amount of 
"complicated joins" that are solvable outside the db scope (e.g. an app to 
centralize the logs for a server facility) then a Nosql db may be more 
indicated than a full blown RDBMS. 

On Saturday, August 25, 2012 11:52:53 PM UTC+2, apps in tables wrote:
>
> A nice aticle
>
> http://www.aosabook.org/en/nosql.html 
>
> I am still looking for schema-free application example.
>
>>
>> Regards,
>>
>> Ashraf
>>
>

-- 



Reply via email to