Live data from Hacker News

The growing irrelevance of MongoDB

itexto.com.br

31–40 of 114 posts

Re: The growing irrelevance of MongoDB

#31
post #14

Earlier quoted context omitted.

Lately (and not so lately ;) there has been a lot of bad press about MongoDB. We use it extensively as part of our product (on single servers) and it fills this role nicely. It has a few drawbacks, most notably huge disk space requirements (MongoDB has no compression) which we are hoping to solve with TokuMX (haven't tried it yet). It has some other quirks too, but in general it just... works. And I love using a docu…

The good news is, you can just wait a few weeks and get the possibility to use WiredTiger inside the upcoming 2.8.0. That will solve a few pain points that we've been dragging along for years (namely, document-level locking, disk requirements, multi-document transactions).

Whoa, I totally missed that news, thank you!!! :)

Re: The growing irrelevance of MongoDB

#32

Earlier quoted context omitted.

The good news is, you can just wait a few weeks and get the possibility to use WiredTiger inside the upcoming 2.8.0. That will solve a few pain points that we've been dragging along for years (namely, document-level locking, disk requirements, multi-document transactions).

And compression

Yes, I missed a word, it was supposed to read "disk (space) requirements" :)

Re: The growing irrelevance of MongoDB

#33
post #14
post #9

I have seen many people try and shoehorn various problems into MongoDB, when in most cases a relational database would have been better suited. I have yet to see a real use case for Mongo unless you are building a Facebook clone. Can someone suggest when it is actually useful over a properly tuned relational database? I guess I kind of reached the irrelevance stage just thinking about the sort of problems it would be…

Lately (and not so lately ;) there has been a lot of bad press about MongoDB. We use it extensively as part of our product (on single servers) and it fills this role nicely. It has a few drawbacks, most notably huge disk space requirements (MongoDB has no compression) which we are hoping to solve with TokuMX (haven't tried it yet). It has some other quirks too, but in general it just... works. And I love using a docu…

>And I would appreciate a way to define schema

Use mongoose!

>On the other hand, I do miss JOINs when I need them (though we solved that on app level).

How you do that? (maybe is different than me)

What about transactions?

Re: The growing irrelevance of MongoDB

#34
post #28

Earlier quoted context omitted.

So what happens when you want to list all of the products in a category?

Have a category field or link in the table. Join to it. Joins are not evil, they are damn useful. And well done if your product has become large enough to have scaling problems that can't be solved by a bit of indexing on the joins.

Joins are not supported by Mongo. Or at least, not in any way that isn't tortuous.

Re: The growing irrelevance of MongoDB

#35

Earlier quoted context omitted.

Think of an Amazon like product catalogue. I don't want to create a schema in a relational database for that kind of use case. A MongoDB fits as well. Edit: Sorry for my short and unprecise comment. I regret posting it, loosing all my Karma. Yes, of course I would use a schema, but I may use hundreds to get my products presented with all attributes and variants available. There is a set of attributes that will remain…

So what happens when you want to list all of the products in a category?

query = db.products.find({'type': 'Film', 'details.actor': 'Keanu Reeves'})

@see: http://docs.mongodb.org/ecosystem/use-cases/product-catalog/

I personally miss Joins in MongoDB - but other vendors support Joins.

Re: The growing irrelevance of MongoDB

#36
post #27
post #9

I have seen many people try and shoehorn various problems into MongoDB, when in most cases a relational database would have been better suited. I have yet to see a real use case for Mongo unless you are building a Facebook clone. Can someone suggest when it is actually useful over a properly tuned relational database? I guess I kind of reached the irrelevance stage just thinking about the sort of problems it would be…

I just like being able to insert a random JSON into a collection and query it by any of its properties. Not sure how I would do that with a relational database.

PostgreSQL has full support for JSON [1]. So, quite easily in fact.

[1]: http://www.postgresql.org/docs/9.4/static/datatype-json.html

Re: The growing irrelevance of MongoDB

#37
MongoDB will always be a relevant example of false advertising and over-marketing (to the point of 10gen probably opening themselves to litigation) and how we all need to stop drinking the kool-aid.

There is LITERALLY no reason to use MongoDB today. If you're thinking of using MongoDB, for the love of god just try PostgreSQL.

Re: The growing irrelevance of MongoDB

#38
post #27
post #9

I have seen many people try and shoehorn various problems into MongoDB, when in most cases a relational database would have been better suited. I have yet to see a real use case for Mongo unless you are building a Facebook clone. Can someone suggest when it is actually useful over a properly tuned relational database? I guess I kind of reached the irrelevance stage just thinking about the sort of problems it would be…

I just like being able to insert a random JSON into a collection and query it by any of its properties. Not sure how I would do that with a relational database.

You can do this in Oracle 12 and I think in Postgres. You might want to think about why you need to store unstructured data as part of your application though and query it. If it's expected to live a long time and be queried it should probably be structured. If not you could store it (a serialized object) as a blob if you are just caching some state.

https://docs.oracle.com/database/121/ADXDB/json.htm#ADXDB624...

Re: The growing irrelevance of MongoDB

#39
post #9

I have seen many people try and shoehorn various problems into MongoDB, when in most cases a relational database would have been better suited. I have yet to see a real use case for Mongo unless you are building a Facebook clone. Can someone suggest when it is actually useful over a properly tuned relational database? I guess I kind of reached the irrelevance stage just thinking about the sort of problems it would be…

Think of an Amazon like product catalogue. I don't want to create a schema in a relational database for that kind of use case. A MongoDB fits as well. Edit: Sorry for my short and unprecise comment. I regret posting it, loosing all my Karma. Yes, of course I would use a schema, but I may use hundreds to get my products presented with all attributes and variants available. There is a set of attributes that will remain…

"I don't want to create a schema..."

You are always going to end up creating a schema, whether it's explicit in your tables or implicit within your code. Otherwise you end up with completely heterogeneous data which is impossible to query in any useful way.

This is a red herring.

Re: The growing irrelevance of MongoDB

#40
post #9

I have seen many people try and shoehorn various problems into MongoDB, when in most cases a relational database would have been better suited. I have yet to see a real use case for Mongo unless you are building a Facebook clone. Can someone suggest when it is actually useful over a properly tuned relational database? I guess I kind of reached the irrelevance stage just thinking about the sort of problems it would be…

Think of an Amazon like product catalogue. I don't want to create a schema in a relational database for that kind of use case. A MongoDB fits as well. Edit: Sorry for my short and unprecise comment. I regret posting it, loosing all my Karma. Yes, of course I would use a schema, but I may use hundreds to get my products presented with all attributes and variants available. There is a set of attributes that will remain…

I'd say elasticsearch is often used for this kind of tasks.
Post reply on HN