Analytical View Machine Merging Partial Aggregates in Distributed Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed database systems face challenges in computing and caching complex aggregates, such as average, standard deviation, and variance, which are not easily decomposable or combinable, leading to inefficiencies in query processing.

Innovation Solution

Implementing a system with worker machines that store partial function modules to initialize, update, and serialize aggregates, and an analytical view machine that merges partial results from these workers to produce final results without accessing database partitions, using the initialize-update-serialize-merge infrastructure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If complex aggregates (average, standard deviation, variance) are computed in a distributed database, then query processing capability is improved, but decomposability and ease of combination across nodes deteriorates

Engineering Contradiction:
Improvequery processing capabilityVSAvoiddecomposability
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent segments complex aggregate computations into partial aggregate functions that can be independently computed on distributed worker nodes. Each worker node maintains partial state for complex aggregates, allowing the computation to be divided across multiple nodes while preserving the ability to combine results centrally at the analytical view machine.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary analytical view machine that acts as a mediator between worker nodes and query processors. This intermediary receives partial results from distributed workers, performs the final combination operations for complex aggregates, and returns complete results, thereby resolving the decomposability issue while maintaining query processing capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If analytical views materialize pre-aggregated data, then query processing speed is improved, but system complexity increases

Engineering Contradiction:
Improvequery processing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by pre-computing and materializing analytical views with complex aggregates before queries are executed. Worker nodes pre-calculate partial aggregates and store them in analytical views, so that when queries arrive, the system can quickly retrieve and combine pre-computed results rather than performing complex computations in real-time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamics by making the analytical view system adaptable to different query patterns and aggregate types. The system dynamically determines which analytical views to materialize based on query workloads, and can refresh or update materialized views as underlying data changes, balancing the complexity overhead with actual query performance benefits.

Inventive Principle:
Principle #15Dynamics

3Productivity

If worker nodes maintain partial aggregate state, then parallel processing efficiency is improved, but memory usage and node complexity increase

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by allowing each worker node to maintain only the partial state necessary for its specific data partition and assigned aggregate computations. Each node optimizes its memory usage by storing only relevant partial aggregates for its local data, rather than maintaining global state, thereby improving parallel processing efficiency while controlling memory consumption at each node.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10120898B1Apparatus and method for allowing complex aggregates in analytical views in a distributed database
Publication Date: 2018.11.06 CLOUDERA INC
  • US10120898B1 patent drawing
  • US10120898B1 patent drawing
  • US10120898B1 patent drawing

AI summary

A system has worker machines connected by a network. Each worker machine stores at least one partition of a distributed database and a partial function module to initialize a database dimension, increment an aggregate of the database dimension in response to a data change and to serialize a last aggregate of the database dimension in response to a refresh operation to form partial results of an analytical view. An analytical view machine connected to the network responds to a query without accessing a partition of the distributed database. The analytical view machine merges partial results from the worker machines to produce a final result to the query.