Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3315507.3330197acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Fluid data structures

Published: 23 June 2019 Publication History

Abstract

Functional (aka immutable) data structures are used extensively in data management systems. From distributed systems to data persistence, immutability makes complex programs significantly easier to reason about and implement. However, immutability also makes many runtime optimizations like tree rebalancing, or adaptive organizations, unreasonably expensive. In this paper, we propose Fluid data structures, an approach to data structure design that allows limited physical changes that preserve logical equivalence. As we will show, this approach retains many of the desirable properties of functional data structures, while also allowing runtime adaptation. To illustrate Fluid data structures, we work through the design of a lazy-loading map that we call a Fluid Cog. A Fluid Cog is a lock-free data structure that incrementally organizes itself in the background by applying equivalence-preserving structural transformations. Our experimental analysis shows that the resulting map structure is flexible enough to adapt to a variety of performance goals, while remaining competitive with existing structures like the C++ standard template library map.

References

[1]
P. Antonopoulos, H. Kodavalla, A. Tran, N. preti, C. Shah, and M. Sztajno. Resumable online index rebuild in SQL server. PVLDB, 10(12):1742– 1753, 2017.
[2]
N. Bruno and S. Chaudhuri. An online approach to physical design tuning. In ICDE, pages 826–835. IEEE Computer Society, 2007.
[3]
S. Chaudhuri and V. R. Narasayya. Autoadmin ’what-if’ index analysis utility. In SIGMOD, 1998.
[4]
S. Chaudhuri and V. R. Narasayya. Self-tuning database systems: A decade of progress. In VLDB, pages 3–14, 2007.
[5]
G. Graefe, S. Idreos, H. A. Kuno, and S. Manegold. Benchmarking adaptive indexing. In TPCTC, volume 6417 of Lecture Notes in Computer Science, pages 169–184. Springer, 2010.
[6]
G. Graefe and H. A. Kuno. Self-selecting, self-tuning, incrementally optimized indexes. In EDBT, volume 426 of ACM International Conference Proceeding Series, pages 371–381. ACM, 2010.
[7]
S. Idreos, M. L. Kersten, and S. Manegold. Database cracking. In CIDR, pages 68–78, 2007.
[8]
S. Idreos, M. L. Kersten, and S. Manegold. Updating a cracked database. In SIGMOD Conference, pages 413–424. ACM, 2007.
[9]
S. Idreos, S. Manegold, and G. Graefe. Adaptive indexing in modern database kernels. In EDBT, pages 566–569. ACM, 2012.
[10]
S. Idreos, S. Manegold, H. A. Kuno, and G. Graefe. Merging what’s cracked, cracking what’s merged: Adaptive indexing in main-memory column-stores. PVLDB, 4(9):585–597, 2011.
[11]
S. Idreos, K. Zoumpatianos, B. Hentschel, M. S. Kester, and D. Guo. The data calculator: Data structure design and cost synthesis from first principles and learned cost models. In SIGMOD Conference, pages 535–550. ACM, 2018.
[12]
O. Kennedy and L. Ziarek. Just-in-time data structures. In CIDR, 2015.
[13]
T. Kraska, A. Beutel, E. H. Chi, J. Dean, and N. Polyzotis. The case for learned index structures. In SIGMOD Conference, pages 489–504. ACM, 2018.
[14]
L. Kuper and R. R. Newton. Lvars:lattice-based data structures for deterministic parallelism. In FHPC, 2013.
[15]
C. Okasaki. Purely Functional data structures. Cambridge University Press, 1999.
[16]
P. E. O’Neil, E. Cheng, D. Gawlick, and E. J. O’Neil. The log-structured merge-tree (lsm-tree). Acta Inf., 33(4):351–385, 1996.
[17]
A. Pavlo, G. Angulo, J. Arulraj, H. Lin, J. Lin, L. Ma, P. Menon, T. C. Mowry, M. Perron, I. Quah, S. Santurkar, A. Tomasic, S. Toor, D. V. Aken, Z. Wang, Y. Wu, R. Xian, and T. Zhang. Self-driving database management systems. In CIDR, 2017.
[18]
K. Schnaitter, S. Abiteboul, T. Milo, and N. Polyzotis. COLT: continuous on-line tuning. In SIGMOD Conference, pages 793–795. ACM, 2006.
[19]
F. M. Schuhknecht, A. Jindal, and J. Dittrich. The uncracked pieces in database cracking. PVLDB, 7(2):97–108, 2013.
[20]
R. Sears and R. Ramakrishnan. blsm: a general purpose log structured merge tree. In SIGMOD Conference, pages 217–228. ACM, 2012.
[21]
N. Stucki, T. Rompf, V. Ureche, and P. Bagwell. Rrb vector: a practical general purpose immutable sequence. In ICFP, 2015.
[22]
D. Van Aken, A. Pavlo, G. J. Gordon, and B. Zhang. Automatic database management system tuning through large-scale machinelearning. In SIGMOD Conference, pages 1009–1024. ACM, 2017.
[23]
H. Voigt, T. Kissinger, and W. Lehner. SMIX: self-managing indexes for dynamic workloads. In SSDBM, pages 24:1–24:12. ACM, 2013.
[24]
J. Widom and S. Ceri. Introduction to active database systems. In Active Database Systems: Triggers and Rules For Advanced Database Processing, pages 1–41. Morgan Kaufmann, 1996.

Cited By

View all
  • (2024)Towards Systematic Index DynamizationProceedings of the VLDB Endowment10.14778/3681954.368196917:11(2867-2879)Online publication date: 1-Jul-2024
  • (2023)Özetleme Mekanizması Kullanılarak Bilgi Çizgesine Yeni EklentilerNovel Extensions to the Knowledge Graph Using the Hashing MechanismInternational Journal of Advances in Engineering and Pure Sciences10.7240/jeps.124403435:3(312-321)Online publication date: 30-Sep-2023
  • (2021)TreeToaster: Towards an IVM-Optimized CompilerProceedings of the 2021 International Conference on Management of Data10.1145/3448016.3459244(155-167)Online publication date: 9-Jun-2021

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
DBPL 2019: Proceedings of the 17th ACM SIGPLAN International Symposium on Database Programming Languages
June 2019
84 pages
ISBN:9781450367189
DOI:10.1145/3315507
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 23 June 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Data Layout
  2. Record and Block Layout

Qualifiers

  • Research-article

Conference

PLDI '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 10 of 15 submissions, 67%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Towards Systematic Index DynamizationProceedings of the VLDB Endowment10.14778/3681954.368196917:11(2867-2879)Online publication date: 1-Jul-2024
  • (2023)Özetleme Mekanizması Kullanılarak Bilgi Çizgesine Yeni EklentilerNovel Extensions to the Knowledge Graph Using the Hashing MechanismInternational Journal of Advances in Engineering and Pure Sciences10.7240/jeps.124403435:3(312-321)Online publication date: 30-Sep-2023
  • (2021)TreeToaster: Towards an IVM-Optimized CompilerProceedings of the 2021 International Conference on Management of Data10.1145/3448016.3459244(155-167)Online publication date: 9-Jun-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media