Asynchronous View Maintenance for VLSD Databases
Source:
ACM SIGMOD, ACM, Providence (RI), USA (2009)
Abstract:
The query models of the recent generation of very large scale
distributed (VLSD) shared-nothing data storage systems, including our own PNUTS and others (e.g. BigTable, Dynamo, Cassandra, etc.) are intentionally simple, focusing
on simple lookups and scans and trading query expressiveness for massive scale. Indexes and views can expand the
query expressiveness of such systems by materializing more
complex access paths and query results. In this paper, we
examine mechanisms to implement indexes and views in a
massive scale distributed database. For web applications,
minimizing update latencies is critical, so we advocate deferring the work of maintaining views and indexes as much
as possible. We examine the design space, and conclude that
two types of view implementations, called remote view tables
(RVTs) and local view tables (LVTs), provide a
good tradeoff between system throughput and minimizing
view staleness. We describe how to construct and maintain
such view tables, and how they can be used to implement
indexes, group-by-aggregate views, equijoin views and selection views. We also introduce and analyze a consistency
model that makes it easier for application developers to cope
with the impact of deferred view maintenance. An empirical evaluation quantifies the maintenance costs of our views,
and shows that they can significantly improve the cost of
evaluating complex queries.
Download:
ACM COPYRIGHT NOTICE. Copyright © 2009 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept., ACM, Inc., fax +1 (212) 869-0481, or
permissions@acm.org.