In-Database Application Package Versioning and Update
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data platform providers face challenges in updating data products while they are in use, requiring a methodology that allows for fine-grained security controls, protection of consumer data and intellectual property, and seamless application updates without disrupting existing instances.
Innovation Solution
The proposed solution involves a data platform architecture that includes a compute service manager, execution platform, and metadata database, enabling the development, global distribution, and secure execution of in-database applications with fine-grained security controls, versioning, and asynchronous updates, ensuring that consumer environments remain secure and performance is maximized.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If in-database applications are updated while in use, then application functionality and security can be improved, but system stability and data integrity may be compromised
Solution Approach 1:
The system performs preliminary actions by creating a snapshot of the database state before applying updates. This allows the update process to proceed while maintaining a known good state that can be restored if needed, thus improving security through controlled updates while preserving system stability.
Solution Approach 2:
The update process is segmented into distinct phases: snapshot creation, update application, and validation. This segmentation allows each phase to be managed independently with appropriate security controls and stability保障措施, resolving the contradiction between updating and stability.
2Object-affected harmful factors
If fine-grained security controls are implemented, then consumer data and intellectual property are better protected, but system complexity increases
Solution Approach 1:
The system introduces an intermediary security layer that manages fine-grained controls without requiring complex modifications to the core database engine. This intermediary handles authentication, authorization, and data protection tasks, achieving strong security while containing system complexity in a dedicated module.
Solution Approach 2:
The system creates copies of security policies and access control rules that can be applied consistently across different data objects. This copying mechanism allows fine-grained security to be enforced through template-based approaches rather than individual complex configurations for each object.
3Stability of the object's composition
If application updates are applied globally, then consistency across all instances is improved, but performance of existing instances may be impacted
Solution Approach 1:
The update application process is made dynamic, allowing the system to adapt the update propagation based on current system conditions. Instances can be updated asynchronously with configurable priorities, enabling consistency to be achieved while minimizing performance impact by updating instances during low-utilization periods or using incremental update strategies.
Data Source
AI summary
An in-database application package and application instance for a data platform. The data platform creates an application instance of an application package having a versioned schema, creates one or more system roles for the application instance, creates a user role and an administrator role for the application instance, creates one or more objects of the application instance based on a versioned schema, and grants one or more use privileges to the one or more roles. Application instances of the application package are upgraded or patched on the data platform based on application package versions. To ensure a proper upgrade or patch, the data platform tracks versions of executing objects of application instances in a call context.


