Schema Versioning for Key-Value Database Table Modifications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face challenges in efficiently propagating and managing schema changes across distributed database systems, particularly in key-value or non-relational databases, which limits the ability to perform higher-level operations like modifying columns and maintaining data integrity.

Innovation Solution

A data schema mapping customer or external column identifiers to internal identifiers is used, allowing for the addition, deletion, and modification of attributes in a data table, while propagating changes across storage nodes, enabling higher-level operations like those in relational databases within a key-value or non-relational database system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If schema changes are propagated across distributed database nodes, then data integrity is maintained, but system complexity and resource consumption increase

Engineering Contradiction:
Improvedata integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

A schema version identifier acts as an intermediary mechanism between schema definition and data storage operations. The version ID is embedded in data objects and used by compute nodes to verify schema compatibility, enabling automatic validation without complex coordination protocols across distributed nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Schema version identifiers are assigned and tracked in advance before actual schema changes are applied to distributed nodes. This preliminary versioning allows nodes to pre-validate schema compatibility and prepare for changes, reducing the complexity of real-time coordination during schema propagation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If schema modifications are implemented across all storage nodes, then data consistency is ensured, but operation time and resource usage increase

Engineering Contradiction:
Improvedata consistencyVSAvoidoperation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Compute nodes autonomously verify schema compatibility by checking version identifiers embedded in data objects against their local schema versions. This self-service validation eliminates the need for centralized coordination and reduces the time required to propagate schema changes across distributed nodes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The schema version identifier provides immediate feedback to compute nodes about schema compatibility. When a data object's version ID matches the node's schema version, the operation proceeds without additional validation, reducing operation time while maintaining consistency.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If version tracking is implemented for schema changes, then schema evolution is enabled, but device complexity increases

Engineering Contradiction:
Improveschema evolutionVSAvoidtracking complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A schema version identifier parameter is introduced to track schema evolution. This single parameter change enables version tracking without requiring complex data structures or additional state management, keeping the tracking mechanism simple while supporting schema evolution.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If key-value database operations are enhanced with schema support, then operational capability is improved, but resource requirements increase

Engineering Contradiction:
Improveoperational capabilityVSAvoidresource requirements
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Full schema validation is applied only when necessary - specifically when schema version identifiers need to be verified or updated. For routine operations with matching versions, minimal validation is performed, reducing resource requirements while maintaining operational capability.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11138164B1Alter table implementation details with schema versioning
Publication Date: 2021.10.05 AMAZON TECH INC
  • US11138164B1 patent drawing
  • US11138164B1 patent drawing
  • US11138164B1 patent drawing

AI summary

A service implements techniques for modifying a data table stored in a key-value or non-relational database via a table-oriented schema. In some aspects, a request to modify a table-oriented schema of a table of data may be received. In response to the request, an association between a customer identifier of elements of the table and an internal identifier of elements of the table may be stored that updates a prior association between a customer identifier and an internal identifier. The table-oriented schema of the table may be modified using one or more keys that are generated using the internal identifier.