Re:MongoDB shares jump more than 30% in $192M IPO
by stingraycharles on Thursday October 19, 2017 @02:23PM
(#15510308)
These kind of default settings make sense, though. If you really care about lineair writes, you know how to configure it.
Same goes for example for PostgreSQL [1], that uses Read Committed rather than Serializable transaction isolation by default because for the majority of the people, this is fine, and the performance tradeoffs are worth it.
[1] https://www.postgresql.org/docs/9.5/static/transaction-iso.h...
Re:MongoDB shares jump more than 30% in $192M IPO
by bpicolo on Thursday October 19, 2017 @03:07PM
(#15510692)
Yeah, and you can turn off fsync in postgres if you want a blazing fast db that loses your data. :D
Re:MongoDB shares jump more than 30% in $192M IPO
by threeseed on Thursday October 19, 2017 @04:03PM
(#15511103)
This meme isn't even funny anymore.
It was a bug that was fixed many, many years ago and was only true if you didn't use any client libraries.
Re:MongoDB shares jump more than 30% in $192M IPO
by threeseed on Thursday October 19, 2017 @04:06PM
(#15511123)
Not sure if you know much about databases but those are standard defaults.
Cassandra as well doesn't require a full quorum to acknowledge writes. It just relies on the closest node. Likewise for Oracle.
http://docs.datastax.com/en/archived/cassandra/2.0/cassandra...
With non-default settings[0].
The Jepsen tests passed with the "linearizable" read concern. The default read concern is "local", which "Provides no guarantee that the data has been written to a majority of the replica set members (i.e. may be rolled back)."[1] This is like having "READ UNCOMMITTED" be the default read level in a traditional database system.
The Jepsen tests passed with the "majority" write concern. The default write concern is "1", which means only the "primary" in a replica set needs to acknowledge the write[2]. This does not guarantee safety in the face of network partitions.
It's still not safe out of the box.
[0] - https://jepsen.io/analyses/mongodb-3-4-0-rc3
"With the v1 protocol, majority writes, and linearizable reads, MongoDB 3.4.1 (and the current development release, 3.5.1) pass all MongoDB Jepsen tests:"
[1] - https://docs.mongodb.com/manual/reference/read-concern/
[2] - https://docs.mongodb.com/manual/reference/write-concern/