Database Object Lifecycle Management via Dependency Graph Orchestration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In-memory databases introduce new features and data formats that require frequent updates to ABAP, making it impractical to redesign the system to natively support each new version, and existing lifecycle management systems struggle with managing multiple schemas and dependencies across different database infrastructures.
Innovation Solution
A dependency model is defined between objects managed by different infrastructures to provide top-level management, allowing for orchestration of multiple schemas and cross-schema dependencies, with logical and physical schema names used to manage and deploy database objects across various schemas, ensuring cycle-free dependencies and zero-downtime upgrades.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If ABAP is updated to support new features and data formats in each new version of in-memory database, then compatibility with new database versions is improved, but development complexity and maintenance burden increase significantly
Solution Approach 1:
The patent introduces an intermediary layer (runtime environment or translation service) that sits between the ABAP codebase and the in-memory database. This intermediary handles the complexity of new features and data formats, allowing the core ABAP system to remain stable while supporting new database versions through the intermediary's adaptation capabilities.
Solution Approach 2:
The system is segmented into distinct layers: the stable ABAP core, the adaptive runtime environment, and the in-memory database. This segmentation allows changes in the database layer to be isolated from the ABAP core, reducing the ripple effect of updates and lowering overall development complexity.
2Adaptability or versatility
If lifecycle management system manages multiple schemas and cross-schema dependencies, then schema orchestration capability is improved, but system complexity increases
Solution Approach 1:
The lifecycle management system implements a universal dependency graph structure that can represent any schema relationship pattern. This single versatile mechanism handles multiple schemas, cross-schema dependencies, and various object types uniformly, avoiding the need for separate specialized systems for each scenario.
Solution Approach 2:
The system employs feedback mechanisms through the dependency graph that automatically detect cycles, conflicts, and deployment order requirements. This feedback loop enables the system to self-regulate complexity by identifying and resolving issues before they propagate, maintaining manageability despite handling multiple schemas.
3Reliability
If deployment process ensures cycle-free dependencies and zero-downtime upgrades, then deployment reliability is improved, but deployment process complexity increases
Solution Approach 1:
The system performs preliminary analysis of the dependency graph before deployment to identify potential cycles and determine the optimal deployment sequence. By pre-calculating deployment orders and validating dependency constraints beforehand, the system ensures reliable zero-downtime upgrades without requiring complex real-time decision-making during the actual deployment process.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In an example embodiment, relationships among a plurality of schemas are examined to remove any cyclic dependencies. Then a cycle-free graph of the cyclic dependencies is constructed. A first delivery mechanism is used to deliver software objects of a first database type to a first of the plurality of schemas in a software object database, using the cycle-free graph. A second delivery mechanism is used to deliver software objects of a second database type to a second of the plurality of schemas in the software object database, using the cycle-free graph.