UDF File Access Caching for Scalable Large-File Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Implementing user defined functions (UDFs) in a scalable manner to access and process large files or a large quantity of files in cloud-based data systems is computationally impractical, especially when dealing with non-native file formats and diverse user types.
Innovation Solution
A function file access system that stores UDF signatures, allows sharing and execution of UDFs across users, and uses execution nodes to authenticate and cache file contents for efficient processing, including just-in-time retrieval and caching of file pages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If user defined functions are implemented to process large files or large quantities of files, then data processing capability is improved, but computational overhead and scaling requirements increase significantly
Solution Approach 1:
The system performs preliminary actions by caching file contents and authentication credentials in memory before they are needed for processing. Execution nodes preload file pages and authenticate UDFs in advance, so that when processing is required, the data is already available locally, eliminating the need for repeated computational overhead of fetching and authenticating during actual processing operations
Solution Approach 2:
The system creates copies of file contents and stores them in cache memory on execution nodes. Instead of repeatedly accessing and processing the original large files from storage, the system works with cached copies that are already in memory, significantly reducing the computational overhead of file I/O operations while maintaining the ability to process large files and large quantities of files
2Adaptability or versatility
If file access is implemented for UDFs, then file processing capability is improved, but access security and authentication complexity increase
Solution Approach 1:
The system implements a universal authentication mechanism where execution nodes handle both file access authentication and UDF authentication through a common credential caching system. The same cached credentials are used for both file access and function execution, eliminating the need for separate authentication paths and reducing overall authentication complexity while maintaining security
Solution Approach 2:
The system introduces execution nodes as intermediaries between users and the file/UDF resources. These nodes cache authentication credentials and file contents, mediating all access requests by verifying credentials against cached authentication data rather than requiring direct authentication to the central system for each access operation, thereby simplifying the authentication process while maintaining security
3Speed
If UDFs are cached in memory, then processing speed is improved, but memory resource consumption increases
Solution Approach 1:
The system applies partial action by caching only the portions of files that are actually needed for processing (file pages) rather than entire files. Execution nodes cache file contents on a demand basis, loading only the specific pages required for current UDF operations into memory, thereby improving processing speed for active operations while limiting memory consumption to only what is currently necessary
Data Source
AI summary
A method to access data includes generating, by at least one hardware processor, a user-defined function (UDF). The UDF includes a file reference object corresponding to at least one file and a file operation configuration. The at least one file is retrieved based on a UDF call into the UDF. The retrieving is further based on the file reference object. A compression status of the at least one file is determined. The UDF call is processed to generate result data using the at least one file. The processing of the UDF call is based on the compression status and the file operation configuration.


