Aggregate Navigation for Distinct Count Metrics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for performing distinct count metrics in database queries are inefficient, resulting in significant performance bottlenecks due to their inability to utilize aggregate navigation, making them significantly slower than other aggregation functions, especially when multiple distinct counts are measured in a report.

Innovation Solution

A software facility that utilizes aggregate navigation by performing count operations on aggregate tables instead of detail tables, eliminating the need for distinct count operations in most queries and providing the same results, thereby enhancing query time performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional methods are used to perform distinct count metrics on detail tables, then accurate distinct count results are obtained, but query performance deteriorates significantly

Engineering Contradiction:
Improvedistinct count accuracyVSAvoidquery performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the detailed data into multiple aggregate tables grouped by different dimensions (e.g., time, geography, product category). Instead of performing distinct count on the entire detail table, the system divides the data space into manageable segments and performs distinct count operations on each segment separately, then aggregates the results. This segmentation reduces the computational burden on any single operation while maintaining overall accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent pre-computes and stores distinct count metrics in aggregate tables before they are needed for reporting. By performing distinct count operations in advance and caching the results in pre-aggregated structures, the system eliminates the need to perform expensive distinct count operations on detail tables during query time, significantly improving query performance while preserving measurement accuracy.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If distinct count operations are performed on detail tables, then complete distinct count metrics are calculated, but processing time increases by more than an order of magnitude

Engineering Contradiction:
Improvedistinct count completenessVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent introduces an additional dimension of aggregation by creating multi-level aggregate tables that combine different dimensional groupings (e.g., time-period, geography-region, product-category). By navigating through these dimensional hierarchies, the system can obtain distinct count metrics at various levels of granularity without processing the entire detail table, dramatically reducing processing time while maintaining measurement completeness through systematic aggregation across dimensions.

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

Solution Approach 2:

The system pre-computes distinct count metrics and stores them in aggregate tables organized by dimensional hierarchies. When a distinct count query is executed, the system retrieves pre-computed results from the appropriate aggregate table level rather than recalculating from detail tables, eliminating redundant processing and reducing time loss while ensuring complete metrics through comprehensive pre-aggregation.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple distinct count metrics are measured in a report, then comprehensive analytics are provided, but performance bottlenecks are compounded

Engineering Contradiction:
Improveanalytics capabilityVSAvoidreport generation speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments multiple distinct count metrics into separate aggregate tables organized by dimension and metric type. Each aggregate table contains pre-computed distinct count results for specific dimensional groupings. When generating reports with multiple distinct count metrics, the system queries the relevant segmented aggregate tables in parallel rather than performing multiple distinct count operations on the entire detail table, maintaining comprehensive analytics capability while dramatically improving report generation speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system pre-computes and caches multiple distinct count metrics across various dimensional hierarchies in advance. By having all necessary distinct count metrics pre-available in the aggregate table structure, the system can retrieve comprehensive analytics data for reports without performing time-consuming distinct count operations during report generation, eliminating performance bottlenecks while maintaining full analytics versatility.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7707144B2Optimization for aggregate navigation for distinct count metrics
Publication Date: 2010.04.27 ORACLE AMERICAN INC
  • US7707144B2 patent drawing
  • US7707144B2 patent drawing
  • US7707144B2 patent drawing

AI summary

A method and apparatus for performing a distinct count metric by utilizing aggregate navigation. For a distinct count query of an identifier of a detail table, where the query specifies zero or more restrictions, an aggregate table associated with the detail table is identified. It is then determined whether the aggregate table contains the identifier that is being distinct counted, and if so, whether the identifier is different in every row of the aggregate table. If it is, then the rows of the aggregate table that satisfy the specified restrictions are plain counted to obtain a result for the distinct count query. If the identifier is not different in every row of the aggregate table, a distinct count operation is performed on the rows of the aggregate table that satisfy the specified restrictions to obtain a result for the distinct count query.