Durable Database Functions with Isolated State Environments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database systems face challenges in managing complex workloads that are long-running, computationally expensive, and require efficient pausing, redeployment, and modification, while maintaining data consistency and durability.
Innovation Solution
Implementing functions in an isolated computing environment within the database system, allowing for pausing, updating, and redeploying by storing state variables in an isolated environment, enabling durable and consistent operation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If functions are implemented in a shared computing environment, then resource utilization is improved, but data consistency and durability are worsened
Solution Approach 1:
The patent segments the computing environment into isolated function environments, where each function executes in its own isolated space. This segmentation allows multiple functions to run concurrently (improving resource utilization) while maintaining separate state spaces that prevent interference between functions (ensuring data consistency and durability). The isolation mechanism creates boundaries that protect each function's state variables from being affected by other functions.
Solution Approach 2:
The patent introduces an intermediary layer (the isolated function environment) between the shared computing resources and the function state variables. This intermediary manages access to state variables through controlled interfaces, allowing resources to be shared while preventing unauthorized or conflicting modifications. The intermediary ensures that state variables are durably maintained by mediating all access through controlled entry and exit points.
2Adaptability or versatility
If functions are designed to be easily pausable and redeployable, then operational flexibility is improved, but system complexity is worsened
Solution Approach 1:
The patent uses copying mechanisms to enable easy pausing and redeployment of functions. When a function needs to be paused, its state is copied and preserved in the isolated environment. When redeployment is needed, the function can be copied to a new execution context while maintaining its state. This copying approach simplifies the implementation of pausable and redeployable functions compared to complex state management mechanisms.
Solution Approach 2:
The patent performs preliminary actions by pre-establishing isolated computing environments for functions before execution. The isolation infrastructure, state variable storage, and execution context are prepared in advance, which simplifies the pausing and redeployment operations. When pausing or redeploying is needed, the pre-configured environment can be quickly activated or suspended without complex setup procedures.
3Duration of action of stationary object
If state variables are stored in an isolated computing environment, then function durability is improved, but access efficiency is worsened
Solution Approach 1:
The patent extracts state variables from the general memory space and places them in a dedicated isolated storage area within the function's isolated environment. This extraction ensures durability by protecting state variables from being overwritten or corrupted by other functions. The isolated storage is optimized for the specific function's access patterns, which can improve access efficiency despite the isolation overhead.
Data Source
AI summary
A database system and a computer implemented method for managing functions in the database system is provided. The method, implemented using instructions that may be stored in the database system, involves obtaining first data representing a set of one or more operations to be performed on data in the database system. Second data, representing a function definition, is derived from the first data and the function definition includes the set of one or more operations and a set of state variables. A function is generated according to the second data. Generating the function includes storing a set of one or more values for respective ones of the state variables. The set of values are stored in an isolated computing environment in the database system and the function is configured to operate on the values in the isolated computing environment.


