OSD Data-Metadata Separation for Faster Distributed Storage Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional distributed storage systems struggle to meet overall performance requirements due to the diversification of storage media and increased metadata generation, leading to issues such as affected metadata access performance or increased storage costs when managing data and metadata on different storage types, and the need for improved data reliability in scenarios like EC strip and multi-copy storage.
Innovation Solution
The system deploys separate modules for data and metadata management on OSD modules, allowing for independent handling of data and metadata operations, and employs strategies like EC strip and multi-copy storage to enhance reliability and performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If data and metadata are managed by one OSD module, then device complexity is reduced, but metadata access performance deteriorates and storage costs increase
Solution Approach 1:
The OSD module is segmented into separate data processing components and metadata processing components. This segmentation allows independent optimization of metadata access paths without affecting the overall OSD module structure, thereby improving metadata access performance while maintaining manageable system complexity.
Solution Approach 2:
Metadata processing functions are extracted from the unified OSD module and placed in dedicated metadata processing components. This extraction creates specialized pathways for metadata access, improving performance while the modular design keeps the system complexity controllable.
2Loss of energy
If data and metadata are stored on the same storage medium, then storage cost is reduced, but metadata access performance deteriorates
Solution Approach 1:
Different storage media are assigned to different data types based on their access requirements. Metadata is stored on faster storage media optimized for quick access, while bulk data is stored on cheaper, higher-capacity media. This local quality differentiation improves metadata access performance without unnecessarily increasing overall storage costs.
Solution Approach 2:
The system introduces a new dimension of storage hierarchy by separating metadata and data storage locations. Instead of using a single storage dimension, the patent creates a multi-dimensional storage architecture where metadata resides in a fast-access layer and data resides in a capacity-optimized layer, enabling both performance and cost optimization.
3Speed
If separate modules for data and metadata management are deployed, then metadata access performance is improved, but device complexity increases
Solution Approach 1:
The separated metadata processing modules and data processing modules share common infrastructure components, communication protocols, and management mechanisms. This multi-functionality allows the system to achieve specialized performance for metadata access while relying on shared resources to keep the overall device complexity manageable.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
This application discloses a distributed storage system, a data processing method, and a storage node, and relates to the field of distributed technologies, to help improve overall performance of the distributed storage system. The distributed storage system includes at least one storage node, and at least one object storage device OSD module is deployed on the at least one storage node. At least one data processing module and at least one metadata processing module that has a mapping relationship with the at least one data processing module are deployed on the at least one OSD module. A target data processing module is a data processing module allocated to an IO operation. The target data processing module is configured to: receive the IO operation; determine a target metadata processing module that has a mapping relationship with the target data processing module and an identifier of an OSD module in which the target metadata processing module is located; send an access operation to the target metadata processing module based on the identifier of the OSD module; and access data of the IO operation based on the IO operation. The target metadata processing module is configured to access metadata of the IO operation based on the access operation.