If you are willing to optimize for a KV store with distributed transactions you can do a lot better than putting a SQL layer on top of it.
Consus is a lexicographically sorted key-value store.
Where you will hit performance bottlenecks is when your query planner/executer makes traditional assumptions about performance that do not hold across machines.
A good SQL implementation on top of a kvs should not force you to accommodate it any more than your current "normal" databases subconsciously train you to accommodate your disks (hint: they do).