Osprey: Implementing MapReduce-Style Fault Tolerance in a Shared-Nothing Distributed Database
Author(s)
Madden, Samuel R.; Yen, Christine Y.; Yang, Christopher M.; Tan, Ceryen C.
DownloadYang-2010-Osprey Implementing MapReduce-Style Fault Tolerance in a Shared-Nothing Distributed Database.pdf (338.7Kb)
PUBLISHER_POLICY
Publisher Policy
Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use.
Terms of use
Metadata
Show full item recordAbstract
In this paper, we describe a scheme for tolerating and recovering from mid-query faults in a distributed shared nothing database. Rather than aborting and restarting queries, our system, Osprey, divides running queries into subqueries, and replicates data such that each subquery can be rerun on a different node if the node initially responsible fails or returns too slowly. Our approach is inspired by the fault tolerance properties of Map Reduce, in which map or reduce jobs are greedily assigned to workers, and failed jobs are rerun on other workers. Osprey is implemented using a middleware approach, with only a small amount of custom code to handle cluster coordination. Each node in the system is a discrete database system running on a separate machine. Data, in the form of tables, is partitioned amongst database nodes and each partition is replicated on several nodes, using a technique called chained declustering [1]. A coordinator machine acts as a standard SQL interface to users; it transforms an input SQL query into a set of subqueries that are then executed on the nodes. Each subquery represents only a small fraction of the total execution of the query; worker nodes are assigned a new subquery as they finish their current one. In this greedy-approach, the amount of work lost due to node failure is small (at most one subquery's work), and the system is automatically load balanced, because slow nodes will be assigned fewer subqueries. We demonstrate Osprey's viability as a distributed system for a small data warehouse data set and workload. Our experiments show that the overhead introduced by the middleware is small compared to the workload, and that the system shows promising load balancing and fault tolerance properties.
Date issued
2010-04Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer ScienceJournal
2010 IEEE 26th International Conference on Data Engineering (ICDE)
Publisher
Institute of Electrical and Electronics Engineers
Citation
Yang, C. et al. “Osprey: Implementing MapReduce-style fault tolerance in a shared-nothing distributed database.” Data Engineering (ICDE), 2010 IEEE 26th International Conference on. 2010. 657-668. © 2010 IEEE.
Version: Final published version
Other identifiers
INSPEC Accession Number: 11244833
ISBN
978-1-4244-5444-0
978-1-4244-5445-7