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

Dixin Tang

dblp:155/5478 · DBLP profile ↗
← Back
24ranked-venue papers
11as first author
14since 2021 · last 2026
0000-0002-3316-6651ORCID · corroborated

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

Databases, data management, data science and information retrieval · 16 · 8 first-author · 10 since 2021Systems, architecture and hardware · 5 · 3 first-author · 1 since 2021Software engineering, systems software and programming languages · 3 · 3 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
16 papers
Query processing and optimization · 42% Database system architecture and tuning · 14% Information retrieval · 12%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Distributed systems · 32% Memory systems · 32% Parallel and multicore computing · 18%
Computer graphics and multimedia
4 papers
Visualization and visual analytics · 68% Multimedia systems and quality of experience · 32%

Topics — the 28 heaviest of 35, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Data stream processing › fault tolerance
exactly-once semantics
0.912025
Impeller: Stream Processing on Shared Logs · EuroSys 2025
Query processing and optimization
incremental computation
0.912025
Homomorphism Calculus for User-Defined Aggregations · Proc. ACM Program. Lang. 2025
Query processing and optimization › aggregation
user-defined aggregate
0.912025
Homomorphism Calculus for User-Defined Aggregations · Proc. ACM Program. Lang. 2025
Multimedia systems and quality of experience
user perception
0.912025
Transactional panorama: a conceptual framework for user perception in analytical visual interfaces (extended version) · VLDB J. 2025
Memory systems › memory disaggregation
CXL memory
0.912025
Tigon: A Distributed Database for a CXL Pod · OSDI 2025
Distributed systems
distributed coordination
0.912025
Impeller: Stream Processing on Shared Logs · EuroSys 2025
Query processing and optimization › view maintenance
incremental view maintenance
0.822020
Thrifty Query Execution via Incrementability · SIGMOD Conference 2020
Intermittent Query Processing · Proc. VLDB Endow. 2019
Data integration and cleaning › data preprocessing
data cleaning
0.812024
Dealing with Acronyms, Abbreviations, and Typos in Real-World Entity Matching · Proc. VLDB Endow. 2024
Data integration and cleaning
entity matching
0.812024
Dealing with Acronyms, Abbreviations, and Typos in Real-World Entity Matching · Proc. VLDB Endow. 2024
Information retrieval
similarity measure
0.812024
Dealing with Acronyms, Abbreviations, and Typos in Real-World Entity Matching · Proc. VLDB Endow. 2024
Information retrieval
string matching
0.812024
Dealing with Acronyms, Abbreviations, and Typos in Real-World Entity Matching · Proc. VLDB Endow. 2024
Transaction processing and concurrency control
transaction models
0.712023
Transactional Panorama: A Conceptual Framework for User Perception in Analytical Visual Interfaces · Proc. VLDB Endow. 2023
Visualization and visual analytics
graph visualization
0.712023
Visualizing Spreadsheet Formula Graphs Compactly · Proc. VLDB Endow. 2023
Data stream processing
continuous query processing
0.522020
CrocodileDB in Action: Resource-Efficient Query Execution by Exploiting Time Slackness · Proc. VLDB Endow. 2020
Intermittent Query Processing · Proc. VLDB Endow. 2019
Database system architecture and tuning › database administration
data loading
0.512021
CIAO: An Optimization Framework for Client-Assisted Data Loading · ICDE 2021
Query processing and optimization › runtime optimization
data skipping
0.512021
CIAO: An Optimization Framework for Client-Assisted Data Loading · ICDE 2021
Data mining
exploratory data analysis
0.512021
Lux: Always-on Visualization Recommendations for Exploratory Dataframe Workflows · Proc. VLDB Endow. 2021
Query processing and optimization
multi-query optimization
0.512021
Resource-efficient Shared Query Execution via Exploiting Time Slackness · SIGMOD Conference 2021
Query processing and optimization
shared computation
0.512021
Resource-efficient Shared Query Execution via Exploiting Time Slackness · SIGMOD Conference 2021
Visualization and visual analytics
visualization recommendation
0.512021
Lux: Always-on Visualization Recommendations for Exploratory Dataframe Workflows · Proc. VLDB Endow. 2021
Parallel and multicore computing › parallel computing
parallel data processing
0.512021
Flexible Rule-Based Decomposition and Metadata Independence in Modin: A Parallel Dataframe System · Proc. VLDB Endow. 2021
Query processing and optimization
query execution
0.412020
Thrifty Query Execution via Incrementability · SIGMOD Conference 2020
Database system architecture and tuning
disaggregated storage and compute
0.412019
Socrates: The New SQL Server in the Cloud · SIGMOD Conference 2019
Cloud and datacenter computing
database-as-a-service
0.412019
Socrates: The New SQL Server in the Cloud · SIGMOD Conference 2019
Transaction processing and concurrency control › concurrency control
mixed concurrency control
0.312018
Toward Coordination-free and Reconfigurable Mixed Concurrency Control · USENIX ATC 2018
Information retrieval
text analysis
0.212024
Dealing with Acronyms, Abbreviations, and Typos in Real-World Entity Matching · Proc. VLDB Endow. 2024
Usability and user experience research
user perception
0.212023
Transactional Panorama: A Conceptual Framework for User Perception in Analytical Visual Interfaces · Proc. VLDB Endow. 2023
User interface design and tools › programming environments
computational notebooks
0.112021
Lux: Always-on Visualization Recommendations for Exploratory Dataframe Workflows · Proc. VLDB Endow. 2021

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

