Well, that was my idea until I lost all my data. I was thinking in using only one node and have its folder backup for disaster recovery.
Another approach that I will take, independent of the database I will choose, is to use an append only log, that will be replayed when some thing goes wrong, like the database gets corrupted. So the append log will act as the source of truth for anything that happens on the application, like its done in Event Sourcing.
From my use case I want consistency over performance. Choosing Mnesia its just to have an app without external dependencies, not because of its performance to write and read.
Before I found Mnevis I was thinking in just wrapping the use of :ets with persistence into a distributed append log only, but now I ma more inclined to use Mnevis.
I totally second you here
I will run them with Mnevis when I have a chance to try it out. Do you want a pull request into your repo with Mmevis tests?
Well, I read that Mnesia tries to use the disk log when it restarts, and in a distributed system it can be the remote one or the local one, but the fact is that Mnesia wiped out my entire log on the disk in a single node configuration. I think this may have occurred when I started it after a ctrl + c + c, and on the time it was killed the application was not being used. So, maybe the log files where not closed properly and when Mnesia started it has failed to repair them and just got me a brand new empty log
At this point I lost all my confidence in Mnesia and I have serious doubts I will recover it, unless I am able to replicate my issue and understand exactly what was the cause of it.
Totall fair, of course. I wondering if you ran afoul of a failed auto repair on the next startup. That’s my current best guess, but I could be way off.