Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.

Alan Halverson

dblp:00/232 · DBLP profile ↗
← Back
14ranked-venue papers
2as first author
0since 2021 · last 2017
0009-0000-0493-2823ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 13 · 2 first-authorArtificial intelligence and machine learning · 3Systems, architecture and hardware · 1Applied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
13 papers
Query processing and optimization · 28% Information retrieval · 21% Indexing and storage engines · 17%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Storage systems · 48% Cloud and datacenter computing · 45% Parallel and multicore computing · 7%
Theoretical computer science
1 paper
Graph algorithms and graph theory · 100%

Topics — the 30 heaviest of 36, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Query processing and optimization
query optimization
0.312017
Froid: Optimization of Imperative Programs in a Relational Database · Proc. VLDB Endow. 2017
Query processing and optimization › query optimization
user-defined function optimization
0.312017
Froid: Optimization of Imperative Programs in a Relational Database · Proc. VLDB Endow. 2017
Cloud and datacenter computing
cluster resource management and scheduling
0.312017
Predictive Provisioning: Efficiently Anticipating Usage in Azure SQL Database · ICDE 2017
Indexing and storage engines
b+-tree
0.212014
Indexing HDFS Data in PDW: Splitting the data from the index · Proc. VLDB Endow. 2014
Data integration and cleaning
heterogeneous data management
0.212014
Indexing HDFS Data in PDW: Splitting the data from the index · Proc. VLDB Endow. 2014
Information retrieval › indexing
inverted index
0.212014
In-RDBMS inverted indexes revisited · ICDE 2014
Distributed and cloud data management › mapreduce
mapreduce and parallel database integration
0.212014
Indexing HDFS Data in PDW: Splitting the data from the index · Proc. VLDB Endow. 2014
Distributed and cloud data management
distributed query processing
0.212013
Split query processing in polybase · SIGMOD Conference 2013
Distributed and cloud data management
federated database
0.212013
Split query processing in polybase · SIGMOD Conference 2013
Query processing and optimization › query optimization
distributed query optimization
0.112012
Query optimization in microsoft SQL server PDW · SIGMOD Conference 2012
Graph data management › graph processing
large-scale graph processing
0.112012
Of hammers and nails: an empirical comparison of three paradigms for processing large graphs · WSDM 2012
Graph algorithms and graph theory › graph connectivity
connected components
0.112012
Of hammers and nails: an empirical comparison of three paradigms for processing large graphs · WSDM 2012
Graph algorithms and graph theory
graph algorithms
0.112012
Of hammers and nails: an empirical comparison of three paradigms for processing large graphs · WSDM 2012
Indexing and storage engines
buffer management
0.112011
Turbocharging DBMS buffer pool using SSDs · SIGMOD Conference 2011
Storage systems
flash and SSD
0.112011
Turbocharging DBMS buffer pool using SSDs · SIGMOD Conference 2011
Storage systems › flash and SSD › flash-aware data management
SSD-aware bufferpool management
0.112011
Turbocharging DBMS buffer pool using SSDs · SIGMOD Conference 2011
Information retrieval › ranking
learning to rank
0.112009
Generating labels from clicks · WSDM 2009
Information retrieval › query understanding
query ambiguity
0.112009
Diversifying search results · WSDM 2009
Information retrieval › evaluation
relevance judgment
0.112009
Generating labels from clicks · WSDM 2009
Information retrieval
search engines
0.112009
Generating labels from clicks · WSDM 2009
Information retrieval
search result diversification
0.112009
Diversifying search results · WSDM 2009
Query processing and optimization › query optimization
nested query optimization
0.112017
Froid: Optimization of Imperative Programs in a Relational Database · Proc. VLDB Endow. 2017
Indexing and storage engines › storage management
sparse data storage
0.112006
Extending RDBMSs To Support Sparse Datasets Using An Interpreted Attribute Storage Format · ICDE 2006
Data models and query languages › XML data management
XML data model
0.122004
ROX: Relational Over XML · VLDB 2004
Mixed Mode XML Query Processing · VLDB 2003
Query processing and optimization › join processing
join algorithms
0.112014
In-RDBMS inverted indexes revisited · ICDE 2014
Storage systems › file systems
distributed file system
0.112014
Indexing HDFS Data in PDW: Splitting the data from the index · Proc. VLDB Endow. 2014
Query processing and optimization › query optimization
cost-based optimization
0.012013
Split query processing in polybase · SIGMOD Conference 2013
Database system architecture and tuning
parallel database system
0.012012
Query optimization in microsoft SQL server PDW · SIGMOD Conference 2012
Parallel and multicore computing › parallel architecture
massively parallel processing
0.012012
Query optimization in microsoft SQL server PDW · SIGMOD Conference 2012
Query processing and optimization
XML query processing
0.012003
Mixed Mode XML Query Processing · VLDB 2003

