This article reviews the current state of distributed database technology and discusses several major problem areas that are critical for its success in non-trivial applications. The paper also discusses several rules-of-thumb that a manager considering a distributed approach will want to consider. Several hardware configurations are enumerated and evaluated as part of a general framework that helps in understanding the evolutionary nature of distributed configurations. In distributed systems, different users often want to maintain different views of the same data. This problem and possible solutions are discussed. The topic of languages for use with specialized data-base machines is a central issue, because the responsibilities of a data-base machine vis-a-vis the host- machine depend to a large extent on the choice of language (or protocol) that is used for communication between them. Finally, some of the available literature is reviewed and discussed. Other important topics such as integrity, security and performance are not treated in depth.