Journal-Based Database Schema Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing environments, managing transactions across multiple data stores is challenging due to the lack of support for ACID properties, varying data types, and network delays, leading to complex and unreliable transaction management mechanisms.

Innovation Solution

A journal-based multi-data-store database system that dynamically verifies compatibility between application schemas and journal schemas, using a data-store-independent transaction language and optimistic concurrency control, allowing for robust transaction management across diverse data stores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ad-hoc transaction management mechanisms are implemented by developers, then transaction support across data store boundaries can be achieved, but the system becomes hard to maintain and complex as data stores evolve

Engineering Contradiction:
Improvetransaction supportVSAvoidtransaction management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a schema verification mechanism as an intermediary layer between applications and the journal-based database. This schema acts as a contract that automatically verifies compatibility between application expectations and database structure, eliminating the need for complex ad-hoc transaction management while maintaining reliability across evolving data stores.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs schema compatibility verification in advance before transactions are executed. By checking whether application schemas match the journal schema beforehand, the system prevents runtime errors and maintains transaction reliability without requiring complex runtime transaction management mechanisms.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If different data stores with varying primitive types and operations are used, then application versatility is improved, but transaction management becomes more complex

Engineering Contradiction:
Improvedata store flexibilityVSAvoidtransaction management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal journal schema that can represent multiple data store types and their varying primitive types through a common structure. This allows the system to work with diverse data stores (relational, non-relational, key-value, document stores) while maintaining a single transaction management approach, eliminating the need for complex type-specific handling.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If schema changes are made to accommodate evolving application requirements, then adaptability is improved, but compatibility with existing applications may be lost

Engineering Contradiction:
Improveschema evolution capabilityVSAvoidapplication compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the schema verification process checks whether schema changes maintain compatibility with existing applications. When schema evolution is proposed, the system verifies it against the established journal schema, providing feedback that ensures compatibility is maintained while allowing necessary evolution.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent enables dynamic schema evolution through the journal-based architecture. The journal schema can be modified to accommodate new data types and structures while the verification mechanism ensures that these changes are backward compatible, allowing the system to adapt to evolving requirements without breaking existing applications.

Inventive Principle:
Principle #15Dynamics

4Productivity

If optimistic concurrency control is used to improve transaction throughput, then productivity is improved, but reliability may be reduced due to potential conflicts

Engineering Contradiction:
Improvetransaction rateVSAvoidtransaction consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs schema compatibility verification in advance as a preliminary action before transactions proceed. This upfront verification ensures that all transactions operate on compatible schemas, eliminating a major source of conflicts that would otherwise require rollback and retry, thereby maintaining high throughput while ensuring consistency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10621156B1Application schemas for journal-based databases
Publication Date: 2020.04.14 AMAZON TECH INC
  • US10621156B1 patent drawing
  • US10621156B1 patent drawing
  • US10621156B1 patent drawing

AI summary

A client-side component of a journal-based multi-data-store database identifies an application schema corresponding to a first application whose data is stored at the database. The application schema includes a writes section indicating a data object to which writes are to be issued from the first application. A journal schema defining one or more data objects for which a concurrency-control protocol is implemented by a journal manager of the database is obtained. Before a transaction request of the application is submitted to the journal manager, the client-side component verifies that the application schema is compatible with the journal schema.