Data Partitioning for Business Planning Tool Update Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large business planning tools face performance and cost overhead due to the complexity of updating data, particularly when dealing with millions of cells, as existing methods either require extensive cell-level dependency graphs or higher-than-cell-level partitioning that can introduce circularity and complexity, making the updating process inefficient.
Innovation Solution
A data partitioning system that groups data cells into blocks with no internal dependencies, creating a directed acyclic dependency graph, allowing for efficient updates by partitioning data cells within separate hierarchy levels and time periods, and selectively updating data blocks based on affected cells, thereby reducing node count and avoiding complex dependencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If cell-level dependency graph is used to track dependencies, then update accuracy is maintained, but system overhead and complexity increase significantly with large cell counts
Solution Approach 1:
The patent segments the cell-level dependency tracking into two levels: (1) intra-cube dependencies are tracked at the cell level within each cube, and (2) inter-cube dependencies are tracked at the cube level in the dependency graph. This segmentation reduces the overall complexity by avoiding a single massive cell-level graph while maintaining accurate update propagation through the hierarchical approach.
2Device complexity
If data is partitioned into cubes at higher-than-cell-level, then dependency graph size is reduced, but circularity and complex interdependencies are introduced
Solution Approach 1:
The patent applies local quality by treating intra-cube and inter-cube dependencies differently. Within each cube, full cell-level dependency tracking maintains accuracy without circularity. Between cubes, the system uses a simplified cube-level dependency graph that avoids circularity by design, while still capturing the essential update relationships. Each level has its own dependency tracking quality appropriate to its scope.
3Productivity
If cube-level partitioning is used to reduce overhead, then update speed may improve, but handling complex interactions between cubes and cells within cubes becomes difficult
Solution Approach 1:
The patent segments the update process into two distinct phases: (1) intra-cube updates that handle cell-level dependencies within each cube using the cube's internal dependency structure, and (2) inter-cube updates that propagate changes between cubes using the cube-level dependency graph. This segmentation allows each phase to be optimized independently, improving overall update speed while managing complexity through clear separation of concerns.
Data Source
AI summary
A apparatus is provided for updating data within a business planning tool. The apparatus comprises a computer memory (22) arranged to store operational data in a plurality of line items (50), each line item (50) being arranged to represent operational data in data cells (52) occupying space in a plurality of dimensions (X, Y), and each line item (50) having data cells in a first dimension (Y) configured to represent the operational data in a at least one hierarchy level, and having data cells in a second dimension (X) arranged to represent the respective operational data over at least one time period. A processor (24) is arranged to partition each line item (50) into data blocks (60) comprising one or more data cells (52) by identifying and grouping data cells (52) which belong to a single hierarchy level within the first dimension (Y) and a single time period within the second dimension (X), to create a dependency graph having a node for each data block (60) and which represents the inter-dependency of the data blocks (60) and in which there are no internal dependencies within a data block; and to update the data blocks (60) based on the dependency graph when at least one data cell is changed. In this way, an efficient updating apparatus is achieved.


