Mainlining Databases: Supporting Fast Transactional Workloads on Universal Columnar Data File Formats
Proceedings of the VLDB Endowment, vol. 14, iss. 4, pp. 534-546, 2020.
Tianyu Li, Matthew Butrovich*, Amadou Ngom, Wan Shen Lim*, Wes McKinney^, Andrew Pavlo*
Massachusetts Institute of Technology
* Carnegie Mellon University
^ Ursa Labs
The proliferation of modern data processing tools has given rise to open-source columnar data formats. These formats help organizations avoid repeated conversion of data to a new format for each application. However, these formats are read-only, and organizations must use a heavy-weight transformation process to load data from on-line transactional processing (OLTP) systems. As a result, DBMSs often fail to take advantage of full network bandwidth when transferring data. We aim to reduce or even eliminate this overhead by developing a storage architecture for in-memory database management systems (DBMSs) that is aware of the eventual usage of its data and emits columnar storage blocks in a universal open-source format.We introduce relaxations to common analytical data formats to efficiently update records and rely on a lightweight transformation process to convert blocks to a read-optimized layout when they are cold. We also describe how to access data from third-party analytical tools with minimal serialization overhead. We implemented our storage engine based on the Apache Arrow format and integrated it into the NoisePage DBMS to evaluate our work. Our experiments show that our approach achieves comparable performance with dedicated OLTP DBMSs while enabling orders-of-magnitude faster data exports to external data science and machine learning tools than existing methods.
FULL PAPER: pdf