paper

Stasis: Flexible transactional storage

  • Authors:

📜 Abstract

This paper describes a flexible transactional storage layer called Stasis. Stasis provides applications with features typically found in databases, such as transaction support, durability, consistency, and isolation, but allows applications to implement their own data models. By exposing a simple, low-level interface, Stasis enables developers to manage persistent data without incurring the overhead of an entire database management system. Stasis is especially useful for applications with complex recovery requirements or that require efficient support for interactions between data model and storage system. We demonstrate the effectiveness of Stasis by providing several examples of its use and showing the ease with which it can be tailored to a variety of applications. Stasis can also serve as a foundation for the development of new storage systems. We describe our implementation of the ARIES recovery algorithm and other innovations in logging, including our integrated approach to memory and storage allocation, and tools for handling log-structured artifacts efficiently. These techniques provide the reliability and availability standard of databases with the flexibility of custom data management solutions outside of legacy databases.

✨ Summary

The paper “Stasis: Flexible transactional storage” introduces a novel transactional storage layer named Stasis that combines features of database systems with flexible data management options. Stasis bolsters the development of applications requiring complex recovery algorithms by implementing a low-level interface, sidestepping the typical overhead of full-fledged database systems. It utilizes techniques such as the ARIES recovery algorithm combined with its own innovations in logging, enhanced storage, and memory allocation capabilities.

While no direct industrial or academic references to the Stasis paper were found in initial query results, the principles and solutions it offers in terms of transactional storage systems are foundational and likely influential in constructing flexible, durable storage solutions. This would have implications for designing database backends and applications needing specialized storage capabilities beyond the scope of existing DBMS approaches.