Minuet: A Scalable Distributed Multiversion B-Tree
Abstract
Data management systems have traditionally been designed to support either long-running analytics queries or short-lived transactions, but an increasing number of applications need both. For example, online games, socio-mobile apps, and e-commerce sites need to not only maintain operational state, but also analyze that data quickly to make predictions and recommendations that improve user experience. In this paper, we present Minuet, a distributed, main-memory B-tree that supports both transactions and copy-on-write snapshots for in-situ analytics. Minuet uses main-memory storage to enable low-latency transactional operations as well as analytics queries without compromising transaction performance. In addition to supporting read-only analytics queries on snapshots, Minuet supports writable clones, so that users can create branching versions of the data. This feature can be quite useful, e.g. to support complex "what-if" analysis or to facilitate wide-area replication. Our experiments show that Minuet outperforms a commercial main-memory database in many ways. It scales to hundreds of cores and TBs of memory, and can process hundreds of thousands of B-tree operations per second while executing long-running scans.
- Publication:
-
arXiv e-prints
- Pub Date:
- May 2012
- DOI:
- 10.48550/arXiv.1205.6699
- arXiv:
- arXiv:1205.6699
- Bibcode:
- 2012arXiv1205.6699S
- Keywords:
-
- Computer Science - Databases
- E-Print:
- VLDB2012