I like to see it this way and perhaps I am wrong... They way you search on a database is using indexes. Indexes are trees (binary trees or b-trees, etc). They fast because the depth of the tree is log(N) where N is the number of the elements. You can insert, delete and search for items in tree very fast. The information about your query propagates down the tree from its root to the leafs and the results propagates back to the root.
SQL databases are more than a collection of trees. They can do joins. They have transactions. These operation are non local. Think about updating two nodes of the tree which are on different branches (a transaction). That is complicated and expensive. Or think about joining data in one tree with data in another tree (left joins). Yes SQL databases are good at these things. If you take a SQL database and remove non-local operations like joins, and transactions you are left with trees. Trees are fast and have other nice properties. You can for example store different branches in different servers thus making it scale at no performance cost. You can also keep copies of branches in different places thus making them resilient to server failures. Moreover because all you have is a big tree of data, there is no need any more for the nodes to store the same type of information. So different nodes/records can store different types of data. In my understanding this is what nosql databases are. Just databases without joins and limited transactions which are able to super-optimize whatever remains (insert and search). At first approximation they are key-value storage where the key is stored in the tree index and the value is a dictionary associated to the key. Some are more complex and allow you to search the values as well by distributing the query in parallel over the branches of the tree. Some have multiple keys. If your data matches this model they are great. If you ever need to do a global search and replace or referential integrity or transactional integrity, forget it. Massimo On Thursday, 23 August 2012 19:52:13 UTC-5, Niphlod wrote: > > Without hitting a "product vs product" issue... nosql dbs is just another > tool at the programmers belt. > The "usually advertised benefits" are raw speed and scalability. > > On Friday, August 24, 2012 2:01:03 AM UTC+2, apps in tables wrote: >> >> >> I think my problem is that my mind has been thinking for thirty years >> about applications in the sql database way. >> >> I don't know what the nosql database application structure will look like. >> >> this is not the problem of web2py.... web2py is full stack framework ( >> based on sql-like database (DAL) ). >> >> So, web2py will not get benefit from the nosql database feature. >> >> I think there are benefits for the nosql database, that i am not aware of. >> >> Anybody knows ?? >> > --

