Data Access Layer Translating Software Data Structures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Analytics software faces inefficiencies when accessing data from remote sources, as it often requires loading large datasets into memory for analysis, which is slow and inefficient, and may be hindered by API compatibility issues between different programming languages.
Innovation Solution
A data access layer that translates between a data structure used by a first software program and a proxy table used by a second software program, allowing the second software to perform operations on the data structure without loading the entire dataset into memory, by generating a mapping between the data structure's properties and the proxy table's properties, enabling read commands to retrieve specific data entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If analytics software loads large datasets into memory for analysis, then analysis operations can be performed, but memory usage increases and loading time increases
Solution Approach 1:
The patent extracts only the necessary data entries from the large dataset into memory based on query conditions, rather than loading the entire dataset. The data access layer retrieves specific data entries matching the query criteria, allowing analysis operations to be performed on a subset of data, thus reducing memory usage while maintaining analysis capability.
Solution Approach 2:
The patent segments the large dataset into individual data entries that can be retrieved on-demand. Instead of treating the dataset as a monolithic block that must be fully loaded, the system divides it into discrete accessible units (data entries) that can be selectively fetched based on query requirements, enabling efficient memory management.
2Adaptability or versatility
If analytics software uses a different API or programming language than remote datastores, then software flexibility is improved, but API compatibility issues arise
Solution Approach 1:
The patent introduces a data access layer as an intermediary component between the analytics software and the remote datastore. This layer handles the translation and communication protocols, allowing the analytics software to use its preferred programming language and API while the data access layer manages the compatibility requirements with the remote datastore, thus decoupling the two systems.
3Productivity
If the entire dataset is loaded into memory, then all data is available for analysis, but loading time increases
Solution Approach 1:
The patent performs preliminary setup by establishing a data access layer with pre-configured query capabilities and data structure mappings. While the full dataset remains on the remote datastore, the access layer is prepared in advance to efficiently retrieve and translate specific data entries when queries are executed, eliminating the need for premature full-data loading while maintaining quick access to relevant subsets.
Data Source
AI summary
In one example, a system can receive information about a data structure including a set of data entries. The system can generate a proxy data table including a set of columns. The system can use a data access layer to generate a mapping from the data entries to the columns. The system can receive an input to cause an operation to be performed on the data structure by performing the operation on the data structure. Generating a result can involve issuing read commands to the data access layer to perform the operation on the data structure such that the data access layer obtains the associated data entries and provides them as responses to the read commands by performing a translation between the data entries and the columns based on the mapping. The system can then output the result of the operation.


