{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T17:38:32Z","timestamp":1740159512616,"version":"3.37.3"},"reference-count":39,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2020,10,16]],"date-time":"2020-10-16T00:00:00Z","timestamp":1602806400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2020,10,16]],"date-time":"2020-10-16T00:00:00Z","timestamp":1602806400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100007826","name":"Technische Universit\u00e4t Ilmenau","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100007826","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Datenbank Spektrum"],"published-print":{"date-parts":[[2020,11]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Event stores face the difficult challenge of continuously ingesting massive temporal data streams while satisfying demanding query and recovery requirements. Many of today\u2019s systems deal with multiple hardware-based trade-offs. For instance, long-term storage solutions balance keeping data in cheap secondary media (SSDs, HDDs) and performance-oriented main-memory caches. As an alternative, in-memory systems focus on performance, while sacrificing monetary costs, and, to some degree, recovery guarantees. The advent of persistent memory (PMem) led to a\u00a0multitude of novel research proposals aiming to alleviate those trade-offs in various fields. So far, however, there is no proposal for a\u00a0PMem-powered specialized event store.<\/jats:p><jats:p>Based on ChronicleDB, we will present several complementary approaches for a\u00a0three-layer architecture featuring main memory, PMem, and secondary storage. We enhance some of ChronicleDB\u2019s components with PMem for better insertion and query performance as well as better recovery guarantees. At the same time, the three-layer architecture aims to keep the overall dollar cost of a\u00a0system low. The limitations and opportunities of a\u00a0PMem-enhanced event store serve as important groundwork for comprehensive system design exploiting a\u00a0modern storage hierarchy.<\/jats:p>","DOI":"10.1007\/s13222-020-00356-6","type":"journal-article","created":{"date-parts":[[2020,10,16]],"date-time":"2020-10-16T10:03:28Z","timestamp":1602842608000},"page":"211-222","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Designing an Event Store for a\u00a0Modern Three-layer Storage Hierarchy"],"prefix":"10.1007","volume":"20","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2876-3918","authenticated-orcid":false,"given":"Nikolaus","family":"Glombiewski","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5076-5007","authenticated-orcid":false,"given":"Philipp","family":"G\u00f6tze","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2079-6264","authenticated-orcid":false,"given":"Michael","family":"K\u00f6rber","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3368-6726","authenticated-orcid":false,"given":"Andreas","family":"Morgen","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9362-153X","authenticated-orcid":false,"given":"Bernhard","family":"Seeger","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,10,16]]},"reference":[{"issue":"12","key":"356_CR1","doi-asserted-by":"publisher","first-page":"1754","DOI":"10.14778\/3137765.3137780","volume":"10","author":"M Andrei","year":"2017","unstructured":"Andrei M, Lemke C, Radestock G, Schulze R, Thiel C, Blanco R, Meghlan A, Sharique M, Seifert S, Vishnoi S, Booss D, Peh T, Schreter I, Thesing W, Wagle M, Willhalm T (2017) SAP HANA Adoption of Non-Volatile Memory. Proc Vldb Endow 10(12):1754\u20131765","journal-title":"Proc Vldb Endow"},{"key":"356_CR2","unstructured":"Arulraj J, Pavlo A, Malladi KT (2019) Multi-Tier Buffer Management and Storage System Design for Non-Volatile Memory. CoRR abs\/1901.10938. http:\/\/arxiv.org\/abs\/1901.10938. Accessed 25 Sep 2020"},{"key":"356_CR3","unstructured":"Axboe J (2020) Flexible I\/O Tester. https:\/\/github.com\/axboe\/fio, version 3.7. Accessed 25 Sep 2020"},{"key":"356_CR4","doi-asserted-by":"crossref","unstructured":"Bender\u00a0MA, Farach-Colton\u00a0M, Fineman\u00a0JT, Fogel\u00a0YR, Kuszmaul\u00a0BC, Nelson\u00a0J (2007) Cache-Oblivious Streaming B\u2011trees. In: SPAA 2007: Proceedings of the 19th Annual ACM Symposium on Parallelism in Algorithms and Architectures, San Diego, California, USA, June 9\u201311, 2007, pp\u00a081\u201392, https:\/\/doi.org\/10.1145\/1248377.1248393","DOI":"10.1145\/1248377.1248393"},{"key":"356_CR5","doi-asserted-by":"publisher","unstructured":"Deri\u00a0L, Mainardi\u00a0S, Fusco\u00a0F (2012) tsdb: A Compressed Database for Time Series. In: Traffic Monitoring and Analysis\u20144th International Workshop, TMA 2012, Vienna, Austria, March 12, 2012. Proceedings, pp\u00a0143\u2013156, https:\/\/doi.org\/10.1007\/978-3-642-28534-9_16","DOI":"10.1007\/978-3-642-28534-9_16"},{"key":"356_CR6","doi-asserted-by":"crossref","unstructured":"Eisenman\u00a0A, Gardner\u00a0D, AbdelRahman\u00a0I, Axboe\u00a0J, Dong\u00a0S, Hazelwood\u00a0KM, Petersen\u00a0C, Cidon\u00a0A, Katti\u00a0S (2018) Reducing DRAM Footprint with NVM in Facebook. In: Proceedings of the Thirteenth EuroSys Conference, EuroSys 2018, Porto, Portugal, April 23\u201326, 2018, pp\u00a042:1\u201342:13, https:\/\/doi.org\/10.1145\/3190508.3190524","DOI":"10.1145\/3190508.3190524"},{"key":"356_CR7","doi-asserted-by":"crossref","unstructured":"G\u00f6tze\u00a0P, Baumann\u00a0S, Sattler\u00a0K (2018) An NVM-Aware Storage Layout for Analytical Workloads. In: 34th IEEE International Conference on Data Engineering Workshops, ICDE Workshops 2018, Paris, France, April 16\u201320, 2018, pp\u00a0110\u2013115, https:\/\/doi.org\/10.1109\/ICDEW.2018.00025","DOI":"10.1109\/ICDEW.2018.00025"},{"key":"356_CR8","doi-asserted-by":"publisher","unstructured":"G\u00f6tze\u00a0P, Tharanatha\u00a0AK, Sattler\u00a0KU (2020) Data Structure Primitives on Persistent Memory: An Evaluation. In: International Workshop on Data Management on New Hardware (DAMON\u201920), June 15, 2020, Portland, OR, USA, https:\/\/doi.org\/10.1145\/3399666.3399900","DOI":"10.1145\/3399666.3399900"},{"key":"356_CR9","unstructured":"Haas G, Haubenschild M, Leis V (2020) Exploiting Directly-Attached NVMe Arrays in DBMS. In: CIDR 2020, 10th Conference on Innovative Data Systems Research, Amsterdam, The Netherlands, January 12-15, 2020, Online Proceedings, http:\/\/cidrdb.org\/cidr2020\/papers\/p16-haas-cidr20.pdf. Accessed 25 Sep 2020"},{"key":"356_CR10","unstructured":"InfluxData Inc (2020) InfluxDB: Purpose-Built Open Source Time Series Database | InfluxData. https:\/\/www.influxdata.com\/. Accessed 25 Sep 2020"},{"key":"356_CR11","unstructured":"Intel Corporation (2019) Intel\u00ae 64 and IA-32 Architectures Optimization Reference Manual. https:\/\/software.intel.com\/sites\/default\/files\/managed\/9e\/bc\/64-ia-32-architectures-optimization-manual.pdf, chapter 11 \u2013 Intel\u00ae Optane\u2122 DC Persistent Memory. Accessed 25 Sep 2020"},{"key":"356_CR12","unstructured":"Intel Corporation (2020) Intel\u00ae Memory Latency Checker v3.8. https:\/\/software.intel.com\/en-us\/articles\/intelr-memory-latency-checker. Accessed 25 Sep 2020"},{"key":"356_CR13","doi-asserted-by":"publisher","unstructured":"Jibril\u00a0MA, G\u00f6tze\u00a0P, Broneske\u00a0D, Sattler\u00a0K (2020) Selective Caching: A Persistent Memory Approach for Multi-Dimensional Index Structures. In: 2020 IEEE 36th International Conference on Data Engineering Workshops (ICDEW), pp 115\u2013120, https:\/\/doi.org\/10.1109\/ICDEW49219.2020.00010","DOI":"10.1109\/ICDEW49219.2020.00010"},{"key":"356_CR14","unstructured":"Johnson\u00a0T, Shkapenyuk\u00a0V (2015) Data Stream Warehousing In Tidalrace. In: CIDR 2015, Seventh Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, January 4\u20137, 2015, Online Proceedings, http:\/\/cidrdb.org\/cidr2015\/Papers\/CIDR15_Paper4.pdf. Accessed 25 Sep 2020"},{"key":"356_CR15","unstructured":"Kannan\u00a0S, Bhat\u00a0N, Gavrilovska\u00a0A, Arpaci-Dusseau\u00a0AC, Arpaci-Dusseau\u00a0RH (2018) Redesigning LSMs for Nonvolatile Memory with NoveLSM. In: 2018 USENIX Annual Technical Conference, USENIX ATC 2018, Boston, MA, USA, July 11\u201313, 2018, pp\u00a0993\u20131005, https:\/\/www.usenix.org\/conference\/atc18\/presentation\/kannan. Accessed 25 Sep 2020"},{"key":"356_CR16","doi-asserted-by":"publisher","unstructured":"Kimura\u00a0H (2015) FOEDUS: OLTP Engine for a Thousand Cores and NVRAM. In: Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, Melbourne, Victoria, Australia, May 31\u2013June 4, 2015, pp\u00a0691\u2013706, https:\/\/doi.org\/10.1145\/2723372.2746480","DOI":"10.1145\/2723372.2746480"},{"key":"356_CR17","doi-asserted-by":"publisher","unstructured":"Leis\u00a0V, Haubenschild\u00a0M, Kemper\u00a0A, Neumann\u00a0T (2018) LeanStore: In-Memory Data Management beyond Main Memory. In: 34th IEEE International Conference on Data Engineering, ICDE 2018, Paris, France, April 16\u201319, 2018, IEEE Computer Society, pp\u00a0185\u2013196, https:\/\/doi.org\/10.1109\/ICDE.2018.00026","DOI":"10.1109\/ICDE.2018.00026"},{"issue":"4","key":"356_CR18","doi-asserted-by":"publisher","first-page":"574","DOI":"10.14778\/3372716.3372728","volume":"13","author":"L Lersch","year":"2019","unstructured":"Lersch L, Hao X, Oukid I, Wang T, Willhalm T (2019) Evaluating persistent memory range indexes. Proc Vldb Endow 13(4):574\u2013587","journal-title":"Proc Vldb Endow"},{"key":"356_CR19","doi-asserted-by":"publisher","unstructured":"Lersch\u00a0L, Lehner\u00a0W, Oukid\u00a0I (2019) Persistent Buffer Management with Optimistic Consistency. In: Proceedings of the 15th International Workshop on Data Management on New Hardware, DaMoN 2019, Amsterdam, The Netherlands, 1 July 2019, pp\u00a014:1\u201314:3, https:\/\/doi.org\/10.1145\/3329785.3329931","DOI":"10.1145\/3329785.3329931"},{"issue":"7","key":"356_CR20","doi-asserted-by":"publisher","first-page":"1091","DOI":"10.14778\/3384345.3384356","volume":"13","author":"L Lersch","year":"2020","unstructured":"Lersch L, Schreter I, Oukid I, Lehner W (2020) Enabling Low Tail Latency on Multicore Key-Value Stores. Proc Vldb Endow 13(7):1091\u20131104","journal-title":"Proc Vldb Endow"},{"key":"356_CR21","unstructured":"Li\u00a0J, Pavlo\u00a0A, Dong\u00a0S (2017) NVMRocks: RocksDB on Non-Volatile Memory Systems. https:\/\/web.archive.org\/web\/20200217045318\/istc-bigdata.org\/index.php\/nvmrocks-rocksdb-on-non-volatile-memory-systems\/. Accessed 25 Sep 2020"},{"issue":"7","key":"356_CR22","doi-asserted-by":"publisher","first-page":"1078","DOI":"10.14778\/3384345.3384355","volume":"13","author":"J Liu","year":"2020","unstructured":"Liu J, Chen S, Wang L (2020) LB+-Trees: Optimizing Persistent Index Performance on 3DXPoint Memory. Proc Vldb Endow 13(7):1078\u20131090","journal-title":"Proc Vldb Endow"},{"issue":"2","key":"356_CR23","doi-asserted-by":"publisher","first-page":"1447","DOI":"10.14778\/1920841.1921019","volume":"3","author":"C Loboz","year":"2010","unstructured":"Loboz C, Smyl S, Nath S (2010) DataGarage: Warehousing Massive Performance Data on Commodity Servers. Proc Vldb Endow 3(2):1447\u20131458","journal-title":"Proc Vldb Endow"},{"key":"356_CR24","unstructured":"Moerkotte\u00a0G (1998) Small Materialized Aggregates: A Light Weight Index Structure for Data Warehousing. In: VLDB\u201998, Proceedings of 24rd International Conference on Very Large Data Bases, August 24\u201327, 1998, New York City, New York, USA, pp\u00a0476\u2013487, http:\/\/www.vldb.org\/conf\/1998\/p476.pdf. Accessed 25 Sep 2020"},{"issue":"4","key":"356_CR25","doi-asserted-by":"publisher","first-page":"351","DOI":"10.1007\/s002360050048","volume":"33","author":"PE O\u2019Neil","year":"1996","unstructured":"O\u2019Neil PE, Cheng E, Gawlick D, O\u2019Neil EJ (1996) The Log-Structured Merge-Tree (LSM-Tree). Acta Inf 33(4):351\u2013385","journal-title":"Acta Inf"},{"key":"356_CR26","doi-asserted-by":"publisher","unstructured":"Ou\u00a0Y, Chen\u00a0L, Xu\u00a0J, H\u00e4rder\u00a0T (2014) Wear-Aware Algorithms for PCM-Based Database Buffer Pools. In: Web-Age Information Management \u2013 WAIM 2014 International Workshops: BigEM, HardBD, DaNoS, HRSUNE, BIDASYS, Macau, China, June 16\u201318, 2014 Revised Selected Papers, pp\u00a0165\u2013176, https:\/\/doi.org\/10.1007\/978-3-319-11538-2_16","DOI":"10.1007\/978-3-319-11538-2_16"},{"key":"356_CR27","doi-asserted-by":"publisher","unstructured":"Oukid\u00a0I, Booss\u00a0D, Lehner\u00a0W, Bumbulis\u00a0P, Willhalm\u00a0T (2014) SOFORT: A Hybrid SCM-DRAM Storage Engine for Fast Data Recovery. In: Tenth International Workshop on Data Management on New Hardware, DaMoN 2014, Snowbird, UT, USA, June 23, 2014, pp\u00a08:1\u20138:7, https:\/\/doi.org\/10.1145\/2619228.2619236","DOI":"10.1145\/2619228.2619236"},{"key":"356_CR28","doi-asserted-by":"publisher","unstructured":"Oukid\u00a0I, Lasperas\u00a0J, Nica\u00a0A, Willhalm\u00a0T, Lehner\u00a0W (2016) FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B\u2011Tree for Storage Class Memory. In: Proceedings of the 2016 International Conference on Management of Data, SIGMOD Conference 2016, San Francisco, CA, USA, June 26\u2013July 01, 2016, pp\u00a0371\u2013386, https:\/\/doi.org\/10.1145\/2882903.2915251","DOI":"10.1145\/2882903.2915251"},{"issue":"12","key":"356_CR29","doi-asserted-by":"publisher","first-page":"1816","DOI":"10.14778\/2824032.2824078","volume":"8","author":"T Pelkonen","year":"2015","unstructured":"Pelkonen T, Franklin S, Cavallaro P, Huang Q, Meza J, Teller J, Veeraraghavan K (2015) Gorilla: A Fast, Scalable, In-Memory Time Series Database. Proc Vldb Endow 8(12):1816\u20131827","journal-title":"Proc Vldb Endow"},{"issue":"2","key":"356_CR30","doi-asserted-by":"publisher","first-page":"121","DOI":"10.14778\/2732228.2732231","volume":"7","author":"S Pelley","year":"2013","unstructured":"Pelley S, Wenisch TF, Gold BT, Bridge B (2013) Storage Management in the NVRAM Era. Proc Vldb Endow 7(2):121\u2013132","journal-title":"Proc Vldb Endow"},{"key":"356_CR31","doi-asserted-by":"publisher","unstructured":"van Renen\u00a0A, Leis\u00a0V, Kemper\u00a0A, Neumann\u00a0T, Hashida\u00a0T, Oe\u00a0K, Doi\u00a0Y, Harada\u00a0L, Sato\u00a0M (2018) Managing Non-Volatile Memory in Database Systems. In: Proceedings of the 2018 International Conference on Management of Data, SIGMOD Conference 2018, Houston, TX, USA, June 10\u201315, 2018, pp\u00a01541\u20131555, https:\/\/doi.org\/10.1145\/3183713.3196897","DOI":"10.1145\/3183713.3196897"},{"key":"356_CR32","doi-asserted-by":"publisher","unstructured":"van Renen\u00a0A, Vogel\u00a0L, Leis\u00a0V, Neumann\u00a0T, Kemper\u00a0A (2019) Persistent Memory I\/O Primitives. In: Proceedings of the 15th International Workshop on Data Management on New Hardware, DaMoN 2019, Amsterdam, The Netherlands, 1 July 2019, pp\u00a012:1\u201312:7, https:\/\/doi.org\/10.1145\/3329785.3329930","DOI":"10.1145\/3329785.3329930"},{"key":"356_CR33","doi-asserted-by":"publisher","unstructured":"Seidemann\u00a0M, Seeger\u00a0B (2017) ChronicleDB: A High-Performance Event Store. In: Proceedings of the 20th International Conference on Extending Database Technology, EDBT 2017, Venice, Italy, March 21\u201324, 2017, pp\u00a0144\u2013155, https:\/\/doi.org\/10.5441\/002\/edbt.2017.14","DOI":"10.5441\/002\/edbt.2017.14"},{"key":"356_CR34","doi-asserted-by":"publisher","unstructured":"Seidemann\u00a0M, Glombiewski\u00a0N, K\u00f6rber\u00a0M, Seeger\u00a0B (2019) ChronicleDB: A High-Performance Event Store. ACM Trans Database Syst 44(4):13:1\u201313:45, https:\/\/doi.org\/10.1145\/3342357","DOI":"10.1145\/3342357"},{"key":"356_CR35","doi-asserted-by":"publisher","unstructured":"Stoica\u00a0R, Athanassoulis\u00a0M, Johnson\u00a0R, Ailamaki\u00a0A (2009) Evaluating and Repairing Write Performance on Flash Devices. In: Proceedings of the Fifth International Workshop on Data Management on New Hardware, Association for Computing Machinery, New York, NY, USA, DaMoN \u201909, p\u00a09\u201314, https:\/\/doi.org\/10.1145\/1565694.1565697","DOI":"10.1145\/1565694.1565697"},{"issue":"7","key":"356_CR36","doi-asserted-by":"publisher","first-page":"702","DOI":"10.14778\/2752939.2752940","volume":"8","author":"K Tangwongsan","year":"2015","unstructured":"Tangwongsan K, Hirzel M, Schneider S, Wu KL (2015) General incremental sliding-window aggregation. Proc Vldb Endow 8(7):702\u2013713","journal-title":"Proc Vldb Endow"},{"key":"356_CR37","unstructured":"Xia\u00a0F, Jiang\u00a0D, Xiong\u00a0J, Sun\u00a0N (2017) HiKV: A Hybrid Index Key-Value Store for DRAM-NVM Memory Systems. In: 2017 USENIX Annual Technical Conference, USENIX ATC 2017, Santa Clara, CA, USA, July 12\u201314, 2017, pp\u00a0349\u2013362, https:\/\/www.usenix.org\/conference\/atc17\/technical-sessions\/presentation\/xia. Accessed 25 Sep 2020"},{"key":"356_CR38","unstructured":"Yang\u00a0J, Kim\u00a0J, Hoseinzadeh\u00a0M, Izraelevitz\u00a0J, Swanson\u00a0S (2020) An Empirical Guide to the Behavior and Use of Scalable Persistent Memory. In: 18th USENIX Conference on File and Storage Technologies, FAST 2020, Santa Clara, CA, USA, February 24\u201327, 2020, pp\u00a0169\u2013182, https:\/\/www.usenix.org\/conference\/fast20\/presentation\/yang. Accessed 25 Sep 2020"},{"key":"356_CR39","doi-asserted-by":"publisher","unstructured":"Zhang\u00a0H, Diao\u00a0Y, Immerman\u00a0N (2014) On complexity and optimization of expensive queries in complex event processing. In: Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, Association for Computing Machinery, New York, NY, USA, SIGMOD \u201914, p\u00a0217\u2013228, https:\/\/doi.org\/10.1145\/2588555.2593671","DOI":"10.1145\/2588555.2593671"}],"container-title":["Datenbank-Spektrum"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s13222-020-00356-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s13222-020-00356-6\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s13222-020-00356-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,10,16]],"date-time":"2021-10-16T21:03:26Z","timestamp":1634418206000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s13222-020-00356-6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,10,16]]},"references-count":39,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2020,11]]}},"alternative-id":["356"],"URL":"https:\/\/doi.org\/10.1007\/s13222-020-00356-6","relation":{},"ISSN":["1618-2162","1610-1995"],"issn-type":[{"type":"print","value":"1618-2162"},{"type":"electronic","value":"1610-1995"}],"subject":[],"published":{"date-parts":[[2020,10,16]]},"assertion":[{"value":"7 June 2020","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"11 August 2020","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"5 September 2020","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"16 October 2020","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}