I’ve been rehashing the git vs fossil argument and then thinking about the sqlite vs anydb and I’m thinking about all things NFS, GFS, CEPH, container persistent storage…. argh. All of these things are nice problems to have when you have these problems.
The reality is that the simplest solutions are best. They take minimal effort to build, test, deploy, and more importantly fix. Keep the risk down unless you have bodies to spare. The name of the game it to produce output not repair and the prior art.
UPDATE… the subtitle of this article should have been distributed system when one will do
. In basic statistics there is a proof that shows that adding a a dependency to a system makes it twice as likely to fail… So let’s take the example of a client application and a remote database server. If that DB was on a second machine it would be twice as likely to fail. Add a second DB server with replication and the failure rate is still higher than the one machine alone.
I think I have my answer…