Container Framework Isolating User-Defined Functions in Distributed Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database systems face inefficiencies and security risks when processing user-defined functions, as they consume disproportionate computing resources and can contain malicious code, disrupting normal operations and data integrity.
Innovation Solution
A distributed database system on a cloud computing platform isolates user-defined functions in separate containers, providing dedicated resources and libraries for efficient execution, thereby preventing interference with primary segment hosts and reducing the risk of malicious code affecting the database.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If user-defined functions are processed on primary segment hosts, then the database can execute custom functions written in auxiliary programming languages, but computing resources are consumed disproportionately and database performance is disrupted
Solution Approach 1:
The system segments the database processing architecture by introducing separate container hosts dedicated to executing user-defined functions. These container hosts are distinct from primary segment hosts, creating isolated execution environments that prevent resource contention between standard query processing and custom function execution, thereby resolving the productivity decline caused by disproportionate resource consumption.
Solution Approach 2:
The patent introduces container hosts as intermediary components between the primary database system and user-defined functions. These intermediaries execute custom functions in isolated containers, mediating the interaction between auxiliary programming languages and the primary query language database system, enabling versatility while preventing direct resource contention that would disrupt database performance.
2Adaptability or versatility
If user-defined functions are executed in the main database system, then custom operations can be performed, but malicious code can disable databases or corrupt data
Solution Approach 1:
The system divides the execution environment into segmented containers on dedicated container hosts, isolating user-defined function execution from the main database system. This segmentation ensures that malicious code in custom functions cannot directly access or corrupt primary database data, as the containerized environment acts as a protective barrier while still allowing custom operations to execute.
Solution Approach 2:
The patent implements preemptive security measures by executing user-defined functions in isolated containers before they can potentially harm the main database system. This prior cushioning through containerization prevents malicious code from directly impacting database reliability, as the isolated execution environment absorbs potential security threats without allowing them to propagate to the core system.
3Adaptability or versatility
If user-defined functions consume disproportionate computing resources, then custom functions can be executed, but overload events occur and normal database operations are disrupted
Solution Approach 1:
By segmenting the computing infrastructure into separate container hosts dedicated to user-defined functions, the system prevents resource overload from propagating to the main database system. Custom functions executed in containers can consume resources without causing overload events that would disrupt normal database operations, as the segmented architecture isolates resource consumption to specific execution environments.
Data Source
AI summary
Methods, systems, and computer programs encoded on computer storage media, for processing user-defined functions in containers. One example system receives a query written in a primary query language that calls a user-defined function. The system assigns primary segment hosts to process portions of the query written in the primary query language and assigns first containers to process the call to the user-defined function. The primary segment hosts provide to the first containers the user-defined function and one or more arguments in the call to the user-defined function. The first containers execute the user-defined function. The primary segment hosts receive an initial result of the call to the user-defined function computed by the first containers. The primary segment hosts compute a final result of the query using the initial result. The primary segment hosts provide the final result of the query in response to receiving the query.


