Containerized User-Defined Functions for Database Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional user-defined functions (UDFs) in database environments are limited by their inability to operate independently, requiring shared libraries and resources, leading to inefficient processing and restricted deployment capabilities due to kernel and library dependencies.
Innovation Solution
Implementing independent containerization of UDFs allows each UDF to execute with unique content, enabling separate management, installation, and deployment without affecting other UDFs, using containerization techniques to encapsulate application logic and manage resources efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If traditional UDFs share libraries and resources, then resource utilization is improved, but recompiling all UDFs is required when a single UDF needs updating, leading to loss of time and reduced productivity
Solution Approach 1:
The patent segments the monolithic UDF library into individual containerized UDF packages. Each UDF is packaged independently with its own dependencies, allowing selective compilation and deployment of only the specific UDF that needs updating, rather than recompiling all UDFs in the shared library.
Solution Approach 2:
The patent introduces a container runtime environment as an intermediary layer between the UDF code and the database engine. This containerization layer isolates each UDF's dependencies and execution environment, enabling independent management and updating of individual UDFs without affecting others.
2Ease of manufacture
If traditional UDFs are bound together during deployment, then installation management is simplified, but developer flexibility and operator deployment capabilities are restricted
Solution Approach 1:
The patent divides the UDF deployment unit into atomic container packages, where each UDF can be independently developed, packaged, deployed, and managed. This segmentation allows developers to create and deploy UDFs independently while the system provides simplified management through standardized container operations.
Solution Approach 2:
The patent creates a universal containerization framework that can accommodate different UDF types, languages, and dependencies through a standardized interface. This universal container structure enables both developer flexibility in creating diverse UDFs and operator simplicity in managing them through consistent deployment procedures.
3Productivity
If traditional UDFs share processing resources, then resource efficiency is improved, but resource overhead increases when multiple UDFs require unique content and isolation
Solution Approach 1:
The patent uses container copying technology to create isolated execution environments for each UDF. Instead of sharing resources directly, the system creates lightweight copies of the necessary execution context and dependencies for each UDF, enabling parallel execution without resource conflicts while minimizing overhead through efficient copying mechanisms.
Solution Approach 2:
The patent employs containerization as a thin isolation layer that provides the necessary separation between UDFs without substantial resource duplication. The container runtime creates lightweight virtualization boundaries that isolate UDF execution contexts while allowing efficient sharing of underlying system resources, thus maintaining productivity while reducing overhead compared to full virtualization.
Data Source
AI summary
A system may include a storage device. The storage device may store a plurality of user-defined functions (“UDFs”). Each of the plurality of UDFs may be containerized to allow each UDF to be executed using content unshared with other UDFs. The storage device may also include a plurality of data objects. The system may further include a plurality of processing nodes. At least one processing node may receive a call to execute one of the plurality of UDFs on at least one of the plurality of data objects. The at least one processing node may execute the called UDF on the at least one of the plurality of data objects. A method and computer-readable medium are also disclosed.


