Answer the question
In order to leave comments, you need to log in
Why exactly, when and where are NoSQL solutions preferred over traditional SQL?
We are looking for specific answers to the question posed. So that the proofs and examples are at least reliably googled.
Disclaimer - only free solutions are of interest.
Thank you!
Answer the question
In order to leave comments, you need to log in
For example, when compiling complex catalogs.
Imagine, for example, the catalog market.yandex.ru
There is a product and there are its parameters. Linking everything to everything is not advisable. Refrigerators don't need scanning color, and scanners don't need a number of replacement blades.
In noSQL, this is done elementarily. In RSQL, all unnecessary fields will be empty, or there will be a “clumsy” many-to-many relationship that is difficult to maintain.
I like sql solutions more, but can I answer?
1. no sql overhead. the smaller and simpler the request, the greater the impact of this overhead. with thousands of PK select requests, most of the CPU time is spent on this. see, for example, mysql+handlersocket or mongodb benchmarks compared to normal mysql
2. no need for "relationship", "tables", "strong typing". different nosql solutions have different capabilities, for example, some of them are focused on storing non-uniform data (which is solved in sql by adding the table “object key - attribute id - attribute value”), some allow storing graphs (and doing graph-specific selections and operations). look at git or svn for example. both use their non-sql databases for their own specific purposes.
MongoDB and Riak dofiga where used. Google offsite, see company logos in the description.
Well, Riak , for example, is good. You simply add machines to the cluster, and the data itself is replicated and sharded, you don’t need to think about anything special. If something fell on Saturday, don't worry, there are replicas. Come on Monday and calmly replace the car. If the cluster can no longer cope with the load - again, just add a machine, the load itself is redistributed.
However, there are no transactions. But you can pick up PostgreSQL next to it. If we need transactionality - let's do it in PostgreSQL, we don't need it - let's do it in the Riak cluster. As a result, the load on PostgreSQL becomes much less, which is good, since RDBMS do not scale very well.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question