1) Distributed (e.g. n equal processes running on n machines)
2) Needs some shared state across nodes
3) Would like that state to have SQL semantics (relations, transactions, etc.)
4) Not to heavy on writes to this shared state (I might provide some ballpark numbers at some point)
5) Wants to avoid the operational overhead of an external storage system (mysql, postgresql)
6) Wants to be fault-tolerant and have transparent failovers
then dqlite might be a good choice.