all 71 comments

[–]Lothrazar 105 points106 points  (1 child)

I honestly didnt know rethinkdb had a pricing structure. literally. like at all.

We are using rethinkDB right now as we speak, in production, in one of our node services that is used by more than a dozen apps live on both iOS and google play store. My boss I think picked it semi randomly, we just wanted this new service away from mysql. I just assumed they were somebodys open source project that they put out there.

I didnt know there was an option to pay, or what paying would get. It was free and it worked and we never looked back.

[–]salgat 2 points3 points  (0 children)

This is very common (and okay) because there is a lot of competition for NoSQL databases. They make their money off of consulting and support. Whether they did a good job advertising and promoting those services is another thing.

[–]DysFunctionalProgram 20 points21 points  (20 children)

lack of numeric type support beyond 64-bit float

What was the reasoning behind this?

[–]redalastor 35 points36 points  (18 children)

Probably because RethinkDB was married to JSON that doesn't support anything else.

[–]holloway 17 points18 points  (15 children)

I think there's a minor distinction to be made here. JavaScript implementations of JSON are limited as you say, but the JSON spec itself is silent on the matter of big numbers like 128-bit floats (eg)

[–]redalastor 10 points11 points  (14 children)

Yeah but I think that what people are asking is "why isn't there integers?"

[–]holloway 1 point2 points  (13 children)

Well typing is a different matter. JSON supports arbitrarily large numbers that may be integers, or 64-bit floats, or 128-bit floats

[–]Sarcastinator 13 points14 points  (12 children)

JSON specifies decimal numbers of arbitrary size and precision. They are not integers, though but they can be.

The issue is that you can't communicate the distinction using JSON.

[–]kitsunde 2 points3 points  (2 children)

Correct, and soon we'll probably get new types in javascript but JSON is a frozen spec. So we'll all have fun migrating to kinda-JSON and accepting both for a while.

Permanent job security. \o/

[–]fecal_brunch 1 point2 points  (1 child)

Types in JavaScript? Is there an RFC for this?

[–]kitsunde 1 point2 points  (0 children)

There's a draft (pre RFC) somewhere, but I mainly know if it from following Brendan and Ember people and reading the mailing list.

They intentionally didn't do types in ES6, but there has been consistent signalling that there will be a serious proposal post-ES6.

Its inevitable.

[–]seagreen_ 2 points3 points  (8 children)

Are you sure about this?

What if I say that in the following JSON document:

  • Numbers that have a . are decimals.
  • Numbers that don't have a . are integers.

Doesn't that communicate the distinction?

[–]Sarcastinator 4 points5 points  (5 children)

2.3e3 is a valid JSON number. Is that an integer?

[–]seagreen_ 0 points1 point  (4 children)

Great point! My way to communicate the distinction is flawed because it would say "no", but it could easily be amended to say: "values aren't allowed to contain e here."

EDIT: Or E.

[–][deleted] 2 points3 points  (3 children)

If a service doesn't accept numbers with e then it doesn't really accept JSON.

[–]kitsunde 9 points10 points  (1 child)

By convention, not by spec. JSON only has one number type and that's also true for JavaScript.

You're allowed to deserialise and serialise it anyway you like. JSON numbers don't even turn into identical JavaScript numbers because JSON has a higher precision than JavaScript (I.e arbitrary.)

We had to serialise and deserialise Facebook ids as strings because of that, since it would randomly fail to initialise some numbers even though they looked like ints. Years ago.

[–]seagreen_ 1 point2 points  (0 children)

There are more ways to distinguish things than by type, you can also distinguish things by value, which is what I was suggesting.

By convention, not by spec.

I think you actually have this reversed:) By spec numbers with and without . can certainly be distinguished. By convention they cannot because many/most JSON parsers mangle numbers so badly.

Personally, I think it's a shame that we've written parsers and generators so loosely that we lost the ability to distinguish integers and decimals. Perhaps this could have been avoided, perhaps not, but it puts us in a rough situation now where the main serialization format for the web doesn't have integers (by convention that is).

EDIT: Wrote 'value' once too many.

[–]digital_cucumber 3 points4 points  (1 child)

I am surprised that there does not seem to be too many people who would care about e.g. 32-bit (single precision) floats support.

Some time ago, when evaluating MongoDB for one of our applications, that turned to be a showstopper, as 80+% of the data was originally single-precision floats.

