<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Mnesia is also a pain when it partitions - you have to write your own reconciliation programmes.<div class=""><br class=""></div><div class="">There has been a lot of work done on eventual consistency in *the other* Erlang database - Riak (disclaimer I am working at Basho now)</div><div class=""><br class=""></div><div class="">Riak implements eventual consistency - and post-partition self-healing using Consistent Replicated Data Types (or CRDTs) and the canonical set of standalone CRDT libraries is written in Erlang:</div><div class=""><a href="https://github.com/basho/riak_dt" class="">https://github.com/basho/riak_dt</a></div><div class=""><br class=""></div><div class="">There is a comprehensive reading list here:</div><div class=""><a href="https://christophermeiklejohn.com/crdt/2014/07/22/readings-in-crdts.html" class="">https://christophermeiklejohn.com/crdt/2014/07/22/readings-in-crdts.html</a></div><div class=""><br class=""></div><div class="">The combination of using Klarna’s (forthcoming) leveldb backend and a CRDT eventual consistency layer on top would be an interesting start offering a distributed transactional database with eventual consistency</div><div class=""><br class=""></div><div class="">Gordon</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 14 Oct 2015, at 02:16, Richard A. O'Keefe <<a href="mailto:ok@cs.otago.ac.nz" class="">ok@cs.otago.ac.nz</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class="">On 14/10/2015, at 6:46 am, <<a href="mailto:lloyd@writersglen.com" class="">lloyd@writersglen.com</a>> <<a href="mailto:lloyd@writersglen.com" class="">lloyd@writersglen.com</a>> wrote:<br class=""><blockquote type="cite" class=""><br class="">I asked Fred what it would it take to upgrade Mnesia for the 21st century (or, at least, for the next decade). He didn't know.<br class=""></blockquote><br class="">There's one thing that strikes me.<br class=""><br class="">I could go to a shop today and buy a 1 TB external drive for<br class="">NZD 75, including Goods and Services Tax of 15%. (At least<br class="">that's what the ad I saw a couple of days ago said.)<br class="">That's almost exactly USD 50. This is a drive that fits in<br class="">a shirt pocket, with room left over for all sorts of junk.<br class=""><br class="">To make Mnesia a data base for the 2010s, it has to be able to<br class="">handle at least 1TB of data. Heck, I've got enough goodies-for-<br class="">research money left that I could get the department to buy me<br class="">ten of these gadgets, so let's say Mnesia<br class=""> - should be able to handle a single table in the low TB<br class=""> - should be able to handle a collection of tables in the<br class=""> tens of TB<br class=""> - where "handle" includes creating, populating, checking,<br class=""> recovering, and accessing in "a reasonable time".<br class=""><br class="">That's a "single machine data base for the 2010s".<br class="">Of course there are multicore, cluster, and network issues as<br class="">well.<br class=""><br class=""><br class=""><br class="">_______________________________________________<br class="">erlang-questions mailing list<br class=""><a href="mailto:erlang-questions@erlang.org" class="">erlang-questions@erlang.org</a><br class="">http://erlang.org/mailman/listinfo/erlang-questions<br class=""></div></div></blockquote></div><br class=""></div></body></html>