News for hackers. Stuff that matters.
Re:What PostgreSQL has over other open source SQL databases:... by threeseed on Sunday October 25, 2015 @12:48AM (#10446006)
I think you are the one adding to the confusion by tarring all NoSQL databases with the same brush.

HBase is strongly consistent and given that it a core part of the Hadoop stack and used by Facebook for Messages would indicate it is hardly has systemic data loss issues. Cassandra likewise is used for PSN, Steam, EA Online, Spotify and is quite capable of running in strongly consistent mode. That's just two of the many NoSQL databases that are strongly consistent and being used for major systems where data loss would be unacceptable.

Also your comparisons between PostgreSQL and MongoDB are meaningless. The complete overhaul of the default engine in MongoDB 3 (WiredTiger) has increased performance massively with a notable reduction in disk space usage. It's basically a whole new database.

https://www.mongodb.com/blog/post/performance-testing-mongod...

Re:What PostgreSQL has over other open source SQL databases:... by takeda on Sunday October 25, 2015 @01:42AM (#10446114)
HBase is not ACID and therefore not strongly consistent. The consistency in CAP is different than consistency in ACID.

Regarding the Mongo, the second link I provided was comparing WiredTiger. In link you provided they made an improvement, but 2.x was already slow. Initially MongoDB gained its popularity because it supposed to be fast. And it was when it did not worry about making sure the written data ends up on disk. Once people started losing data when system crashed they changed defaults, but then became much slower. And worst of all it still was losing data[1]. There's no good reason to use it, even if you would want to use it as a cache, there are far better solutions.

[1] https://aphyr.com/posts/322-call-me-maybe-mongodb-stale-read...

Re:What PostgreSQL has over other open source SQL databases:... by lobster_johnson on Sunday October 25, 2015 @02:16AM (#10446156)
> HBase is not ACID and therefore not strongly consistent. The consistency in CAP is different than consistency in ACID.

You're arguing the word "consistent" is used wrong, and then you go on to mixing ACID and CAP — two acronyms which use the word "consistent" with completely different meanings.

The "C" in ACID stands for data consistency, which is that you shouldn't be allowed to store any data which isn't internally consistent with the schema's consistency rules. For example, you're not allowed to store a "null" value in a "not null" column, and you can't delete a row that is pointed to by a different table's foreign key constraint.

The "C" in Brewer's original CAP theorem really represents atomic consistency. It's the idea that if you submit data, you should get the exact same data back, even if you ask a different node. It sort of represents both the "A" (atomicity, in the sense that either everything or nothing is updated) in ACID, as well as the "I" (isolation, in the sense that nodes don't see partial writes) and "D" (durability, in the sense that data written stays written).

In CAP terms, HBase is strongly consistent, I believe, as long as you query the primary region server and not a replica. But HBase is not transactional, and therefore it's pretty meaningless to talk about ACID.

Re:What PostgreSQL has over other open source SQL databases:... by threeseed on Sunday October 25, 2015 @02:46AM (#10446210)
As mentioned I think you are confused about what consistent means.

By the ACID definition a database can either be consistent or not. It can't sometimes be one or the other (unless there is some bug. I was referring to the CAP definition which I assume is what you are referring to. And by that definition HBase is absolutely strong consistent.

And that second link was pretty bad (with all respect to the great guys over at Datastax). It is benchmarking a release candidate build of MongoDB (2.8.0-rc4) where quite a number of important fixes went in before GM. They should have just waited until 3.0 was released.

Also it would be good for that Call Me Maybe test to be redone considering that stale-read bug has been fixed:

https://jira.mongodb.org/browse/SERVER-18022