Containerized User-Defined Functions for Database Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveshared library resourcesVSAvoidrecompilation time
Core Design Contradiction:
Quantity of substanceVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedeployment managementVSAvoiddeveloper flexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If traditional UDFs share processing resources, then resource efficiency is improved, but resource overhead increases when multiple UDFs require unique content and isolation

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidresource overhead
Core Design Contradiction:
ProductivityVSQuantity of substance

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #30Flexible shells and thin films

Data Source

PatentUS20240220341A1Independent containerized user-defined functions
Publication Date: 2024.07.04 TERADATA US INC
  • US20240220341A1 patent drawing
  • US20240220341A1 patent drawing
  • US20240220341A1 patent drawing

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.