Versioned Schema Call Stack Management for Asynchronous Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data platforms face challenges in updating applications while they are in use, requiring methodologies that allow for seamless updates, fine-grained security controls, and protection of consumer data and intellectual property, while enabling global distribution and execution of in-database applications.
Innovation Solution
The proposed solution involves a data platform architecture that includes a compute service manager, execution platform, and metadata database, enabling the development, distribution, and secure execution of applications within a customer's environment, with explicit control over permissions and isolation of applications to prevent malicious behavior, along with a versioning methodology for database schema and application packages that allows asynchronous updates without impacting running instances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If application updates are performed while applications are in use, then continuous operation is maintained, but system stability and security may be compromised
Solution Approach 1:
The system segments the application update process into distinct phases: compilation of updated code, validation against security policies, and staged deployment. This segmentation allows updates to be prepared and verified before being applied to running applications, maintaining system stability while enabling continuous operation.
Solution Approach 2:
The system performs preliminary actions by compiling and validating updated application code before it is deployed to running instances. Security policies are established in advance, and update proposals are validated against these policies before application, ensuring that only secure updates are applied while maintaining continuous operation.
2Reliability
If fine-grained security controls are implemented for in-database applications, then protection of consumer data and intellectual property is improved, but system complexity increases
Solution Approach 1:
The system introduces an intermediary security policy layer that mediates between application code and consumer data. Security policies are defined as separate entities that can be validated automatically, reducing the complexity of implementing fine-grained controls while maintaining strong protection for consumer data and intellectual property.
Solution Approach 2:
The system enables self-service security validation by automatically checking update proposals against established security policies. This automated validation process reduces the manual complexity of implementing fine-grained security controls while maintaining comprehensive data protection.
3Ease of operation
If versioning methodology is implemented for schema and application packages, then seamless updates are enabled, but processing overhead increases
Solution Approach 1:
The system uses copying by maintaining versioned copies of schema and application packages. Update proposals are validated against these versioned copies, enabling seamless updates through automated version comparison and validation without significant processing overhead.
Data Source
AI summary
A versioned schema of a data platform. A process of maintaining a call stack of executing objects of an application package having a versioned schema includes calling, by a first procedure executed by one or more processors, a second procedure of a versioned application instance, and determining, by the first procedure, a version of the second procedure based on a call context. In response to determining that the version of the second procedure is not in the call context, the first procedure determines a current version of the versioned application package adds the current version to the call context as the version of the second procedure.


