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

Joy Arulraj

dblp:127/3025 · DBLP profile ↗
← Back
32ranked-venue papers
8as first author
16since 2021 · last 2025
0000-0002-7706-6978ORCID · verified

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

Databases, data management, data science and information retrieval · 27 · 6 first-author · 13 since 2021Software engineering, systems software and programming languages · 4 · 2 first-author · 2 since 2021Systems, architecture and hardware · 3 · 2 first-author · 1 since 2021

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
27 papers
Query processing and optimization · 41% Database system architecture and tuning · 17% Indexing and storage engines · 14%
Computer architecture, parallel and distributed computing, and storage systems
10 papers
Memory systems · 43% Storage systems · 15% Performance modeling and evaluation · 15%
Computer graphics and multimedia
3 papers
Multimedia analysis and retrieval · 100%
Software engineering, system software, and programming languages
6 papers
Software maintenance and evolution · 42% Debugging and program repair · 32% Software testing · 17%
Artificial intelligence
2 papers
Video understanding and tracking · 57% Trustworthy machine learning · 43%

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

TopicWeightPapersLastEvidence papers
Memory systems
non-volatile memory
2.062021
Spitfire: A Three-Tier Buffer Manager for Volatile and Non-Volatile Memory · SIGMOD Conference 2021
Data Management on Non-Volatile Memory · SIGMOD Conference 2019
BzTree: A High-Performance Latch-free Range Index for Non-Volatile Memory · Proc. VLDB Endow. 2018
Multimedia analysis and retrieval › video retrieval
video moment retrieval
1.522024
SketchQL Demonstration: Zero-shot Video Moment Querying with Sketches · Proc. VLDB Endow. 2024
SketchQL: Video Moment Querying with a Visual Query Interface · Proc. ACM Manag. Data 2024
Database theory
query containment
1.022022
SPES: A Symbolic Approach to Proving Query Equivalence Under Bag Semantics · ICDE 2022
Automated Verification of Query Equivalence Using Satisfiability Modulo Theories · Proc. VLDB Endow. 2019
Query processing and optimization
adaptive query processing
0.912025
Aero: Adaptive Query Processing of ML Queries · Proc. ACM Manag. Data 2025
Query processing and optimization › query optimization
learning-based query optimization
0.912025
Aero: Adaptive Query Processing of ML Queries · Proc. ACM Manag. Data 2025
Query processing and optimization › complex data query processing
video query processing
0.822023
SEIDEN: Revisiting Query Processing in Video Database Systems · Proc. VLDB Endow. 2023
Zeus: Efficiently Localizing Actions in Videos using Reinforcement Learning · SIGMOD Conference 2022
Query processing and optimization › query optimization
user-defined function optimization
0.812024
A Framework For Inferring Properties of User-Defined Functions · ICSE 2024
Information retrieval › search interfaces
visual query interface
0.812024
SketchQL: Video Moment Querying with a Visual Query Interface · Proc. ACM Manag. Data 2024
Multimedia analysis and retrieval
video retrieval
0.812024
SketchQL Demonstration: Zero-shot Video Moment Querying with Sketches · Proc. VLDB Endow. 2024
Distributed and cloud data management
geo-distributed data management
0.712023
RAPIDS: Reconciling Availability, Accuracy, and Performance in Managing Geo-Distributed Scientific Data · HPDC 2023
Indexing and storage engines
index construction
0.712023
SEIDEN: Revisiting Query Processing in Video Database Systems · Proc. VLDB Endow. 2023
Storage systems › storage reliability
erasure coding
0.712023
RAPIDS: Reconciling Availability, Accuracy, and Performance in Managing Geo-Distributed Scientific Data · HPDC 2023
GPUs and heterogeneous computing
GPU database system
0.712023
GPU Database Systems Characterization and Optimization · Proc. VLDB Endow. 2023
Cloud and datacenter computing
resource allocation
0.712023
GPU Database Systems Characterization and Optimization · Proc. VLDB Endow. 2023
Performance modeling and evaluation › analytical modeling
roofline model
0.712023
GPU Database Systems Characterization and Optimization · Proc. VLDB Endow. 2023
Computer vision › Video understanding and tracking
action detection
0.612022
Zeus: Efficiently Localizing Actions in Videos using Reinforcement Learning · SIGMOD Conference 2022
Query processing and optimization › materialized view
materialized view reuse
0.612022
EVA: A Symbolic Approach to Accelerating Exploratory Video Analytics with Materialized Views · SIGMOD Conference 2022
Indexing and storage engines
buffer management
0.512021
Spitfire: A Three-Tier Buffer Manager for Volatile and Non-Volatile Memory · SIGMOD Conference 2021
Query processing and optimization › query optimization › predicate optimization
predicate pushdown
0.512021
SIA: Optimizing Queries using Learned Predicates · SIGMOD Conference 2021
Query processing and optimization
query rewriting
0.512021
SIA: Optimizing Queries using Learned Predicates · SIGMOD Conference 2021
Query processing and optimization › query optimization › declarative query optimization
SQL query optimization
0.512021
Interactive Demonstration of SQLCHECK · Proc. VLDB Endow. 2021
Software maintenance and evolution
anti-pattern detection
0.512021
Interactive Demonstration of SQLCHECK · Proc. VLDB Endow. 2021
Memory systems › non-volatile memory
storage class memory
0.512021
Spitfire: A Three-Tier Buffer Manager for Volatile and Non-Volatile Memory · SIGMOD Conference 2021
Information retrieval
similarity search
0.522024
SketchQL Demonstration: Zero-shot Video Moment Querying with Sketches · Proc. VLDB Endow. 2024
SketchQL: Video Moment Querying with a Visual Query Interface · Proc. ACM Manag. Data 2024
Machine learning › Trustworthy machine learning
robustness
0.412020
ODIN: Automated Drift Detection and Recovery in Video Analytics · Proc. VLDB Endow. 2020
Multimedia analysis and retrieval
video content analysis
0.412020
ODIN: Automated Drift Detection and Recovery in Video Analytics · Proc. VLDB Endow. 2020
Query processing and optimization
query optimization
0.412019
Automated Verification of Query Equivalence Using Satisfiability Modulo Theories · Proc. VLDB Endow. 2019
Database system architecture and tuning › database performance management
query performance regression
0.412019
APOLLO: Automatic Detection and Diagnosis of Performance Regressions in Database Systems · Proc. VLDB Endow. 2019
Software testing › regression testing
performance regression testing
0.412019
APOLLO: Automatic Detection and Diagnosis of Performance Regressions in Database Systems · Proc. VLDB Endow. 2019
Debugging and program repair
fault localization
0.422014
Leveraging the short-term memory of hardware to diagnose production-run software failures · ASPLOS 2014
Production-run software failure diagnosis via hardware performance counters · ASPLOS 2013

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

