[ 
https://issues.apache.org/jira/browse/HDDS-6199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17483578#comment-17483578
 ] 

George Jahad commented on HDDS-6199:
------------------------------------

Thanks for posting this.  It certainly seems worth considering.

I'm no expert in FSO, but it seems like it may not be too difficult either.

*FSO Currently*

As I understand it, FSO works as follows:

It uses both a directoryTable and a fileTable.

The fileTable entries contains:
objectId
parentId
name
locationData

The directoryTable entries are the same, minus the locationData.

The key for both is "parentId:name", and bucket root entries have the bucketId 
for the parentId.

So traversing a bucket means finding all file and directory entries for that 
bucketId, then recursing on the objectId's of each directory found, until no 
more directories are found.

 

*FSO Using the Two Table Approach*


Using the rocksDb comparator, the key in the HISTORICAL tables would become 
"parentId:name:timestamp".

And traversing an old version of a bucket would mean a similar traversal to the 
one above.  However this time it would go through the HISTORICAL tables, find 
the "correct" version of each directory entry and file entry with that bucketId 
and recurse on those.  "correct" here means skipping any entries newer than the 
selected timestamp, and taking the first older ones as long as they aren't 
marked deleted.

I think a directory rename could be handled as a delete and create in the 
corresponding HISTORICAL table.

Maybe I'm missing something but FSO doesn't seem too bad either.

> Support for object store Snapshots in Ozone
> -------------------------------------------
>
>                 Key: HDDS-6199
>                 URL: https://issues.apache.org/jira/browse/HDDS-6199
>             Project: Apache Ozone
>          Issue Type: New Feature
>            Reporter: Neil Joshi
>            Assignee: Neil Joshi
>            Priority: Major
>         Attachments: ozone-snapshot-objectstore-design.pdf
>
>
> Support for object storage snapshots in ozone.  Snapshots taken at the bucket 
> level.  Supporting instantaneous snapshots, snapshot diffs, 1000s of 
> concurrent snapshots, admin control for snapshot CRUD, snapshots restored in 
> any order, among others (see requirements in design doc). 
> Use cases include data backup, disaster recovery and protection against user 
> errors.
>  
> google doc design doc (pdf in attachments),
> https://docs.google.com/document/d/18cicsI5085zQp8KQeYlj-gGgoQosNtXq/edit?usp=sharing&ouid=100641055930545452800&rtpof=true&sd=true



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to