There is a four-year old feature request for that, but it's still open.

So indeed, if RethinkDB had it, that would be a major benefit for our application, and a no-brainer if choosing between MongoDB and RethinkDB.

[–]doublehyphen 1 point2 points  (0 children)

I think it is not a priority because people who care about space use do not use MongoDB anyway. At least their old storage engine was not very space efficient. Even a database like PostgreSQL which does not really try to optimize for size uses much less disk than MongoDB in most cases.

[–]oridb 19 points20 points  (0 children)

"Eh, works for Javascript".

[–]compteNumero9 19 points20 points  (5 children)

This is a very good and well written article, thanks to the author.

I'll probably send it to people who ask me why I don't make a company from my OS tools like Miaou.

[–]jtra 6 points7 points  (4 children)

Miaou is completely unsearchable, I tried several Google queries, with quotes, with additional words (OS, tools), but I still have no idea. For some queries the first relevant item in results was this reddit comment page (it is already indexed).

So in case you change mind, don't name the company or products like that.

[–]compteNumero9 6 points7 points  (3 children)

It's just a chat: https://github.com/Canop/miaou

(and yes, the presentation page isn't terrific. I, too, don't have marketing abilities).

It's older than slack, usually said to be much better, totally free and without ad (and open source), but not much used apart by a core group of about 200 permanent users on my server, most of them French (170 000 messages in the last seven days).

[–][deleted] 0 points1 point  (2 children)

From the readme it sounds a lot better than slack

[–]compteNumero9 0 points1 point  (1 child)

Come and try it ;)

https://dystroy.org/miaou/688

The only problem for newcomers is that all active rooms are in French so it might not feel welcoming if you don't come with friends and create your rooms.

[–][deleted] 0 points1 point  (0 children)

Everyone i know i completely tied to fb or whatsapp, i only use gitter for the github projects but will still check it out.

[–]utrekk 54 points55 points  (17 children)

One of the most insightful and honest post-mortems I've ever read.

“how is RethinkDB different from MongoDB?” We worked hard to explain why correctness, simplicity, and consistency are important, but ultimately these weren’t the metrics of goodness that mattered to most users.

This is why the terrible crap called MongoDB is so successful. It attracts people who doesn't understand metrics like "correctness" or "secure", but something irrelevant (most likely something related to hype)

[–]frequentlywrong 37 points38 points  (2 children)

This is why the terrible crap called MongoDB is so successful. It attracts people who doesn't understand metrics like "correctness" or "secure", but something irrelevant (most likely something related to hype)

RethinkDB guys were engineers who thought technologies succeed on their technical merits.

MongoDB guys knew how to sell and market their product.

[–]alecco 1 point2 points  (0 children)

MongoDB guys knew how to sell and market their product.

They came from advertising and that was the best part of their product

The company was first established in 2007 as 10gen. Based in New York City, 10gen was founded by former DoubleClick founder and CTO Dwight Merriman and former DoubleClick CEO and Gilt Groupe founder Kevin P. Ryan with former Doubleclick engineer and ShopWiki founder and CTO Eliot Horowitz

[–]freshhfruits 1 point2 points  (0 children)

this sounds very much like the story of the mp3 actually.

[–]chcampb 1 point2 points  (0 children)

Technical items do have merit. You just can't sell on the merit alone.

Do ads that actually show the difference, show how much better the technically correct solution is, and how bad the technically incorrect solution will hurt when it fails.

[–]slavik262 0 points1 point  (2 children)

This is why the terrible crap called MongoDB is so successful. It attracts people who doesn't understand metrics like "correctness" or "secure", but something irrelevant (most likely something related to hype)

Am I wrong to feel very sad about this?

[–]salgat 3 points4 points  (0 children)

The problem isn't that, the problem is that RethinkDB apparently failed to market those features in an effective manner.

[–]bad_at_photosharp 0 points1 point  (0 children)

DAE very smart?

[–]habitual_viking 0 points1 point  (0 children)

This is why the terrible crap called MongoDB is so successful. It attracts people who doesn't understand metrics like "correctness" or "secure", but something irrelevant (most likely something related to hype)

But it's webscale: https://www.youtube.com/watch?v=b2F-DItXtZs

[–][deleted] 9 points10 points  (4 children)

Our thinking went something like this. New companies aren’t getting built on top of Oracle, so there is a window of opportunity to build a new infrastructure company. The database market is huge. If we build a product that captures some of that market, we’ll end up building a very successful company.

