Answer the question
In order to leave comments, you need to log in
There has been a lot of criticism of Mongo lately. What is the reason for this?
There has been a lot of criticism of Mongo lately. What is the reason for this? Everyone used to like her, but now I don’t hear so much negativity about her.
Answer the question
In order to leave comments, you need to log in
The euphoria from the new features has passed and the shortcomings have been revealed, in my opinion the main ones are:
- Poor performance on a 1-server database. It is especially noticeable on map-reduce for data that has completely fit into memory.
— Features of a document-oriented structure. Many switched from tabular databases and then it started: first, the joy that you don’t have to mess with the structure, and then retribution - there are a bunch of different objects in one collection and the application regularly reads something unexpected from a seemingly known collection (very old objects, incorrectly changed, etc.).
— Data integrity. Someone is used to the fact that the database controls this issue, they hang up constraints and catch errors in the log in case of any mistake in terms of business logic. Monga, on the other hand, does not control anything of the kind, and, inside the database, links to objects that do not exist are obtained.
- Lack of full-fledged transactions. Those who rushed to store everything in a mong realized with horror that something else was needed for billing. (I must admit that not everyone understands yet)
In my opinion, not every project can afford to abandon the classic relational database in favor of Mongi. If you drag any small online store, then it is more likely to bring pain and suffering than the expected profit. An effective solution would be to use mongo and a relational database in parallel, but for this to make sense, the project must be of the appropriate size. For a small project, fencing such a garden is counterproductive.
PS My opinion is based on a year of experience with loose work with mongo, experience with relational databases is about 10 years.
A bunch of narrow-minded schoolchildren decided that it was a silver bullet, and began to shove it back and forth. And then it turned out that, like any other solution, in which the functionality is obviously limited (in this case, in favor of speed), it turned out to be not universal at all, and speed, as it turned out, is obtained only in a certain, not particularly wide class of problems. But the inconvenience of limited functionality is manifested everywhere.
In short, a bunch of dumb ads. From this advertisement, the feeling is like from the phrase - "let's build bluetooth into the toilet seat - any thing is better with it."
At first, everyone was guided by rumors, and now by their own experience? :-)
I personally got frustrated many times using mongo. Already from the code of the first version it is clear that the database is written by far from professional programmers (well, who else would think of overriding standard C functions? proof: github.com/mongodb/mongo/blob/v1.4/util/assert_util.h , github .com/mongodb/mongo/blob/v1.4/util/allocator.h ). But it seems that, from version to version, we encounter problems less and less. Only now our product is still at the development stage, who knows what will happen in real work ...
With the fact that its popularity is associated mainly with advertising.
I think the next wave will be Node.js.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question