Design choices in a distributed database