tailieunhanh - RemusDB: Transparent High Availability for Database Systems

Finally, we refine the accuracy of the computed per- formance model through experimental sampling. We use statistical interpolation between computed and ex- perimental sample points in order to re-approximate the per-application performance models, thus dynamically refining the model. We experimentally show that, by us- ing this method, convergence towards near-optimal con- figurations can be achieved in mere minutes, while an exhaustive exploration of the multi-dimensional search space, representing all possible partitioning configura- tions, would take weeks, or even months. We implement our technique using commodity soft- ware and hardware components without any modifica- tions to interfaces between components, and with mini- mal instrumentation. We use the MySQL database en- gine running a set of standard. | RemusDB Transparent High Availability for Database Systems Umar Farooq Minhas1 Shriram Rajagopalan Brendan Cully Ashraf Aboulnaga1 Kenneth Salem1 Andrew Warfield 1 University of Waterloo Canada ufminhas ashraf kmsalem @ University of British Columbia Canada rshriram brendan andy @ ABSTRACT In this paper we present a technique for building a high-availability HA database management system DBMS . The proposed technique can be applied to any DBMS with little or no customization and with reasonable performance overhead. Our approach is based on Remus a commodity HA solution implemented in the virtualization layer that uses asynchronous virtual machine VM state replication to provide transparent HA and failover capabilities. We show that while Remus and similar systems can protect a DBMS database workloads incur a performance overhead of up to 32 as compared to an unprotected DBMS. We identify the sources of this overhead and develop optimizations that mitigate the problems. We present an experimental evaluation using two popular database systems and industry standard benchmarks showing that for certain workloads our optimized approach provides very fast failover 3 seconds of downtime with low performance overhead when compared to an unprotected DBMS. Our approach provides a practical means for existing deployed database systems to be made more reliable with a minimum of risk cost and effort. Furthermore this paper invites new discussion about whether the complexity of HA is best implemented within the DBMS or as a service by the infrastructure below it. 1. INTRODUCTION Maintaining availability in the face of hardware failures is an important goal for any database management system DBMS . Users have come to expect 24x7 availability even for simple non-critical applications and businesses can suffer costly and embarrassing disruptions when hardware fails. Many database systems are designed to continue serving user requests with little or no .