Methods — techniques the papers use, named apart from their topics

usage prediction · 0.6telemetry analysis · 0.6cost-based optimization · 0.5empirical comparison · 0.3relational algebra translation · 0.3compiler optimization · 0.3phrase query processing · 0.2conjunctive query processing · 0.2mapreduce · 0.2approximation algorithm · 0.1
YearPublicationVenuePosition
2017 Predictive Provisioning: Efficiently Anticipating Usage in Azure SQL Database
abstract
Over-booking cloud resources is an effective way to increase the cost efficiency of a cluster, and is being studied within Microsoft for the Azure SQL Database service. A key challenge is to strike the right balance between the potentially conflicting goals of optimizing for resource allocation efficiency and positive user experience. Understanding when cloud database customers use their database instances and when they are idle can allow one to successfully balance these two metrics. In our work, we formulate and evaluate production-feasible methods to develop idleness profiles for customer databases. Using one of the largest data center telemetry datasets, namely Azure SQL Database telemetry across multiple data centers, we show that our schemes are effective in predicting future patterns of database usage. Our methods are practical and improve the efficiency of clusters while managing customer expectations.
Lalitha Viswanathan, Bikash Chandra, Willis Lang, Karthik Ramachandra 0002, Jignesh M. Patel, Ajay Kalhan, David J. DeWitt, Alan Halverson
ICDE8
2017 Frequency governors for cloud database OLTP workloads
abstract
Dynamically controlling processor frequency to save power while meeting customer Service-Level Objectives (SLOs) can reduce the cost of goods sold for cloud service providers. However, resource governance for Online Transaction Processing (OLTP) workloads in the cloud is complicated by throughput constraints, latency constraints, shallow sleep states that lower processor utilization, and (often) isolation of applications from hardware resource governors. This paper demonstrates a novel frequency governor that improves upon existing Intel P-state and Cpufreq governors in saving power for a cloud OLTP benchmark on Microsoft SQL Server for Linux.
Rathijit Sen, Alan Halverson
ISLPED2
2017 Froid: Optimization of Imperative Programs in a Relational Database
abstract
For decades, RDBMSs have supported declarative SQL as well as imperative functions and procedures as ways for users to express data processing tasks. While the evaluation of declarative SQL has received a lot of attention resulting in highly sophisticated techniques, the evaluation of imperative programs has remained naïve and highly inefficient. Imperative programs offer several benefits over SQL and hence are often preferred and widely used. But unfortunately, their abysmal performance discourages, and even prohibits their use in many situations. We address this important problem that has hitherto received little attention. We present Froid, an extensible framework for optimizing imperative programs in relational databases. Froid's novel approach automatically transforms entire User Defined Functions (UDFs) into relational algebraic expressions, and embeds them into the calling SQL query. This form is now amenable to cost-based optimization and results in efficient, set-oriented, parallel plans as opposed to inefficient, iterative, serial execution of UDFs. Froid's approach additionally brings the benefits of many compiler optimizations to UDFs with no additional implementation effort. We describe the design of Froid and present our experimental evaluation that demonstrates performance improvements of up to multiple orders of magnitude on real workloads.
Karthik Ramachandra 0002, Kwanghyun Park 0001, K. Venkatesh Emani, Alan Halverson, César A. Galindo-Legaria, Conor Cunningham
Proc. VLDB Endow.4
2014 In-RDBMS inverted indexes revisited
abstract
Every major open-source and commercial RDBMS offers some form of support for full-text search using inverted indexes. When providing this support, some developers have implemented specialized indexes that adapt techniques from the Information Retrieval (IR) community to work in a database setting, while others have opted to rely on the standard relational query engine to process inverted index lookups. This choice is an important one, since the storage formats and algorithms used can vary greatly between a specialized index and a relational index, but these alternatives have not been thoroughly compared in the same system. Our work explores the differences in implementation and performance of three representative environments for an in-RDBMS inverted index: an in-RDBMS IR engine, a row-oriented relational query engine, and a column-oriented relational query engine. We found that a specialized IR engine integrated into the RDBMS can provide more than an order of magnitude speedup over both the row- and column-oriented relational query engines for conjunctive and phrase queries. For warm queries, this advantage is largely algorithmic, and we show that by using ZigZag merge join to accelerate conjunctive and phrase query processing, relational inverted indexes can provide performance comparable to a specialized in-RDBMS IR engine with no change to the underlying storage format. Compression and index format, in contrast, have more impact on cold queries, where the IR and column-oriented engines are able to outperform the row-oriented engine, even with ZigZag merge join.
Ian Rae, Alan Halverson, Jeffrey F. Naughton
ICDE2
2014 Indexing HDFS Data in PDW: Splitting the data from the index
abstract
There is a growing interest in making relational DBMSs work synergistically with MapReduce systems. However, there are interesting technical challenges associated with figuring out the right balance between the use and co-deployment of these systems. This paper focuses on one specific aspect of this balance, namely how to leverage the superior indexing and query processing power of a relational DBMS for data that is often more cost-effectively stored in Hadoop/HDFS. We present a method to use conventional B+-tree indices in an RDBMS for data stored in HDFS and demonstrate that our approach is especially effective for highly selective queries.
Vinitha Reddy Gankidi, Nikhil Teletia, Jignesh M. Patel, Alan Halverson, David J. DeWitt
Proc. VLDB Endow.4
2013 Split query processing in polybase
abstract
This paper presents Polybase, a feature of SQL Server PDW V2 that allows users to manage and query data stored in a Hadoop cluster using the standard SQL query language. Unlike other database systems that provide only a relational view over HDFS-resident data through the use of an external table mechanism, Polybase employs a split query processing paradigm in which SQL operators on HDFS-resident data are translated into MapReduce jobs by the PDW query optimizer and then executed on the Hadoop cluster. The paper describes the design and implementation of Polybase along with a thorough performance evaluation that explores the benefits of employing a split query processing paradigm for executing queries that involve both structured data in a relational DBMS and unstructured data in Hadoop. Our results demonstrate that while the use of a split-based query execution paradigm can improve the performance of some queries by as much as 10X, one must employ a cost-based query optimizer that considers a broad set of factors when deciding whether or not it is advantageous to push a SQL operator to Hadoop. These factors include the selectivity factor of the predicate, the relative sizes of the two clusters, and whether or not their nodes are co-located. In addition, differences in the semantics of the Java and SQL languages must be carefully considered in order to avoid altering the expected results of a query.
David J. DeWitt, Alan Halverson, Rimma V. Nehme, Srinath Shankar, Josep Aguilar-Saborit, Artin Avanes, Miro Flasza, Jim Gramling
SIGMOD Conference2
2012 Query optimization in microsoft SQL server PDW
abstract
In recent years, Massively Parallel Processors have increasingly been used to manage and query vast amounts of data. Dramatic performance improvements are achieved through distributed execution of queries across many nodes. Query optimization for such system is a challenging and important problem.
Srinath Shankar, Rimma V. Nehme, Josep Aguilar-Saborit, Mostafa Elhemali, Alan Halverson, Eric Robinson, Mahadevan Sankara Subramanian, David J. DeWitt, César A. Galindo-Legaria
SIGMOD Conference6
2012 Of hammers and nails: an empirical comparison of three paradigms for processing large graphs
abstract
Many phenomena and artifacts such as road networks, social networks and the web can be modeled as large graphs and analyzed using graph algorithms. However, given the size of the underlying graphs, efficient implementation of basic operations such as connected component analysis, approximate shortest paths, and link-based ranking (e.g. PageRank) becomes challenging.
Marc Najork, Dennis Fetterly, Alan Halverson, Krishnaram Kenthapadi, Sreenivas Gollapudi
WSDM3
2011 Turbocharging DBMS buffer pool using SSDs
abstract
Flash solid-state drives (SSDs) are changing the I/O landscape, which has largely been dominated by traditional hard disk drives (HDDs) for the last 50 years. In this paper we propose and systematically explore designs for using an SSD to improve the performance of a DBMS buffer manager. We propose three alternatives that differ mainly in the way that they deal with the dirty pages evicted from the buffer pool. We implemented these alternatives, as well another recently proposed algorithm for this task (TAC), in SQL Server, and ran experiments using a variety of benchmarks (TPC-C, E and H) at multiple scale factors. Our empirical evaluation shows significant performance improvements of our methods over the default HDD configuration (up to 9.4X), and up to a 6.8X speedup over TAC.
Jaeyoung Do, Jignesh M. Patel, David J. DeWitt, Jeffrey F. Naughton, Alan Halverson
SIGMOD Conference6
2009 Diversifying search results
abstract
We study the problem of answering ambiguous web queries in a setting where there exists a taxonomy of information, and that both queries and documents may belong to more than one category according to this taxonomy. We present a systematic approach to diversifying results that aims to minimize the risk of dissatisfaction of the average user. We propose an algorithm that well approximates this objective in general, and is provably optimal for a natural special case. Furthermore, we generalize several classical IR metrics, including NDCG, MRR, and MAP, to explicitly account for the value of diversification. We demonstrate empirically that our algorithm scores higher in these generalized metrics compared to results produced by commercial search engines.
Rakesh Agrawal 0001, Sreenivas Gollapudi, Alan Halverson, Samuel Ieong
WSDM3
2009 Generating labels from clicks
abstract
The ranking function used by search engines to order results is learned from labeled training data. Each training point is a (query, URL) pair that is labeled by a human judge who assigns a score of Perfect, Excellent, etc., depending on how well the URL matches the query. In this paper, we study whether clicks can be used to automatically generate good labels. Intuitively, documents that are clicked (resp., skipped) in aggregate can indicate relevance (resp., lack of relevance). We give a novel way of transforming clicks into weighted, directed graphs inspired by eye-tracking studies and then devise an objective function for finding cuts in these graphs that induce a good labeling. In its full generality, the problem is NP-hard, but we show that, in the case of two labels, an optimum labeling can be found in linear time. For the more general case, we propose heuristic solutions. Experiments on real click logs show that click-based labels align with the opinion of a panel of judges, especially as the consensus of the panel grows stronger.
Rakesh Agrawal 0001, Alan Halverson, Krishnaram Kenthapadi, Nina Mishra, Panayiotis Tsaparas
WSDM2
2006 Extending RDBMSs To Support Sparse Datasets Using An Interpreted Attribute Storage Format
abstract
"Sparse" data, in which relations have many attributes that are null for most tuples, presents a challenge for relational database management systems. If one uses the normal "horizontal" schema to store such data sets in any of the three leading commercial RDBMS, the result is tables that occupy vast amounts of storage, most of which is devoted to nulls. If one attempts to avoid this storage blowup by using a "vertical" schema, the storage utilization is indeed better, but query performance is orders of magnitude slower for certain classes of queries. In this paper, we argue that the proper way to handle sparse data is not to use a vertical schema, but rather to extend the RDBMS tuple storage format to allow the representation of sparse attributes as interpreted fields. The addition of interpreted storage allows for efficient and transparent querying of sparse data, uniform access to all attributes, and schema scalability. We show, through an implementation in PostgreSQL, that the interpreted storage approach dominates in query efficiency and ease-of-use over the current horizontal storage and vertical schema approaches over a wide range of queries and sparse data sets.
Jennifer L. Beckmann, Alan Halverson, Rajasekar Krishnamurthy, Jeffrey F. Naughton
ICDE2
2004 ROX: Relational Over XML
Alan Halverson, Vanja Josifovski, Guy M. Lohman, Hamid Pirahesh, Mathias Mörschel
VLDB1
2003 Mixed Mode XML Query Processing
Alan Halverson, Josef Burger, Leonidas Galanis, Ameet Kini, Rajasekar Krishnamurthy, Ajith Nagaraja Rao, Stratis Viglas, Jeffrey F. Naughton, David J. DeWitt
VLDB1