Laasie: Towards One-Size-Fits-All Database (OSFA) Architecture
MetadataShow full item record
Variation in application workloads, requirements, and hardware has often lead to claims that One-Size-Fits-All databases are dead, as they require precisely adjusting a wide range of parameters to be competitive. Consequently, several specialized data management systems have emerged in the past several years. Applications with continuously emerging requirements and features require maintaining different data management systems, which often prove costly to companies and enterprises in terms of development, maintenance and DBA costs. The benefits of having a single interface to work with, are quite compelling: Client applications can be prototyped quickly, and infrastructure tuning and development can be deferred until the applications runtime characteristics are better understood. Consequently, a slew of "database building blocks" have arisen, allowing users to custom-tailor a common core engine to their application's requirements. The thesis presents "Abstract Syntax Trees" (ASTs) as a database building block. The building block framework, called an Abstract Syntax Tree database, represents data state with the sequence of updates, stored in the form Abstract Syntax Trees. It provides a simple rewrite-rule-based interface, which allows extremely fine grained control over a wide variety of database management design aspects, from layout and indexing, through client side caching behavior. The thesis also presents Laasie, a document store Abstract Syntax Tree database. Using Laasie, I demonstrate the feasibility of AST Databases in general, and then show how Laasie effectively supports a complex use case with highly variable workloads: collaborative web applications.