Live data from Hacker News

Ask HN: Do you still use MongoDB?

news.ycombinator.com

231–240 of 243 posts

Re: Ask HN: Do you still use MongoDB?

#231

Earlier quoted context omitted.

> much of the anti-mongo sentiment is around people who used it in 2009-ish. So? I think this is a very plausible way of measuring how much you should trust something. There had to be a downside to the "move fast and break things" that mongodb subscribes to (i.e., add features now, think about reliability later). As it turns out, they moved fast and broke their reputation.

You make technical decisions based on what happened a decade ago? Do you make all decisions based on ten year old information?

[deleted]

Re: Ask HN: Do you still use MongoDB?

#232
post #13

Earlier quoted context omitted.

back when mongo was around 2.6x, they had a global write lock. Also, you'll encounter more problems with mongodb if in case you need transaction. You should check out more discussion here on db systems. http://www.redbook.io/

IMO I've come to see DB transactions as a hack because they limit scalability. It's possible to use two-phase commits instead. Two-phase commits can scale without limit but you have to be more careful when designing your tables and specifying your indexes. For tables which need atomicity, you can add a 'state' column/field which is either 'pending' or 'settled'. You can have a separate parallel subroutine (or process…

Exactly it's a bit more of work does make you prone to mistakes. This is what happens when you rewrite transaction on your application. See what happens with to a btc exchange using mongo who got hacked.

https://dzone.com/articles/mongodb-bitcoin-how-nosql (article is 2014)

I'm a bit outdated with mongo since 2.4-2.6 . It's a bit traumatic and i'm never coming back to it.

If in case I'll need a high atomicity and consistency for financial transaction i'll just use postgres with SERIALIZABLE transaction isolation. This solves everything.

Checkout the redbook.io it's a bit outdated but you can see from stonebreaker's discussion that nosql + sql will merge, which is what happening or happened right now. Mongo having transaction, and SQL having json datatypes.

Re: Ask HN: Do you still use MongoDB?

#233

Earlier quoted context omitted.

DynamoDB is a lot more explicit about its tradeoffs. Much of the backlash against Mongo was because it basically claimed to be well-suited to any use case, when its sweet spot was really far narrower. To be successful with Mongo, you need to design the entire app around its limitations, but those limitations were initially downplayed and obscured. People were convinced that Mongo was a good choice as a default, gener…

What are those good use-cases for mongo?

Basically when speed and horizontal scalability are very important, and consistency/durability are less important. It’s also pretty good for unstructured or irregularly structured data that’s hard to write a schema for.

Web scraping or data ingestion from apis might be a reasonable use case. Or maybe consumer apps/games where occasional data loss or inconsistency isn’t a big deal.

It can also be used effectively as a kind of durable cache (with a nice query language) in place of redis/memcached if you give it plenty of ram. While its guarantees or lack thereof aren’t great for a database, they’re pretty good for a cache.

Re: Ask HN: Do you still use MongoDB?

#234
post #216

Earlier quoted context omitted.

Life is too short to reevaluate every technology I've had a bad experience with. You only get one chance to make a first impression - I'll probably stick with it unless I get an excellent reason to change my mind. How often do you reevaluate technologies that you've had a bad experience with?

How often I re-evaluate applications, you mean? I would say it happens somewhat regularly; if there's something I miss with one I switched from, or if I hear or read something good about an application I stopped using.

I guess the more interesting questions are how often you re-implement discarded technologies back in to your core stack after they’ve let you down, and how much time you spend re-evaluating your core tech but don’t find enough improvements to incur the switching costs.

For something as fundamental as the database, most developers (and people who rely on them) would probably hope for “rarely” and “not much”. What are the benefits you see from taking a different approach?

Re: Ask HN: Do you still use MongoDB?

#236
post #22

Yes, use it with Atlas for every one of my companies' projects. - The document model is a no-brainer when working with JS on the front-end. I have JSON from the client, and Dictionaries on the backend (Flask), so it's as easy as dumping into the DB via the pymongo driver. No object relational mapping. - Can scale up/down physical hardware as needed so we only pay for what we use - Sharding is painfully easily, with o…

My experience has been the same, for I only used it for a couple weeks now. I love their web interface - anyone knows if there are any cloud offerings for PostgresSQL which are similar?

Re: Ask HN: Do you still use MongoDB?

#237

Earlier quoted context omitted.

Depends on what you're doing, I suppose. CouchDB's multimaster concurrency features are still effectively best in class, but there are so many managed DB services now, that it doesn't seem like a headline feature. The RESTful interface is pretty cool. And Couch's in-built security features are near enough a best kept secret. CouchDB always lost to Mongo in discussions about speed unfortunately. Data safety and securi…

Another CouchDB fan here. CouchDb's mango queries are implemented as Erlang map functions under the hood. Users now can get the speed of Erlang and the usability of Mongo-like query syntax.

Thanks for the CouchDB feedback guys! I am curious to try it out. I should have been more clear, I was actually referring to Couchbase (https://www.couchbase.com/) not CouchDB :) Very unfortunate naming conflict considering they are both JSON document stores. Is there something about the word 'couch' that I'm missing?

From my experience with Couchbase though, I would recommend it to others. They support SDKs in many languages, have decent documentation, and the server has performed well for us. The query language 'N1QL', tries to emulate SQL syntax, and I found it nice to work with.

Re: Ask HN: Do you still use MongoDB?

#239
post #216

Earlier quoted context omitted.

Life is too short to reevaluate every technology I've had a bad experience with. You only get one chance to make a first impression - I'll probably stick with it unless I get an excellent reason to change my mind. How often do you reevaluate technologies that you've had a bad experience with?

How often I re-evaluate applications, you mean? I would say it happens somewhat regularly; if there's something I miss with one I switched from, or if I hear or read something good about an application I stopped using.

I was thinking of platforms or programming languages, e.g. the JVM, the .NET Core runtime, Go, Python, etc.

I consider MongoDB a platform.

I don't change applications that often. I'll try a new application when I have a new problem but my current applications are good enough for now.

Re: Ask HN: Do you still use MongoDB?

#240
post #237

Earlier quoted context omitted.

Another CouchDB fan here. CouchDb's mango queries are implemented as Erlang map functions under the hood. Users now can get the speed of Erlang and the usability of Mongo-like query syntax.

Thanks for the CouchDB feedback guys! I am curious to try it out. I should have been more clear, I was actually referring to Couch base ( https://www.couchbase.com/ ) not CouchDB :) Very unfortunate naming conflict considering they are both JSON document stores. Is there something about the word 'couch' that I'm missing? From my experience with Couchbase though, I would recommend it to others. They support SDKs in ma…

Couchbase was a commercial CouchDB spinoff product, co-created by the programmer who created CouchDB. Much of the API is (was?) the same, but where possible, Erlang was exchanged for C++.

It also has a built-in, in-memory cache layer, which CouchDB doesn't have.

Post reply on HN