Shared Query Semantic Layer for Heterogeneous Data Sources
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing reporting tools are limited in their ability to create and manage shared queries across multiple heterogeneous data sources, requiring users to define and execute queries separately for each data source, which is inefficient and lacks flexibility.
Innovation Solution
A computer-implemented method and system that allows creating and managing shared queries through a semantic layer, enabling queries to be defined once and executed across multiple data sources, including relational and OLAP databases, text files, and web services, with the ability to combine results into a unified format.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If users define and execute queries separately for each data source, then each query can be optimized for its specific data source, but the process becomes inefficient and time-consuming due to repetition
Solution Approach 1:
The patent implements a universal query definition mechanism where a single query specification can be executed across multiple heterogeneous data sources (relational databases, OLAP databases, text files, web services). The query definition includes a query specification that can be applied to different data sources through a unified interface, eliminating the need to redefine queries for each data source type.
Solution Approach 2:
The patent introduces a query execution system that acts as an intermediary between the user-defined query specification and the various data sources. This intermediary component translates the unified query specification into data source-specific queries, executes them, and consolidates the results, thereby reducing the time and effort required for query execution across multiple sources.
2Productivity
If queries are defined once and reused across multiple data sources, then productivity increases and duplication is reduced, but the system complexity increases due to the need to manage shared query definitions
Solution Approach 1:
The patent segments the query management system into distinct components: a query definition module for creating and storing query specifications, a query execution module for translating and executing queries against data sources, and a result consolidation module for combining results from multiple sources. This segmentation allows each component to be optimized independently while working together to provide shared query functionality.
Solution Approach 2:
The patent implements query specifications as reusable templates that can be copied and applied to different data sources. Instead of creating new queries from scratch for each data source, the system copies the query specification and adapts it to the target data source through the execution system, reducing redundancy and simplifying query management.
3Ease of operation
If a unified query interface is provided for heterogeneous data sources, then ease of operation improves, but the difficulty of detecting and measuring data source-specific characteristics increases
Solution Approach 1:
The patent employs parameter transformation to adapt the unified query specification to different data source characteristics. The query execution system modifies query parameters dynamically based on the target data source type, such as adjusting data types, formats, and access methods to match the specific requirements of relational databases, OLAP databases, text files, or web services.
Solution Approach 2:
The query execution system serves as an intermediary that detects and measures data source characteristics automatically. It identifies the type of data source, retrieves relevant metadata, and adjusts the query execution strategy accordingly, thereby maintaining ease of operation while accurately handling data source-specific characteristics through automated detection and adaptation.
Data Source
AI summary
The disclosure generally describes computer-implemented methods, software, and systems for creating and using shared queries based on heterogeneous data sources. One example method includes receiving a request to execute a shared query, identifying at least one data source and a query specification associated with the shared query, generating a native query for each identified data source based on the identified query specification, executing the generated native queries at the respective data sources to collect a set of query results from the respective data sources, and formatting the set of query results from the respective data sources into a unified set of query results.


