Live data from Hacker News

Our take on RethinkDB vs. MongoDB

rethinkdb.com

71–80 of 85 posts

Re: Our take on RethinkDB vs. MongoDB

#72

Earlier quoted context omitted.

Rethink has durability, MVCC, joins, logical sharding, excellent admin tools, etc. All things that serious databases tend to have and Mongo doesn't.

MongoDB IS durable now by default, has a third party MVCC implementation (MongoMVCC) and has pretty decent admin tools. And this idea that joins is a requirement for a "serious" database makes absolutely no sense. Database level joins are toxic for scalability and IMHO should always be done in the application layer.

Toxic seems like a strong word to describe standard relational database functionality. Are you seriously recommending that join functionality always be done in the application layer? If so, are you speaking from specific experience, and can you elaborate on your reasoning?

I've seen too many poor re-implementations of relational database functionality in the application layer to ever recommend it as a standard starting point. Doesn't the concept of not prematurely optimizing apply here? Solve the scalability problem when you need to. That may mean moving some join functionality into the application layer, but the solution to any given scalability problem depends on the specifics of the problem. Just throwing out database joins as a rule seems drastic.

Re: Our take on RethinkDB vs. MongoDB

#73

Earlier quoted context omitted.

Rethink has durability, MVCC, joins, logical sharding, excellent admin tools, etc. All things that serious databases tend to have and Mongo doesn't.

MongoDB IS durable now by default, has a third party MVCC implementation (MongoMVCC) and has pretty decent admin tools. And this idea that joins is a requirement for a "serious" database makes absolutely no sense. Database level joins are toxic for scalability and IMHO should always be done in the application layer.

Database level joins are toxic for scalability

Tell that to Teradata.

Re: Our take on RethinkDB vs. MongoDB

#74

I started using RethinkDB in one of my projects and am looking for excuses to use it in more of them. So far things have been great and honestly my impression is that RethinkDB doesn't get nearly the hype it deserves. I used Mongo before and it is fine db and I don't think I would be sad to use it, however rethink really does so many things better. Again I just started using it and things are really good, I didn't ra…

Why brew instead of port? I've always wondered why the pendulum swings between ports and homebrew so often on HN ..

Re: Our take on RethinkDB vs. MongoDB

#76

Anyone know if there is a Lua driver for RethinkDB in the works? I suppose I could use the C client and think about generating one for Lua, but maybe someone has already done that?

There isn't one yet. We'll publishing the new, much simpler spec for client driver writers. It'd be pretty easy to do a native Lua driver (based on protocol buffers).

Re: Our take on RethinkDB vs. MongoDB

#77

I started using RethinkDB in one of my projects and am looking for excuses to use it in more of them. So far things have been great and honestly my impression is that RethinkDB doesn't get nearly the hype it deserves. I used Mongo before and it is fine db and I don't think I would be sad to use it, however rethink really does so many things better. Again I just started using it and things are really good, I didn't ra…

Why brew instead of port? I've always wondered why the pendulum swings between ports and homebrew so often on HN ..

I don't think that pendulum has swung to the MacPorts side for many years.

Re: Our take on RethinkDB vs. MongoDB

#78

My company uses MongoDB. Our biggest pain points are: 1. MongoDB has massive storage overhead per field due to the BSON format. Even if you use single character field names, you're still looking at space wasted on null terminators. 32bit fixed length int32s also bloat your storage use. We solve this by serializing our objects as binary blobs into the DB, and only using extra fields when we need an index. 2. In Mongo,…

.Net driver is right here. https://github.com/mongodb/mongo-csharp-driver/downloads

Re: Our take on RethinkDB vs. MongoDB

#80

Riak is NOT operations-oriented. It's nearly impossible to manage operationally without dedicated staff at scale and the tools to introspect and analyze and deal with failures aren't robust enough yet. I know they're just trying to contrast Riak and Cassandra with Couch and Mongo, and that Riak is designed to shard easily without the developer having to think about it. That philosophy actually is "developer-oriented"…

Can you provide an example of where Riak was "nearly impossible to manage operationally without dedicated staff at scale and the tools to introspect and analyze and deal with failures aren't robust enough yet"?

Just watch the talk by Voxer on Riak (on Basho's site). It's basically an hour long explanation of why the things that come out of the box with Riak don't work for them. We ran into those problems as well.

Also, I'm giving a talk on it in 9 days at ErlangDC...Whisper is now top 10 social networking apps and we had a number of critical Riak failures. i'll be elaborating on them, though the focus of the talk is not to bash Riak, no pun intended... just to provide our experience and how we worked around it.

Post reply on HN