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.
? Tutorial for this page

Michael Armbrust

dblp:14/5951 · DBLP profile ↗
← Back
14ranked-venue papers
11as first author
2since 2021 · last 2023
0009-0007-5426-3681ORCID · corroborated

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

Databases, data management, data science and information retrieval · 12 · 10 first-author · 2 since 2021Systems, architecture and hardware · 1 · 1 first-authorSoftware engineering, systems software and programming languages · 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
9 papers
Query processing and optimization · 42% Database system architecture and tuning · 20% Data stream processing · 15%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Storage systems · 57% Cloud and datacenter computing · 36% Distributed systems · 7%

Topics — the 24 heaviest of 31, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Storage systems › object storage
cloud object store
0.412020
Delta Lake: High-Performance ACID Table Storage over Cloud Object Stores · Proc. VLDB Endow. 2020
Storage systems
key-value storage
0.412020
Delta Lake: High-Performance ACID Table Storage over Cloud Object Stores · Proc. VLDB Endow. 2020
Storage systems
storage reliability
0.412020
Delta Lake: High-Performance ACID Table Storage over Cloud Object Stores · Proc. VLDB Endow. 2020
Query processing and optimization › incremental computation
incremental query processing
0.312018
Structured Streaming: A Declarative API for Real-Time Applications in Apache Spark · SIGMOD Conference 2018
Query processing and optimization
approximate query processing
0.212015
G-OLA: Generalized On-Line Aggregation for Interactive Analysis on Big Data · SIGMOD Conference 2015
Query processing and optimization
interactive data exploration
0.212015
G-OLA: Generalized On-Line Aggregation for Interactive Analysis on Big Data · SIGMOD Conference 2015
Query processing and optimization
OLAP
0.212015
G-OLA: Generalized On-Line Aggregation for Interactive Analysis on Big Data · SIGMOD Conference 2015
Query processing and optimization › aggregation
online aggregation
0.212015
G-OLA: Generalized On-Line Aggregation for Interactive Analysis on Big Data · SIGMOD Conference 2015
Query processing and optimization › query optimization › query optimizer architecture
query optimizer extensibility
0.212015
Spark SQL: Relational Data Processing in Spark · SIGMOD Conference 2015
Cloud and datacenter computing
cluster resource management and scheduling
0.212015
Scaling Spark in the Real World: Performance and Usability · Proc. VLDB Endow. 2015
Cloud and datacenter computing
serverless computing
0.212015
Scaling Spark in the Real World: Performance and Usability · Proc. VLDB Endow. 2015
Database theory
scale independence
0.212013
Generalized scale independence through incremental precomputation · SIGMOD Conference 2013
Distributed systems
fault tolerance
0.222017
Drizzle: Fast and Adaptable Stream Processing at Scale · SOSP 2017
Scaling Spark in the Real World: Performance and Usability · Proc. VLDB Endow. 2015
Data models and query languages › query language
declarative query language
0.112011
PIQL: Success-Tolerant Query Processing in the Cloud · Proc. VLDB Endow. 2011
Cloud and datacenter computing
database-as-a-service
0.112011
PIQL: Success-Tolerant Query Processing in the Cloud · Proc. VLDB Endow. 2011
Cloud and datacenter computing › quality of service
SLO compliance
0.112011
PIQL: Success-Tolerant Query Processing in the Cloud · Proc. VLDB Endow. 2011
Indexing and storage engines
index management
0.112010
PIQL: a performance insightful query language · SIGMOD Conference 2010
Database system architecture and tuning
index recommendation
0.112010
PIQL: a performance insightful query language · SIGMOD Conference 2010
Data models and query languages
query language design
0.112010
PIQL: a performance insightful query language · SIGMOD Conference 2010
Query processing and optimization
query compilation
0.112018
Structured Streaming: A Declarative API for Real-Time Applications in Apache Spark · SIGMOD Conference 2018
Query processing and optimization › query optimization › algebraic query optimization
relational algebra optimization
0.112016
Introduction to Spark 2.0 for Database Researchers · SIGMOD Conference 2016
Distributed and cloud data management › federated database
query federation
0.112015
Spark SQL: Relational Data Processing in Spark · SIGMOD Conference 2015
Database system architecture and tuning › database design › physical database design
index selection
0.012013
Generalized scale independence through incremental precomputation · SIGMOD Conference 2013
Indexing and storage engines
key-value store
0.012010
PIQL: a performance insightful query language · SIGMOD Conference 2010

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

