Database Deployment Containers for Dependency Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The deployment of database systems is complicated by the need for version control, lifecycle management, and dependency management, hindering efficient implementation and requiring a transactional all-or-nothing deployment model.
Innovation Solution
A deployment infrastructure generates a deployment container with artifacts and a schema indicative of dependencies, associating deployment privileges and deploying them based on the schema during application runtime, allowing for isolated and incremental deployment of database objects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional deployment processes are used, then version control and lifecycle management are achieved, but deployment complexity increases and efficiency decreases
Solution Approach 1:
A deployment container is introduced as an intermediary package that encapsulates all deployment artifacts (schemas, views, functions, etc.) and their dependency relationships. This container acts as a mediator between the deployment system and the database, automatically managing version control, lifecycle management, and dependency resolution without requiring complex manual processes.
Solution Approach 2:
Multiple deployment artifacts and their dependency relationships are merged into a single deployment container. This consolidation allows the system to treat the entire deployment unit as one atomic entity, simplifying the deployment process while maintaining comprehensive version control and lifecycle management capabilities.
2Reliability
If transactional all-or-nothing deployment is used, then deployment reliability is improved, but deployment flexibility and incremental updates are restricted
Solution Approach 1:
The deployment container is segmented into multiple independent artifacts (schemas, views, functions, etc.), each with its own dependency relationships. This segmentation allows the system to perform atomic deployment of individual artifacts while maintaining the overall transactional consistency through the container's dependency management mechanism.
Solution Approach 2:
The deployment system dynamically determines the deployment order and dependencies of artifacts within the container based on the container schema. This dynamic dependency resolution enables flexible incremental updates while ensuring transactional consistency, as the system automatically manages the all-or-nothing deployment logic based on artifact relationships.
3Reliability
If dependency management is manually handled, then deployment control is maintained, but deployment time and efficiency are reduced
Solution Approach 1:
The dependency relationships between artifacts are pre-defined and stored in the container schema during container creation. This preliminary action allows the deployment system to automatically retrieve and execute the correct deployment sequence without manual intervention, significantly improving deployment efficiency while maintaining reliable dependency management.
Solution Approach 2:
The deployment container contains self-descriptive metadata that automatically specifies dependency relationships between artifacts. The deployment system uses this self-service information to automatically manage deployment ordering and resolve dependencies, eliminating the need for manual dependency management while maintaining full control over the deployment process.
Data Source
AI summary
A system, a method, and a computer program product for deployment of objects are disclosed. Using a deployment infrastructure of a database system, a deployment container for deployment of at least one object at runtime of an application is generated. The container includes at least one artifact for the object and a container schema indicative of at least one dependency associated with the object. At least one deployment privilege is associated based on the container schema with the artifact for the object. The artifact of the deployment container is deployed based on the associated deployment schema during runtime of the application. The container can be an isolated container and an access privilege to an object can be requested based on a synonym for deployment purposes.


