×

Enterprise-wide data-warehouse with integrated data aggregation engine

  • US 7,315,849 B2
  • Filed: 12/09/2002
  • Issued: 01/01/2008
  • Est. Priority Date: 02/28/2000
  • Status: Expired due to Fees
First Claim
Patent Images

1. An enterprise-wide data-warehouse providing the user of a client machine connected to a network, with a query interface for generating a query statement and/or a series of query requests obtained by disintegrating the query statement, via parsing, wherein each said query request specifies a set of n-dimensions, said enterprise-wide data-warehouse comprising:

  • (a) a relational database management subsystem (RDBMS) including(1) a query handler for receiving and servicing the series of query requests;

    (2) a relational data store including (i) one or more fact tables for storing at least base data, and (ii) a meta-data store for storing a dictionary containing dimension data; and

    (3) a reference generating mechanism for generating a reference and a link enabling the user to query on aggregated multi-dimensional data stored in said enterprise-wide data-warehouse; and

    (b) a multi-dimensional data (MDD) aggregation module, integrated with said RDBMS, for generating aggregated multi-dimensional data from the base data, and storing said aggregated multi-dimensional data in (1) a multi-dimensional database (MDDB) having a non-relational type of multi-dimensional data storage structure including a plurality of data storage cells, wherein each said data storage cell is indexed with multiple dimensions and stores either a base data value or an aggregated multi-dimensional data value;

    said series of query requests generated by said query interface referring to either (i) data stored in said tables, or (ii) aggregated multi-dimensional data stored in said MDDB, andsaid reference and said link referring and linking to aggregated multi-dimensional data generated by said MDD aggregation module and/or stored in said MDDB;

    said MDD aggregation module further including;

    (2) a base data loader for loading said directory data and said base data to said MDD aggregation module over a first data communication interface;

    (3) an aggregation engine for receiving base data from said base data loader over said first data communication interface, and calculating aggregated multi-dimensional data from the base data according to a multi-dimensional data aggregation process,wherein after base data loading operations, the base data is initially aggregated along at least one of the dimensions extracted from said dictionary and aggregated multi-dimensional data results are stored in said MDDB, andwherein during query servicing operations, the base data is aggregated on demand along additional dimensions extracted from said query request and aggregated multi-dimensional data results are stored in said MDDB;

    (4) a MDDB handler for storing aggregated multi-dimensional data in said MDDB and retrieving aggregated multi-dimensional data from said MDDB;

    (5) a query request handler for (i) receiving each query request from said query handler over a second data communication interface, (ii) extracting the set of dimensions associated with said query request, (iii) providing said dimensions as multi-dimensional coordinates to said MDDB handler so that (i) said MDDB handler can retrieve aggregated multi-dimensional data from data storage cell(s) in said MDDB specified by said multi-dimensional coordinates, and/or (ii) said aggregation engine can dynamically generate, on demand, aggregated multi-dimensional data for storage at data storage cell(s) in said MDDB specified by said multi-dimensional coordinates, and return the retrieved aggregated multi-dimensional data back to said query handler, over said second data communication interface, for transmission to said client machine; and

    (6) a control module for managing the operation of said base data loader, said aggregation engine, said MDDB handler and said query request handler;

    wherein said base data loader further includes an adapter for mapping the data types of said dictionary into the data types used in said MDD aggregation module, or for mapping a standard data type used to represent said dictionary into the data types used in said MDD aggregation module.

View all claims
  • 11 Assignments
Timeline View
Assignment View
    ×
    ×