Paper Review: Concurrency Control Performance Modeling: Alternatives and Implications

Title and Author of Paper Concurrency Control Performance Modeling: Alternatives and Implications. R. Agrawal et al. Summary This paper takes an in-depth look at the performance implications of varying concurrency control algorithms. Specifically, it examines the performance of three concurrency methods: blocking, immediate-restart, and optimistic. In the blocking algorithm, all transactions set locks on objects that are read or written; whenever a lock request is denied, the requesting transaction is placed in a waiting queue until it can proceed (on deadlock, the youngest transaction is restarted). With immediate-restart transactions again acquire locks on objects. In this case, however, if the transaction is blocked it is immediately restarted (with some delay). For the optimistic case, all transactions are allowed to proceed as if no conflicts occur; only if a conflict is detected at commit time is a transaction restarted. ...

April 25, 2016 · 3 min · Kevin Sookocheff

Paper Review: Granularity of Locks and Degrees of Consistency in a Shared Data Base

Title and Author of Paper Granularity of Locks and Degrees of Consistency in a Shared Data Base. J. Gray et al. Summary This paper is divided in two sections: granularity of locks, and degrees of consistency. Each section answers questions on how lock choice in a database affects throughput and consistency. Granularity of Locks In the granularity section, the choice of lockable units is discussed. A lockable unit represents a section of logical data that is atomically locked during a transaction. Locking smaller units such as individual records improves concurrency for “simple” transactions that access a small number of records. On the other hand, locking at a record level can reduce throughput for “complex” transactions that require access to many records — the overhead of acquiring and releasing locks overwhelms the computation. It follows that having different sizes of lockable units in the same system is required to handle multiple use cases. ...

April 19, 2016 · 4 min · Kevin Sookocheff

Paper Review: ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging

Title and Author of Paper ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. C. Mohan et al. Summary ARIES presents and validates the concept of write-ahead logging, providing industrial strength support for atomicity and durability. As described in the Red Book, write-ahead logging is a “near-ubiquitous technique for maintaining durability”. ARIES provides the reference implementation for “No Force, Steal” write-ahead logging used by most databases today. With a “No Force” policy, transactions can be committed without actually flushing dirty pages to disk, while a “Steal” policy implies dirty pages can be flushed to disk at any time. Combined, these two policies allow for high performance as the current state of pages in the database can be kept in memory, avoiding unnecessary I/O operations. ...

March 30, 2016 · 2 min · Kevin Sookocheff

Paper Review: Access Path Selection in a Relational Database Management System

Title and Author of Paper Access Path Selection in a Relational Database Management System. P. G. Selinger et al. Summary This paper describes methods of the SQL query optimizer for determining the cost of satisfying a query. It also describes methods for choosing among several competing methods. What are the motivations for this work? SQL is a high-level language where requests for data are stated non-procedurally. The user is not expected to need any knowledge of how the data is stored in the database or how it is retrieved. Thus, it is up to the DBMS to choose an appropriate access path for data retrieval on the users behalf. By designing the database in this fashion, we preserve data independence, where a users view of the data is independent of the databases view of the data. ...

March 15, 2016 · 3 min · Kevin Sookocheff

Paper Review: Eddies: Continuously Adaptive Query Processing

Title and Author of Paper Eddies: Continuously Adaptive Query Processing. Ron Avnur and Joseph M. Hellerstein. Summary Eddies describes a query optimization system that continuously reorders operators in a query plan as the it runs. This insight is based on the observation that assumptions made about the database at the time that a query is submitted will rarely hold throughout the duration of query processing. Query plans can be reordered using two criteria: synchronization barriers and moments of symmetry. Synchronization barriers exist whenever an operator is waiting for a table scan to complete before making forward progress. In general, these barriers limit concurrency and one goal of the eddies system is to avoid or improve these barriers by selecting an appropriate join algorithm. ...

March 15, 2016 · 2 min · Kevin Sookocheff

Paper Review: The Gamma Database Machine Project

Title and Author of Paper The Gamma Database Machine Project. David J. DeWitt et al. Summary This paper presents the research undertaken at the University of Wisconsin-Madison to develop a scalable database architecture. The paper presents novel methods for scaling a database cluster using a shared-nothing architecture, and for using hash-based join algorithms to parallelize the workload across the cluster. What are the motivations for this work? The motivation behind Gamma was to support horizontally scalable database using commodity parts. ...

March 9, 2016 · 3 min · Kevin Sookocheff

Paper Review: The Design of POSTGRES

Title and Author of Paper The Design of POSTGRES, Michael Stonebraker and Lawrence A. Rowe. Summary Postgres started as a research project to extend the standard database architecture to support several additional concepts: complex objects as values, user-defined data types and procedures, and alerting and triggers. This paper describes the system architecture designed to achieve these goals, while retaining functionality of the relational model. Although the design incorporates additional ideas such as time varying data, I will focus my review on the user-defined types and alerting scenarios. ...

March 4, 2016 · 3 min · Kevin Sookocheff

Paper Review: System R: Relational Approach to Database Management

Title and Author of Paper System R: Relational Approach to Database Management. M. M. Astrahan et al. Summary It’s hard to overstate the influence that the System R project had on database design and implementation. After reading this paper it is clear that traditional database architecture has not significantly changed since the System R project. System R provided the first implementation of SQL, the first demonstration of performant transactions, and provided the foundational groundwork in concurrency control and query optimization. ...

March 2, 2016 · 4 min · Kevin Sookocheff

Paper Review: Architecture of a Database System

Title and Author of Paper Architecture of a Database System. Joseph M. Hellerstein, Michael Stonebraker, James Hamilton. Summary Architecture of a Database System provides an explanation of how to implement a relational database. It begins with an architectural overview of the main parts of a database system as viewed through the life of an SQL query. This includes how the query is received, parsed and optimized and how the resulting data is returned from storage as part of a transaction. ...

February 24, 2016 · 3 min · Kevin Sookocheff

Paper Review: What Goes Around Comes Around

Title and Author of Paper What Goes Around Comes Around. Joseph M. Hellerstein and Michael Stonebraker. Summary What Goes Around Comes Around summarizes several methods for modelling data within a database system. Each data model is described and the benefits and drawbacks listed as lessons learned from research into that model. The authors clearly present their opinions on each model and help readers unfamiliar with past modelling attempts understand the history of this area of research. ...

January 27, 2016 · 3 min · Kevin Sookocheff