## Delta Changes design ### Current --- #### Example data package ![](https://hackmd.io/_uploads/S1ux2KzWT.png =400x400) --- --- #### Bagit-Tree representation ![](https://hackmd.io/_uploads/SkK51izWa.png) --- --- ### Differential Versioning - Instead of creating entirely new data packages for each version, implement a differential versioning system. This system would only store the changes made between versions, rather than duplicating all files. - Each version would be a set of "deltas" or changes from the previous version. This approach significantly reduces storage requirements and indexing complexity. --- --- ### Use Cases --- #### UC01: Replacing file in a data package ![](https://hackmd.io/_uploads/ByAXYqGb6.png) --- --- ##### Compare ![](https://hackmd.io/_uploads/Sy5hu9M-p.png =300x400) --- --- #### UC02: Editing metadata ![](https://hackmd.io/_uploads/BJUodqGWp.png) --- --- ##### Compare ![](https://hackmd.io/_uploads/BkSgYcfbp.png =300x400) --- --- ##### Observations - First version ORE - Metadata changes - reindex all documents relations - two way pointers - Inefficient for n/2 replacements ---