In-place appends for real: DBMS overwrites on Flash without erase
- In the present paper we demonstrate a novel approach to handling small updates on Flash called In-Place Appends (IPA). It allows the DBMS to revisit the traditional write behavior on Flash. Instead of writing whole database pages upon an update in an out-of-place manner on Flash, we transform those small updates into update deltas and append them to a reserved area on the very same physical Flash page. In doing so we utilize the commonly ignored fact that under certain conditions Flash memories can support in-place updates to Flash pages without a preceding erase operation. The approach was implemented under Shore-MT and evaluated on real hardware. Under standard update-intensive workloads we observed 67% less page invalidations resulting in 80% lower garbage collection overhead, which yields a 45% increase in transactional throughput, while doubling Flash longevity at the same time. The IPA outperforms In-Page Logging (IPL) by more than 50%. We showcase a Shore-MT based prototype of the above approach, operating on real Flash hardware – the OpenSSD Flash research platform. During the demonstration we allow the users to interact with the system and gain hands on experience of its performance under different demonstration scenarios. These involve various workloads such as TPC-B, TPC-C or TATP.
Author of HS Reutlingen | Petrov, Ilia |
---|---|
URN: | urn:nbn:de:bsz:rt2-opus4-15559 |
URL: | https://openproceedings.org/html/pages/2017_edbt.html |
ISBN: | 978-3-89318-073-8 |
Erschienen in: | Advances in database technology - EDBT 2017 : 20th International Conference on Extending Database Technology, Venice, Italy, March 21-24, 2017 : proceedings |
Publisher: | University of Konstanz, University Library |
Place of publication: | Konstanz |
Editor: | Volker Markl |
Document Type: | Conference proceeding |
Language: | English |
Publication year: | 2017 |
Page Number: | 4 |
First Page: | 586 |
Last Page: | 589 |
DDC classes: | 004 Informatik |
Open access?: | Ja |
Licence (German): | ![]() |