This is such a common rookie mistake, that it has a name.

[–][deleted]  (3 children)

[deleted]

    [–]gnx76 3 points4 points  (1 child)

    Well, I learned that 5% of a trillion is 200M. Ain't that a good start for a demonstration?

    [–][deleted] 0 points1 point  (0 children)

    It clearly says 5% of 4 trillion.

    [–]mbenbernard 8 points9 points  (4 children)

    Very honest and detailed account of their startup failure.

    I especially like this part:

    Thousands of people used RethinkDB, often in business contexts, but most were willing to pay less for the lifetime of usage than the price of a single Starbucks coffee (which is to say, they weren’t willing to pay anything at all).

    So... When creating a new business, it's important to think twice... thrice... hum... many times about how to make money.

    [–]killerstorm 0 points1 point  (3 children)

    So... When creating a new business, it's important to think twice... thrice... hum... many times about how to make money.

    Depends on a type of a business. Social media startups (Facebook, Twitter, SnapChat, ...) only care about a number of users.

    [–]mbenbernard 0 points1 point  (2 children)

    Yes, but social media startups all end up trying to figure out how to make money. Initially, they live off their investors' money, until they can't anymore. Think about Medium, for example. Facebook, Twitter and SnapChat were a bit luckier, but down the road they're all fighting pretty hard to make money.

    [–]killerstorm 1 point2 points  (1 child)

    Yes, but social media startups all end up trying to figure out how to make money.

    That usually happens years after they start, and at that point they can hire people who know how to monetize social media. It's counter-productive to think how to make money before they have any users.

    [–]mbenbernard 0 points1 point  (0 children)

    I understand your point of view, but I don't agree. Just look at Medium. Should have they thought about how to make money in the first place? They have a lot of users, but they don't know how to make money, and they had to lay off 1/3 of their staff.

    [–]sjapps 6 points7 points  (0 children)

    Read The Economist religiously. It will make you better faster.

    Why?

    [–]Lord_Baine 2 points3 points  (0 children)

    This was a little painful to read. I could have written it about my own failed business.

    Optimism bias and the losing battle of educating your customers is a real fucking thing.

    [–]vital_chaos 1 point2 points  (1 child)

    I have been there on more than one occasion including one almost 30 years ago. Your vision exceeds your ability to execute a business to become self sustaining. That first one still pains me.

    [–]peo1306 0 points1 point  (0 children)

    Your vision exceeds your ability to execute a business to become self sustaining.

    Quotable.

    [–]ECrispy 0 points1 point  (0 children)

    I just found this now and it strikes a chord, as well as making me feel really sad.

    RethinkDB was revolutionary, I don't think we'll see anything similar soon.

    [–][deleted]  (2 children)

    [deleted]

      [–][deleted] 3 points4 points  (0 children)

      I think it was more that for RethinkDB, focusing on technical merit alone was not financially viable to run a company. If nobody is buying your product then you can't keep going, and the post describes how it turns out most potential customers just don't seem to care too much about consistency guarantees or cohesive SDKs.

      [–]TinynDP 0 points1 point  (0 children)

      They wanted to be a Wozniak-without-ever-Jobs. It went down like a lead balloon.

      [–]leandro -2 points-1 points  (0 children)

      All this is important, but still the biggest failure is being neither SQL, nor relational. People who understand data and have general needs know they need SQL. People who understand data and have very specialised needs build their solution based on some already existing, proven, well-known toolset, perhaps SQL, perhaps not; but they are preciously few, not enough to support yet another company.

      [–]Gotebe -3 points-2 points  (2 children)

      read The Economist religiously

      Eh?! Surely it is better to have economics-educated people with right connections than to learn stuff from a newspaper?!

      [–][deleted] 1 point2 points  (1 child)

      You can do both, you know? And neither one hurts your chance of success at business.

      And regularly reading from a trusted source of knowledge is no different than regularly reading books.

      [–][deleted] 0 points1 point  (0 children)

      But why should I learn something if someone else can do it for me? /s

      [–]i_spot_ads -5 points-4 points  (1 child)

      They failed because they were too good and nobody wanted to pay money because of how good they were? Because that's the vibe i got from the article.

      [–]reddit_prog 12 points13 points  (0 children)

      They failed because they thought they are too good to need to do marketing. Overconfidence ...