ExtremeDB performance-distributed sql engine
You can also gain from sharding for a single-threaded client if you'scatter' the load of each query across all shards.
For example, if you change the Select query from: "SELECT name,body FROM xsql where name ="+i to "SELECT sum(name) FROM xsql"
all shards will calculate partial sums and the time will decreasenear-linearly with the increasing number of shards. (given you have enough CPUcores).