Pretty easy to loose the data is a server or DB crashes.
Users can be living far away from where DB is hosted, hence request and response is taking a lot of time for them.
Life with replication(many databases)
Redundant data : no lost data
Increased DB throughput.
Synchronous and Asynchronous replication.
In synchronous replication, we don’t consider the write valid until and unless every replica has the copy of the value (in this case, x=4).
In asynchronous replication, when we write the value to the database and hear from the DB we consider the write valid and asynchronously replicate x=4, to the other database and meanwhile the user can read the stale(old, x=3) value.
Writes takes a lot of time in synchronous replication, hence asynchronous replication is used in most of the modern applications because user can atleast read the data meanwhile the write propagates.