[ Publications |
Contact |
Personal Page ]
Publications
Conference Publications
- Efficient Bulk Insertion into a Distributed Ordered
Table
SIGMOD 2008 (ACM Conference on Management of Data)
( Abstract |
Full Text )
We study the problem of bulk-inserting records into
tables in a system that horizontally range-partitions data over a
large, geographically distributed cluster of shared-nothing
machines. Each table partition contains a contiguous portion of a
table's ordering key range, and must accept all record inserts into
that range. Bulk inserts, if done naively as a sequence of single
inserts, can lead to extremely poor throughput if the inserted records
all go into a small number of data partitions, since cluster
parallelism is not utilized effectively. We propose a novel approach
in which a planning phase is invoked before the actual
insertions. By creating new partitions and intelligently distributing
partitions across machines, the planning phase ensures that the
insertion load will be well-balanced. Since there is a tradeoff
between the cost of moving partitions across machines and the
resulting throughput gain, the planning phase must minimize the sum of
partition movement time and insertion time. We show this problem is a
variation of NP-hard bin-packing. To produce a solution, we introduce
the problem of packing vectors and solve it provably close
to optimal. We evaluate our approach on a prototype system deployed
on a cluster of 50 machines, and show that it yields significant
improvements over more naive techniques.
- Pig Latin: A Not-So-Foreign Language for Data Processing
C. Olston, B. Reed, U. Srivastava, R. Kumar, and A. Tomkins
SIGMOD 2008 (ACM Conference on Management of Data), Industrial Track
( Abstract |
Full Text |
Talk )
There is a growing need for ad-hoc analysis of extremely large data sets, especially at internet companies where innovation critically depends on being able to analyze terabytes of data collected every day. Parallel database products, e.g., Teradata, offer a solution, but are usually prohibitively expensive at this scale. Besides, many of the people who analyze this data are entrenched procedural programmers, who find the declarative, SQL style to be unnatural. The success of the more procedural map-reduce programming model, and its associated scalable implementations on commodity hardware, is evidence of the above. However, the map-reduce paradigm is too low-level and rigid, and leads to a great deal of custom user code that is hard to maintain, and reuse.
We describe a new language called Pig Latin that we have designed to fit in a sweet spot between the declarative style of SQL, and the low-level, procedural style of map-reduce. The accompanying system, Pig, is fully implemented, and compiles Pig Latin into physical plans that are executed over Hadoop, an open-source, map-reduce implementation. We give a few examples of how engineers at Yahoo! are using Pig to dramatically reduce the time required for the development and execution of their data analysis tasks, compared to using Hadoop directly. We also report on a novel debugging environment that comes integrated with Pig, that can lead to even higher productivity gains. Pig is an open-source, Apache-incubator project, and available for general use.
- Efficient Computation of Diverse Query Results
ICDE 2008 (24th International Conference on Data Engineering)
( Abstract |
Full Text )
We study the problem of efficiently computing diverse
query results in online shopping applications, where users
specify queries through a form interface that allows a
mix of structured and content-based selection conditions.
Intuitively, the goal of diverse query answering is to return
a representative set of top-k answers from all the tuples that
satisfy the user selection condition. For example, if a user
is searching for Honda cars and we can only display five
results, we wish to return cars from five different Honda
models, as opposed to returning cars from only one or
two Honda models. A key contribution of this paper is
to formally define the notion of diversity, and to show
that existing score based techniques commonly used in
web applications are not sufficient to guarantee diversity.
Another contribution of this paper is to develop novel
and efficient query processing techniques that guarantee
diversity. Our experimental results using Yahoo! Autos
data show that our proposed techniques are scalable and
efficient.
- Optimization of Continuous Queries with Shared Expensive Filters
K. Munagala, U. Srivastava, and J. Widom
PODS 2007 (ACM Symposium on Principles of Databases)
( Abstract |
Full Text )
We consider the problem of optimizing and executing multiple continuous queries, where each query is a conjunction of filters and each filter may occur in multiple queries. When filters are expensive, significant performance gains are achieved by sharing filter evaluations across queries. A shared execution strategy in our scenario can either be fixed, in which filters are evaluated in the same predetermined order for all input, or adaptive, in which the next filter to be evaluated is chosen at runtime based on the results of the filters evaluated so far. We show that as filter costs increase, the best adaptive strategy is superior to any fixed strategy, despite the overhead of adaptivity. We show that itis NP-hard to find the optimal adaptive strategy, even if we are willing to approximate within any factor smaller than m where m is the number of queries. We then present a greedy adaptive execution strategy and show that it approximates the best adaptive strategy to within a factor O(log2m log n) where n is the number of distinct filters. We also give a precomputation technique that can reduce the execution overhead of adaptive strategies.
- Query Optimization over Web Services
U. Srivastava, J. Widom, K. Munagala, and R. Motwani
VLDB 2006 (32nd International
Conference on Very Large Databases) ( Abstract |
Full Text )
Web services are becoming a standard method of sharing data and
functionality among loosely-coupled systems. We propose a
general-purpose Web Service Management System (WSMS) that enables
querying multiple web services in a transparent and integrated
fashion. This paper tackles a first basic WSMS problem: query
optimization for Select-Project-Join queries spanning multiple web
services. Our main result is an algorithm for arranging a query's web
service calls into a pipelined execution plan that optimally exploits
parallelism among web services to minimize the query's total running
time. Surprisingly, the optimal plan can be found in polynomial time
even in the presence of arbitrary precedence constraints among web
services, in contrast to traditional query optimization where the
analogous problem is NP-hard. We also give an algorithm for
determining the optimal granularity of data ``chunks'' to be used for
each web service call. Experiments with an initial prototype indicate
that our algorithms can lead to significant performance improvement
over more straightforward techniques.
- ISOMER: Consistent Histogram Construction Using Query Feedback
U. Srivastava, P. Hass, V. Markl, N. Megiddo, M. Kutsch, and T. Tran
ICDE 2006 (22nd
International Conference on Data Engineering) (
Abstract |
Full Text |
Talk )
Database columns are often correlated, so that cardinality estimates
computed by assuming independence often lead to a poor choice of query plan
by the optimizer. Multidimensional histograms can help solve this problem,
but the traditional approach of building such histograms using a data scan
often scales poorly and does not always yield the best histogram for a given
workload. An attractive alternative is to gather feedback from the query
execution engine about the observed cardinality of predicates and use this
feedback as the basis for a histogram. In this paper we describe ISOMER, a
new feedback-based algorithm for collecting optimizer statistics by
constructing and maintaining multidimensional histograms. ISOMER uses the
maximum-entropy principle to approximate the true data distribution by a
histogram distribution that is as ``simple'' as possible while being
consistent with the observed predicate cardinalities. ISOMER adapts readily
to changes in the underlying data, automatically detecting and eliminating
inconsistent feedback information in an efficient manner. The algorithm
controls the size of the histogram by retaining only the most ``important''
feedback. Our experiments indicate that, unlike previous methods for
feedback-driven histogram maintenance, ISOMER imposes little overhead, is
extremely scalable, and yields highly accurate cardinality estimates while
using only a modest amount of storage.
- Consistently Estimating the Selectivity of Conjuncts of Predicates
V. Markl, N. Megiddo, M. Kutsch, T. Tran, P. Hass, and U. Srivastava
VLDB 2005 (31st International
Conference on Very Large Databases) (
Abstract |
Full Text )
Cost-based query optimizers need to estimate the selectivity of
conjunctive predicates when comparing alternative query execution plans. To this
end, advanced optimizers use multivariate statistics (MVS) to improve
information about the joint distribution of attribute values in a table. The
joint distribution for all columns is almost always too large to store
completely, and the resulting use of partial distribution information raises the
possibility that multiple, non-equivalent selectivity estimates may be available
for a given predicate. Current optimizers use ad hoc methods to ensure that
selectivities are estimated in a consistent manner. These methods ignore
valuable information and tend to bias the optimizer toward query plans for which
the least information is available, often yielding poor results. In this paper
we present a novel method for consistent selectivity estimation based on the
principle of maximum entropy (ME). Our method efficiently exploits all available
information and avoids the bias problem. In the absence of detailed knowledge,
the ME approach reduces to standard uniformity and independence assumptions. Our
implementation using a prototype version of DB2 UDB shows that ME improves the
optimizer’s cardinality estimates by orders of magnitude, resulting in better
plan quality and significantly reduced query execution times.
- Operator Placement for In-Network Stream Query Processing
U. Srivastava, K. Munagala, and J. Widom
PODS 2005 (ACM Symposium on Principles of Databases) (
Abstract |
Full Text |
Talk )
In sensor networks, data acquisition frequently takes place at
low-capability devices. The acquired data is then transmitted through
a hierarchy of nodes having progressively increasing network bandwidth
and computational power. We consider the problem of executing queries
over these data streams, posed at the root of the hierarchy. To
minimize data transmission, it is desirable to perform "in-network"
query processing: do some part of the work at intermediate nodes as
the data travels to the root. Most previous work on in-network query
processing has focused on aggregation and inexpensive filters. In this
paper, we address in-network processing for queries involving possibly
expensive conjunctive filters, and joins. We consider the problem of
placing operators along the nodes of the hierarchy so that the overall
cost of computation and data transmission is minimized. We show that
the problem is tractable, give an optimal algorithm, and demonstrate
that a simpler greedy operator placement algorithm can fail to find
the optimal solution. Finally we define a number of interesting
variations of the basic operator placement problem and demonstrate
their hardness.
- Two Can Keep a Secret: A Distributed Architecture for Secure Database Services
G. Aggarwal, M. Bawa, P. Ganesan, H. Garcia-Molina, K. Kenthapadi, R. Motwani,
U. Srivastava, et. al.
CIDR 2005(2nd Biennial Conference on Innovative Data Systems Research) (
Abstract |
Full Text )
Recent trends towards database outsourcing,
as well as concerns and laws governing data
privacy, have led to great interest in enabling
secure database services. Previous approaches
to enabling such a service have been based
on data encryption, causing a large overhead
in query processing. We propose a new, distributed architecture that allows an
organization to outsource its data management to two
untrusted servers while preserving data privacy.
We show how the presence of two servers
enables efficient partitioning of data so that
the contents at any one server are guaranteed
not to breach data privacy. We show how to
optimize and execute queries in this architecture,
and discuss new challenges that emerge in designing the database schema.
- Memory-Limited Execution of Windowed Stream Joins
U. Srivastava and J. Widom VLDB 2004 (30th International Conference on Very Large Databases) (
Abstract |
Full Text |
Talk )
We address the problem of computing approximate answers to continuous
sliding-window joins over data streams when the available memory may be
insufficient to keep the entire join state. One approximation scenario
is to provide a maximum subset of the result, with the objective
of losing as few result tuples as possible. An alternative scenario is
to provide a random sample of the join result, e.g., if the
output of the join is being aggregated. We show formally that neither
approximation can be addressed effectively for a sliding-window join of
arbitrary input streams. Previous work has addressed only the maximum-subset
problem, and has implicitly used a frequency-based model of stream
arrival. We address the sampling problem for this model. More importantly,
we point out a broad class of applications for which an age-based
model of stream arrival is more appropriate, and we address both approximation
scenarios under this new model. Finally, for the case of multiple joins being
executed with an overall memory constraint, we provide an algorithm for memory
allocation across the joins that optimizes a combined measure of approximation
in all scenarios considered. All of our algorithms are implemented and
experimental results demonstrate their effectiveness.
\end{abstract}
- Vision Paper: Enabling Privacy for the Paranoids
G. Aggarwal, M. Bawa, P. Ganesan, H. Garcia-Molina, K. Kenthapadi, N. Mishra, R. Motwani,
U. Srivastava, et. al.
VLDB 2004 (30th International Conference on Very Large Databases) (
Abstract |
Full Text )
P3P is a set of standards that allow corporations to declare
their privacy policies. Hippocratic Databases have been proposed
to implement such policies within a corporation's datastore. From
an end-user individual's point of view, both of these rest on an
uncomfortable philosophy of trusting corporations to protect his/her
privacy. Recent history chronicles several episodes when such trust
has been willingly or accidentally violated by corporations facing bankruptcy
courts, civil subpoenas or lucrative mergers. We contend that data management
solutions for information privacy must restore controls in the individual's
hands. We suggest that enabling such control will require a radical re-think
on modeling, release/acquisition, and management of personal data.
- Flexible Time Management in Data Stream Systems
U. Srivastava and J. Widom PODS 2004 (ACM Symposium on Principles of Databases) (
Abstract |
Full Text | Talk )
Continuous queries in a Data Stream Management System (DSMS) rely on
time as a basis for windows on streams and for defining a consistent
semantics for multiple streams and updatable relations. The system
clock in a centralized DSMS provides a convenient and well-behaved
notion of time, but often it is more appropriate for a DSMS
application to define its own notion of time---its own clock(s),
sequence numbers, or other forms of ordering and
timestamping. Flexible application-defined time poses challenges to
the DSMS, since streams may be out of order and uncoordinated with
each other, they may incur latency reaching the DSMS, and they may
pause or stop. We formalize these challenges and specify how to
generate heartbeats so that queries can be evaluated correctly
and continuously in an application-defined time domain. Our heartbeat
generation algorithm is based on parameters capturing skew between
streams, unordering within streams, and latency in streams reaching
the DSMS. We also describe how to estimate these parameters at
run-time, and we discuss how heartbeats can be used for processing
continuous queries.
- Effective Use of Block-Level Sampling in Statistics Estimation
S. Chaudhuri, G. Das, and U. Srivastava
SIGMOD 2004 (ACM SIGMOD Conference on Management of Data) (
Abstract |
Full Text | Talk )
Block-level sampling is far more efficient than true uniform-random
sampling over a large database, but prone to significant errors if
used to create database statistics. In this paper, we develop principled
approaches to overcome this limitation of block-level sampling
for histograms as well as distinct-value estimations. For histogram
construction, we give a novel two-phase adaptive method
in which the sample size required to reach a desired accuracy is decided
based on a first phase sample. This method is significantly
faster than previous iterative methods proposed for the same problem.
For distinct-value estimation, we show that existing estimators
designed for uniform-random samples may perform very poorly if
used directly on block-level samples. We present a key technique
that computes an appropriate subset of a block-level sample that
is suitable for use with most existing estimators. This, to the best
of our knowledge, is the first principled method for distinct-value
estimation with block-level samples. We provide extensive experimental
results validating our methods.
Journal Publications
- Consistent Selectivity Estimation via Maximum Entropy
V. Markl, P. Hass, M. Kutsch, N. Megiddo, U. Srivastava, and T. Tran
VLDB Journal Jan 2007 (
Abstract |
Full Text )
Cost-based query optimizers need to estimate the selectivity of conjunctive predicates when comparing alternative query execution plans. To this end, advanced optimizers use multivariate statistics to improve information about the joint distribution of attribute values in a table. The joint distribution for all columns is almost always too large to store completely, and the resulting use of partial distribution information raises the possibility that multiple, non-equivalent selectivity estimates may be available for a given predicate. Current optimizers use cumbersome ad hoc methods to ensure that selectivities are estimated in a consistent manner. These methods ignore valuable information and tend to bias the optimizer toward query plans for which the least information is available, often yielding poor results. In this paper we present a novel method for consistent selectivity estimation based on the principle of maximum entropy (ME). Our method exploits all available information and avoids the bias problem. In the absence of detailed knowledge, the ME approach reduces to standard uniformity and independence assumptions. Experiments with our prototype implementation in DB2 UDB show that use of the ME approach can improve the optimizers cardinality estimates by orders of magnitude, resulting in better plan quality and significantly reduced query execution times. For almost all queries, these improvements are obtained while adding only tens of milliseconds to the overall time required for query optimization.
- Exploiting k-Constraints to Reduce Memory Overhead in Continuous Queries over Data Streams
S. Babu, U. Srivastava, and J. Widom
TODS Sept 2004 (ACM Transactions on Database Systems) (
Abstract |
Full Text )
Continuous queries often require significant run-time state over arbitrary data streams. However,
streams may exhibit certain data or arrival patterns, or constraints, that can be detected and
exploited to reduce state considerably without compromising correctness. Rather than requiring
constraints to be satisfied precisely, which can be unrealistic in a data streams environment, we introduce
k-constraints, where k is an adherence parameter specifying how closely a stream adheres
to the constraint. (Smaller k’s are closer to strict adherence and offer better memory reduction.)We
present a query processing architecture, called k-Mon, that detects useful k-constraints automatically
and exploits the constraints to reduce run-time state for a wide range of continuous queries.
Experimental results showed dramatic state reduction, while only modest computational overhead
was incurred for our constraint monitoring and query execution algorithms.
- STREAM: The Stanford Data Stream Manager
A. Arasu, B. Babcock, S. Babu, M. Datar, K. Ito, R. Motwani, I. Nishizawa, U. Srivastava, et. al.
IEEE Data Engineering Bulletin 2003 (
Abstract |
Full Text )
The STREAM project at Stanford is developing a general-purpose system for processing continuous
queries over multiple continuous data streams and stored relations. It is designed to handle high-volume
and bursty data streams with large numbers of complex continuous queries. We describe the status of
the system as of early 2003 and outline our ongoing research directions.
Workshop and Poster Publications
- Approximating Streaming Window Joins Under CPU Limitations
A. Ayad, J. Naughton, S. Wright, and U. Srivastava
ICDE 2006 (22nd International Conference on Data Engineering)
- Monitoring Stream Properties for Continuous Query Processing
U. Srivastava, S. Babu, and J. Widom
MPDS 2003 (Workshop on Management and Processing of Data Streams)
( Full Text | Talk )
Book Chapters
- STREAM: The Stanford Data Stream Management System
A. Arasu, B. Babcock, S. Babu, J. Cieslewicz, M. Datar, K. Ito, R. Motwani, U. Srivastava, and J. Widom
Data-Stream Management: Processing High-Speed Data Streams (Springer-Verlag, New York, 2005)
( Full Text )
Contact
Utkarsh Srivastava
usriv[AT]cs.stanford.edu
Last updated on
03/05/2008
|