Hello,
The pros and cons depend on what sort of data you are referring to.
For static or infrequently-updated data, some form of distributed or
clustered system may be preferable, as multiple machines with mirrored
data increase availability by eliminating single points of failure,
and by distributing load across multiple machines. Geographic
distribution (with the side benefits of eliminating reliance on a
single provider of electricity or bandwidth) may also improve
availability as the data will be closer to intended recipients (see
for example Akamai's business).
In other cases, such as OTP (online transaction processing), it is
critical that operations complete atomically. That is, a transaction
must be either nonexistent (not completed) or done - no work can be
performed while the transaction is in progress. That is to say that
the data must be consistent at all times; making a distributed system
to access it is very difficult.
You may be interested in
Akamai's technology page
http://www.akamai.com/en/html/about/tech_innovation.html
A mathematical treatment of distributed databases (slides)
http://www.cs.duke.edu/education/courses/fall01/cps216/lectures/19-dist.pdf
An overview of the issues associated with distributed databases, with
references
http://db.uwaterloo.ca/~ddbms/publications/ozsu/Distdb/distdb.pdf |