{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,24]],"date-time":"2026-04-24T18:29:48Z","timestamp":1777055388018,"version":"3.51.4"},"reference-count":41,"publisher":"Association for Computing Machinery (ACM)","issue":"12","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2024,8]]},"abstract":"<jats:p>In recent years at Tencent, we have observed that the use of multiple NoSQL databases for storing business data with diverse models has led to increased programming and deployment costs, as well as inefficient maintenance and underutilized resources. In this paper, we report X-Stor, a cloud-native NoSQL database system that supports multiple data models by extending different storage engines and efficiently managing them through a unified control plane. This design significantly reduces expenses and enables rapid expansion of new models, while seamlessly supporting their complete functionality through storage engine extensions. By consolidating multi-tenant services and data models on the same physical machines, X-Stor significantly enhances the utilization of cluster resources. Additionally, X-Stor introduces a standardized metric called Request Unit (RU) to measure tenant resource consumption for consumption-based pricing purposes. Leveraging this metric, we design RU-based resource management strategies and achieve efficient multi-tenant resource isolation and system load balancing. Currently, X-Stor manages a storage capacity of over 12PB for online operational data, including more than 100,000 tables with multiple data models. It handles 700 billion requests per day with a peak of 30 million requests per second. We evaluate the performance of X-Stor on popular benchmarks and production workloads. The results show that X-Stor performs well under diverse data models.<\/jats:p>","DOI":"10.14778\/3685800.3685824","type":"journal-article","created":{"date-parts":[[2024,11,8]],"date-time":"2024-11-08T17:25:21Z","timestamp":1731086721000},"page":"4025-4037","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":5,"title":["X-Stor: A Cloud-Native NoSQL Database Service with Multi-Model Support"],"prefix":"10.14778","volume":"17","author":[{"given":"Hongyu","family":"Lei","sequence":"first","affiliation":[{"name":"WNLO, HUST"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chunhua","family":"Li","sequence":"additional","affiliation":[{"name":"WNLO, HUST"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ke","family":"Zhou","sequence":"additional","affiliation":[{"name":"WNLO, HUST"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jianping","family":"Zhu","sequence":"additional","affiliation":[{"name":"Tencent Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kezhou","family":"Yan","sequence":"additional","affiliation":[{"name":"Tencent Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Fen","family":"Xiao","sequence":"additional","affiliation":[{"name":"Tencent Inc."}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ming","family":"Xie","sequence":"additional","affiliation":[{"name":"Tencent Inc.; WNLO, HUST"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jiang","family":"Wang","sequence":"additional","affiliation":[{"name":"Tencent Inc.; WNLO, HUST"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Shiyu","family":"Di","sequence":"additional","affiliation":[{"name":"Tencent Inc.; WNLO, HUST"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,11,8]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"2021. LevelDB. https:\/\/github.com\/google\/leveldb Last accessed: 2024-07-15."},{"key":"e_1_2_1_2_1","unstructured":"2023. DbBenchmark. https:\/\/github.com\/google\/leveldb\/tree\/main\/benchmarks Last accessed: 2024-07-15."},{"key":"e_1_2_1_3_1","unstructured":"2023. FlexBuffer. http:\/\/github.com\/google\/flatbuffers Last accessed: 2024-07-15."},{"key":"e_1_2_1_4_1","unstructured":"2023. Taskflow. https:\/\/github.com\/taskflow\/taskflow Last accessed: 2024-07-15."},{"key":"e_1_2_1_5_1","unstructured":"2024. Tencent Kubernetes Engine. https:\/\/www.tencentcloud.com\/products\/tke. Last accessed: 2024-07-15."},{"key":"e_1_2_1_6_1","unstructured":"2024. Time Series Benchmark Suite. https:\/\/github.com\/timescale\/tsbs Last accessed: 2024-07-15."},{"key":"e_1_2_1_7_1","unstructured":"2024. Yahoo! Cloud Serving Benchmark. https:\/\/github.com\/brianfrankcooper\/YCSB Last accessed: 2024-07-15."},{"key":"e_1_2_1_8_1","unstructured":"ArangoDB. 2023. The Most Complete And Scalable Graph Database For Real-world Use Cases. https:\/\/arangodb.com\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.14778\/3625054.3625058"},{"key":"e_1_2_1_10_1","unstructured":"Microsoft Azure. 2024. Azure Cosmos DB. https:\/\/azure.microsoft.com\/enus\/products\/cosmos-db\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/S10107-018-1325-X"},{"key":"e_1_2_1_12_1","unstructured":"Apache Cassandra. 2024. Apache Cassandra. https:\/\/cassandra.apache.org\/_\/index.html Last accessed: 2024-07-15."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183713.3196898"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1016\/J.COSREV.2016.12.001"},{"key":"e_1_2_1_15_1","volume-title":"Copysets: Reducing the Frequency of Data Loss in Cloud Storage. In 2013 USENIX Annual Technical Conference","author":"Cidon Asaf","year":"2013","unstructured":"Asaf Cidon, Stephen M. Rumble, Ryan Stutsman, Sachin Katti, John K. Ousterhout, and Mendel Rosenblum. 2013. Copysets: Reducing the Frequency of Data Loss in Cloud Storage. In 2013 USENIX Annual Technical Conference, San Jose, CA, USA, June 26--28, 2013. USENIX Association, 37--48. https:\/\/www.usenix.org\/conference\/atc13\/technical-sessions\/presentation\/cidon"},{"key":"e_1_2_1_16_1","unstructured":"CoreDNS. 2023. Kubernetes CoreDNS. https:\/\/coredns.io\/plugins\/kubernetes\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732219.2732223"},{"key":"e_1_2_1_18_1","volume-title":"2022 USENIX Annual Technical Conference, USENIX ATC 2022","author":"Elhemali Mostafa","year":"2022","unstructured":"Mostafa Elhemali, Niall Gallagher, Nick Gordon, Joseph Idziorek, Richard Krog, Colin Lazier, Erben Mo, Akhilesh Mritunjai, Somasundaram Perianayagam, Tim Rath, Swami Sivasubramanian, James Christopher Sorenson III, Sroaj Sosothikul, Doug Terry, and Akshat Vig. 2022. Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service. In 2022 USENIX Annual Technical Conference, USENIX ATC 2022, Carlsbad, CA, USA, July 11--13, 2022. USENIX Association, 1037--1048. https:\/\/www.usenix.org\/conference\/atc22\/presentation\/elhemali"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1016\/J.JDA.2010.07.002"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.14778\/3415478.3415535"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3102980.3103005"},{"key":"e_1_2_1_22_1","unstructured":"Aerospike Inc. 2024. Aerospike. https:\/\/aerospike.com\/products\/database\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_23_1","unstructured":"InfluxData Inc. 2024. InfluxDB. https:\/\/docs.influxdata.com\/influxdb\/v2\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_24_1","unstructured":"InfluxData Inc. 2024. InfluxDB TSM. https:\/\/docs.influxdata.com\/influxdb\/v1\/concepts\/storage_engine\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_25_1","unstructured":"MongoDB Inc. 2023. MongoDB. https:\/\/www.mongodb.com\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_26_1","unstructured":"Meta Platforms Inc. 2022. RocksDB. https:\/\/rocksdb.org\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-29919-8_7"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3542700.3542706"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.14778\/3551793.3551814"},{"key":"e_1_2_1_30_1","unstructured":"Kubernetes. 2024. Kubernetes Horizontal Pod Autoscaling. https:\/\/kubernetes.io\/docs\/tasks\/run-application\/horizontal-pod-autoscale\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2452376.2452385"},{"key":"e_1_2_1_32_1","volume-title":"SQLVM: Performance Isolation in Multi-Tenant Relational Database-as-a-Service. In Sixth Biennial Conference on Innovative Data Systems Research, CIDR","author":"Narasayya Vivek R.","year":"2013","unstructured":"Vivek R. Narasayya, Sudipto Das, Manoj Syamala, Badrish Chandramouli, and Surajit Chaudhuri. 2013. SQLVM: Performance Isolation in Multi-Tenant Relational Database-as-a-Service. In Sixth Biennial Conference on Innovative Data Systems Research, CIDR 2013, Asilomar, CA, USA, January 6--9, 2013, Online Proceedings. www.cidrdb.org. http:\/\/cidrdb.org\/cidr2013\/Papers\/CIDR13_Paper25.pdf"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.14778\/2752939.2752942"},{"key":"e_1_2_1_34_1","unstructured":"Oracle. 2024. Oracle NoSQL. https:\/\/www.oracle.com\/database\/nosql\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_35_1","unstructured":"OrientDB. 2020. OrientDB Multi-Model. https:\/\/orientdb.org\/docs\/3.0.x\/datamodeling\/Tutorial-Document-and-graph-model.html Last accessed: 2024-07-15."},{"key":"e_1_2_1_36_1","unstructured":"Rina Panigrahy Kunal Talwar Lincoln K. Uyeda and Udi Wieder. 2011. Heuristics for Vector Bin Packing. https:\/\/api.semanticscholar.org\/CorpusID:17946270"},{"key":"e_1_2_1_37_1","unstructured":"Redis. 2024. Redis. https:\/\/redis.io\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_38_1","unstructured":"Redis. 2024. Redis Module. https:\/\/redis.com\/community\/redis-modules-hub\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2005.176"},{"key":"e_1_2_1_40_1","unstructured":"Amazon Web Services. 2024. DynamoDB. https:\/\/aws.amazon.com\/dynamodb\/. Last accessed: 2024-07-15."},{"key":"e_1_2_1_41_1","unstructured":"Wikipedia. 2024. Bin packing problem. https:\/\/en.wikipedia.org\/wiki\/Bin_packing_problem Last accessed: 2024-07-15."}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3685800.3685824","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,12,31]],"date-time":"2024-12-31T05:32:28Z","timestamp":1735623148000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3685800.3685824"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,8]]},"references-count":41,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2024,8]]}},"alternative-id":["10.14778\/3685800.3685824"],"URL":"https:\/\/doi.org\/10.14778\/3685800.3685824","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2024,8]]},"assertion":[{"value":"2024-11-08","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}