Blockchain Version Control for Schema Compatibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-tenant database systems, managing schema evolution and ensuring structural compatibility of changes across releases is challenging, as existing solutions lack mechanisms to enforce compatibility rules, leading to potential disruptions and inconsistencies in source code management.
Innovation Solution
Implementing a blockchain-based system where rule tables are serialized externally and validated, ensuring that new or edited records respect prior history and compatibility rules by signing and chaining records with an untamperable key, and only allowing one successor to each block of change records, thus maintaining a single trunk branch of source changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If typical source code management solutions are used to allow developers to make changes and merge files, then developers can collaborate on software development, but there is no mechanism to ensure structural compatibility of changes between releases
Solution Approach 1:
The patent introduces a validation service as an intermediary component that sits between the source code management system and the database schema. This validation service receives schema change definitions, validates them against compatibility rules, and only allows changes that pass validation. The intermediary ensures that collaborative developments maintain schema compatibility without requiring direct control over every developer's changes.
Solution Approach 2:
The patent implements preliminary validation of schema changes before they are applied to the database. The validation service checks proposed changes against a set of compatibility rules in advance, and only allows changes that are predicted to be compatible. This preliminary action prevents incompatible changes from being deployed, ensuring reliability while allowing collaborative development.
2Ease of manufacture
If development rules are published so developers can comply with them, then schema evolution can be guided, but the rules themselves can be modified by developers providing no guarantee of compatibility
Solution Approach 1:
The patent segments the system into separate components: a validation service that manages rules and a development environment where developers work. The validation service maintains a centralized set of compatibility rules that are separate from the source code, allowing rules to be managed independently. This segmentation prevents developers from modifying the rules themselves while still guiding their development work.
Solution Approach 2:
The validation service provides feedback to developers about whether their schema changes comply with the established rules. When developers submit changes, the validation service automatically checks them and returns compliance information. This feedback mechanism guides developers to create compatible changes without requiring them to manually verify against complex compatibility requirements.
3Reliability
If a centralized online service is used to ingest source files and validate them against development rules, then schema compatibility can be enforced, but all development must be done online precluding disconnected development
Solution Approach 1:
The validation service is designed to be dynamically configurable through external rule tables that can be updated without requiring system-wide changes. The service can adapt to different validation requirements by loading different rule sets, and it can operate in different modes (online validation or offline with cached rules). This dynamic design allows the system to maintain reliability while accommodating flexible development operations including disconnected work.
4Reliability
If rules tables are maintained externally to validate schema changes, then compatibility can be validated, but the system complexity increases with external serialization and validation mechanisms
Solution Approach 1:
The validation service creates a simplified copy or representation of the database schema and compatibility rules in memory. Instead of working with the full complex database system, the validation service maintains a manageable copy of the schema structure and validates changes against this copy using the externalized rules. This copying approach reduces the complexity of the validation process while maintaining comprehensive compatibility checking.
Data Source
AI summary
Distributed version control systems, methods, and computer-readable media are described. A computer system may implement a version control blockchain system by obtaining source code and/or an artifact associated with source code. The computer system may serialize the source code and/or the artifact to obtain serialized data, and may encipher the serialized data to obtain a current block identifier (cb_id). The computer system may generate a block to include the cb_id, and may add the generated block to the version control blockchain upon validation of the block. Other embodiments may be described and/or claimed.


