Multidimensional Grouping Operators for Non-Relational Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional grouping operators in relational databases, such as 'Rollup' and 'Cube', are limited to tabular data representations, resulting in excessive 'NULL' values and are restricted to relational data sources, failing to provide efficient multidimensional querying capabilities across arbitrary data sources.

Innovation Solution

The introduction of a grouping set operator that can be translated into a multidimensional LINQ object, enabling execution on any data source, including non-relational sources, by using a sequence of functions corresponding to key selectors, allowing for efficient data aggregation and multidimensional results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional grouping operators (Rollup, Cube) are used in relational databases, then data aggregation across multiple dimensions is achieved, but excessive NULL values are generated and the operators are restricted to relational data sources only

Engineering Contradiction:
Improvedata source compatibilityVSAvoidNULL values
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

Solution Approach 1:

The patent extends grouping operators beyond relational databases to work with arbitrary data sources including non-relational stores. The LINQ-based query system provides a universal interface that can operate on different data models (relational tables, key-value stores, documents) without being restricted to traditional tabular structures, thereby achieving multi-functionality across diverse data sources

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces a new dimension of operation by translating grouping set operators into LINQ objects with sequences of functions. This functional transformation allows the system to handle multidimensional grouping operations in a way that naturally accommodates non-relational data structures, avoiding the NULL value problem inherent in traditional relational approaches while maintaining adaptability across data source types

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

2Adaptability or versatility

If grouping set operator is translated into LINQ object with sequence of functions, then multidimensional queries can execute on arbitrary data sources, but the system complexity increases

Engineering Contradiction:
Improvedata source compatibilityVSAvoidsystem architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces LINQ objects with sequences of functions as an intermediary layer between the grouping set operators and arbitrary data sources. This mediator translates high-level grouping operations into executable function sequences that can operate on different data models, providing a standardized interface that reduces the complexity of directly implementing support for multiple data source types

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the grouping operation into a sequence of discrete functions within the LINQ object. Each function in the sequence represents a specific step in the multidimensional grouping process, allowing the complex operation to be broken down into manageable, composable units that can be executed on arbitrary data sources with consistent behavior

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9886474B2Multidimensional grouping operators
Publication Date: 2018.02.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9886474B2 patent drawing
  • US9886474B2 patent drawing
  • US9886474B2 patent drawing

AI summary

A multidimensional object, such as a language-integrated query (LINQ) object, can be generated based upon a grouping set operator and zero or more key selectors. The object can be utilized to query over a non-relational data source. The object can include a sequence of functions corresponding to each grouping related to the grouping set operator in order to provide multidimensional grouping representation. Furthermore, the object includes nested structures for optimized execution of the grouping set operator.