Content deleted Content added
Importing Wikidata short description: "Sharing information to ensure consistency in computing" (Shortdesc helper) |
|||
Line 37:
[[Database]] replication can be used on many [[database management system]]s (DBMS), usually with a [[master/slave (technology)|master-slave]] relationship between the original and the copies. The master logs the updates, which then ripple through to the slaves. Each slave outputs a message stating that it has received the update successfully, thus allowing the sending of subsequent updates.
In [[multi-master replication]], updates can be submitted to any database node, and then ripple through to other servers. This is often desired but introduces substantially increased costs and complexity which may make it impractical in some situations. The most common challenge that exists in multi-master replication is transactional conflict prevention or [[conflict resolution|resolution]]. Most synchronous (or eager) replication solutions perform conflict prevention, while asynchronous (or lazy) solutions have to perform conflict resolution. For instance, if the same record is changed on two nodes simultaneously, an eager replication system would detect the conflict before confirming the commit and abort one of the transactions. A [[lazy replication]] system would allow both [[database transaction|transactions]] to commit and run a conflict resolution during re-synchronization.<ref>{{cite web|title=Conflict Resolution|url=http://www.ittia.com/html/ittia-db-docs/users-guide/replication.html#conflict-resolution|publisher=ITTIA|access-date=21 October 2016}}</ref> The resolution of such a conflict may be based on a [[timestamp]] of the transaction, on the hierarchy of the origin nodes or on much more complex logic, which decides consistently across all nodes.
Database replication becomes more complex when it scales up [[horizontal scalability|horizontally]] and vertically. Horizontal scale-up has more data replicas, while vertical scale-up has data replicas located at greater physical distances. Problems raised by horizontal scale-up can be alleviated by a multi-layer, multi-view access [[network protocol|protocol]]. The early problems of vertical scale-up have largely been addressed by improving Internet [[Reliability (computer networking)|reliability]] and performance.<ref>{{cite web
| url = http://facta.junis.ni.ac.rs/eae/fu2k71/4obradovic.pdf
| title = Measurement of the Achieved Performance Levels of the WEB Applications With Distributed Relational Database
|