<story><title>Call Me Maybe: MongoDB Stale Reads</title><url>https://aphyr.com/posts/322-call-me-maybe-mongodb-stale-reads</url></story><parent_chain><item><author>iconfluence</author><text>I think at one point the employees of Basho knew how to write distributed DBs - Riak is the most advanced AP DB from a distributed systems theory perspective. However, in recent months, their CEO, CTO and Chief Architect have left, as well as many of their prominent engineers. Worryingly, the new CTO seems content to make inane comments about &amp;quot;Data Gravity&amp;quot; [0].&lt;p&gt;[0] - &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;www.kdnuggets.com&amp;#x2F;2015&amp;#x2F;03&amp;#x2F;interview-dave-mccrory-basho-data-gravity.html&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.kdnuggets.com&amp;#x2F;2015&amp;#x2F;03&amp;#x2F;interview-dave-mccrory-bash...&lt;/a&gt;</text></item><item><author>rdtsc</author><text>Actually, just use Riak. Those people know distributed bases.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aphyr.com&amp;#x2F;posts&amp;#x2F;285-call-me-maybe-riak&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;aphyr.com&amp;#x2F;posts&amp;#x2F;285-call-me-maybe-riak&lt;/a&gt;&lt;p&gt;Now I hear they support consistency as well.</text></item><item><author>threeseed</author><text>Actually the broader lesson would be to assume the worst in your application layer and try and remediate&amp;#x2F;verify wherever possible.&lt;p&gt;If you look at his articles: Redis, PostgreSQL, Cassandra, ElasticSearch etc all had data consistency errors. And none of those have vendors making any claims.&lt;p&gt;It&amp;#x27;s pretty sobering to say the least.</text></item><item><author>jxf</author><text>The most interesting lessons from the Jepsen series:&lt;p&gt;* You should never trust, and always verify, the claims made by database manufacturers.&lt;p&gt;* Especially when those claims relate to data integrity.&lt;p&gt;* Super-especially when every safety level provided by the manufacturer that includes the word &amp;quot;SAFE&amp;quot; is actually unsafe.</text></item></parent_chain><comment><author>rspeer</author><text>I think Riak&amp;#x27;s theory is fine, but theory isn&amp;#x27;t enough. And they may have succumbed to the Osborne effect with Riak 2.0.&lt;p&gt;Here&amp;#x27;s what I mean. Think of all the nice things you expect to come out of Riak&amp;#x27;s theoretical basis -- bulletproof distributed writes, for example.&lt;p&gt;Well, the default last-write-wins writes aren&amp;#x27;t bulletproof. They clearly fail Jepsen [1]. And if you turned off last-write-wins, then you&amp;#x27;d have to handle siblings -- and &lt;i&gt;how&lt;/i&gt; you were supposed to handle them without introducing inconsistency was quite unspecified. Riak clients gave you no help there.&lt;p&gt;Or, as the Jepsen article says, you could use CRDTs. Before 2.0, Riak had exactly one CRDT, the counter.&lt;p&gt;Something that might be appealing to some is built-in MapReduce. On the forums, people would warn you not to actually use it unless you didn&amp;#x27;t actually want availability after all. I don&amp;#x27;t know if they ever sorted that out.&lt;p&gt;Another supposedly nice thing was Riak Search. A distributed DB with full-text search out of the box -- that sounds great, right? But there were two things called Riak Search, and the first one just plain didn&amp;#x27;t work. They deprecated it before it had a replacement, but the replacement was supposed to come in 2.0.&lt;p&gt;So, Osborne effect. When people gradually discovered that Riak 1.x was bad, and the response was &amp;quot;but Riak 2.0 will be great!&amp;quot;, that&amp;#x27;s a great reason &lt;i&gt;not to use 1.x&lt;/i&gt;. 2.0 took a very, very long time, enough time for customers and potential customers, including us, to find other solutions.&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aphyr.com&amp;#x2F;posts&amp;#x2F;285-call-me-maybe-riak&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;aphyr.com&amp;#x2F;posts&amp;#x2F;285-call-me-maybe-riak&lt;/a&gt;</text></comment>
<story><title>Call Me Maybe: MongoDB Stale Reads</title><url>https://aphyr.com/posts/322-call-me-maybe-mongodb-stale-reads</url></story><parent_chain><item><author>iconfluence</author><text>I think at one point the employees of Basho knew how to write distributed DBs - Riak is the most advanced AP DB from a distributed systems theory perspective. However, in recent months, their CEO, CTO and Chief Architect have left, as well as many of their prominent engineers. Worryingly, the new CTO seems content to make inane comments about &amp;quot;Data Gravity&amp;quot; [0].&lt;p&gt;[0] - &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;www.kdnuggets.com&amp;#x2F;2015&amp;#x2F;03&amp;#x2F;interview-dave-mccrory-basho-data-gravity.html&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.kdnuggets.com&amp;#x2F;2015&amp;#x2F;03&amp;#x2F;interview-dave-mccrory-bash...&lt;/a&gt;</text></item><item><author>rdtsc</author><text>Actually, just use Riak. Those people know distributed bases.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aphyr.com&amp;#x2F;posts&amp;#x2F;285-call-me-maybe-riak&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;aphyr.com&amp;#x2F;posts&amp;#x2F;285-call-me-maybe-riak&lt;/a&gt;&lt;p&gt;Now I hear they support consistency as well.</text></item><item><author>threeseed</author><text>Actually the broader lesson would be to assume the worst in your application layer and try and remediate&amp;#x2F;verify wherever possible.&lt;p&gt;If you look at his articles: Redis, PostgreSQL, Cassandra, ElasticSearch etc all had data consistency errors. And none of those have vendors making any claims.&lt;p&gt;It&amp;#x27;s pretty sobering to say the least.</text></item><item><author>jxf</author><text>The most interesting lessons from the Jepsen series:&lt;p&gt;* You should never trust, and always verify, the claims made by database manufacturers.&lt;p&gt;* Especially when those claims relate to data integrity.&lt;p&gt;* Super-especially when every safety level provided by the manufacturer that includes the word &amp;quot;SAFE&amp;quot; is actually unsafe.</text></item></parent_chain><comment><author>biokoda</author><text>That was a year ago and they seem to be doing fine since.</text></comment>