Title
A practical scalable distributed B-tree
Abstract
Internet applications increasingly rely on scalable data structures that must support high throughput and store huge amounts of data. These data structures can be hard to implement efficiently. Recent proposals have overcome this problem by giving up on generality and implementing specialized interfaces and functionality (e.g., Dynamo [4]). We present the design of a more general and flexible solution: a fault-tolerant and scalable distributed B-tree. In addition to the usual B-tree operations, our B-tree provides some important practical features: transactions for atomically executing several operations in one or more B-trees, online migration of B-tree nodes between servers for load-balancing, and dynamic addition and removal of servers for supporting incremental growth of the system. Our design is conceptually simple. Rather than using complex concurrency and locking protocols, we use distributed transactions to make changes to B-tree nodes. We show how to extend the B-tree and keep additional information so that these transactions execute quickly and efficiently. Our design relies on an underlying distributed data sharing service, Sinfonia [1], which provides fault tolerance and a light-weight distributed atomic primitive. We use this primitive to commit our transactions. We implemented our B-tree and show that it performs comparably to an existing open-source B-tree and that it scales to hundreds of machines. We believe that our approach is general and can be used to implement other distributed data structures easily.
Year
DOI
Venue
2008
10.14778/1453856.1453922
PVLDB
Keywords
Field
DocType
internet application,usual b-tree operation,complex concurrency,additional information,b-tree node,conceptually simple,scalable data structure,dynamic addition,existing open-source,practical scalable,data structure,fault tolerant,high throughput,load balance,weight distribution
Data structure,Data mining,Computer science,Concurrency,Data sharing,Server,Distributed design patterns,Fault tolerance,Distributed transaction,Database,Distributed computing,Scalability
Journal
Volume
Issue
ISSN
1
1
2150-8097
Citations 
PageRank 
References 
40
1.96
21
Authors
3
Name
Order
Citations
PageRank
Marcos Kawazoe Aguilera12519153.60
Wojciech Golab221017.22
Mehul A. Shah33547317.66