Multidimensional Database Hierarchical Aggregation for Memory Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multidimensional database environments face challenges in efficiently processing large data sets due to the increasing size of data sources, making it difficult to persist data at the leaf node level, especially in big data environments, where loading all leaf nodes into memory is undesirable.

Innovation Solution

The system organizes data into a hierarchical structure with multiple levels of nodes, loads source data into leaf nodes, aggregates it to higher levels using metadata, and discards the source data from the leaf nodes to free memory, allowing for load, aggregate, and batch calculations in a single scan, reducing the data load by a factor of 10 to 100 times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If source data is loaded into all leaf nodes in a multidimensional database, then complete data availability is achieved, but memory requirements increase significantly

Engineering Contradiction:
Improvedata availabilityVSAvoidmemory requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the multidimensional database into a hierarchical structure with multiple levels of nodes (leaf nodes and parent nodes). Data is segmented and stored only at the leaf nodes, while parent nodes contain aggregation results. This segmentation allows the system to avoid loading all data into memory simultaneously, as only leaf node data and necessary aggregation results need to be retained.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts aggregation results from the detailed source data at leaf nodes and stores them at parent nodes. This extraction process allows the system to discard or reduce the retention of detailed source data after aggregation, thereby reducing memory requirements while maintaining the ability to answer queries through the extracted aggregation results.

Inventive Principle:
Principle #2Taking out (Extraction)

2Speed

If all leaf node data is persisted in memory, then fast access to detailed data is enabled, but processing efficiency decreases due to excessive data load

Engineering Contradiction:
Improvedata access speedVSAvoidprocessing efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The hierarchical node structure segments data access into different levels. For detailed data access, the system navigates to specific leaf nodes rather than scanning all data in memory. For summary queries, the system accesses parent nodes directly. This segmentation improves both access speed and processing efficiency by avoiding unnecessary data loading and processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs partial loading of data into memory, loading only the leaf node data and aggregation results that are currently needed, rather than loading all possible data. This partial action approach maintains fast access to required data while avoiding the processing overhead of managing excessive data loads.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of information

If hierarchical aggregation is implemented across multiple levels, then data summarization is improved, but system complexity increases

Engineering Contradiction:
Improvedata summarization qualityVSAvoidsystem structure complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the aggregation process into discrete hierarchical levels, where each level aggregates data from its child nodes. This segmentation makes the complex aggregation process manageable by breaking it into smaller, organized steps across multiple levels, reducing the apparent complexity while maintaining comprehensive data summarization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the data structure, organizing nodes into multiple levels (leaf nodes at the bottom, parent nodes above). This dimensional organization simplifies the aggregation process by providing a clear upward hierarchy for data summarization, making the system more manageable despite the added structural dimension.

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

4Reliability

If source data is retained at leaf nodes after aggregation, then data integrity is maintained, but memory usage increases unnecessarily

Engineering Contradiction:
Improvedata integrityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts aggregation results from the source data at leaf nodes and stores them at parent nodes. Once extraction is complete, the source data at leaf nodes can be discarded or not loaded into memory, as the extracted aggregation results preserve the necessary information for queries. This extraction process maintains data integrity for analytical purposes while reducing memory usage.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system discards source data at leaf nodes after their aggregation values have been calculated and stored at parent nodes. The aggregation results are recovered and stored at the parent level, allowing the system to eliminate the need to retain detailed source data in memory while preserving the aggregated information needed for queries and analysis.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11789978B2System and method for load, aggregate and batch calculation in one scan in a multidimensional database environment
Publication Date: 2023.10.17 ORACLE INT CORP
  • US11789978B2 patent drawing
  • US11789978B2 patent drawing
  • US11789978B2 patent drawing

AI summary

In accordance with an embodiment, systems and methods can provide for load, aggregate, and batch calculation in in a multidimensional database environment. Metadata can be used to identify in which higher dimensions each leaf-level load is used. At such time, the data from the leaf level is aggregated to each of the higher dimensions where it is to be used. Then, the aggregate values are stored in memory until a completed sum (or other calculation) is completed at the higher levels. At such time, the aggregate values can be discarded from memory. The ability of the system to perform a load, aggregate, and batch calculation in one scan is particularly useful in processing very large sets of data, for example in big data environments, where it may not be desirable to load the data for all of the leaf nodes into current memory.