Foundations and Trends® in Databases > Vol 13 > Issue 1-2

Data Structures for Data-Intensive Applications: Tradeoffs and Design Guidelines

By Manos Athanassoulis, Boston University, USA, mathan@bu.edu | Stratos Idreos, Harvard University, USA, stratos@seas.harvard.edu | Dennis Shasha, New York University, USA, shasha@cs.nyu.edu

 
Suggested Citation
Manos Athanassoulis, Stratos Idreos and Dennis Shasha (2023), "Data Structures for Data-Intensive Applications: Tradeoffs and Design Guidelines", Foundations and TrendsĀ® in Databases: Vol. 13: No. 1-2, pp 1-168. http://dx.doi.org/10.1561/1900000059

Publication Date: 31 Jul 2023
© 2023 M. Athanassoulis et al.
 
Subjects
 

Free Preview:

Download extract

Share

Download article
In this article:
1. Introduction
2. Performance Metrics and Operational Tradeoffs
3. Dimensions of the Data Structure Design Space
4. From Workloads to Data Structures
5. Adaptivity: Evolving Data Structures to a Workload
6. Data Structures for Specific Application Domains
7. Challenging Design Considerations
8. Summary
Acknowledgments
References

Abstract

Key-value data structures constitute the core of any datadriven system. They provide the means to store, search, and modify data residing at various levels of the storage and memory hierarchy, from durable storage (spinning disks, solid state disks, and other non-volatile memories) to random access memory, caches, and registers. Designing efficient data structures for given workloads has long been a focus of research and practice in both academia and industry.

This book outlines the underlying design dimensions of data structures and shows how they can be combined to support (or fail to support) various workloads. The book further shows how these design dimensions can lead to an understanding of the behavior of individual state-of-the-art data structures and their hybrids. Finally, this systematization of the design space and the accompanying guidelines will enable you to select the most fitting data structure or even to invent an entirely new data structure for a given workload.

DOI:10.1561/1900000059
ISBN: 978-1-63828-184-9
182 pp. $99.00
Buy book (pb)
 
ISBN: 978-1-63828-185-6
182 pp. $300.00
Buy E-book (.pdf)
Table of contents:
1. Introduction
2. Performance Metrics and Operational Tradeoffs
3. Dimensions of the Data Structure Design Space
4. From Workloads to Data Structures
5. Adaptivity: Evolving Data Structures to a Workload
6. Data Structures for Specific Application Domains
7. Challenging Design Considerations
8. Summary
Acknowledgments
References

Data Structures for Data-Intensive Applications: Tradeoffs and Design Guidelines

Data structures are the means by which software programs store and retrieve data. This monograph focuses on key-value data structures, which are widely used for data-intensive applications thanks to the versatility of the key-value data model. Key-value data structures constitute the core of any data-driven system. They provide the means to store, search, and modify data residing at various levels of the storage and memory hierarchy. Designing efficient data structures for given workloads has long been a focus of research and practice in both academia and industry.

Data Structures for Data-Intensive Applications explains the space of data structure design choices, how to select the appropriate data structure depending on the goals and workload of an application at hand, and how the ever-evolving hardware and data properties require innovations in data structure design. The overarching goal is to help the reader both select the best existing data structures and design and build new ones.

 
DBS-059