{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,9]],"date-time":"2026-04-09T14:30:56Z","timestamp":1775745056087,"version":"3.50.1"},"reference-count":85,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2021,10,15]],"date-time":"2021-10-15T00:00:00Z","timestamp":1634256000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Nature Science Foundation of China","doi-asserted-by":"crossref","award":["61832011, 61802358, and 61772486"],"award-info":[{"award-number":["61832011, 61802358, and 61772486"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]},{"name":"USTC Research Funds of the Double First-Class Initiative","award":["YD2150002006"],"award-info":[{"award-number":["YD2150002006"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2021,11,30]]},"abstract":"<jats:p>\n            Key-value (KV) stores support many crucial applications and services. They perform fast in-memory processing but are still often limited by I\/O performance. The recent emergence of high-speed commodity non-volatile memory express solid-state drives (NVMe SSDs) has propelled new KV system designs that take advantage of their ultra-low latency and high bandwidth. Meanwhile, to switch to entirely new data layouts and scale up entire databases to high-end SSDs requires considerable investment. As a compromise, we propose SpanDB, an LSM-tree-based KV store that adapts the popular RocksDB system to utilize\n            <jats:italic>selective deployment of high-speed SSDs<\/jats:italic>\n            . SpanDB allows users to host the bulk of their data on cheaper and larger SSDs (and even hard disc drives with certain workloads), while relocating write-ahead logs (WAL) and the top levels of the LSM-tree to a much smaller and faster NVMe SSD. To better utilize this fast disk, SpanDB provides high-speed, parallel WAL writes via SPDK, and enables asynchronous request processing to mitigate inter-thread synchronization overhead and work efficiently with polling-based I\/O. To ease the live data migration between fast and slow disks, we introduce TopFS, a stripped-down file system providing familiar file interface wrappers on top of SPDK I\/O. Our evaluation shows that SpanDB simultaneously improves RocksDB's throughput by up to 8.8\n            <jats:inline-formula content-type=\"math\/tex\">\n              <jats:tex-math>\\times<\/jats:tex-math>\n            <\/jats:inline-formula>\n            and reduces its latency by 9.5\u201358.3%. Compared with KVell, a system designed for high-end SSDs, SpanDB achieves 96\u2013140% of its throughput, with a 2.3\u201321.6\n            <jats:inline-formula content-type=\"math\/tex\">\n              <jats:tex-math>\\times<\/jats:tex-math>\n            <\/jats:inline-formula>\n            lower latency, at a cheaper storage configuration.\n          <\/jats:p>","DOI":"10.1145\/3480963","type":"journal-article","created":{"date-parts":[[2021,10,17]],"date-time":"2021-10-17T01:27:42Z","timestamp":1634434062000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":22,"title":["Leveraging NVMe SSDs for Building a Fast, Cost-effective, LSM-tree-based KV Store"],"prefix":"10.1145","volume":"17","author":[{"given":"Cheng","family":"Li","sequence":"first","affiliation":[{"name":"University of Science and Technology of China, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hao","family":"Chen","sequence":"additional","affiliation":[{"name":"University of Science and Technology of China, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chaoyi","family":"Ruan","sequence":"additional","affiliation":[{"name":"University of Science and Technology of China, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Xiaosong","family":"Ma","sequence":"additional","affiliation":[{"name":"Qatar Computing Research Institute, HBKU, Qatar"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yinlong","family":"Xu","sequence":"additional","affiliation":[{"name":"University of Science and Technology of China, China and Anhui Province Key Laboratory of High Performance Computing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,10,15]]},"reference":[{"key":"e_1_3_2_2_2","unstructured":"RocksDB. [n.d.]. A Persistent Key-Value Store for Fast Storage Environments. Retrieved from https:\/\/rocksdb.org\/."},{"key":"e_1_3_2_3_2","unstructured":"LinkedIn. [n.d.]. Benchmarking Apache Samza. Retrieved from https:\/\/engineering.linkedin.com\/performance\/benchmarking-apache-samza-12-million-messages-second-single-node."},{"key":"e_1_3_2_4_2","unstructured":"MariaDB. [n.d.]. Group Commit for the Binary Log. Retrieved from https:\/\/mariadb.com\/kb\/en\/group-commit-for-the-binary-log\/."},{"key":"e_1_3_2_5_2","unstructured":"GitHub. [n.d.] HHVM. Retrieved from https:\/\/github.com\/facebook\/hhvm."},{"key":"e_1_3_2_6_2","unstructured":"Enterprise Storage Forum. [n.d.]. High capacity SSDs: How Big Can They Grow? Retrieved from https:\/\/www.enterprisestorageforum.com\/hardware\/high-capacity-ssds-how-big-can-they-grow\/."},{"key":"e_1_3_2_7_2","unstructured":"MySQL. [n.d.]. MySQL Reference Manual. Retrieved from https:\/\/dev.mysql.com\/doc\/refman\/5.7\/en\/replication-options-binary-log.html#sysvar_binlog_order_commits."},{"key":"e_1_3_2_8_2","unstructured":"I-Programmer. [n.d.]. RocksDB on Steroids. Retrieved from https:\/\/www.i-programmer.info\/news\/84-database\/8542-rocksdb-on-steroids.html."},{"key":"e_1_3_2_9_2","unstructured":"Samsung. [n.d.]. SSD Storage Capacities Increase With Improved Storage Density. Retrieved from https:\/\/insights.samsung.com\/2016\/06\/28\/ssd-storage-capacities-increase-with-improved-storage-density\/."},{"key":"e_1_3_2_10_2","unstructured":"CDW-G. [n.d.]. Storage & Hard Drives\u2014The CDW-G website. Retrieved from https:\/\/www.cdwg.com\/content\/cdwg\/en\/products\/storage-and-hard-drives.html."},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/2463676.2465296"},{"key":"e_1_3_2_12_2","unstructured":"Andrew Audibert. Scalable Metadata Service in Alluxio: Storing Billions of Files. Retrieved from https:\/\/www.alluxio.io\/blog\/scalable-metadata-service-in-alluxio-storing-billions-of-files\/."},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.5555\/3323298.3323315"},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.5555\/3154690.3154725"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.5555\/3358807.3358871"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/3064176.3064193"},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.5555\/2535461.2535468"},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.5555\/3386691.3386712"},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.5555\/3277355.3277451"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378515"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.5555\/3489146.3489150"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807152"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3064054"},{"key":"e_1_3_2_24_2","volume-title":"Proceedings of the International Workshop on Large Scale Distributed Systems and Middleware: Keynote (LADIS'09)","author":"Dean Jeff","year":"2009","unstructured":"Jeff Dean. 2009. Designs, lessons and advice from building large distributed systems. In Proceedings of the International Workshop on Large Scale Distributed Systems and Middleware: Keynote (LADIS'09)."},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.14778\/1920841.1921015"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/DSN.2014.62"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/3190508.3190524"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/3317550.3321426"},{"key":"e_1_3_2_29_2","unstructured":"Facebook. [n.d.]. Cassandra on RocksDB at Instagram. Retrieved from https:\/\/developers.facebook.com\/videos\/f8-2018\/cassandra-on-rocksdb-at-instagram."},{"key":"e_1_3_2_30_2","unstructured":"Facebook. [n.d.]. Retrieved from MyRocks. http:\/\/myrocks.io\/."},{"key":"e_1_3_2_31_2","unstructured":"Facebook. [n.d.]. Under the Hood: Building and Open-sourcing RocksDB. Retrieved from https:\/\/www.facebook.com\/notes\/facebook-engineering\/under-the-hood-building-and-open-sourcing-rocksdb\/10151822347683920\/."},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/3236024.3236030"},{"issue":"2","key":"e_1_3_2_33_2","first-page":"3","article-title":"Varieties of Concurrency Control in IMS\/VS Fast Path","volume":"8","author":"Gawlick Dieter","year":"1985","unstructured":"Dieter Gawlick and David Kinkade. 1985. Varieties of Concurrency Control in IMS\/VS Fast Path. IEEE Database Eng. Bull. 8, 2 (1985), 3\u201310.","journal-title":"IEEE Database Eng. Bull."},{"key":"e_1_3_2_34_2","unstructured":"Sanjay Ghemawat and Jeff Dean. 2014. LevelDB A Fast and Lightweight Key\/Value Database Library by Google. Retrieved from https:\/\/github.com\/google\/leveldb."},{"key":"e_1_3_2_35_2","doi-asserted-by":"publisher","DOI":"10.1109\/UCC.2018.00033"},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/41457.37518"},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2019.2947897"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/3299869.3314041"},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.14778\/2735496.2735502"},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.5555\/3277355.3277448"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.5555\/3489146.3489158"},{"key":"e_1_3_2_42_2","unstructured":"Intel. [n.d.]. Breakthrough Performance for Demanding Storage Workloads. https:\/\/www.intel.com\/content\/dam\/www\/public\/us\/en\/documents\/product-briefs\/optane-ssd-905p-product-brief.pdf."},{"key":"e_1_3_2_43_2","unstructured":"Intel. [n.d.]. SPDK: Storage Performance Development Kit. Retrieved from https:\/\/spdk.io\/."},{"key":"e_1_3_2_44_2","unstructured":"Andrew Pavlo Jianhong Li and Siying Dong. 2017. NVMRocks: RocksDB on Non-Volatile Memory Systems. Retrieved from http:\/\/istc-bigdata.org\/index.php\/nvmrocks-rocksdb-on-non-volatile-memory-systems\/."},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.5555\/3323298.3323317"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.1145\/3319647.3325831"},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.5555\/3277355.3277450"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1145\/2980024.2872392"},{"key":"e_1_3_2_49_2","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132770"},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.1145\/1773912.1773922"},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.5555\/3358807.3358858"},{"key":"e_1_3_2_52_2","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359628"},{"key":"e_1_3_2_53_2","doi-asserted-by":"publisher","DOI":"10.1145\/3387902.3392621"},{"key":"e_1_3_2_54_2","doi-asserted-by":"publisher","DOI":"10.5555\/3358807.3358870"},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","DOI":"10.5555\/2930583.2930595"},{"key":"e_1_3_2_56_2","doi-asserted-by":"publisher","DOI":"10.5555\/3323298.3323313"},{"key":"e_1_3_2_57_2","doi-asserted-by":"publisher","DOI":"10.1145\/3033273"},{"key":"e_1_3_2_58_2","doi-asserted-by":"publisher","DOI":"10.1145\/128765.128770"},{"key":"e_1_3_2_59_2","doi-asserted-by":"publisher","DOI":"10.5555\/2482626.2482663"},{"key":"e_1_3_2_60_2","doi-asserted-by":"publisher","DOI":"10.14778\/2732228.2732231"},{"key":"e_1_3_2_61_2","doi-asserted-by":"publisher","DOI":"10.5555\/3277355.3277420"},{"key":"e_1_3_2_62_2","doi-asserted-by":"publisher","DOI":"10.1109\/MSST.2013.6558434"},{"key":"e_1_3_2_63_2","unstructured":"Ashwini Raina Asaf Cidon Kyle Jamieson and Michael J. Freedman. 2020. PrismDB: Read-aware Log-structured Merge Trees for Heterogeneous Storage. Retrieved from https:\/\/arxiv.org\/abs\/2008.02352."},{"key":"e_1_3_2_64_2","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132765"},{"key":"e_1_3_2_65_2","doi-asserted-by":"publisher","DOI":"10.14778\/3151106.3151108"},{"key":"e_1_3_2_66_2","unstructured":"Samsung. Ultra-Low Latency with Samsung Z-NAND SSD. Retrieved from https:\/\/www.samsung.com\/us\/labs\/pdfs\/collateral\/Samsung_Z-NAND_Technology_Brief_v5.pdf."},{"key":"e_1_3_2_67_2","unstructured":"Dong Siying. 2017. Workload Diversity with RocksDB. Retrieved from http:\/\/www.hpts.ws\/papers\/2017\/hpts2017_rocksdb.pdf."},{"key":"e_1_3_2_68_2","unstructured":"SPDK. BlobFS (Blobstore Filesystem)\u2014BlobFS Getting Started Guide\u2014RocksDB Integration. Retrieved from https:\/\/spdk.io\/doc\/blobfs.html."},{"key":"e_1_3_2_69_2","doi-asserted-by":"publisher","DOI":"10.1145\/2786763.2694348"},{"key":"e_1_3_2_70_2","unstructured":"Toshiba. Toshiba Memory Introduces XL-FLASH Storage Class Memory Solution. Retrieved from https:\/\/business.kioxia.com\/en-us\/news\/2019\/memory-20190805-1.html."},{"key":"e_1_3_2_71_2","doi-asserted-by":"publisher","DOI":"10.14778\/2732951.2732960"},{"key":"e_1_3_2_72_2","doi-asserted-by":"publisher","DOI":"10.1145\/502059.502057"},{"key":"e_1_3_2_73_2","doi-asserted-by":"publisher","DOI":"10.5555\/3357062.3357066"},{"key":"e_1_3_2_74_2","doi-asserted-by":"publisher","DOI":"10.5555\/2813767.2813773"},{"key":"e_1_3_2_75_2","doi-asserted-by":"publisher","DOI":"10.5555\/3154690.3154724"},{"key":"e_1_3_2_76_2","doi-asserted-by":"publisher","DOI":"10.5555\/3489146.3489153"},{"key":"e_1_3_2_77_2","doi-asserted-by":"publisher","DOI":"10.1109\/CloudCom.2017.14"},{"key":"e_1_3_2_78_2","doi-asserted-by":"publisher","DOI":"10.1109\/SC2.2018.00016"},{"key":"e_1_3_2_79_2","doi-asserted-by":"publisher","DOI":"10.5555\/3489146.3489148"},{"key":"e_1_3_2_80_2","doi-asserted-by":"publisher","DOI":"10.1145\/3267809.3267846"},{"key":"e_1_3_2_81_2","doi-asserted-by":"publisher","DOI":"10.5555\/3386691.3386704"},{"key":"e_1_3_2_82_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE48307.2020.00034"},{"key":"e_1_3_2_83_2","doi-asserted-by":"publisher","DOI":"10.5555\/3386691.3386713"},{"key":"e_1_3_2_84_2","doi-asserted-by":"publisher","DOI":"10.5555\/3323298.3323318"},{"key":"e_1_3_2_85_2","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685085"},{"key":"e_1_3_2_86_2","doi-asserted-by":"publisher","DOI":"10.14778\/3384345.3384351"}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3480963","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3480963","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:18:23Z","timestamp":1750191503000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3480963"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,10,15]]},"references-count":85,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2021,11,30]]}},"alternative-id":["10.1145\/3480963"],"URL":"https:\/\/doi.org\/10.1145\/3480963","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"value":"1553-3077","type":"print"},{"value":"1553-3093","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,10,15]]},"assertion":[{"value":"2021-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-08-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2021-10-15","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}