KuaFu: Closing the parallelism gap in database replication
C Hong, D Zhou, M Yang, C Kuo… - 2013 IEEE 29th …, 2013 - ieeexplore.ieee.org
2013 IEEE 29th International Conference on Data Engineering (ICDE), 2013•ieeexplore.ieee.org
Database systems are nowadays increasingly deployed on multi-core commodity servers,
with replication to guard against failures. Database engine is best designed to scale with the
number of cores to offer a high degree of parallelism on a modern multi-core architecture.
On the other hand, replication traditionally resorts to a certain form of serialization for data
consistency among replicas. In the widely used primary/backup replication with log shipping,
concurrent executions on the primary and the serialized log replay on a backup creates a …
with replication to guard against failures. Database engine is best designed to scale with the
number of cores to offer a high degree of parallelism on a modern multi-core architecture.
On the other hand, replication traditionally resorts to a certain form of serialization for data
consistency among replicas. In the widely used primary/backup replication with log shipping,
concurrent executions on the primary and the serialized log replay on a backup creates a …
Database systems are nowadays increasingly deployed on multi-core commodity servers, with replication to guard against failures. Database engine is best designed to scale with the number of cores to offer a high degree of parallelism on a modern multi-core architecture. On the other hand, replication traditionally resorts to a certain form of serialization for data consistency among replicas. In the widely used primary/backup replication with log shipping, concurrent executions on the primary and the serialized log replay on a backup creates a serious parallelism gap. Our experiment on MySQL with a 16-core configuration shows that the serial replay of a backup can sustain only less than one third of the throughput achievable on the primary under an OLTP workload. This paper proposes KuaFu to close the parallelism gap on replicated database systems by enabling concurrent replay of transactions on a backup. KuaFu maintains write consistency on backups by tracking transaction dependencies. Concurrent replay on a backup does introduce read inconsistency between the primary and backups. KuaFu further leverages multi-version concurrency control to produce snapshots in order to restore the consistency semantics. We have implemented KuaFu on MySQL; our evaluations show that KuaFu allows a backup to keep up with the primary while preserving replication consistency.
ieeexplore.ieee.org