Exploiting atomic broadcast in replicated databases.pdf
文本预览下载声明
Exploiting Atomic Broadcast
in Replicated Databases
Fernando Pedone Rachid Guerraoui Andre Schiper
Departement dInformatique
Ecole Polytechnique Federale de Lausanne
1015 Lausanne, Switzerland
Abstract
Database replication protocols have historically been built on top of distributed database
systems, and have consequently been designed and implemented using distributed transac-
tional mechanisms, such as atomic commitment. We argue in this paper that this approach
is not always adequate to eciently support database replication and that more suitable al-
ternatives, such as atomic broadcast primitives, should be employed instead. More precisely,
we show in this paper that fully replicated database systems, based on the deferred update
replication model, have better throughput and response time if implemented with an atomic
broadcast termination protocol than if implemented with atomic commitment.
1 Introduction
Replication is considered a cheap software based way to increase data availability when compared
to hardware based specialised techniques [16]. However, designing a replication scheme that
provides reasonable performance and maintains data consistency is still an active area of research
both in the database and in the distributed systems communities.
In the database context, replication techniques based on the deferred update model have
received increasingly attention in the past years [13]. According to the deferred update model,
transactions are processed locally at one server (i.e., one replica manager) and, at commit time,
are forwarded for certication to the other servers (i.e., the other replica managers). Deferred
update replication techniques oer many advantages over immediate update techniques, which
synchronise every transaction operation across all servers. Among these advantages, one may
1
cite: (a) better performance, by gathering and propagating multiple updates together, and
localising the execution at a single, possibly nearby, server (t
显示全部