code generation · 0.5incremental view maintenance · 0.3whole-stage code generation · 0.2catalyst optimizer · 0.2SLO prediction model · 0.2query optimization rules · 0.2
YearPublicationVenuePosition
2023 Making Data Engineering Declarative
Michael Armbrust, Ali Ghodsi 0002, Reynold Xin, Vuk Ercegovac, Sourav Chatterji, Eun-Gyu Kim, Paul Lappas, Yannis Papakonstantinou, Yingyi Bu, Yijia Cui, Rahul Govind, Aakash Japi, Kiavash Kianfar, Jon Mio, Mukul Murthy, Supun Nakandala, Yannis Sismanis, Justin Tang, Joseph Torres
CIDR1
2021 Lakehouse: A New Generation of Open Platforms that Unify Data Warehousing and Advanced Analytics
Matei Zaharia, Ali Ghodsi 0002, Reynold Xin, Michael Armbrust
CIDR4
2020 Delta Lake: High-Performance ACID Table Storage over Cloud Object Stores
abstract
Cloud object stores such as Amazon S3 are some of the largest and most cost-effective storage systems on the planet, making them an attractive target to store large data warehouses and data lakes. Unfortunately, their implementation as key-value stores makes it difficult to achieve ACID transactions and high performance: metadata operations such as listing objects are expensive, and consistency guarantees are limited. In this paper, we present Delta Lake, an open source ACID table storage layer over cloud object stores initially developed at Databricks. Delta Lake uses a transaction log that is compacted into Apache Parquet format to provide ACID properties, time travel, and significantly faster metadata operations for large tabular datasets (e.g., the ability to quickly search billions of table partitions for those relevant to a query). It also leverages this design to provide high-level features such as automatic data layout optimization, upserts, caching, and audit logs. Delta Lake tables can be accessed from Apache Spark, Hive, Presto, Redshift and other systems. Delta Lake is deployed at thousands of Databricks customers that process exabytes of data per day, with the largest instances managing exabyte-scale datasets and billions of objects.
Michael Armbrust, Tathagata Das, Sameer Paranjpye, Reynold Xin, Shixiong Zhu, Ali Ghodsi 0002, Burak Yavuz, Mukul Murthy, Joseph Torres, Liwen Sun, Peter Boncz, Mostafa Mokhtar, Herman Van Hövell, Adrian Ionescu, Alicja Luszczak, Michal Switakowski, Takuya Ueshin, Xiao Li 0087, Michal Szafranski, Pieter Senster, Matei Zaharia
Proc. VLDB Endow.1
2018 Structured Streaming: A Declarative API for Real-Time Applications in Apache Spark
abstract
With the ubiquity of real-time data, organizations need streaming systems that are scalable, easy to use, and easy to integrate into business applications. Structured Streaming is a new high-level streaming API in Apache Spark based on our experience with Spark Streaming. Structured Streaming differs from other recent streaming APIs, such as Google Dataflow, in two main ways. First, it is a purely declarative API based on automatically incrementalizing a static relational query (expressed using SQL or DataFrames), in contrast to APIs that ask the user to build a DAG of physical operators. Second, Structured Streaming aims to support end-to-end real-time applications that integrate streaming with batch and interactive analysis. We found that this integration was often a key challenge in practice. Structured Streaming achieves high performance via Spark SQL's code generation engine and can outperform Apache Flink by up to 2x and Apache Kafka Streams by 90x. It also offers rich operational features such as rollbacks, code updates, and mixed streaming/batch execution. We describe the system's design and use cases from several hundred production deployments on Databricks, the largest of which process over 1 PB of data per month.
Michael Armbrust, Tathagata Das, Joseph Torres, Burak Yavuz, Shixiong Zhu, Reynold Xin, Ali Ghodsi 0002, Ion Stoica, Matei Zaharia
SIGMOD Conference1
2017 Drizzle: Fast and Adaptable Stream Processing at Scale
abstract
Large scale streaming systems aim to provide high throughput and low latency. They are often used to run mission-critical applications, and must be available 24x7. Thus such systems need to adapt to failures and inherent changes in workloads, with minimal impact on latency and throughput. Unfortunately, existing solutions require operators to choose between achieving low latency during normal operation and incurring minimal impact during adaptation. Continuous operator streaming systems, such as Naiad and Flink, provide low latency during normal execution but incur high overheads during adaptation (e.g., recovery), while micro-batch systems, such as Spark Streaming and FlumeJava, adapt rapidly at the cost of high latency during normal operations.
Shivaram Venkataraman, Aurojit Panda, Kay Ousterhout, Michael Armbrust, Ali Ghodsi 0002, Michael J. Franklin, Benjamin Recht, Ion Stoica
SOSP4
2016 Introduction to Spark 2.0 for Database Researchers
abstract
Originally started as an academic research project at UC Berkeley, Apache Spark is one of the most popular open source projects for big data analytics. Over 1000 volunteers have contributed code to the project; it is supported by virtually every commercial vendor; many universities are now offering courses on Spark. Spark has evolved significantly since the 2010 research paper: its foundational APIs are becoming more relational and structural with the introduction of the Catalyst relational optimizer, and its execution engine is developing quickly to adopt the latest research advances in database systems such as whole-stage code generation.
Michael Armbrust, Doug Bateman, Reynold Xin, Matei Zaharia
SIGMOD Conference1
2015 Spark SQL: Relational Data Processing in Spark
abstract
Spark SQL is a new module in Apache Spark that integrates relational processing with Spark's functional programming API. Built on our experience with Shark, Spark SQL lets Spark programmers leverage the benefits of relational processing (e.g. declarative queries and optimized storage), and lets SQL users call complex analytics libraries in Spark (e.g. machine learning). Compared to previous systems, Spark SQL makes two main additions. First, it offers much tighter integration between relational and procedural processing, through a declarative DataFrame API that integrates with procedural Spark code. Second, it includes a highly extensible optimizer, Catalyst, built using features of the Scala programming language, that makes it easy to add composable rules, control code generation, and define extension points. Using Catalyst, we have built a variety of features (e.g. schema inference for JSON, machine learning types, and query federation to external databases) tailored for the complex needs of modern data analysis. We see Spark SQL as an evolution of both SQL-on-Spark and of Spark itself, offering richer APIs and optimizations while keeping the benefits of the Spark programming model.
Michael Armbrust, Reynold Xin, Cheng Lian 0001, Yin Huai, Davies Liu, Joseph K. Bradley, Tomer Kaftan, Michael J. Franklin, Ali Ghodsi 0002, Matei Zaharia
SIGMOD Conference1
2015 G-OLA: Generalized On-Line Aggregation for Interactive Analysis on Big Data
abstract
Nearly 15 years ago, Hellerstein, Haas and Wang proposed online aggregation (OLA), a technique that allows users to (1) observe the progress of a query by showing iteratively refined approximate answers, and (2) stop the query execution once its result achieves the desired accuracy. In this demonstration, we present G-OLA, a novel mini-batch execution model that generalizes OLA to support general OLAP queries with arbitrarily nested aggregates using efficient delta maintenance techniques. We have implemented G-OLA in FluoDB, a parallel online query execution framework that is built on top of the Spark cluster computing framework that can scale to massive data sets. We will demonstrate FluoDB on a cluster of 100 machines processing roughly 10TB of real-world session logs from a video-sharing website. Using an ad optimization and an A/B testing based scenario, we will enable users to perform real-time data analysis via web-based query consoles and dashboards.
Kai Zeng 0002, Sameer Agarwal 0002, Ankur Dave, Michael Armbrust, Ion Stoica
SIGMOD Conference4
2015 Scaling Spark in the Real World: Performance and Usability
abstract
Apache Spark is one of the most widely used open source processing engines for big data, with rich language-integrated APIs and a wide range of libraries. Over the past two years, our group has worked to deploy Spark to a wide range of organizations through consulting relationships as well as our hosted service, Databricks. We describe the main challenges and requirements that appeared in taking Spark to a wide set of users, and usability and performance improvements we have made to the engine in response.
Michael Armbrust, Tathagata Das, Aaron Davidson, Ali Ghodsi 0002, Andrew Or, Josh Rosen, Ion Stoica, Patrick Wendell, Reynold Xin, Matei Zaharia
Proc. VLDB Endow.1
2013 Generalized scale independence through incremental precomputation
abstract
Developers of rapidly growing applications must be able to anticipate potential scalability problems before they cause performance issues in production environments. A new type of data independence, called scale independence, seeks to address this challenge by guaranteeing a bounded amount of work is required to execute all queries in an application, independent of the size of the underlying data. While optimization strategies have been developed to provide these guarantees for the class of queries that are scale-independent when executed using simple indexes, there are important queries for which such techniques are insufficient.
Michael Armbrust, Eric Liang, Tim Kraska, Armando Fox, Michael J. Franklin, David A. Patterson 0001
SIGMOD Conference1
2011 PIQL: Success-Tolerant Query Processing in the Cloud
abstract
Newly-released web applications often succumb to a "Success Disaster," where overloaded database machines and resulting high response times destroy a previously good user experience. Unfortunately, the data independence provided by a traditional relational database system, while useful for agile development, only exacerbates the problem by hiding potentially expensive queries under simple declarative expressions. As a result, developers of these applications are increasingly abandoning relational databases in favor of imperative code written against distributed key/value stores, losing the many benefits of data independence in the process. Instead, we propose PIQL, a declarative language that also provides scale independence by calculating an upper bound on the number of key/value store operations that will be performed for any query. Coupled with a service level objective (SLO) compliance prediction model and PIQL's scalable database architecture, these bounds make it easy for developers to write success-tolerant applications that support an arbitrarily large number of users while still providing acceptable performance. In this paper, we present the PIQL query processing system and evaluate its scale independence on hundreds of machines using two benchmarks, TPC-W and SCADr.
Michael Armbrust, Kristal Curtis, Tim Kraska, Armando Fox, Michael J. Franklin, David A. Patterson 0001
Proc. VLDB Endow.1
2010 The case for PIQL: a performance insightful query language
abstract
Large-scale, user-facing applications are increasingly moving from relational databases to distributed key/value stores for high-request-rate, low-latency workloads. Often, this move is motivated not only by key/value stores' ability to scale simply by adding more hardware, but also by the easy to understand predictable performance they provide for all operations. For complex queries, this approach often requires onerous explicit index management and imperative data lookup by the developer. We propose PIQL, a Performance Insightful Query Language that allows developers to express many queries found on these websites while still providing strict bounds on the number of I/O operations that will be performed.
Michael Armbrust, Nick Lanham, Stephen Tu, Armando Fox, Michael J. Franklin, David A. Patterson 0001
SoCC1
2010 PIQL: a performance insightful query language
abstract
Large-scale websites are increasingly moving from relational databases to distributed key-value stores for high request rate, low latency workloads. Often this move is motivated not only by key-value stores' ability to scale simply by adding more hardware, but also by the easy to understand predictable performance they provide for all operations. While this data model works well, lookups are only done by primary key. More complex queries require onerous, explicit index management and imperative data lookups by the developer. We demonstrate PIQL, a Performance Insightful Query Language that allows developers to express many of the queries found on these websites, while still providing strict bounds on the number of I/O operations for any query.
Michael Armbrust, Stephen Tu, Armando Fox, Michael J. Franklin, David A. Patterson 0001, Nick Lanham, Beth Trushkowsky, Jesse Trutna
SIGMOD Conference1
2009 SCADS: Scale-Independent Storage for Social Computing Applications
Michael Armbrust, Armando Fox, David A. Patterson 0001, Nick Lanham, Beth Trushkowsky, Jesse Trutna, Haruki Oh
CIDR1