Understanding Distributed Databases