Skip to content

Tiered storage device support #138

@badrishc

Description

@badrishc

We would like to create the first class notion of a tiered storage device implementing the IDevice interface. The device would take an ordered sequence of devices in the tiered hierarchy, e.g., [ LocalStorageDevice("C:..."), LocalStorageDevice("D:..."), AzurePageBlobStorageDevice("...") ]

It would also take in a parameter for commit level, i.e., after up to what level of completion do we return a "commit" for a page write. For example, we may wish to commit (1) as soon as the page is written to local storage, or (2) after the page is written to local storage and cloud storage.

Each tier would be associated with a range of addresses (segments) that are present at that tier. Reads are served by the highest tier that has the data. Each tier other than the last is also probably limited in size, e.g., 200GB for local SSD #1 via configuration. We can delete old segments from a tier by incrementing the valid start address for that segment and deleting the segment when it is safe to do so.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions