VLDB 2026 Research / reviewers in the wild / expert
Alan D. Fekete
dblp:f/AlanDavidFekete · also Alan David Fekete
· DBLP profile ↗
53ranked-venue papers in the field
8as first author
7since 2021 · last 2025
0000-0003-3804-5450ORCID · verified
Domains — venue-derived; a paper can count in several
Database Systems & Data Management · 50 (8 first)Information Retrieval & Web Search · 3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Rapid Data Ingestion through DB-OS Co-designabstractSequential data access for the rapid ingestion of large fact tables from storage is a pivotal yet resource-intensive operation in data warehouse systems, consuming substantial CPU cycles across various components of DBMSs and operating systems. Although bypassing these layers can eliminate access latency, concurrent access to the same table often results in redundant data fetching due to cache-bypassing data transfers. Thus, a new design for data access control is necessary to enhance rapid data ingestion in databases. To address this concern, we propose a novel DB-OS co-design that efficiently supports sequential data access at full device speed. Our approach, zicIO, liberates DBMSs from data access control by preparing required data just before DBMSs access it, while alleviating all known I/O latencies. The core of zicIO lies in its DB-OS co-design, which aims to (1) automate data access control and (2) relieve redundant data fetching through seamless collaboration between the DB and the OS. We implemented zicIO and integrated it with four databases to demonstrate its general applicability. The evaluation showed performance enhancements of up to 9.95x under TPC-H loads. Kyungmin Lim, Minseok Yoon, Alan D. Fekete, Hyungsoo Jung 0001 |
Proc. ACM Manag. Data | 4 |
| 2025 | Counting Is All You Need for Instant Tuple Discovery: Enabling Real-Time HTAP in Standalone DBMSsabstractHTAP systems aim to unify operational and analytical workloads, yet real-time analytics remains constrained by the overhead of extract-transform-load (ETL) operations. Existing solutions often rely on dual-system architectures, incurring substantial resource costs and delays from data reformatting and relocation. We present TracerETL , a progressive ETL framework that enables real-time analytics in standalone DBMSs through instant tuple location discovery during transformation. At its core is Tracer , a counting-based tuple tracking mechanism that constructs a tuple trace vector using per-partition counters. This trace vector deterministically encodes each tuple's future relocation path with arrival order across transformation levels, enabling precise data access at any stage-without auxiliary indexes. We implement TracerETL in PostgreSQL and evaluate it against OLAP- and OLTP-optimized DBMSs. Experimental results show that PostgreSQL with TracerETL accelerates real-time HTAP queries by up to 127×, while efficiently handling progressive data conversion in a standalone DBMS. Kyungmin Lim, Minseok Yoon, Alan D. Fekete, Hyungsoo Jung 0001 |
Proc. ACM Manag. Data | 4 |
| 2025 | Using Read Promotion and Mixed Isolation Levels for Performant Yet Serializable Execution of Transaction ProgramsabstractWe propose a theory that can determine the lowest isolation level that can be allocated to each transaction program in an application in a mixed-isolation-level setting, to guarantee that all executions will be serializable and thus preserve all integrity constraints, even those that are not explicitly declared. This extends prior work applied to completely known transactions, to deal with the realistic situation where transactions are generated by running programs with parameters that are not known in advance. Using our theory, we propose an optimization method that allows for high throughput while ensuring that all executions are serializable. Our method is based on searching for application code modifications that are semantics-preserving while improving the isolation level allocation. We illustrate our approach to the SmallBank benchmark. Brecht Vandevoort, Alan D. Fekete, Bas Ketsman, Frank Neven, Stijn Vansummeren |
Proc. VLDB Endow. | 2 |
| 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. | 2 |
| 2023 | Front Matter
Georgia Koutrika, Jun Yang 0001, Manos Athanassoulis, Kostas Stefanidis, Ju Fan, Abdul Quamar, Yuanyan Tian, Alekh Jindal, Carsten Binnig, Jennie Rogers, Senjuti Basu Roy, Steven Euijong Whang, Matthias Boehm 0001, Aaron J. Elmore, Vasilis Efthymiou, Xiao Hu 0005, Xiaofang Zhou 0001, Alan D. Fekete |
Proc. VLDB Endow. | 18 |
| 2023 | Transactional Panorama: A Conceptual Framework for User Perception in Analytical Visual InterfacesabstractMany 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. | 2 |
| 2021 | Decongestant: A Breath of Fresh Air for MongoDB Through Freshness-aware Reads
Chenhao Huang, Michael J. Cahill, Alan D. Fekete, Uwe Röhm |
EDBT | 3 |
| 2020 | Deciding When to Trade Data Freshness for Performance in MongoDB-as-a-ServiceabstractMongoDB is a popular document store that is also available as a cloud-hosted service. MongoDB internally deploys primary-copy asynchronous replication, and it allows clients to vary the Read Preference, so reads can deliberately be directed to secondaries rather than the primary site. Doing this can sometimes improve performance, but the returned data might be stale, whereas the primary always returns the freshest data value. While state-of-practice is for programmers to decide where to direct the reads at application development time, they do not have full understanding then of workload or hardware capacity. It should be better to choose the appropriate Read Preference setting at runtime, as we describe in this paper. We show how a system can detect when the primary copy is saturated in MongoDB-as-a-Service, and use this to choose where reads should be done to improve overall performance. Our approach is aimed at a cloud-consumer; it assumes access to only the limited diagnostic data provided to clients of the hosted service. Chenhao Huang, Michael J. Cahill, Alan D. Fekete, Uwe Röhm |
ICDE | 3 |
| 2019 | Making Consistency Protocols SerializableabstractA tutorial given at PODS 2019, focussed on several research agendas in the past decade or so, that examine weak isolation levels, and obtain many (or all) of the benefits for application integrity, traditionally achieved by serializable concurrency control. The tutorial presents both the mechanisms and the reasoning approaches from these research works. Alan D. Fekete |
PODS | 1 |
| 2018 | Automatic Index Selection for Large-Scale Datalog ComputationabstractDatalog has been applied to several use cases that require very high performance on large rulesets and factsets. It is common to create indexes for relations to improve search performance. However, the existing indexing schemes either require manual index selection or result in insufficient performance on very large tasks. In this paper, we propose an automatic scheme to select indexes. We automatically create the minimum number of indexes to speed up all the searches in a given Datalog program. We have integrated our indexing scheme into an open-source Datalog engine S OUFFLÉ. We obtain performance on a par with what users have accepted from hand-optimized Datalog programs running on state-of-the-art Datalog engines, while we do not require the effort of manual index selection. Extensive experiments on large real Datalog programs demonstrate that our indexing scheme results in considerable speedups (up to 2x) and significantly less memory usage (up to 6x) compared with other automated index selections. Pavle Subotic, Herbert Jordan, Lijun Chang, Alan D. Fekete, Bernhard Scholz |
Proc. VLDB Endow. | 4 |
| 2018 | Erratum to: Efficiently making (almost) any concurrency control mechanism serializable
Tianzheng Wang 0001, Ryan Johnson 0001, Alan D. Fekete, Ippokratis Pandis |
VLDB J. | 3 |
| 2017 | Efficiently making (almost) any concurrency control mechanism serializable
Tianzheng Wang 0001, Ryan Johnson 0001, Alan D. Fekete, Ippokratis Pandis |
VLDB J. | 3 |
| 2016 | Scalable Atomic Visibility with RAMP TransactionsabstractDatabases can provide scalability by partitioning data across several servers. However, multipartition, multioperation transactional access is often expensive, employing coordination-intensive locking, validation, or scheduling mechanisms. Accordingly, many real-world systems avoid mechanisms that provide useful semantics for multipartition operations. This leads to incorrect behavior for a large class of applications including secondary indexing, foreign key enforcement, and materialized view maintenance. In this work, we identify a new isolation model—Read Atomic (RA) isolation—that matches the requirements of these use cases by ensuringatomic visibility: either all or none of each transaction’s updates are observed by other transactions. We present algorithms for Read Atomic Multipartition (RAMP) transactions that enforce atomic visibility while offering excellent scalability, guaranteed commit despite partial failures (viacoordination-free execution), and minimized communication between servers (viapartition independence). These RAMP transactions correctly mediate atomic visibility of updates and provide readers with snapshot access to database state by using limited multiversioning and by allowing clients to independently resolve nonatomic reads. We demonstrate that, in contrast with existing algorithms, RAMP transactions incur limited overhead—even under high contention—and scale linearly to 100 servers. Peter Bailis, Alan D. Fekete, Ali Ghodsi 0002, Joseph M. Hellerstein, Ion Stoica |
ACM Trans. Database Syst. | 2 |
| 2015 | The Serial Safety Net: Efficient Concurrency Control on Modern HardwareabstractConcurrency control (CC) algorithms must trade off strictness for performance, with serializable schemes generally paying high cost---both in runtime overhead such as contention on lock tables, and in wasted efforts by aborting transactions---to prevent anomalies. We propose the serial safety net (SSN), a serializability-enforcing certifier for modern hardware with substantial core count and large main memory. SSN can be applied with minimal overhead on top of various CC schemes that offer higher performance but admit anomalies, e.g., snapshot isolation and read committed. Tianzheng Wang 0001, Ryan Johnson 0001, Alan D. Fekete, Ippokratis Pandis |
DaMoN | 3 |
| 2015 | Scalable distributed transactions across heterogeneous storesabstractTypical cloud computing systems provide highly scalable and fault-tolerant data stores that may sacrifice other features like general multi-item transaction support. Recently techniques to implement multi-item transactions in these types of systems have focused on transactions across homogeneous data stores. Since applications access data in heterogeneous storage systems for legacy or interoperability reasons, we propose an approach that enables multi-item transactions with snapshot isolation across multiple heterogeneous data stores using only a minimal set of commonly implemented features such as single item consistency, conditional updates, and the ability to store additional meta-data. We define an client-coordinated transaction commitment protocol that does not rely on a central coordinating infrastructure. The application can take advantage of the scalability and fault-tolerance characteristics of modern key-value stores and access existing data in them, and also have multi-item transactional access guarantees with little performance impact. We have implemented our design in a Java library called Cherry Garcia (CG), that supports data store abstractions to Windows Azure Storage (WAS), Google Cloud Storage (GCS) and our own high-performance key-value store called Tora. Akon Dey, Alan D. Fekete, Uwe Röhm |
ICDE | 2 |
| 2015 | Feral Concurrency Control: An Empirical Investigation of Modern Application IntegrityabstractThe rise of data-intensive "Web 2.0" Internet services has led to a range of popular new programming frameworks that collectively embody the latest incarnation of the vision of Object-Relational Mapping (ORM) systems, albeit at unprecedented scale. In this work, we empirically investigate modern ORM-backed applications' use and disuse of database concurrency control mechanisms. Specifically, we focus our study on the common use of feral, or application-level, mechanisms for maintaining database integrity, which, across a range of ORM systems, often take the form of declarative correctness criteria, or invariants. We quantitatively analyze the use of these mechanisms in a range of open source applications written using the Ruby on Rails ORM and find that feral invariants are the most popular means of ensuring integrity (and, by usage, are over 37 times more popular than transactions). We evaluate which of these feral invariants actually ensure integrity (by usage, up to 86.9%) and which---due to concurrency errors and lack of database support---may lead to data corruption (the remainder), which we experimentally quantify. In light of these findings, we present recommendations for database system designers for better supporting these modern ORM programming patterns, thus eliminating their adverse effects on application integrity. Peter Bailis, Alan D. Fekete, Michael J. Franklin, Ali Ghodsi 0002, Joseph M. Hellerstein, Ion Stoica |
SIGMOD Conference | 2 |
| 2014 | Scalable serializable snapshot isolation for multicore systemsabstractSince 1990's, Snapshot Isolation (SI) has been widely studied, and it was successfully deployed in commercial and open-source database engines. Berenson et al. showed that data consistency can be violated under SI. Recently, a new class of Serializable SI algorithms (SSI) has been proposed to achieve serializable execution while still allowing concurrency between reads and updates. Hyuck Han, Seongjae Park, Hyungsoo Jung 0001, Alan D. Fekete, Uwe Röhm, Heon Young Yeom |
ICDE | 4 |
| 2014 | Scalable atomic visibility with RAMP transactionsabstractDatabases can provide scalability by partitioning data across several servers. However, multi-partition, multi-operation transactional access is often expensive, employing coordination-intensive locking, validation, or scheduling mechanisms. Accordingly, many real-world systems avoid mechanisms that provide useful semantics for multi-partition operations. This leads to incorrect behavior for a large class of applications including secondary indexing, foreign key enforcement, and materialized view maintenance. In this work, we identify a new isolation model---Read Atomic (RA) isolation---that matches the requirements of these use cases by ensuring atomic visibility: either all or none of each transaction's updates are observed by other transactions. We present algorithms for Read Atomic Multi-Partition (RAMP) transactions that enforce atomic visibility while offering excellent scalability, guaranteed commit despite partial failures (via synchronization independence), and minimized communication between servers (via partition independence). These RAMP transactions correctly mediate atomic visibility of updates and provide readers with snapshot access to database state by using limited multi-versioning and by allowing clients to independently resolve non-atomic reads. We demonstrate that, in contrast with existing algorithms, RAMP transactions incur limited overhead---even under high contention---and scale linearly to 100 servers. Peter Bailis, Alan D. Fekete, Joseph M. Hellerstein, Ali Ghodsi 0002, Ion Stoica |
SIGMOD Conference | 2 |
| 2014 | PLANET: making progress with commit processing in unpredictable environmentsabstractLatency unpredictability in a database system can come from many factors, such as load spikes in the workload, inter-query interactions from consolidation, or communication costs in cloud computing or geo-replication. High variance and high latency environments make developing interactive applications difficult, because transactions may take too long to complete, or fail unexpectedly. We propose Predictive Latency-Aware NEtworked Transactions (PLANET), a new transaction programming model and underlying system support to address this issue. The model exposes the internal progress of the transaction, provides opportunities for application callbacks, and incorporates commit likelihood prediction to enable good user experience even in the presence of significant transaction delays. The mechanisms underlying PLANET can be used for admission control, thus improving overall performance in high contention situations. In this paper, we present this new transaction programming model, demonstrate its expressiveness via several use cases, and evaluate its performance using a strongly consistent geo-replicated database across five data centers. Gene Pang, Tim Kraska, Michael J. Franklin, Alan D. Fekete |
SIGMOD Conference | 4 |
| 2014 | Consumer Monitoring of Infrastructure Performance in a Public Cloud
Rabia Chaudry, Adnene Guabtni, Alan D. Fekete, Leonard J. Bass, Anna Liu |
WISE (2) | 3 |
| 2014 | GEAP: A Generic Approach to Predicting Workload Bursts for Web Hosted Events
Matthew Sladescu, Alan D. Fekete, Anna Liu |
WISE (2) | 2 |
| 2014 | Performance of program modification techniques that ensure serializable executions with snapshot isolation DBMS
Mohammad Alomari, Alan D. Fekete, Uwe Röhm |
Inf. Syst. | 2 |
| 2014 | Coordination Avoidance in Database SystemsabstractMinimizing coordination, or blocking communication between concurrently executing operations, is key to maximizing scalability, availability, and high performance in database systems. However, uninhibited coordination-free execution can compromise application correctness, or consistency. When is coordination necessary for correctness? The classic use of serializable transactions is sufficient to maintain correctness but is not necessary for all applications, sacrificing potential scalability. In this paper, we develop a formal framework, invariant confluence, that determines whether an application requires coordination for correct execution. By operating on application-level invariants over database states (e.g., integrity constraints), invariant confluence analysis provides a necessary and sufficient condition for safe, coordination-free execution. When programmers specify their application invariants, this analysis allows databases to coordinate only when anomalies that might violate invariants are possible. We analyze the invariant confluence of common invariants and operations from real-world database systems (i.e., integrity constraints) and applications and show that many are invariant confluent and therefore achievable without coordination. We apply these results to a proof-of-concept coordination-avoiding database prototype and demonstrate sizable performance gains compared to serializable execution, notably a 25-fold improvement over prior TPC-C New-Order performance on a 200 server cluster. Peter Bailis, Alan D. Fekete, Michael J. Franklin, Ali Ghodsi 0002, Joseph M. Hellerstein, Ion Stoica |
Proc. VLDB Endow. | 2 |
| 2014 | A Scalable Lock Manager for MulticoresabstractModern implementations of DBMS software are intended to take advantage of high core counts that are becoming common in high-end servers. However, we have observed that several database platforms, including MySQL, Shore-MT, and a commercial system, exhibit throughput collapse as load increases into oversaturation (where there are more request threads than cores), even for a workload with little or no logical contention for locks, such as a read-only workload. Our analysis of MySQL identifies latch contention within the lock manager as the bottleneck responsible for this collapse. We design a lock manager with reduced latching, implement it in MySQL, and show that it avoids the collapse and generally improves performance. Our efficient implementation of a lock manager is enabled by a staged allocation and deallocation of locks. Locks are preallocated in bulk, so that the lock manager only has to perform simple list manipulation operations during the acquire and release phases of a transaction. Deallocation of the lock data structures is also performed in bulk, which enables the use of fast implementations of lock acquisition and release as well as concurrent deadlock checking. Hyungsoo Jung 0001, Hyuck Han, Alan D. Fekete, Gernot Heiser, Heon Young Yeom |
ACM Trans. Database Syst. | 3 |
| 2013 | Managing Personal Goal Information
Alan D. Fekete |
CIDR | 1 |
| 2013 | Performance of Serializable Snapshot Isolation on Multicore Servers
Hyungsoo Jung 0001, Hyuck Han, Alan D. Fekete, Uwe Röhm, Heon Young Yeom |
DASFAA (2) | 3 |
| 2013 | A scalable lock manager for multicoresabstractModern implementations of DBMS software are intended to take advantage of high core counts that are becoming common in high-end servers. However, we have observed that several database platforms, including MySQL, Shore-MT, and a commercial system, exhibit throughput collapse as load increases, even for a workload with little or no logical contention for locks. Our analysis of MySQL identifies latch contention within the lock manager as the bottleneck responsible for this collapse. Hyungsoo Jung 0001, Hyuck Han, Alan D. Fekete, Gernot Heiser, Heon Young Yeom |
SIGMOD Conference | 3 |
| 2013 | Highly Available Transactions: Virtues and LimitationsabstractTo minimize network latency and remain online during server failures and network partitions, many modern distributed data storage systems eschew transactional functionality, which provides strong semantic guarantees for groups of multiple operations over multiple data items. In this work, we consider the problem of providing Highly Available Transactions (HATs): transactional guarantees that do not suffer unavailability during system partitions or incur high network latency. We introduce a taxonomy of highly available systems and analyze existing ACID isolation and distributed data consistency guarantees to identify which can and cannot be achieved in HAT systems. This unifies the literature on weak transactional isolation, replica consistency, and highly available systems. We analytically and experimentally quantify the availability and performance benefits of HATs---often two to three orders of magnitude over wide-area networks---and discuss their necessary semantic compromises. Peter Bailis, Aaron Davidson, Alan D. Fekete, Ali Ghodsi 0002, Joseph M. Hellerstein, Ion Stoica |
Proc. VLDB Endow. | 3 |
| 2012 | Multi-version Concurrency via Timestamp Range Conflict ManagementabstractA database supporting multiple versions of records may use the versions to support queries of the past or to increase concurrency by enabling reads and writes to be concurrent. We introduce a new concurrency control approach that enables all SQL isolation levels including serializability to utilize multiple versions to increase concurrency while also supporting transaction time database functionality. The key insight is to manage a range of possible timestamps for each transaction that captures the impact of conflicts that have occurred. Using these ranges as constraints often permits concurrent access where lock based concurrency control would block. This can also allow blocking instead of some aborts that are common in earlier multi-version concurrency techniques. Also, timestamp ranges can be used to conservatively find deadlocks without graph based cycle detection. Thus, our multi-version support can enhance performance of current time data access via improved concurrency, while supporting transaction time functionality. David B. Lomet, Alan D. Fekete, Rui Wang 0002, Peter Ward |
ICDE | 2 |
| 2012 | Event Aware Workload Prediction: A Study Using Auction Events
Matthew Sladescu, Alan D. Fekete, Anna Liu |
WISE | 2 |
| 2011 | Data Consistency Properties and the Trade-offs in Commercial Cloud Storage: the Consumers' Perspective
Hiroshi Wada, Alan D. Fekete, Liang Zhao 0009, Anna Liu |
CIDR | 2 |
| 2011 | One-copy serializability with snapshot isolation under the hoodabstractThis paper presents a method that allows a replicated database system to provide a global isolation level stronger than the isolation level provided on each individual database replica. We propose a new multi-version concurrency control algorithm called, serializable generalized snapshot isolation (SGSI), that targets middleware replicated database systems. Each replica runs snapshot isolation locally and the replication middleware guarantees global one-copy serializability. We introduce novel techniques to provide a stronger global isolation level, namely readset extraction and enhanced certification that prevents read-write and write-write conflicts in a replicated setting. We prove the correctness of the proposed algorithm, and build a prototype replicated database system to evaluate SGSI performance experimentally. Extensive experiments with an 8 replica database system under the TPC-W workload mixes demonstrate the practicality and low overhead of the algorithm. Mihaela A. Bornea, Orion Hodson, Sameh Elnikety, Alan D. Fekete |
ICDE | 4 |
| 2011 | Serializable Snapshot Isolation for Replicated Databases in High-Update Scenarios
Hyungsoo Jung 0001, Hyuck Han, Alan D. Fekete, Uwe Röhm |
Proc. VLDB Endow. | 3 |
| 2009 | Unbundling Transaction Services in the Cloud
David B. Lomet, Alan D. Fekete, Gerhard Weikum, Mike Zwilling |
CIDR | 2 |
| 2009 | A Robust Technique to Ensure Serializable Executions with Snapshot Isolation DBMSabstractSnapshot Isolation (SI) is a popular concurrency control mechanism that has been implemented by many commercial and open-source platforms (e.g. Oracle, Postgre SQL, and MS SQL Server 2005). Unfortunately, SI can result in nonserializable execution, in which database integrity constraints can be violated. The literature reports some techniques to ensure that all executions are serializable when run in an engine that uses SI for concurrency control. These modify the application by introducing conflicting SQL statements. However, with each of these techniques the DBA has to make a choice among possible transactions to modify — and as we previously showed, making a bad choice of which transactions to modify can come with a hefty performance reduction. In this paper we propose a novel technique called ELM to introduce conflicts in a separate lock-manager object. Experiments with two platforms show that ELM has peak performance which is similar to SI, no matter which transactions are chosen for modification. That is, ELM is much less vulnerable from poor DBA choices than the previous techniques. Mohammad Alomari, Alan D. Fekete, Uwe Röhm |
ICDE | 2 |
| 2009 | Quantifying Isolation AnomaliesabstractChoosing a weak isolation level such as Read Committed is understood as a trade-off, where less isolation means that higher performance is gained but there is an increased possibility that data integrity will be lost. Previously, one side of this trade-off has been carefully studied quantitatively -- there are well-known metrics for performance such as transactions per minute, standardized benchmarks that measure these in a controlled way, and analytic models that can predict how performance is influenced by system parameters like multiprogramming level. This paper contributes to quantifying the other aspect of the trade-off. We define a novel microbenchmark that measures how rapidly integrity violations are produced at different isolation levels, for a simple set of transactions. We explore how this rate is impacted by configuration factors such as multiprogramming level, or contention frequency. For the isolation levels in multi-version platforms (Snapshot Isolation and the multiversion variant of Read Committed), we offer a simple probabilistic model that predicts the rate of integrity violations in our microbenchmark from configuration parameters. We validate the predictive model against measurements from the microbenchmark. The model identifies a region of the configuration space where a surprising inversion occurs: for these parameter settings, more integrity violations happen with Snapshot Isolation than with multi-version Read Committed, even though the latter is considered a lower isolation level. Alan D. Fekete, Shirley Goldrei, Jorge Perez Asenjo |
Proc. VLDB Endow. | 1 |
| 2009 | Serializable isolation for snapshot databasesabstractMany popular database management systems implement a multiversion concurrency control algorithm called snapshot isolation rather than providing full serializability based on locking. There are well-known anomalies permitted by snapshot isolation that can lead to violations of data consistency by interleaving transactions that would maintain consistency if run serially. Until now, the only way to prevent these anomalies was to modify the applications by introducing explicit locking or artificial update conflicts, following careful analysis of conflicts between all pairs of transactions. This article describes a modification to the concurrency control algorithm of a database management system that automatically detects and prevents snapshot isolation anomalies at runtime for arbitrary applications, thus providing serializable isolation. The new algorithm preserves the properties that make snapshot isolation attractive, including that readers do not block writers and vice versa. An implementation of the algorithm in a relational DBMS is described, along with a benchmark and performance study, showing that the throughput approaches that of snapshot isolation in most cases. Michael J. Cahill, Uwe Röhm, Alan D. Fekete |
ACM Trans. Database Syst. | 3 |
| 2008 | Serializable Executions with Snapshot Isolation: Modifying Application Code or Mixing Isolation Levels?
Mohammad Alomari, Michael J. Cahill, Alan D. Fekete, Uwe Röhm |
DASFAA | 3 |
| 2008 | The Cost of Serializability on Platforms That Use Snapshot IsolationabstractSeveral common DBMS engines use the multi- version concurrency control mechanism called Snapshot Isolation, even though application programs can experience non- serializable executions when run concurrently on such a platform. Several proposals exist for modifying the application programs, without changing their semantics, so that they are certain to execute serializably even on an engine that uses SI. We evaluate the performance impact of these proposals, and find that some have limited impact (only a few percent drop in throughput at a given multi-programming level) while others lead to much greater reduction in throughput of up-to 60% in high contention scenarios. We present experimental results for both an open- source and a commercial engine. We relate these to the theory, giving guidelines on which conflicts to introduce so as to ensure correctness with little impact on performance. Mohammad Alomari, Michael J. Cahill, Alan D. Fekete, Uwe Röhm |
ICDE | 3 |
| 2008 | Serializable isolation for snapshot databasesabstractMany popular database management systems offer snapshot isolation rather than full serializability. There are well-known anomalies permitted by snapshot isolation that can lead to violations of data consistency by interleaving transactions that individually maintain consistency. Until now, the only way to prevent these anomalies was to modify the applications by introducing artificial locking or update conflicts, following careful analysis of conflicts between all pairs of transactions. Michael J. Cahill, Uwe Röhm, Alan D. Fekete |
SIGMOD Conference | 3 |
| 2008 | The Efficacy of Commutativity-Based Semantic Locking in a Real-World ApplicationabstractWhile the dominant approach to persistent storage in practice is to use a relational DBMS, there are some specialist applications that rely on object stores. The performance of these applications depends on the efficiency of the object store's concurrency control mechanism. Today's predominant concurrency control mechanism is strict two-phase object locking. In the 1980s, an interesting alternative was developed: commutativity-based semantic locking. In theory, it can outperform traditional locking schemes in certain scenarios with appropriate commutativity potential. In this paper, we study the real-world performance of different locking strategies in a particular industrial application from the telecommunications sector. We compare object-based locking and commutativity-based semantic locking. We found that, in this application, semantic locking performs equally to, but no better than, object locking in reasonable mixes of real- world transactions, and that it only outperforms in a deliberately contrived mix. Paul Wu, Alan D. Fekete, Uwe Röhm |
IEEE Trans. Knowl. Data Eng. | 2 |
| 2007 | Isolation Support for Service-based Applications: A Position Paper
Paul Greenfield, Alan D. Fekete, Julian Jang, Dean Kuo, Surya Nepal |
CIDR | 2 |
| 2007 | Automating the Detection of Snapshot Isolation Anomalies
Sudhir Jorwekar, Alan D. Fekete, Krithi Ramamritham, S. Sudarshan 0001 |
VLDB | 2 |
| 2006 | Relaxed-currency serializability for middle-tier caching and replicationabstractMany applications, such as e-commerce, routinely use copies of data that are not in sync with the database due to heuristic caching strategies used to enhance performance. We study concurrency control for a transactional model that allows update transactions to read out-of-date copies. Each read operation carries a "freshness constraint" that specifies how fresh a copy must be in order to be read. We offer a definition of correctness for this model and present algorithms to ensure several of the most interesting freshness constraints. We outline a serializability-theoretic correctness proof and present the results of a detailed performance study. Philip A. Bernstein, Alan D. Fekete, Hongfei Guo, Raghu Ramakrishnan 0001, Pradeep Tamma |
SIGMOD Conference | 2 |
| 2005 | Allocating isolation levels to transactionsabstractSerializability is a key property for executions of OLTP systems; without this, integrity constraints on the data can be violated due to concurrent activity. Serializability can be guaranteed regardless of application logic, by using a serializable concurrency control mechanism such as strict two-phase locking (S2PL); however the reduction in concurrency from this is often too great, and so a DBMS offers the DBA the opportunity to use different concurrency control mechanisms for some transactions, if it is safe to do so. However, little theory has existed to decide when it is safe! In this paper, we discuss the problem of taking a collection of transactions, and allocating each to run at an appropriate isolation level (and thus use a particular concurrency control mechanism), while still ensuring that every execution will be conflict serializable. When each transaction can use either S2PL, or snapshot isolation, we characterize exactly the acceptable allocations, and provide a simple graph-based algorithm which determines the weakest acceptable allocation. Alan D. Fekete |
PODS | 1 |
| 2005 | Consistency for Web Services Applications
Paul Greenfield, Dean Kuo, Surya Nepal, Alan D. Fekete |
VLDB | 4 |
| 2005 | Making snapshot isolation serializableabstractSnapshot Isolation (SI) is a multiversion concurrency control algorithm, first described in Berenson et al. [1995]. SI is attractive because it provides an isolation level that avoids many of the common concurrency anomalies, and has been implemented by Oracle and Microsoft SQL Server (with certain minor variations). SI does not guarantee serializability in all cases, but the TPC-C benchmark application [TPC-C], for example, executes under SI without serialization anomalies. All major database system products are delivered with default nonserializable isolation levels, often ones that encounter serialization anomalies more commonly than SI, and we suspect that numerous isolation errors occur each day at many large sites because of this, leading to corrupt data sometimes noted in data warehouse applications. The classical justification for lower isolation levels is that applications can be run under such levels to improve efficiency when they can be shown not to result in serious errors, but little or no guidance has been offered to application programmers and DBAs by vendors as to how to avoid such errors. This article develops a theory that characterizes when nonserializable executions of applications can occur under SI. Near the end of the article, we apply this theory to demonstrate that the TPC-C benchmark application has no serialization anomalies under SI, and then discuss how this demonstration can be generalized to other applications. We also present a discussion on how to modify the program logic of applications that are nonserializable under SI so that serializability will be guaranteed. Alan D. Fekete, Dimitrios Liarokapis, Elizabeth J. O'Neil, Patrick E. O'Neil, Dennis E. Shasha |
ACM Trans. Database Syst. | 1 |
| 2003 | An Empirical Study of Commutativity in Application CodeabstractA typical object database manages concurrency control by instance locking, based on the identification of instance operations as "read" or "write". An alternative theory shows that additional concurrency can be obtained based on operation commutativity. Under commutativity theory, activities can be allowed concurrently as long as they commute, that is, the effect is the same in either order. In this paper, we study an extensive commercial application from a telecommunications domain, and determine how much concurrency is actually present for commutativity theory to use. Our study extends to identify not only the operations that commute, but the reasons for their commutativity as well. We separated the commutative operations into three categories: those that commute because both are read operations, those that commute because different fields are accessed, and those that commute for semantic reasons. By doing this in our analysis we were able to show a comparison in concurrency potential between commutative locking and the two other common locking protocols in existence: instance locking and attribute locking. Paul Wu, Alan D. Fekete |
IDEAS | 2 |
| 1992 | Hybrid Atomicity for Nested Transactions
Alan D. Fekete, Nancy A. Lynch, William E. Weihl |
ICDT | 1 |
| 1990 | A Serialization Graph Construction for Nested TransactionsabstractThis paper makes three contributions. First, we present a proof technique that offers system designers the same ease of reasoning about nested transaction systems as is given by the classical theory for systems without nesting, and yet can be used to verify that a system satisfies the robust “user view” definition of correctness of [10]. Second, as applications of the technique, we verify the correctness of Moss' read/write locking algorithm for nested transactions, and of an undo logging algorithm that has not previously been presented or proved for nested transaction systems. Third, we make explicit the assumptions used for this proof technique, assumptions that are usually made implicitly in the classical theory, and therefore we clarify the type of system for which the classical theory itself can reliably be used. Alan D. Fekete, Nancy A. Lynch, William E. Weihl |
PODS | 1 |
| 1988 | A Theory of Atomic Transactions
Nancy A. Lynch, Michael Merritt, William E. Weihl, Alan D. Fekete |
ICDT | 4 |
| 1988 | A Theory of Timestamp-Based Concurrency Control for Nested Transactions
James Aspnes, Alan D. Fekete, Nancy A. Lynch, Michael Merritt, William E. Weihl |
VLDB | 2 |
| 1987 | Nested Transactions and Read/Write LockingabstractWe give a clear yet rigorous correctness proof for Moss's algorithm for managing data in a nested transaction system. The algorithm, which is the basis of concurrency control and recovery in the Argus system, uses read- and write-locks and a stack of versions of each object to ensure the serializability and recoverability of transactions accessing the data. Our proof extends earlier work on exclusive locking to prove that Moss's algorithm generates serially correct executions in the presence of concurrency and transaction aborts. The key contribution is the identification of a simple property of cead operations, called transparency, that permits shared locks to be used for read operations. Alan D. Fekete, Nancy A. Lynch, Michael Merritt, William E. Weihl |
PODS | 1 |