Elasticity in Cloud Databases and Their Query Processing

Graefe Goetz, Nica Anisoara, Stolze Knut, Neumann Thomas, Eavis Todd, Petrov Ilia, Pourabbas Elaheh, Fekete David


Abstract
A central promise of cloud services is elastic, on-demand provisioning. The provisioning of data on temporarily available nodes is what makes elastic database services a hard problem. The essential task that enables elastic data services is bringing a node and its data up-to-date. Strategies for high availability do not satisfy the need in this context because they bring nodes online and up-to-date by repeating history, e.g., by log shipping. Nodes must become up-to-date and useful for query processing incrementally by key range. What is wanted is a technique such that in a newly added node, during each short period of time, an additional small key range becomes up-to-date, until eventually the entire dataset becomes up-to-date and useful for query processing, with overall update performance comparable to a traditional high-availability strategy that carries the entire dataset forward without regard to key ranges. Even without the entire dataset being available, the node is productive and participates in query processing tasks. The authors’ proposed solution relies on techniques from partitioned B-trees, adaptive merging, deferred maintenance of secondary indexes and of materialized views, and query optimization using materialized views. The paper introduces a family of maintenance strategies for temporarily available copies, the space of possible query execution plans and their cost functions, as well as appropriate query optimization techniques.

Keywords
cloud databases, elasticity, distributed query processing, query execution



Publication type
Article in Journal

Peer reviewed
Yes

Publication status
Published

Year
2013

Journal
International Journal of Data Warehousing and Mining (IJDWM)

Volume
9

Issue
2

Pages range
1-20

Language
English

DOI