News for hackers. Stuff that matters.
Re:MongoDB gets support for multi-document ACID transactions by vog on Thursday February 15, 2018 @11:48AM (#16385471)
On the other hand, PostgreSQL is a very good example of a successful implementation of the opposite strategy, that is, "correctness first".

And since PostgreSQL fills that niche very well (correctness + real ACID + extensibility + decent performance), maybe it was really PostgreSQL who killed RethinkDB?

Re:MongoDB gets support for multi-document ACID transactions by luckydata on Thursday February 15, 2018 @12:14PM (#16385683)
If you're playing the long game and not looking to make a profit that's fine, but PostgreSQL as a company would have been doomed a long time ago. You have to keep in mind the timelines of the business and what they need to do to keep the lights on.

MongoDB has identified a real pain point: many developers don't like to use SQL to interface with a transactional database. I'm not going into the merits of SQL vs. NoSQL, I'm just stating that it's clear there's a need or they wouldn't have gotten any traction.

Now they are maturing the product to the point it might be a safe bet for some use cases, it remains to be seen if their approach to product development will pay dividends or the reputation they have created for themselves has created a time bomb that will eventually kill them.

Re:MongoDB gets support for multi-document ACID transactions by jeffdavis on Thursday February 15, 2018 @01:32PM (#16386340)
"PostgreSQL as a company would have been doomed a long time ago"

PG has astonishing feature throughput. With each yearly release, they add 1-3 wow features, 6-10 major features, and countless smaller features still worthy of the release notes.

That's really, really impressive for any database, commercial or otherwise.

There's a perception that postgres is slow to add features because sometimes the feature latency is high. The reason for that is they build a solid foundation first, and slowly build multiple major features on top of that foundation. Consider replication:

1. Write ahead log (WAL) 2. WAL archiving 3. Warm standby 4. Hot standby + Streaming replication 5. Synchronous replication 6. Logical decoding of WAL 7. Logical replication

That's a lot of engineering work there, but they delivered value to users at each stage along the way. And during this time, they did a ton of other stuff -- did you notice that we got parallel query along the way? And logical table partitioning came along too, which means the parallel query can now do partition-wise parallel joins.

Not to mention all of the SQL features and tons and tons of other stuff.

Postgres has kept the lights on for a lot of companies for a long time. I absolutely reject the idea that good engineering is at odds with business success.

Re:MongoDB gets support for multi-document ACID transactions by chipotle_coyote on Thursday February 15, 2018 @02:43PM (#16386892)
Postgres has kept the lights on for a lot of companies for a long time. I absolutely reject the idea that good engineering is at odds with business success.

I don't think they're at odds, per se, but having been around through the original dotcom bubble, PostgreSQL (or "Postgres95," as I'm pretty sure it was still called when I was introduced to it!) was mostly known to, well, database nerds for at least the first decade of its life. One person's "solid foundation" is another person's "technically correct but practically crawling" -- a perception that, rightly or wrongly, PostgreSQL fought against for a very long time. And I think that's what OP was trying to get at: if PostgreSQL was being developed primarily by a single VC-funded company, they just might not have had the luxury to spend years building that solid foundation.

(I'll allow that as an ex-RethinkDBer, I may have some bias here: I loved many things about the product and especially about the product, but it's hard not to suspect we should have focused on speed and, y'know, revenue earlier than we did.)

Re:MongoDB gets support for multi-document ACID transactions by jeffdavis on Thursday February 15, 2018 @03:23PM (#16387271)
VC-backed startups are not the entire business world. Some businesses don't consider correctness a "technicality".
Re:MongoDB gets support for multi-document ACID transactions by user5994461 on Thursday February 15, 2018 @06:44PM (#16388790)
And those have been using Oracle, or Sybase or IBM for 3 decades.
Re:MongoDB gets support for multi-document ACID transactions by kureikain on Friday February 16, 2018 @12:23AM (#16390075)
MongoDB supports 1) 2) 6) 7). Not sure what 3 and 4 is, but you can just add a new node and new data will be copied over, no need to restore data from snapshot, but you can restore from snapshot too, it shorten the time the replice become available.

Not sure what you mean by 5) though.

Anyway, replciation is strong point of MongoDB with oplog and I don't think Postgres can beat it.

Re:MongoDB gets support for multi-document ACID transactions by williamstein on Thursday February 15, 2018 @12:18PM (#16385715)
PostgreSQL as a company: https://www.citusdata.com
Re:MongoDB gets support for multi-document ACID transactions by chipotle_coyote on Thursday February 15, 2018 @01:06PM (#16386130)
There are several companies that are leveraging PostgreSQL for their own businesses, but that doesn't seem to me to be a rebuttal of the OP's assertion that PostgreSQL couldn't survive as a company itself. Citus Data is not "PostgreSQL as a company," it is "a company that exists because PostgreSQL already existed."
Re:MongoDB gets support for multi-document ACID transactions by qaq on Thursday February 15, 2018 @01:51PM (#16386481)
Well majority of key Postgres contributors work for 2ndQuadrant, EnterpriseDB, Crunchy Data, Citus etc. It basically means PostgreSQL is a distributed company and it would survive fine but being distributed it looks like it is able to innovate faster and is more resilient.
Re:MongoDB gets support for multi-document ACID transactions by chipotle_coyote on Thursday February 15, 2018 @02:31PM (#16386782)
| It basically means PostgreSQL is a distributed company

I would argue that it means that different companies using PostgreSQL help fund PostgreSQL development. That's not the same thing as being a single company. It's a model which clearly works very well for PostgreSQL, but it doesn't really give us good data on whether the "single company doing closed source development" (e.g., Oracle) and "single company driving the bulk of open source development" (e.g., MongoDB) models would have worked as well for them.

Re:MongoDB gets support for multi-document ACID transactions by munk-a on Thursday February 15, 2018 @01:50PM (#16386468)
There seems to be two points in this comment, one talking about the development of PostgreSQL and the other talking about the usability of it.

PostgreSQL remains one of the most mysteriously difficult common DBMSs to setup which is unfortunate, but since the advent of MongoDB they've adopted all the ease of use features that are warranted from it. Developing a quick-and-dirty product prototype on postgres is a breeze and bootstraping constraints and data-integrity to it afterwards is trivial. I am really not seeing any reason to start a new app on MongoDB exclusively at this point, start off in a strong DBMS like postgres and if you end up needing MongoDB-style document storage you can always branch to it later, but using it initially is a case of premature optimization, there is no need for it.

Re:MongoDB gets support for multi-document ACID transactions by andyana on Thursday February 15, 2018 @03:17PM (#16387211)
I find it easier to setup than MySQL, but with package managers today, both are a breeze. Can you explain why it is "mysteriously difficult"?
Re:MongoDB gets support for multi-document ACID transactions by nithril on Friday February 16, 2018 @04:52AM (#16391167)
> MongoDB has identified a real pain point: many developers don't like to use SQL to interface with a transactional database.

The pain point relates less to SQL but more to the RDBMS and the rigid schema. SQL is spreading and may become a ubiquitous query language.

Re:MongoDB gets support for multi-document ACID transactions by jmakeig on Friday February 16, 2018 @01:34PM (#16394601)
The problem isn’t the schema, it’s that you must have exactly one at all times. Sometimes you need zero, sometimes you need many. Having a fixed schema in production reduces unpredictability and provides optimization opportunities. The journey to get to that fixed schema, however, generally benefits from more flexibility.