Immutable Data Mutable Metadata Storage Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face challenges in maintaining the immutability of data and mutability of metadata, as existing solutions do not effectively manage versioning and updates of object data and metadata in a way that ensures data integrity and efficient storage operations.

Innovation Solution

A storage system architecture with two tiers - a data tier for immutable data records and a metadata tier for mutable metadata records, where requests to modify objects result in generating new records for data changes and overwriting existing metadata records for metadata changes, maintaining a one-to-one mapping between data and metadata records.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data and metadata are stored together in a single storage structure, then storage operations are simplified, but data integrity and version management become difficult to maintain

Engineering Contradiction:
Improvestorage operation simplicityVSAvoiddata integrity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent divides the storage system into two separate tiers: a data tier for immutable data records and a metadata tier for mutable metadata records. This segmentation allows independent management of data and metadata, ensuring data integrity while simplifying operations. Each tier can be optimized and managed separately, with the data tier maintaining immutability for reliability and the metadata tier allowing flexible updates for operational simplicity.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If data records are made mutable to allow updates, then storage flexibility improves, but data immutability and auditability are compromised

Engineering Contradiction:
Improvestorage flexibilityVSAvoiddata immutability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

By separating data records from metadata records into different tiers, the patent enables the data tier to maintain strict immutability for auditability and reliability, while the metadata tier provides the necessary flexibility for updates and modifications. This segmentation resolves the contradiction by allowing each tier to have different mutability characteristics appropriate to its function.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic characteristics by allowing the metadata tier to be mutable and adaptable while keeping the data tier static and immutable. This dynamic approach enables the system to adapt to changing requirements through metadata updates without compromising the integrity of the underlying data records.

Inventive Principle:
Principle #15Dynamics

3Reliability

If new data records are generated for every modification, then data versioning is maintained, but storage space and system complexity increase

Engineering Contradiction:
Improveversion controlVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments version management between data and metadata tiers. When data is modified, new data records are generated in the data tier to maintain versioning and immutability. Simultaneously, new metadata records are generated in the metadata tier to track these versions. This segmentation allows efficient version control without excessive complexity, as each tier independently manages its own versioning requirements.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10733159B2Maintaining immutable data and mutable metadata in a storage system
Publication Date: 2020.08.04 ORACLE INT CORP
  • US10733159B2 patent drawing
  • US10733159B2 patent drawing
  • US10733159B2 patent drawing

AI summary

Techniques for maintaining immutable data and mutable metadata in a storage system are disclosed. Each object is associated with one or more data records and one or more metadata records. Responsive to a request to modify the data of an object, a new data record and a new metadata record are generated for the object. The new data record stores the new data of the object. The new metadata record stores the new metadata corresponding to the new data of the object. Responsive to a request to modify the metadata of an object, an existing metadata record of the object is identified. The existing metadata record is overwritten with the new metadata of the object. No new data records or metadata records are generated.