The block store component in kivaloo uses multiple files, yes.
Needing to do GC won't make you need more I/Os to service requests; the exact same sequence of B+Tree nodes will need to be loaded from disk. The only effect of GC is wasted disk space.
Kivaloo does support a data-loss mode, so you could store locks in a daemon running with that option. Personally I prefer to err on the side of caution when I'm dealing with locking and transactions.
Comments
The block store component in kivaloo uses multiple files, yes.
Needing to do GC won't make you need more I/Os to service requests; the exact same sequence of B+Tree nodes will need to be loaded from disk. The only effect of GC is wasted disk space.
Kivaloo does support a data-loss mode, so you could store locks in a daemon running with that option. Personally I prefer to err on the side of caution when I'm dealing with locking and transactions.