static analysis · 1.8zero-shot retrieval · 1.5simulator · 1.5pre-trained trajectory similarity model · 1.5object tracking · 1.5learned similarity search · 1.5satisfiability modulo theories · 1.4drift detection · 1.3automated recovery · 1.3symbolic representation · 1.0adaptive query processing · 0.9UDF profiling · 0.9hardware performance counters · 0.7roofline model · 0.7microarchitectural analysis · 0.7erasure coding · 0.7data duplication · 0.7Multi-Instance GPU · 0.7
YearPublicationVenuePosition
2025 Aero: Adaptive Query Processing of ML Queries
abstract
Query optimization is critical in relational database management systems (DBMSs) for ensuring efficient query processing. The query optimizer relies on precise selectivity and cost estimates to generate optimal query plans for execution. However, this static query optimization approach falls short for DBMSs handling machine learning (ML) queries. ML-centric DBMSs face distinct challenges in query optimization. First, performance bottlenecks shift to user-defined functions (UDFs), often encapsulating deep learning models, making it difficult to estimate UDF statistics without profiling the query. Second, optimal query plans for ML queries are data-dependent, requiring dynamic plan adjustments during execution. To address these challenges, we introduce Aero, an ML-centric DBMS that utilizes adaptive query processing (AQP) for efficiently processing ML queries. Aero optimizes the evaluation of UDF-based query predicates by dynamically adjusting predicate evaluation order and enhancing UDF execution scalability. By integrating AQP, Aero continuously monitors UDF statistics, routes data to predicates in an optimal order, and dynamically allocates resources for evaluating predicates. Aero achieves up to 6.4x speedup compared to a state-of-the-art ML-centric DBMS across four diverse use cases, with no impact on accuracy.
Gaurav Tarlok Kakkar, Jiashen Cao, Aubhro Sengupta, Joy Arulraj, Hyesoon Kim
Proc. ACM Manag. Data4
2024 A Framework For Inferring Properties of User-Defined Functions
abstract
User-defined functions (UDFs) are widely used to enhance the capabilities of DBMSs. However, using UDFs comes with a significant performance penalty because DBMSs treat UDFs as black boxes, which hinders their ability to optimize queries that invoke such UDFs. To mitigate this problem, in this paper we present LAMBDA, a technique and framework for improving DBMSs' performance in the presence of UDFs. The core idea of LAMBDA is to statically infer properties of UDFs that facilitate UDF processing. Taking one such property as an example, if DBMSs know that a UDF is pure, that is it returns the same result given the same arguments, they can leverage a cache to avoid repetitive UDF invocations that have the same call arguments.
Joy Arulraj, Alessandro Orso
ICSE2
2024 SketchQL: Video Moment Querying with a Visual Query Interface
abstract
Localizing video moments based on the movement patterns of objects is an important task in video analytics. Existing video analytics systems offer two types of querying interfaces based on natural language and SQL, respectively. However, both types of interfaces have major limitations. SQL-based systems require high query specification time, whereas natural language-based systems require large training datasets to achieve satisfactory retrieval accuracy. To address these limitations, we present SketchQL, a video database management system (VDBMS) for offline, exploratory video moment retrieval that is both easy to use and generalizes well across multiple video moment datasets. To improve ease-of-use, SketchQL features a visual query interface that enables users to sketch complex visual queries through intuitive drag-and-drop actions. To improve generalizability, SketchQL operates on object-tracking primitives that are reliably extracted across various datasets using pre-trained models. We present a learned similarity search algorithm for retrieving video moments closely matching the user's visual query based on object trajectories. SketchQL trains the model on a diverse dataset generated with a novel simulator, that enhances its accuracy across a wide array of datasets and queries. We evaluate SketchQL on four real-world datasets with nine queries, demonstrating its superior usability and retrieval accuracy over state-of-the-art VDBMSs.
Renzhi Wu, Pramod Chunduri, Ali Payani, Xu Chu 0002, Joy Arulraj, Kexin Rong 0001
Proc. ACM Manag. Data5
2024 SketchQL Demonstration: Zero-shot Video Moment Querying with Sketches
abstract
In this paper, we will present SketchQL, a video database management system (VDBMS) for retrieving video moments with a sketch-based query interface. This novel interface allows users to specify object trajectory events with simple mouse drag-and-drop operations. Users can use trajectories of single objects as building blocks to compose complex events. Using a pre-trained model that encodes trajectory similarity, SketchQL achieves zero-shot video moments retrieval by performing similarity searches over the video to identify clips that are the most similar to the visual query. In this demonstration, we introduce the graphic user interface of SketchQL and detail its functionalities and interaction mechanisms. We also demonstrate the end-to-end usage of SketchQL from query composition to video moments retrieval using real-world scenarios.
Renzhi Wu, Pramod Chunduri, Dristi J. Shah, Ashmitha Julius Aravind, Ali Payani, Xu Chu 0002, Joy Arulraj, Kexin Rong 0001
Proc. VLDB Endow.7
2023 RAPIDS: Reconciling Availability, Accuracy, and Performance in Managing Geo-Distributed Scientific Data
abstract
In modern science, big data plays an increasingly important role. Many scientific applications, such as running simulations on supercomputers or conducting experiments on advanced instruments, produce huge amount of data at unprecedented speed. Analyzing and understanding such big data is the key for scientists to make scientific breakthroughs. However, data might become unavailable for scientists to access when outages or maintenance of the storage system occur, which severely hinders scientific discovery. To improve the data availability, data duplication and erasure coding (EC) are often used. But as the scientific data gets larger, using these two methods can cause considerable storage and network overhead.
Lipeng Wan 0001, Jieyang Chen, Xin Liang 0001, Ana Gainaru, Qian Gong, Qing Liu 0002, Ben Whitney, Joy Arulraj, Zhengchun Liu, Ian T. Foster, Scott Klasky
HPDC8
2023 SEIDEN: Revisiting Query Processing in Video Database Systems
abstract
State-of-the-art video database management systems (VDBMSs) often use lightweight proxy models to accelerate object retrieval and aggregate queries. The key assumption underlying these systems is that the proxy model is an order of magnitude faster than the heavyweight oracle model. However, recent advances in computer vision have invalidated this assumption. Inference time of recently proposed oracle models is on par with or even lower than the proxy models used in state-of-the-art (SoTA) VDBMSs. This paper presents Seiden, a VDBMS that leverages this radical shift in the runtime gap between the oracle and proxy models. Instead of relying on a proxy model, Seiden directly applies the oracle model over a subset of frames to build a query-agnostic index, and samples additional frames to answer the query using an exploration-exploitation scheme during query processing. By leveraging the temporal continuity of the video and the output of the oracle model on the sampled frames, Seiden delivers faster query processing and better query accuracy than SoTA VDBMSs. Our empirical evaluation shows that Seiden is on average 6.6 x faster than SoTA VDBMSs across diverse queries and datasets.
Jaeho Bang, Gaurav Tarlok Kakkar, Pramod Chunduri, Subrata Mitra, Joy Arulraj
Proc. VLDB Endow.5
2023 GPU Database Systems Characterization and Optimization
abstract
GPUs offer massive parallelism and high-bandwidth memory access, making them an attractive option for accelerating data analytics in database systems. However, while modern GPUs possess more resources than ever before (e.g., higher DRAM bandwidth), efficient system implementations and judicious resource allocations for query processing are still necessary for optimal performance. Database systems can save GPU runtime costs through just-enough resource allocation or improve query throughput with concurrent query processing by leveraging new GPU resource-allocation capabilities, such as Multi-Instance GPU (MIG). In this paper, we do a cross-stack performance and resource-utilization analysis of four GPU database systems, including Crystal (the state-of-the-art GPU database, performance-wise) and TQP (the latest entry in the GPU database space). We evaluate the bottlenecks of each system through an in-depth microarchitectural study and identify resource underutilization by leveraging the classic roofline model. Based on the insights gained from our investigation, we propose optimizations for both system implementation and resource allocation, using which we are able to achieve 1.9x lower latency for single-query execution and up to 6.5x throughput improvement for concurrent query execution.
Jiashen Cao, Rathijit Sen, Matteo Interlandi, Joy Arulraj, Hyesoon Kim
Proc. VLDB Endow.4
2023 Interactive Demonstration of EVA
abstract
In this demonstration, we will present EVA, an end-to-end AI-Relational database management system. We will demonstrate the capabilities and utility of EVA using three usage scenarios: (1) EVA serves as a backend for an exploratory video analytics interface developed using Streamlit and React, (2) EVA seamlessly integrates with the Python and Data Science ecosystems by allowing users to access EVA in a Python notebook alongside other popular libraries such as Pandas and Matplotlib, and (3) EVA facilitates bulk labeling with Label Studio, a widely-used labeling framework. By optimizing complex vision queries, we illustrate how EVA allows a wide range of application developers to harness the recent advances in computer vision.
Gaurav Tarlok Kakkar, Aryan Rajoria, Myna Prasanna Kalluraya, Ashmita Raju, Jiashen Cao, Kexin Rong 0001, Joy Arulraj
Proc. VLDB Endow.7
2022 SPES: A Symbolic Approach to Proving Query Equivalence Under Bag Semantics
abstract
In database-as-a-service platforms, automated ver-ification of query equivalence helps eliminate redundant computation in the form of overlapping sub-queries. Researchers have proposed two pragmatic techniques to tackle this problem. The first approach consists of reducing the queries to algebraic expressions and proving their equivalence using an algebraic theory. The limitations of this technique are threefold. It cannot prove the equivalence of queries with significant differences in the attributes of their relational operators (e.g., predicates in the filter operator). It does not support certain widely-used SQL features (e.g., NULL values). Its verification procedure is computationally intensive. The second approach transforms this problem to a constraint satisfaction problem and leverages a general-purpose solver to determine query equivalence. This technique consists of deriving the symbolic representation of the queries and proving their equivalence by determining the query containment relationship between the symbolic expressions. While the latter approach addresses all the limitations of the former technique, it only proves the equivalence of queries under set semantics (i.e., output tables must not contain duplicate tuples). However, in practice, database applications use bag semantics (i.e., output tables may contain duplicate tuples) In this paper, we introduce a novel symbolic approach for proving query equivalence under bag semantics. We transform the problem of proving query equivalence under bag semantics to that of proving the existence of a bijective, identity map between tuples returned by the queries on all valid inputs. We classify SQL queries into four categories, and propose a set of novel category-specific verification algorithms. We implement this symbolic approach in SPES and demonstrate that it proves the equivalence of a larger set of query pairs (95/232) under bag semantics compared to the SOTA tools based on algebraic (30/232) and symbolic approaches (67/232) under set and bag semantics, respectively. Furthermore, SPES is 3X faster than the symbolic tool that proves equivalence under set semantics.
Qi Zhou 0010, Joy Arulraj, Shamkant B. Navathe, William Harris, Jinpeng Wu
ICDE2
2022 Automatic Detection of Performance Bugs in Database Systems using Equivalent Queries
abstract
Because modern data-intensive applications rely heavily on database systems (DBMSs), developers extensively test these systems to eliminate bugs that negatively affect functionality. Besides functional bugs, however, there is another important class of faults that negatively affect the response time of a DBMS, known as performance bugs. Despite their potential impact on end-user experience, performance bugs have received considerably less attention than functional bugs. To fill this gap, we present Amoeba, a technique and tool for automatically detecting performance bugs in DBMSs. The core idea behind Amoeba is to construct semantically equivalent query pairs, run both queries on the DBMS under test, and compare their response time. If the queries exhibit significantly different response times, that indicates the possible presence of a performance bug in the DBMS. To construct equivalent queries, we propose to use a set of structure and expression mutation rules especially targeted at uncovering performance bugs. We also introduce feedback mechanisms for improving the effectiveness and efficiency of the approach. We evaluate Amoeba on two widely-used DBMSs, namely PostgreSQL and CockroachDB, with promising results: Amoeba has so far discovered 39 potential performance bugs, among which developers have already confirmed 6 bugs and fixed 5 bugs.
Qi Zhou 0010, Joy Arulraj, Alessandro Orso
ICSE3
2022 FiGO: Fine-Grained Query Optimization in Video Analytics
abstract
Video database management systems (VDBMSs) enable automated analysis of videos at scale using computationally-intensive deep learning models. To reduce the computational overhead of these models, researchers have proposed two techniques: (1) leveraging a specialized, lightweight model to filter out irrelevant frames or to directly answer the query, and (2) using a cascade of models of increasing complexity to answer the query. For both techniques, the query optimizer generates a coarse-grained query plan for the entire video. These techniques suffer from four limitations: (1) lower query accuracy over hard-to-detect predicates, (2) lower filtering efficacy with frequently-occurring objects, (3) lower accuracy due to nontrivial model cascade configuration, and (4) missed optimization opportunities due to coarse-grained planning for the entire video.
Jiashen Cao, Karan Sarkar, Ramyad Hadidi, Joy Arulraj, Hyesoon Kim
SIGMOD Conference4
2022 Zeus: Efficiently Localizing Actions in Videos using Reinforcement Learning
abstract
Detection and localization of actions in videos is an important problem in practice. State-of-the-art video analytics systems are unable to efficiently and effectively answer such action queries because actions often involve a complex interaction between objects and are spread across a sequence of frames; detecting and localizing them requires computationally expensive deep neural networks. It is also important to consider the entire sequence of frames to answer the query effectively.
Pramod Chunduri, Jaeho Bang, Yao Lu 0028, Joy Arulraj
SIGMOD Conference4
2022 EVA: A Symbolic Approach to Accelerating Exploratory Video Analytics with Materialized Views
abstract
Advances in deep learning have led to a resurgence of interest in video analytics. In an exploratory video analytics pipeline, a data scientist often starts by searching for a global trend and then iteratively refines the query until they identify the desired local trend. These queries tend to have overlapping computation and often differ in their predicates. However, these predicates are computationally expensive to evaluate since they contain user-defined functions (UDFs) that wrap around deep learning models.
Zhuangdi Xu, Gaurav Tarlok Kakkar, Joy Arulraj, Umakishore Ramachandran
SIGMOD Conference3
2021 SIA: Optimizing Queries using Learned Predicates
abstract
Predicate-centric rules for rewriting queries is a key technique in optimizing queries. These include pushing down the predicate below the join and aggregation operators, or optimizing the order of evaluating predicates. However, many of these rules are only applicable when the predicate uses a certain set of columns. For example, to move the predicate below the join operator, the predicate must only use columns from one of the joined tables. By generating a predicate that satisfies these column constraints and preserves the semantics of the original query, the optimizer may leverage additional predicate-centric rules that were not applicable before. Researchers have proposed syntax-driven rewrite rules and machine learning algorithms for inferring such predicates. However, these techniques suffer from two limitations. First, they do not let the optimizer constrain the set of columns that may be used in the learned predicate. Second, machine learning algorithms do not guarantee that the learned predicate preserves semantics. In this paper, we present SIA, a system for learning predicates while being guided by counter-examples and a verification technique, that addresses these limitations. The key idea is to leverage satisfiability modulo theories to generate counter-examples and use them to iteratively learn a valid, optimal predicate. We formalize this problem by proving the key properties of synthesized predicates. We implement our approach in SIA and evaluate its efficacy and efficiency. We demonstrate that it synthesizes a larger set of valid predicates compared to prior approaches. On a collection of 200 queries derived from the TPC-H benchmark, SIA successfully rewrites 114 queries with learned predicates. 66 of these rewritten queries exhibit more than 2X speed up.
Qi Zhou 0010, Joy Arulraj, Shamkant B. Navathe, William Harris, Jinpeng Wu
SIGMOD Conference2
2021 Spitfire: A Three-Tier Buffer Manager for Volatile and Non-Volatile Memory
abstract
The design of the buffer manager in database management systems (DBMSs) is influenced by the performance characteristics of volatile memory (i.e., DRAM) and non-volatile storage (e.g., SSD). The key design assumptions have been that the data must be migrated to DRAM for the DBMS to operate on it and that storage is orders of magnitude slower than DRAM. But the arrival of new non-volatile memory (NVM) technologies that are nearly as fast as DRAM invalidates these previous assumptions.
Xinjing Zhou, Joy Arulraj, Andrew Pavlo, David E. Cohen
SIGMOD Conference2
2021 Interactive Demonstration of SQLCHECK
abstract
We will demonstrate a prototype of sqlcheck, a holistic toolchain for automatically finding and fixing anti-patterns in database applications. The advent of modern database-as-a-service platforms has made it easy for developers to quickly create scalable applications. However, it is still challenging for developers to design performant, maintainable, and accurate applications. This is because developers may unknowingly introduce anti-patterns in the application's SQL statements. These anti-patterns are design decisions that are intended to solve a problem, but often lead to other problems by violating fundamental design principles. sqlcheck leverages techniques for automatically: (1) detecting anti-patterns with high accuracy, (2) ranking them based on their impact on performance, maintainability, and accuracy of applications, and (3) suggesting alternative queries and changes to the database design to fix these anti-patterns. We will demonstrate that sqlcheck enables developers to create more performant, maintainable, and accurate applications. We will show the prevalence of these anti-patterns in a large collection of queries and databases collected from open-source repositories.
Arthita Ghosh, Arpit Narechania, Prashanth Dintyala, Su Timurturkan, Joy Arulraj, Deven Bansod
Proc. VLDB Endow.5
2020 SQLCheck: Automated Detection and Diagnosis of SQL Anti-Patterns
abstract
The emergence of database-as-a-service platforms has made deploying database applications easier than before. Now, developers can quickly create scalable applications. However, designing performant, maintainable, and accurate applications is challenging. Developers may unknowingly introduce anti-patterns in the application's SQL statements. These anti-patterns are design decisions that are intended to solve a problem but often lead to other problems by violating fundamental design principles. In this paper, we present SQLCheck, a holistic toolchain for automatically finding and fixing anti-patterns in database applications. We introduce techniques for automatically (1) detecting anti-patterns with high precision and recall, (2) ranking the anti-patterns based on their impact on performance, maintainability, and accuracy of applications, and (3) suggesting alternative queries and changes to the database design to fix these anti-patterns. We demonstrate the prevalence of these anti-patterns in a large collection of queries and databases collected from open-source repositories. We introduce an anti-pattern detection algorithm that augments query analysis with data analysis. We present a ranking model for characterizing the impact of frequently occurring anti-patterns. We discuss how SQLCheck suggests fixes for high-impact anti-patterns using rule-based query refactoring techniques. Our experiments demonstrate that SQLCheck enables developers to create more performant, maintainable, and accurate applications.
Prashanth Dintyala, Arpit Narechania, Joy Arulraj
SIGMOD Conference3
2020 ODIN: Automated Drift Detection and Recovery in Video Analytics
Abhijit Suprem, Joy Arulraj, Calton Pu, João Eduardo Ferreira
Proc. VLDB Endow.2
2019 Data Management on Non-Volatile Memory
abstract
We are at an exciting point in the evolution of memory technology. Device manufacturers have created a new non- volatile memory (NVM) technology that can serve as both system memory and storage. NVM supports fast reads and writes similar to volatile memory, but all writes to it are persistent like a solid-state disk. The advent of NVM invalidates decades of design decisions that are deeply embedded in today's database management systems (DBMSs). These systems are unable to take full advantage of NVM because their internal architectures are predicated on the assumption that memory is volatile. With NVM, many of the components of today's DBMSs are unnecessary and will degrade the performance of data-intensive applications. Thus, the best way to resolve these shortcomings is by designing a new system explicitly tailored for NVM. In this talk, I will present our research on the design and development of an NVM DBMS, called Peloton. Peloton's architecture shows that the impact of NVM spans across all the layers of the DBMS. I will first introduce write-behind logging, an NVM-centric protocol that improves the availability of the database system by two orders-of-magnitude compared to the widely-used write- ahead logging protocol. I will then present the BzTree, an NVM-centric index data structure that illustrates how to simplify programming on NVM. In drawing broader lessons from this work, I will argue that all types of software systems, including file systems, machine-learning systems, and key-value stores, are amenable to similar architectural changes to achieve high performance and availability on NVM.
Joy Arulraj
SIGMOD Conference1
2019 APOLLO: Automatic Detection and Diagnosis of Performance Regressions in Database Systems
abstract
The practical art of constructing database management systems (DBMSs) involves a morass of trade-offs among query execution speed, query optimization speed, standards compliance, feature parity, modularity, portability, and other goals. It is no surprise that DBMSs, like all complex software systems, contain bugs that can adversely affect their performance. The performance of DBMSs is an important metric as it determines how quickly an application can take in new information and use it to make new decisions. Both developers and users face challenges while dealing with performance regression bugs. First, developers usually find it challenging to manually design test cases to uncover performance regressions since DBMS components tend to have complex interactions. Second, users encountering performance regressions are often unable to report them, as the regression-triggering queries could be complex and database-dependent. Third, developers have to expend a lot of effort on localizing the root cause of the reported bugs, due to the system complexity and software development complexity. Given these challenges, this paper presents the design of Apollo, a toolchain for automatically detecting, reporting, and diagnosing performance regressions in DBMSs. We demonstrate that Apollo automates the generation of regression-triggering queries, simplifies the bug reporting process for users, and enables developers to quickly pinpoint the root cause of performance regressions. By automating the detection and diagnosis of performance regressions, Apollo reduces the labor cost of developing efficient DBMSs.
Jinho Jung 0001, Hong Hu 0004, Joy Arulraj, Taesoo Kim, Woon-Hak Kang
Proc. VLDB Endow.3
2019 Automated Verification of Query Equivalence Using Satisfiability Modulo Theories
abstract
Database-as-a-service offerings enable users to quickly create and deploy complex data processing pipelines. In practice, these pipelines often exhibit significant overlap of computation due to redundant execution of certain sub-queries. It is challenging for developers and database administrators to manually detect overlap across queries since they may be distributed across teams, organization roles, and geographic locations. Thus, we require automated cloud-scale tools for identifying equivalent queries to minimize computation overlap. State-of-the-art algebraic approaches to automated verification of query equivalence suffer from two limitations. First, they are unable to model the semantics of widely-used SQL features, such as complex query predicates and three-valued logic. Second, they have a computationally intensive verification procedure. These limitations restrict their efficacy and efficiency in cloud-scale database-as-a-service offerings. This paper makes the case for an alternate approach to determining query equivalence based on symbolic representation. The key idea is to effectively transform a wide range of SQL queries into first order logic formulae and then use satisfiability modulo theories to efficiently verify their equivalence. We have implemented this symbolic representation-based approach in EQUITAS. Our evaluation shows that EQUITAS proves the semantic equivalence of a larger set of query pairs compared to algebraic approaches and reduces the verification time by 27X. We also demonstrate that on a set of 17,461 real-world SQL queries, it automatically identifies redundant execution across 11% of the queries. Our symbolic-representation based technique is currently deployed on Alibaba's MaxCompute database-as-a-service platform.
Qi Zhou 0010, Joy Arulraj, Shamkant B. Navathe, William Harris
Proc. VLDB Endow.2
2018 BzTree: A High-Performance Latch-free Range Index for Non-Volatile Memory
abstract
Storing a database (rows and indexes) entirely in non-volatile memory (NVM) potentially enables both high performance and fast recovery. To fully exploit parallelism on modern CPUs, modern main-memory databases use latch-free (lock-free) index structures, e.g. Bw-tree or skip lists. To achieve high performance NVM-resident indexes also need to be latch-free. This paper describes the design of the BzTree, a latch-free B-tree index designed for NVM. The BzTree uses a persistent multi-word compare-and-swap operation (PMwCAS) as a core building block, enabling an index design that has several important advantages compared with competing index structures such as the Bw-tree. First, the BzTree is latch-free yet simple to implement. Second, the BzTree is fast - showing up to 2x higher throughput than the Bw-tree in our experiments. Third, the BzTree does not require any special-purpose recovery code. Recovery is near-instantaneous and only involves rolling back (or forward) any PMwCAS operations that were in-flight during failure. Our end-to-end recovery experiments of BzTree report an average recovery time of 145 μs. Finally, the same BzTree implementation runs seamlessly on both volatile RAM and NVM, which greatly reduces the cost of code maintenance.
Joy Arulraj, Justin J. Levandoski, Umar Farooq Minhas, Per-Åke Larson
Proc. VLDB Endow.1
2017 Self-Driving Database Management Systems
Andrew Pavlo, Gustavo Angulo, Joy Arulraj, Haibin Lin, Jiexi Lin, Lin Ma 0006, Prashanth Menon, Todd C. Mowry, Matthew Perron, Ian Quah, Siddharth Santurkar, Anthony Tomasic, Skye Toor, Dana Van Aken, Ziqi Wang 0007, Yingjun Wu, Ran Xian, Tieying Zhang
CIDR3
2017 How to Build a Non-Volatile Memory Database Management System
abstract
The difference in the performance characteristics of volatile (DRAM) and non-volatile storage devices (HDD/SSDs) influences the design of database management systems (DBMSs). The key assumption has always been that the latter is much slower than the former. This affects all aspects of a DBMS's runtime architecture. But the arrival of new non-volatile memory (NVM) storage that is almost as fast as DRAM with fine-grained read/writes invalidates these previous design choices.
Joy Arulraj, Andrew Pavlo
SIGMOD Conference1
2017 SlimDB: A Space-Efficient Key-Value Storage Engine For Semi-Sorted Data
abstract
Modern key-value stores often use write-optimized indexes and compact in-memory indexes to speed up read and write performance. One popular write-optimized index is the Log-structured merge-tree (LSM-tree) which provides indexed access to write-intensive data. It has been increasingly used as a storage backbone for many services, including file system metadata management, graph processing engines, and machine learning feature storage engines. Existing LSM-tree implementations often exhibit high write amplifications caused by compaction, and lack optimizations to maximize read performance on solid-state disks. The goal of this paper is to explore techniques that leverage common workload characteristics shared by many systems using key-value stores to reduce the read/write amplification overhead typically associated with general-purpose LSM-tree implementations. Our experiments show that by applying these design techniques, our new implementation of a key-value store, SlimDB, can be two to three times faster, use less memory to cache metadata indices, and show lower tail latency in read operations compared to popular LSM-tree implementations such as LevelDB and RocksDB.
Kai Ren 0001, Qing Zheng, Joy Arulraj, Garth A. Gibson
Proc. VLDB Endow.3
2017 An Empirical Evaluation of In-Memory Multi-Version Concurrency Control
abstract
Multi-version concurrency control (MVCC) is currently the most popular transaction management scheme in modern database management systems (DBMSs). Although MVCC was discovered in the late 1970s, it is used in almost every major relational DBMS released in the last decade. Maintaining multiple versions of data potentially increases parallelism without sacrificing serializability when processing transactions. But scaling MVCC in a multi-core and in-memory setting is non-trivial: when there are a large number of threads running in parallel, the synchronization overhead can outweigh the benefits of multi-versioning. To understand how MVCC perform when processing transactions in modern hardware settings, we conduct an extensive study of the scheme's four key design decisions: concurrency control protocol, version storage, garbage collection, and index management. We implemented state-of-the-art variants of all of these in an in-memory DBMS and evaluated them using OLTP workloads. Our analysis identifies the fundamental bottlenecks of each design choice.
Yingjun Wu, Joy Arulraj, Jiexi Lin, Ran Xian, Andrew Pavlo
Proc. VLDB Endow.2
2016 Larger-than-memory data management on modern storage hardware for in-memory OLTP database systems
abstract
In-memory database management systems (DBMSs) outperform disk-oriented systems for on-line transaction processing (OLTP) workloads. But this improved performance is only achievable when the database is smaller than the amount of physical memory available in the system. To overcome this limitation, some in-memory DBMSs can move cold data out of volatile DRAM to secondary storage. Such data appears as if it resides in memory with the rest of the database even though it does not.
Lin Ma 0006, Joy Arulraj, Sam Zhao, Andrew Pavlo, Subramanya Dulloor, Michael Giardino, Jeff Parkhurst, Jason L. Gardner, Kshitij A. Doshi, Stanley B. Zdonik
DaMoN2
2016 Bridging the Archipelago between Row-Stores and Column-Stores for Hybrid Workloads
abstract
Data-intensive applications seek to obtain trill insights in real-time by analyzing a combination of historical data sets alongside recently collected data. This means that to support such hybrid workloads, database management systems (DBMSs) need to handle both fast ACID transactions and complex analytical queries on the same database. But the current trend is to use specialized systems that are optimized for only one of these workloads, and thus require an organization to maintain separate copies of the database. This adds additional cost to deploying a database application in terms of both storage and administration overhead.
Joy Arulraj, Andrew Pavlo, Prashanth Menon
SIGMOD Conference1
2016 Write-Behind Logging
abstract
The design of the logging and recovery components of database management systems (DBMSs) has always been influenced by the difference in the performance characteristics of volatile (DRAM) and non-volatile storage devices (HDD/SSDs). The key assumption has been that non-volatile storage is much slower than DRAM and only supports block-oriented read/writes. But the arrival of new non-volatile memory (NVM) storage that is almost as fast as DRAM with fine-grained read/writes invalidates these previous design choices. This paper explores the changes that are required in a DBMS to leverage the unique properties of NVM in systems that still include volatile DRAM. We make the case for a new logging and recovery protocol, called write-behind logging, that enables a DBMS to recover nearly instantaneously from system failures. The key idea is that the DBMS logs what parts of the database have changed rather than how it was changed. Using this method, the DBMS flushes the changes to the database before recording them in the log. Our evaluation shows that this protocol improves a DBMS's transactional throughput by 1.3×, reduces the recovery time by more than two orders of magnitude, and shrinks the storage footprint of the DBMS on NVM by 1.5×. We also demonstrate that our logging protocol is compatible with standard replication schemes.
Joy Arulraj, Matthew Perron, Andrew Pavlo
Proc. VLDB Endow.1
2015 Let's Talk About Storage & Recovery Methods for Non-Volatile Memory Database Systems
abstract
The advent of non-volatile memory (NVM) will fundamentally change the dichotomy between memory and durable storage in database management systems (DBMSs). These new NVM devices are almost as fast as DRAM, but all writes to it are potentially persistent even after power loss. Existing DBMSs are unable to take full advantage of this technology because their internal architectures are predicated on the assumption that memory is volatile. With NVM, many of the components of legacy DBMSs are unnecessary and will degrade the performance of data intensive applications.
Joy Arulraj, Andrew Pavlo, Subramanya Dulloor
SIGMOD Conference1
2014 Leveraging the short-term memory of hardware to diagnose production-run software failures
abstract
Failures caused by software bugs are widespread in production runs, causing severe losses for end users. Unfortunately, diagnosing production-run failures is challenging. Existing work cannot satisfy privacy, run-time overhead, diagnosis capability, and diagnosis latency requirements all at once.
Joy Arulraj, Guoliang Jin, Shan Lu 0001
ASPLOS1
2013 Production-run software failure diagnosis via hardware performance counters
abstract
Sequential and concurrency bugs are widespread in deployed software. They cause severe failures and huge financial loss during production runs. Tools that diagnose production-run failures with low overhead are needed. The state-of-the-art diagnosis techniques use software instrumentation to sample program properties at run time and use off-line statistical analysis to identify properties most correlated with failures. Although promising, these techniques suffer from high run-time overhead, which is sometimes over 100%, for concurrency-bug failure diagnosis and hence are not suitable for production-run usage.
Joy Arulraj, Po-Chun Chang, Guoliang Jin, Shan Lu 0001
ASPLOS1