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

Manos Athanassoulis, Stratos Idreos, Dennis Shasha

Research output: Contribution to journalArticlepeer-review

Abstract

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, 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.

Original languageEnglish (US)
Pages (from-to)1-168
Number of pages168
JournalFoundations and Trends in Databases
Volume13
Issue number1-2
DOIs
StatePublished - Jul 31 2023

ASJC Scopus subject areas

  • General Computer Science

Fingerprint

Dive into the research topics of 'Data Structures for Data-Intensive Applications: Tradeoffs and Design Guidelines'. Together they form a unique fingerprint.

Cite this