Dynamic Schema Inference for Data Storage Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems either treat incoming data as opaque, leading to inconsistent storage, or require pre-defined schemas, which can be cumbersome and inflexible, especially for rapidly evolving data storage needs.

Innovation Solution

A dynamic schema inference and enforcement system that analyzes incoming data to determine an inferred schema, validates new data against this schema, and modifies the schema as needed, allowing for flexible and type-safe storage without pre-registration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional data storage systems store incoming data without schema validation, then data storage flexibility is improved, but data consistency and integrity deteriorate

Engineering Contradiction:
Improvedata storage flexibilityVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements dynamic schema evolution by transitioning from static pre-defined schemas to adaptive schemas that automatically evolve based on incoming data patterns. The schema determination component analyzes data units dynamically, allowing the schema to adapt and change over time while maintaining consistency within each epoch, thus resolving the contradiction between flexibility and consistency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of schema rigidity by introducing epoch-based schema versions. Instead of a fixed schema, the system maintains multiple schema versions corresponding to different time epochs, allowing the schema parameters to evolve dynamically. This enables both flexibility in adapting to new data formats and consistency within each schema version's validity period.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If pre-defined schemas are required for data storage, then data integrity is improved, but system complexity and ease of operation deteriorate

Engineering Contradiction:
Improvedata integrityVSAvoidschema management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically determining schemas from incoming data without requiring user intervention. The schema determination component autonomously analyzes data patterns, infers appropriate schemas, and manages schema evolution automatically. This eliminates the need for users to manually define and maintain complex schemas while preserving data integrity through automated validation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary schema determination by analyzing the first data unit to establish an initial schema before validating subsequent data units. This preliminary action creates a reference schema that is then used for validation, ensuring data integrity is maintained from the outset while automating the schema management process.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If rigid schema validation is applied to all incoming data, then data consistency is improved, but adaptability to evolving data structures deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidadaptability to data changes
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system applies dynamic validation by changing the schema used for validation based on the data unit being processed. For the first data unit, the system determines a schema and validates subsequent units against it. When new data units with different structures arrive, the system can transition to a new schema epoch, maintaining consistency within each epoch while adapting to evolving data structures across epochs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary schema determination on the first data unit to establish the validation rules before applying them to subsequent units. This preliminary action ensures that the schema reflects the actual data structure being validated, providing consistency for that data set while allowing the system to adapt to new data structures by determining new schemas for new data units.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11151097B2Dynamic schema inference and enforcement
Publication Date: 2021.10.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11151097B2 patent drawing
  • US11151097B2 patent drawing
  • US11151097B2 patent drawing

AI summary

Techniques and technologies for dynamic schema determination and enforcement are described. In at least some embodiments, a system comprises: a processing component; and a schema determination and enforcement component configured to receive a first data unit; analyze the first data unit to determine an inferred data schema; receive a second data unit; analyze the second data unit to determine whether the second incoming data unit complies with the inferred data schema; if the second data unit complies with the inferred data schema, write the second data unit to storage; and if the second data unit does not comply with the inferred data schema, at least one of: modify the inferred data schema based on the second data unit; or provide a notification of a non-compliance of the second data unit.