Database Versioning via External File Representation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database versioning systems require modifications to both database management systems and version control systems, and do not efficiently support local or central storage and dynamic switching between database versions, lacking support for undo and redo operations.

Innovation Solution

A method that identifies modified rows in a relational database, updates external representations of these rows, and creates versions in a version control system, allowing for efficient switching between database versions and supporting undo and redo operations by using a version layer that serializes data and exploits version control system operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If database versioning is implemented by modifying both database management systems and version control systems, then versioning functionality is achieved, but system complexity and modification requirements increase

Engineering Contradiction:
Improvedatabase versioning functionalityVSAvoidsystem modification requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer that translates between database operations and version control operations without modifying the core systems. This intermediary enables versioning functionality by acting as a bridge between the database management system and version control system, avoiding direct modifications to either system while still achieving reliable database versioning.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If traditional version control methods are used for databases, then version tracking is possible, but efficient switching between versions and support for undo/redo operations are lacking

Engineering Contradiction:
Improveversion tracking capabilityVSAvoidversion switching and undo/redo operations
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the database into multiple versions that can be independently managed and switched between. By dividing the database state into discrete version segments, the system enables efficient version switching and supports undo/redo operations by allowing rapid transitions between different version segments without requiring complex diffing or merging operations.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If database versions are stored without external representation, then storage is simplified, but flexibility in storage location (local or central) and version management is reduced

Engineering Contradiction:
Improvestorage simplicityVSAvoidstorage location flexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal external representation format for database versions that can be stored in multiple locations (local or central repositories) and accessed by different systems. This multi-functional representation enables the same version data to serve multiple purposes and be managed flexibly across different storage configurations without requiring system-specific formats.

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

Data Source

PatentUS8918429B2Database versioning system
Publication Date: 2014.12.23 AUTODESK INC
  • US8918429B2 patent drawing
  • US8918429B2 patent drawing
  • US8918429B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for identifying one or more rows in a relational database that have each been modified since a first point in time, wherein each of the rows is associated with a respective table in the relational database; for each of the identified rows, updating a respective file in an external representation of the table associated with the row to reflect the modification to the row wherein the respective file is not stored in the database; and creating a first version of the relational database in a version control system using the external representation including one or more of the updated files, wherein the first version of the database comprises one or more files in the version control system.