ABSTRACT
Hot standby techniques are widely used to implement highly available database systems. These techniques make use of two separate copies of the database, an active copy and a backup that is managed by the standby. The two database copies are stored independently and synchronized by the database systems that manage them. However, database systems deployed in computing clouds often have access to reliable persistent storage that can be shared by multiple servers. In this paper we consider how hot standby techniques can be improved in such settings.
We present SHADOW systems, a novel approach to hot standby high availability. Like other database systems that use shared storage, SHADOW systems push the task of managing database replication out of the database system and into the underlying storage service, simplifying the database system. Unlike other systems, SHADOW systems also provide write offloading, which frees the active database system from the need to update the persistent database. Instead, that responsibility is placed on the standby system. We present the results of a performance evaluation using a SHADOW prototype on Amazon's cloud, showing that write offloading enables SHADOW to outperform traditional hot standby replication and even a standalone DBMS that does not provide high availability.
- Transparent application scaling with IBM DB2 pureScale. IBM white paper, 2009.Google Scholar
- Oracle Real Application Clusters 11g release 2. Oracle white paper, 2010.Google Scholar
- Amazon Relational Database Service User Guide, 2013.Google Scholar
- PostgreSQL 9.3 Documentation, 2014. URL http://www.postgresql.org/docs/9.3/.Google Scholar
- J. Baker et al. Megastore: Providing scalable, highly available storage for interactive services. In Proc. CIDR, 2011.Google Scholar
- S. Bartkowski et al. High availability and disaster recovery options for DB2 for Linux, UNIX, and Windows. IBM Redbook, 2012.Google Scholar
- P. A. Bernstein, I. Cseri, N. Dani, N. Ellis, A. Kallan, G. Kakivaya, D. B. Lomet, R. Manne, L. Novik, and T. Talius. Adapting Microsoft SQL Server for cloud computing. In Proc. ICDE, 2011. Google ScholarDigital Library
- B. F. Cooper, R. Ramakrishnan, et al. Pnuts: Yahoo!'s hosted data serving platform. In Proc. VLDB, 2008. Google ScholarDigital Library
- J. C. Corbett, et al. Spanner: Google's globally-distributed database. In Proc. USENIX OSDI, 2012. Google ScholarDigital Library
- J. Cowling and B. Liskov. Granola: Low-overhead distributed transaction coordination. In Proc. USENIX ATC, 2012. Google ScholarDigital Library
- J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993. Google ScholarDigital Library
- M. Hart and S. Jesse. Oracle Database 10g High Availability with RAC, Flashback, and Data Guard. McGraw-Hill, 2004. Google ScholarDigital Library
- D. Komo. Microsoft SQL Server 2008 R2 high availability technologies. Microsoft white paper, 2010.Google Scholar
- L. Lamport. The part-time parliament. ACM TODS, 16(2): 133--169, 1998. Google ScholarDigital Library
- C. Mohan, D. J. Haderle, B. G. Lindsay, H. Pirahesh, and P. M. Schwarz. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM TODS, 17(1):94--162, 1992. Google ScholarDigital Library
- D. A. Patterson, G. A. Gibson, and R. H. Katz. A case for redundant arrays of inexpensive disks (RAID). In Proc. SIGMOD, 1988. Google ScholarDigital Library
- M. Stonebraker. The case for shared nothing. IEEE Database Eng. Bull., 9(1):4--9, 1986.Google Scholar
- The Tandem Database Group. NonStop SQL, a distributed high performance, high availability implementation of SQL. In Proc. HPTS, 1989.Google ScholarCross Ref
- L. Tuttle, Jr. Microsoft SQL Server AlwaysOn solutions guide for high availability and disaster recovery. Microsoft white paper, 2012.Google Scholar
- S. B. Vaghani. Virtual machine file system. ACM SIGOPS OSR, 44(4):57--70, 2010. Google ScholarDigital Library
Index Terms
- Database high availability using SHADOW systems
Recommendations
Maximizing the Availability of Replicated Services in Widely Distributed Systems Considering Network Availability
SERE '13: Proceedings of the 2013 IEEE 7th International Conference on Software Security and ReliabilityAvailability is an important issue in distributed environments that promise to provide quality of services and thus the mechanisms to improve data or service availability is critical to ensure such quality of service. Replication schemes have been ...
Recognizing Nondominated Coteries and wr-Coteries by Availability
Coterie is a widely accepted concept for solving the mutual exclusion problem. Nondominated coteries are an important class of coteries which have better performance than dominated coteries. The performance of a coterie is usually measured by ...
The Load and Availability of Byzantine Quorum Systems
Replicated services accessed via quorums enable each access to be performed at only a subset (quorum) of the servers and achieve consistency across accesses by requiring any two quorums to intersect. Recently, b-masking quorum systems, whose ...
Comments