An algorithm for concurrency control and recovery in replicated distributed databases
ACM Transactions on Database Systems (TODS)
Applications of Byzantine agreement in database systems
ACM Transactions on Database Systems (TODS)
Achieving High Availability in Distributed Databases
IEEE Transactions on Software Engineering
Maintaining availability in partitioned replicated databases
ACM Transactions on Database Systems (TODS)
An efficient scheme for providing high availability
SIGMOD '92 Proceedings of the 1992 ACM SIGMOD international conference on Management of data
The dangers of replication and a solution
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
A new approach to developing and implementing eager database replication protocols
ACM Transactions on Database Systems (TODS)
Bayou: replicated database services for world-wide applications
EW 7 Proceedings of the 7th workshop on ACM SIGOPS European workshop: Systems support for worldwide applications
Practical byzantine fault tolerance and proactive recovery
ACM Transactions on Computer Systems (TOCS)
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
BASE: Using abstraction to improve fault tolerance
ACM Transactions on Computer Systems (TOCS)
Separating agreement from execution for byzantine fault tolerant services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
High Throughput Byzantine Fault Tolerance
DSN '04 Proceedings of the 2004 International Conference on Dependable Systems and Networks
Ganymed: scalable replication for transactional web applications
Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware
Middleware based data replication providing snapshot isolation
Proceedings of the 2005 ACM SIGMOD international conference on Management of data
MIDDLE-R: Consistent database replication at the middleware level
ACM Transactions on Computer Systems (TOCS)
C-JDBC: flexible database clustering middleware
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
Proceedings of the ACM/IFIP/USENIX 2003 International Conference on Middleware
Distributed computing in SOSP and OSDI
ACM SIGACT News
Diverse replication for single-machine Byzantine-fault tolerance
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
TrInc: small trusted hardware for large distributed systems
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Zeno: eventually consistent Byzantine-fault tolerance
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Symmetric active/active metadata service for high availability parallel file systems
Journal of Parallel and Distributed Computing
OPODIS '09 Proceedings of the 13th International Conference on Principles of Distributed Systems
Byzantium: Byzantine-fault-tolerant database replication providing snapshot isolation
HotDep'08 Proceedings of the Fourth conference on Hot topics in system dependability
Prophecy: using history for high-throughput fault tolerance
NSDI'10 Proceedings of the 7th USENIX conference on Networked systems design and implementation
Tolerating file-system mistakes with EnvyFS
USENIX'09 Proceedings of the 2009 conference on USENIX Annual technical conference
Database replication: a tale of research across communities
Proceedings of the VLDB Endowment
Database engines on multicores, why parallelize when you can distribute?
Proceedings of the sixth conference on Computer systems
Efficient middleware for byzantine fault tolerant database replication
Proceedings of the sixth conference on Computer systems
ZZ and the art of practical BFT execution
Proceedings of the sixth conference on Computer systems
Improving server applications with system transactions
Proceedings of the 7th ACM european conference on Computer Systems
All about Eve: execute-verify replication for multi-core servers
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
On the practicality of practical Byzantine fault tolerance
Proceedings of the 13th International Middleware Conference
Augustus: scalable and robust storage for cloud applications
Proceedings of the 8th ACM European Conference on Computer Systems
MacroDB: scaling database engines on multicores
Euro-Par'13 Proceedings of the 19th international conference on Parallel Processing
Hi-index | 0.00 |
This paper describes the design, implementation, and evaluation of areplication scheme to handle Byzantine faults in transaction processing database systems. The scheme compares answers from queries and updates on multiple replicas which are unmodified, off-the-shelf systems, to provide a single database that is Byzantine fault tolerant. The scheme works when the replicas are homogeneous, but it also allows heterogeneous replication in which replicas come from different vendors. Heterogeneous replicas reduce the impact of bugs and security compromises because they are implemented independently and are thus less likely to suffer correlated failures. The main challenge in designing a replication scheme for transactionprocessing systems is ensuring that the different replicas execute transactions in equivalent serial orders while allowing a high degreeof concurrency. Our scheme meets this goal using a novel concurrency control protocol, commit barrier scheduling (CBS). We have implemented CBS in the context of a replicated SQL database, HRDB(Heterogeneous Replicated DB), which has been tested with unmodified production versions of several commercial and open source databases as replicas. Our experiments show an HRDB configuration that can tolerate one faulty replica has only a modest performance overhead(about 17% for the TPC-C benchmark). HRDB successfully masks several Byzantine faults observed in practice and we have used it to find a new bug in MySQL.