Nested Subarray Data Lake Storage for Parallel Read Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data lake systems face significant performance issues with read speed, particularly as file sizes increase, due to the conversion of file streams into single-field type arrays, which limits parallel processing and storage capacity.

Innovation Solution

A data storage method that converts file streams into nested subarrays matching the number of CPU cores, segments large arrays into multiple rows, and employs a polling mechanism for automatic storage, enhancing read performance and storage efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If file streams are converted into single-field type arrays in existing data lake systems, then the storage structure is simple, but the read performance deteriorates significantly as file size increases

Engineering Contradiction:
Improvestorage structure complexityVSAvoidread performance
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent segments the file stream conversion process by dividing data into multiple subarrays corresponding to different field types, rather than using a single-field type array. This segmentation enables parallel processing during read operations, significantly improving read performance while maintaining manageable storage structure complexity through organized data categorization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a one-dimensional single-field type array structure to a multi-dimensional nested array structure where data is organized by field types across multiple dimensions. This dimensional change allows for parallel access patterns and improves read performance by enabling simultaneous processing of different field types without increasing overall structural complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If all fields correspond to one field type in the array conversion process, then the field structure is uniform and simple, but the parallel processing capability is limited

Engineering Contradiction:
Improvefield structure uniformityVSAvoidparallel processing capability
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies local quality by assigning different field types to different subarrays within the overall array structure. Each subarray is optimized for its specific field type, allowing parallel processing of heterogeneous data while maintaining uniformity within each subarray. This resolves the contradiction by achieving both local uniformity and global parallel processing capability.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent creates a composite array structure that combines multiple subarrays of different field types into a unified data structure. This composite structure maintains the simplicity of uniform field handling within each subarray while enabling parallel processing across different field types, effectively resolving the contradiction between structural simplicity and processing capability.

Inventive Principle:
Principle #40Composite materials

3Quantity of substance

If the array size exceeds memory capacity, then more data can be stored, but memory errors occur and processing fails

Engineering Contradiction:
Improvestorage capacityVSAvoidmemory stability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments large arrays into smaller subarrays organized by field types, allowing each subarray to be processed and stored within memory capacity limits. This segmentation prevents memory overflow errors while maintaining the ability to store and process large quantities of data through distributed subarray management and iterative processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial processing by handling data in manageable chunks across multiple iterations rather than loading entire large arrays into memory at once. This approach allows storage of data exceeding memory capacity by processing portions sequentially, preventing memory errors while achieving effective storage of large data volumes.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11789899B2High-performance data lake system and data storage method
Publication Date: 2023.10.17 NANHU LAB
  • US11789899B2 patent drawing
  • US11789899B2 patent drawing
  • US11789899B2 patent drawing

AI summary

The present disclosure provides a high-performance data lake system and a data storage method. The data storage method includes the following steps: S1: converting a file into a file stream; S2: converting the file stream into an array in which multiple subarrays are nested; and S3: converting the array into a resilient distributed dataset (RDD), and storing the RDD to a storage layer of a data lake. The present disclosure provides a nested field structure, which lays the foundation for parallel processing in reading, and effectively improves read performance. Furthermore, the present disclosure flexibly generates a number of nested subarrays according to hardware cores, such that the data lake achieves better extension performance, and can keep optimal writing efficiency for different users.