Contact: Anastassia Ailamaki

Current database systems use data layouts that can exploit unique features of only one level of the memory hierarchy (cache/main memory or on-line storage). Such layouts optimize for the predominant access pattern of one workload (e.g., DSS), while trading off performance of another workload type (e.g., OLTP). Achieving efficient execution of different workloads without this trade-off or the need to manually re-tune the system for each workload type is still an unsolved problem. The "Fates" database system project answers this challenge.

The Fates Architecture

The goal of the Fates architecture is to offer efficient execution at all levels of memory hierarchy and optimize data layout to improve performance, by exploiting the unique characteristics available at each level. This is done, primarily, by decoupling of the in-memory data layout from the on-disk storage layout. Where traditional database systems are forced to fetch and store unnecessary data as an artifact of a chosen data layout, the Fates database system can request, retrieve, and store just the needed data, catering to the needs of a specific query. This conserves storage device bandwidth, memory capacity, and avoids cache pollution-all of which improves query execution time.

Borrowing from the Greek mythology of The Three Fates–Clotho, Lachesis, and Atropos–who spin, measure, and cut the thread of life, the three components of our database system (bearing the Fates' respective names) establish proper abstractions in the database query execution engine. These abstractions cleanly separate the functionality of each component while allowing efficient query execution along the entire path through the database system.

Clotho ensures efficient query execution at the cache/main-memory level and figures at the inception of a request for particular data. It employs a new in-memory page layout and query-specific organization to offer efficient access to all data. Trade-offs are eliminated as the query engine fetches only the data desired.

The Lachesis database storage manager handles the mapping and access to minipages located within the LBNs of on-line storage devices. It makes I/O execution efficient for concurrent workloads competing for a storage device by using explicit, device-independent performance hints. It elimates the need for manual I/O performance tuning and divides reponsibilities equally amongst the storage devices being accessed.

Atropos is a disk array logical volume manager for the orchestrated and efficient use of disks. This is acheived as Atropos provides logical to physical mapping, issues I/Os to individual disks, and exposes important device attributes to facilitate efficient queries such as track aligned accesses, possible semi-sequential access patterns, and efficient access paths in 2D data structures.



Anastassia Ailamaki
Greg Ganger


Minglong Shao



We thank the members and companies of the PDL Consortium: Amazon, Facebook, Google, Hewlett Packard Enterprise, Hitachi Ltd., Intel Corporation, IBM, Microsoft Research, NetApp, Inc., Oracle Corporation, Pure Storage, Salesforce, Samsung Semiconductor Inc., Seagate Technology, Two Sigma, and Western Digital for their interest, insights, feedback, and support.

The Three Fates

The 3 Fates


The Triumph of Death, or The 3 Fates

Flemish Tapestry (probably Brussels, ca. 1510-1520)
Victoria and Albert Museum, London, England

The three fates, Clotho, Lachesis and Atropos, who spin, draw out and cut the thread of Life, represent Death in this tapestry, as they triumph over the fallen body of Chastity. This is the third subject in Petrarch's poem The Triumphs. First, Love triumphs; then Love is overcome by Chastity, Chastity by Death, Death by Fame, Fame by Time and Time by Eternity. (click photo for larger view)




© 2021. Legal Info.
Last updated 8 March, 2012