FrigateBird: Decoupling Metadata/Data Services for Continuously Fast Object Storage
Currently, ride-hailing service has tens of millions of registered drivers and hundreds of millions of registered passengers, serving tens of millions of rides per day. Different from social media applications like Facebook and LinkedIn, ride hailing needs to read/write/query a large number of small objects (like photos and audio/video pieces) <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">always fast</i>, so that it can support critical online computations such as face comparison and sentiment analysis on audio/video records. This is of particular importance for ride-hailing service to recognize and avoid potential dangers. Existing object stores (like Haystack and Tectonic) usually store object data in files and place object metadata in a separate key-value store (like RocksDB), which is unsuitable for ride-hailing service mainly because the objects' file-related information is placed together with the object data. This severely affects the I/O performance of object storage: first, for crash consistency, the writes of object data and object metadata must be conducted in <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">separate</i> phases of one transaction, which significantly increases I/O latency; second, the space of deleted objects needs to be reclaimed via <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">compaction</i>, which could sharply lower I/O performance when the system is busy in serving normal read/write requests. This paper describes FrigateBird, a continuously fast object store for ride-hailing service. FrigateBird differs from existing object stores in three aspects. First, we present a metadata/data decoupled service architecture for object storage, where the <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">rich</i> metadata service realizes efficient queries and updates of object metadata, and the <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">raw</i> data service purely performs disk I/O to read/write object data from/to raw disks. Second, we propose a rich metadata structure (called <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Richmeta</i>) taking the write operation logs as part of object metadata, which allows FrigateBird to <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">simultaneously</i> write the object data to raw disks (without filesystem overhead) and write the metadata to a key-value store, guaranteeing crash consistency by checking whether the transaction is completed and rolling back if not. Third, we design a compaction-free deletion mechanism which can efficiently delete an object by only updating the metadata without involving the data service, so that FrigateBird can efficiently support ride-hailing service's frequent delete operations while avoiding data-migration-caused performance hiccup. Evaluation shows that FrigateBird outperforms the state-of-the-art object stores by up to <inline-formula xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink"><tex-math notation="LaTeX">$3.36\times$</tex-math></inline-formula> and <inline-formula xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink"><tex-math notation="LaTeX">$27.9\times$</tex-math></inline-formula> in the mean I/O latency for normal and in-compaction scenarios, respectively.
Authors
- Kekun Hu (ORCID: https://orcid.org/0000-0003-3433-9566)
- Rengang Li (ORCID: https://orcid.org/0000-0002-4297-4335)
- Hailiang Chen (ORCID: https://orcid.org/0000-0002-5802-2670)
- Gang Dong (ORCID: https://orcid.org/0000-0001-6557-2286)
- Yiming Zhang (ORCID: https://orcid.org/0000-0002-9902-4664)
Institutions
- Coal Industry Jinan Design & Research Institute (China) (CN)
- Institute of Software (CN)
Publication Details
- Journal
- IEEE Transactions on Services Computing
- Published
- 2025-01-01
- DOI
- https://doi.org/10.1109/tsc.2025.3594340
- Primary Topic
- Advanced Data Storage Technologies
- Type
- article
- Field-Weighted Citation Impact
- 0.00