property preservation algorithms · 2.0lens mechanisms · 2.0graph compression · 2.0formal framework · 2.0CXL · 1.7tabular locality · 1.3visualization recommendation · 1.0program synthesis · 0.9homomorphism calculus · 0.9synonym rules · 0.8dynamic programming · 0.8tabular locality patterns · 0.7log-structured storage · 0.4disaggregation · 0.4
YearPublicationVenuePosition
2026 Optimal Predicate Pushdown Synthesis
abstract
Predicate pushdown is a long-standing performance optimization that filters data as early as possible in a computational workflow. In modern data pipelines, this transformation is especially important because much of the computation occurs inside user-defined functions (UDFs) written in general-purpose languages such as Python and Scala. These UDFs capture rich domain logic and complex aggregations and are among the most expensive operations in a pipeline. Moving filters ahead of such UDFs can yield substantial performance gains, but doing so requires semantic reasoning. This paper introduces a general semantic foundation for predicate pushdown over stateful fold-based computations. We view pushdown as a correspondence between two programs that process different subsets of input data, with correctness witnessed by a bisimulation invariant relating their internal states. Building on this foundation, we develop a sound and relatively complete framework for verification, alongside a synthesis algorithm that automatically constructs optimal pushdown decompositions by finding the strongest admissible pre-filters and weakest residual post-filters. We implement this approach in a tool called Pusharoo and evaluate it on 150 real-world pandas and Spark data-processing pipelines. Our evaluation shows that Pusharoo is significantly more expressive than prior work, producing optimal pushdown transformations with a median synthesis time of 1.6 seconds per benchmark. Furthermore, our experiments demonstrate that the discovered pushdown optimizations speed up end-to-end execution by an average of 2.4× and up to two orders of magnitude.
Robert Zhang 0003, Eric Hayden Campbell, Dixin Tang, Isil Dillig
Proc. ACM Program. Lang.3
2025 Pasha: An Efficient and Scalable Database Architecture on a CXL Pod
Yibo Huang 0006, Newton Ni, Vijay Chidambaram, Dixin Tang, Emmett Witchel
CIDR4
2025 Impeller: Stream Processing on Shared Logs
abstract
Current stream processing systems provide exactly-once semantics using checkpointing or a combination of logging and checkpointing. These approaches can introduce high overhead, significantly increasing the latency for normal stream processing because maintaining exactly-once semantics requires coordination across distributed nodes and streams to capture a globally consistent state. We observe that modern distributed shared logs offer a promising solution for maintaining exactly-once semantics with a small overhead. We propose Impeller, a stream processing system that uses a distributed shared log for data storage and exactly-once processing. To maintain exactly-once semantics, Impeller includes a novel and efficient progress marking protocol based on string tags and selective reads in a shared log. The key idea is to leverage the log's record-tagging feature to atomically mark progress across all streams. The experiments over the NEXMark benchmark show that Impeller achieves 1.3× to 5.4× lower p50 latency, or 1.3× to 5.0× higher saturation throughput than Kafka Streams.
Zhiting Zhu, Zhipeng Jia, Newton Ni, Dixin Tang, Emmett Witchel
EuroSys4
2025 Tigon: A Distributed Database for a CXL Pod
Yibo Huang 0006, Newton Ni, Vijay Chidambaram, Dixin Tang, Emmett Witchel
OSDI6
2025 Homomorphism Calculus for User-Defined Aggregations
abstract
Data processing frameworks like Apache Spark and Flink provide built-in support for user-defined aggregation functions (UDAFs), enabling the integration of domain-specific logic. However, for these frameworks to support efficient UDAF execution, the function needs to satisfy a homomorphism property, which ensures that partial results from independent computations can be merged correctly Motivated by this problem, this paper introduces a novel homomorphism calculus that can both verify and refute whether a UDAF is a dataframe homomorphism. If so, our calculus also enables the construction of a corresponding merge operator which can be used for incremental computation and parallel execution. We have implemented an algorithm based on our proposed calculus and evaluate it on real-world UDAFs, demonstrating that our approach significantly outperforms two leading synthesizers.
Ziteng Wang 0001, Ruijie Fang, Linus Zheng, Dixin Tang, Isil Dillig
Proc. ACM Program. Lang.4
2025 Transactional panorama: a conceptual framework for user perception in analytical visual interfaces (extended version)
Dixin Tang, Alan D. Fekete, Indranil Gupta, Aditya G. Parameswaran
VLDB J.1
2024 Dealing with Acronyms, Abbreviations, and Typos in Real-World Entity Matching
abstract
String matching is at the core of data cleaning, record matching, and information retrieval. String matching relies on a similarity measure that evaluates the similarity of two strings, regarding the two as a match if their similarity is larger than a user-defined threshold. In our collaboration with journalists and public defenders, we found that real-world datasets, such as police rosters that journalists and public defenders work with, often contain acronyms, abbreviations, and typos, thanks to errors during manual entry, into, say, a spreadsheet or a form. Unfortunately, traditional similarity measures lead to low accuracy since they do not consider all three aspects together. Some recent work proposes leveraging synonym rules to improve matching, but either requires these rules to be provided upfront, or generated prior to matching, which leads to low accuracy in our setting and similar ones. To address these limitations, we propose Smash, a simple yet effective measure to assess the similarity of two strings with acronyms, abbreviations, and typos, all without relying on synonym rules. We design a dynamic programming algorithm to efficiently compute this measure, along with two optimizations that improve accuracy. We show that compared to the best baselines, including one based on ChatGPT with GPT-4, Smash improves the max and mean F-score by 23.5% and 110.8%, respectively. We implement Smash in OpenRefine, a graphical data cleaning tool, to facilitate its use by journalists, public defenders, and other non-programmers for data cleaning.
Joshua Wu, Dixin Tang, Nithin V. Chalapathi, Tristan Chambers, Julie Ciccolini, Cheryl Phillips, Lisa Pickoff-White, Aditya G. Parameswaran
Proc. VLDB Endow.2
2023 Efficient and Compact Spreadsheet Formula Graphs
abstract
Spreadsheets are one of the most popular data analysis tools, wherein users can express computation as formulae alongside data. The ensuing dependencies are tracked as formula graphs. Efficiently querying and maintaining these formula graphs is critical for interactivity across multiple settings. Unfortunately, formula graphs are often large and complex such that querying and maintaining them is time-consuming, reducing interactivity. We propose TACO, a framework for efficiently compressing formula graphs, thereby reducing the time for querying and maintenance. The efficiency of TACO stems from a key spreadsheet property: tabular locality, which means that cells close to each other are likely to have similar formula structures. We leverage four such tabular locality-based patterns, and develop algorithms for compressing formula graphs using these patterns, directly querying the compressed graph without decompression, and incrementally maintaining the graph during updates. We integrate TACO into an open-source spreadsheet system and show that TACO can significantly reduce formula graph sizes. For querying formula graphs, the speedups of TACO over a baseline implemented in our framework and a commercial spreadsheet system are up to 34,972 × and 632 ×, respectively.
Dixin Tang, Fanchao Chen, Christopher De Leon, Tana Wattanawaroon, Jeaseok Yun, Srinivasan Seshadri, Aditya G. Parameswaran
ICDE1
2023 Visualizing Spreadsheet Formula Graphs Compactly
abstract
Spreadsheets are a ubiquitous data analysis tool, empowering non-programmers and programmers alike to easily express their computations by writing formulae alongside data. The dependencies created by formulae are tracked as formula graphs, which play a central role in many spreadsheet applications and are critical to the interactivity and usability of spreadsheet systems. Unfortunately, as formula graphs become large and complex, it becomes harder for end-users to make sense of formula graphs and trace the dependents or precedents of cells to check the accuracy of individual formulae and identify sources of errors. In this paper, we demonstrate a spreadsheet formula graph visualization tool, TACO-Lens, developed as a plugin for Microsoft Excel. Our plugin leverages TACO, our framework for compactly and efficiently representing formula graphs. TACO compresses formula graphs using a key spreadsheet property: tabular locality, which means that cells close to each other are likely to have similar formula structures. This compact representation enables end-users to more easily consume complex dependencies and reduces the response time for tracing dependents and precedents. TACO-Lens, our visualization plugin, depicts the compact representation of TACO and supports users in visually tracing dependents and precedents. In this demonstration, attendees can compare the visualizations of different formula graphs using TACO, Excel's built-in dependency tracing tool, and an approach that does not compress formula graphs, and quantitatively compare the different response time of different approaches.
Fanchao Chen, Dixin Tang, Haotian Li 0001, Aditya G. Parameswaran
Proc. VLDB Endow.2
2023 Transactional Panorama: A Conceptual Framework for User Perception in Analytical Visual Interfaces
abstract
Many tools empower analysts and data scientists to consume analysis results in a visual interface. When the underlying data changes, these results need to be updated, but this update can take a long time---all while the user continues to explore the results. Tools can either (i) hide away results that haven't been updated, hindering exploration; (ii) make the updated results immediately available to the user (on the same screen as old results), leading to confusion and incorrect insights; or (iii) present old---and therefore stale---results to the user during the update. To help users reason about these options and others, and make appropriate trade-offs, we introduce Transactional Panorama, a formal framework that adopts transactions to jointly model the system refreshing the analysis results and the user interacting with them. We introduce three key properties that are important for user perception in this context: visibility (allowing users to continuously explore results), consistency (ensuring that results presented are from the same version of the data), and monotonicity (making sure that results don't "go back in time"). Within transactional panorama, we characterize all feasible property combinations, design new mechanisms (that we call lenses) for presenting analysis results to the user while preserving a given property combination, formally prove their relative orderings for various performance criteria, and discuss their use cases. We propose novel algorithms to preserve each property combination and efficiently present fresh analysis results. We implement our framework into a popular, open-source BI tool, illustrate the relative performance implications of different lenses, and demonstrate the benefits of the novel lenses and our optimizations.
Dixin Tang, Alan D. Fekete, Indranil Gupta, Aditya G. Parameswaran
Proc. VLDB Endow.1
2021 CIAO: An Optimization Framework for Client-Assisted Data Loading
abstract
Data loading has been one of the most common performance bottlenecks for many big data applications, especially when they are running on inefficient human-readable formats, such as JSON or CSV. Parsing, validating, integrity checking and data structure maintenance are all computationally expensive steps in loading these formats. Regardless of these costs, many records may be filtered later during query evaluation due to highly selective predicates - resulting in wasted computation. Meanwhile, the computing power of client ends is typically not exploited. Here, we explore investing limited cycles of clients on prefiltering to accelerate data loading and enable data skipping for query execution. In this paper, we present CIAO, a tunable system to enable client cooperation with the server to enable efficient partial loading and data skipping for a given workload. We proposed an efficient algorithm that would select a near-optimal predicate set to push down within a given budget. Our experiments show that CIAO can significantly accelerate the data loading processing and query execution.
Cong Ding 0002, Dixin Tang, Xi Liang 0002, Aaron J. Elmore, Sanjay Krishnan
ICDE2
2021 Resource-efficient Shared Query Execution via Exploiting Time Slackness
abstract
Shared query execution can reduce resource consumption by sharing common sub-expressions across concurrent queries. We show that this is not always the case when regularly querying a dataset under change. Depending on latency goals, how eagerly to incrementally process the new data differs. Naively sharing the execution of queries with different latency goals will push the whole shared plan to meet the lowest latency goal and execute more eagerly than each participating query. The overhead introduced by the eager execution can even offset the benefit of shared query execution. We propose an optimization framework iShare to exploit the benefit of shared execution and avoid the overhead of eager execution. iShare judiciously shares queries with different latency goals and selectively executes parts of the share plan lazily. iShare can significantly reduce resource consumption compared to eagerly executing share plans from the state-of-the-art multi-query optimizer or approaches that execute queries separately.
Dixin Tang, Zechao Shang, William W. Ma, Aaron J. Elmore, Sanjay Krishnan
SIGMOD Conference1
2021 Lux: Always-on Visualization Recommendations for Exploratory Dataframe Workflows
abstract
Exploratory data science largely happens in computational notebooks with dataframe APIs, such as pandas, that support flexible means to transform, clean, and analyze data. Yet, visually exploring data in dataframes remains tedious, requiring substantial programming effort for visualization and mental effort to determine what analysis to perform next. We propose Lux, an always-on framework for accelerating visual insight discovery in dataframe workflows. When users print a dataframe in their notebooks, Lux recommends visualizations to provide a quick overview of the patterns and trends and suggests promising analysis directions. Lux features a high-level language for generating visualizations on demand to encourage rapid visual experimentation with data. We demonstrate that through the use of a careful design and three system optimizations, Lux adds no more than two seconds of overhead on top of pandas for over 98% of datasets in the UCI repository. We evaluate Lux in terms of usability via interviews with early adopters, finding that Lux helps fulfill the needs of data scientists for visualization support within their dataframe workflows. Lux has already been embraced by data science practitioners, with over 3.1k stars on Github.
Doris Jung Lin Lee, Dixin Tang, Kunal Agarwal, Thyne Boonmark, Caitlyn Chen, Jake Kang, Ujjaini Mukhopadhyay, Jerry Song, Micah Yong, Marti A. Hearst, Aditya G. Parameswaran
Proc. VLDB Endow.2
2021 Flexible Rule-Based Decomposition and Metadata Independence in Modin: A Parallel Dataframe System
abstract
Dataframes have become universally popular as a means to represent data in various stages of structure, and manipulate it using a rich set of operators---thereby becoming an essential tool in the data scientists' toolbox. However, dataframe systems, such as pandas, scale poorly---and are non-interactive on moderate to large datasets. We discuss our experiences developing Modin, our first cut at a parallel dataframe system, which already has users across several industries and over 1M downloads. Modin translates pandas functions into a core set of operators that are individually parallelized via columnar, row-wise, or cell-wise decomposition rules that we formalize in this paper. We also introduce metadata independence to allow metadata---such as order and type---to be decoupled from the physical representation and maintained lazily. Using rule-based decomposition and metadata independence, along with careful engineering, Modin is able to support pandas operations across both rows and columns on very large dataframes---unlike Koalas and Dask DataFrames that either break down or are unable to support such operations, while also being much faster than pandas.
Devin Petersohn, Dixin Tang, Rehan Sohail Durrani, Areg Melik-Adamyan, Joseph Gonzalez 0001, Anthony D. Joseph, Aditya G. Parameswaran
Proc. VLDB Endow.2
2020 CrocodileDB: Efficient Database Execution through Intelligent Deferment
Zechao Shang, Xi Liang 0002, Dixin Tang, Cong Ding 0002, Aaron J. Elmore, Sanjay Krishnan, Michael J. Franklin
CIDR3
2020 Thrifty Query Execution via Incrementability
abstract
Many applications schedule queries before all data is ready. To return fast query results, database systems can eagerly process existing data and incrementally incorporate new data into prior intermediate results, which often relies on incremental view maintenance (IVM) techniques. However, incrementally maintaining a query result can increase the total amount of work mainly as some early work is not useful for computing the final query result. In this paper, we propose a new metric incrementability to quantify the cost-effectiveness of IVM to decide how eagerly or lazily databases should incrementally execute a query. We further observe that different parts of a query have different levels of incrementability and the query execution should have a decomposed control flow based on the difference. Therefore, to address these needs, we propose a new query processing method Incrementability-aware Query Processing (InQP). We build a prototype InQP system based on Spark and show that InQP significantly reduces resource consumption with a similar latency compared with incrementability-oblivious approaches.
Dixin Tang, Zechao Shang, Aaron J. Elmore, Sanjay Krishnan, Michael J. Franklin
SIGMOD Conference1
2020 CrocodileDB in Action: Resource-Efficient Query Execution by Exploiting Time Slackness
abstract
Existing stream processing and continuous query processing systems eagerly maintain standing queries by consuming all available resources to finish the jobs at hand, which can be a major source of wasting CPU cycles and memory resources. However, users sometimes do not need to see the up-to-date query result right after the data is ready, and thus allow a slackness of time before the result is returned, which provides new opportunities to avoid wasting resources. We proposed CrocodileDB, a resource-efficient database, where users specify a performance goal representing the maximally allowed slackness of time and the system generates a query plan to minimize resource consumption (e.g. memory consumption or CPU cycles) while meeting this performance goal at the same time. In this paper, we demonstrate how users interact with CrocodileDB and show how the time slackness enables our optimization of reducing CPU consumption: Incrementability-aware Query Processing (InQP). With the slackness specified by users, InQP can reduce computing resource waste by selectively deferring the execution of parts of a query that are not amenable to incremental executions (i.e. outputting tuples that can be deleted by later executions in a high probability). In this demonstration, users can set the performance goal as a trade-off between CPU consumption and query latency, and observe the CPU usages and other statistics to understand how InQP reduces computing resources.
Dixin Tang, Zechao Shang, Aaron J. Elmore, Sanjay Krishnan, Michael J. Franklin
Proc. VLDB Endow.1
2019 Socrates: The New SQL Server in the Cloud
abstract
The database-as-a-service paradigm in the cloud (DBaaS) is becoming increasingly popular. Organizations adopt this paradigm because they expect higher security, higher availability, and lower and more flexible cost with high performance. It has become clear, however, that these expectations cannot be met in the cloud with the traditional, monolithic database architecture. This paper presents a novel DBaaS architecture, called Socrates. Socrates has been implemented in Microsoft SQL Server and is available in Azure as SQL DB Hyperscale. This paper describes the key ideas and features of Socrates, and it compares the performance of Socrates with the previous SQL DB offering in Azure.
Panagiotis Antonopoulos, Alex Budovski, Cristian Diaconu, Alejandro Hernandez Saenz, Jack Hu, Hanuma Kodavalla, Donald Kossmann, Sandeep Lingam, Umar Farooq Minhas, Naveen Prakash, Vijendra Purohit, Hugh Qu, Chaitanya Sreenivas Ravella, Krystyna Reisteter, Sheetal Shrotri, Dixin Tang, Vikram Wakade
SIGMOD Conference16
2019 Intermittent Query Processing
abstract
Many applications ingest data in an intermittent, yet largely predictable, pattern. Existing systems tend to ignore how data arrives when making decisions about how to update (or refresh) an ongoing query. To address this shortcoming we propose a new query processing paradigm, Intermittent Query Processing (IQP), that bridges query execution and policies, to determine when to update results and how much resources to allocate for ensuring fast query updates. Here, for a query the system provides an initial result that is to be refreshed when policy dictates, such as after a defined number of new records arrive or a time interval elapses. In between intermittent data arrivals, IQP inactivates query execution by selectively releasing some resources occupied in normal execution that will be least helpful (for future refreshes) according to the arrival patterns for new records. We present an IQP prototype based on PostgreSQL that selectively persists the state associated with query operators to allow for fast query updates while constraining resource consumption. Our experiments show that for several application scenarios IQP greatly lowers query processing latency compared to batch systems, and largely reduces memory consumption with comparable latency compared to a state-of-the-art incremental view maintenance technique.
Dixin Tang, Zechao Shang, Aaron J. Elmore, Sanjay Krishnan, Michael J. Franklin
Proc. VLDB Endow.1
2018 Toward Coordination-free and Reconfigurable Mixed Concurrency Control
Dixin Tang, Aaron J. Elmore
USENIX ATC1
2017 Adaptive Concurrency Control: Despite the Looking Glass, One Concurrency Control Does Not Fit All
Dixin Tang, Hao Jiang 0021, Aaron J. Elmore
CIDR1
2016 SparkArray: An Array-Based Scientific Data Management System Built on Apache Spark
abstract
With the highly demanded requirements for manipulating large scientific datasets, scientists are in need of flexible cluster-level software to execute fast scientific data analysis. In this paper, we discuss whether the Apache Spark framework is suitable for scientific data management. We present our system SparkArray, which extends Spark with a multidimensional array data model and a set of common used array operations (e.g., filter, subarray, smooth and join). We present analysis and performance evaluation results on different implementation methods for executing array operations on clusters. We also compared the performance of SparkArray to SciDB, a recent scientific database management system, using the workloads of the Standard Science DBMS Benchmark (SS-DB). The results show that SparkArray is feasible alternative solution for large-scale scientific data management, especially when scientists require fast data loading or one-time data analysis on large scientific datasets.
Taoying Liu, Dixin Tang, Hong Liu 0018, Wei Li 0008, Rubao Lee
NAS3
2015 A Case Study of Optimizing Big Data Analytical Stacks Using Structured Data Shuffling
abstract
Current major big data analytical stacks often consist of a general purpose, multi-staged computation framework (e.g. Hadoop) and an SQL query system (e.g. Hive) on its top. A key factor of query performance is the efficiency of data shuffling between two execution stages (e.g. Map/Reduce). In current data shuffling, various useful information about the shuffled data and the query on the data is simply wasted. In this paper, we make a strong case of cross-layer optimizations for Hive/Hadoop stack: we have designed and implemented a novel data shuffling mechanism in Hadoop, called Structured Data Shuffling (S-Shuffle), which carefully leverages the rich information in data and queries to optimize the overall query processing. Our experimental results with industry-standard TPC-H benchmark show that, by using S-Shuffle, the performance of SQL query processing on Hadoop can be improved by up to 2.4x.
Dixin Tang, Taoying Liu, Rubao Lee, Hong Liu 0018, Wei Li 0008
CLUSTER1
2014 RHJoin: A fast and space-efficient join method for log processing in MapReduce
abstract
Equi-join is heavily used in MapReduce-based log processing. With the rapid growth of dataset sizes, join methods on MapReduce are extensively studied recently. We find that existing join methods usually cannot get high query performance and affordable storage consumption at the same time when faced with a huge amount of log data. They either only optimize one aspect but significantly sacrifice the other or have limited applications. In this paper, after analyzing characteristics of the workloads and underlying MapReduce, we present a join method with specific optimizations for log processing called RHJoin (Repartition Hash Join) and its implementation on Hadoop. In RHJoin, reference tables are partitioned in the pre-processing step, the log table is partitioned on the map side and hash join is executed on the reduce side. The shuffle procedure of MapReduce is also optimized by removing the sort step and overlapping the execution of mappers and reducers. Comprehensive experiments show that RHJoin achieves high query performance with only a small extra storage cost, and has wide application circumstances for log processing.
Dixin Tang, Taoying Liu, Hong Liu 0018, Wei Li 0008
ICPADS1