EFFICIENCY IN PROCESSING QUERIES DIRECTED TO STATIC DATA SETS
First Claim
1. A computer readable storage medium carrying one or more sequences of instructions causing a server to process queries directed to a static data set already stored in the form of a plurality of tables in a data warehouse, wherein each table contains a corresponding set of columns and a corresponding set of rows, wherein each data item is stored in one row of the table, wherein execution of said one or more sequences of instructions by one or more processors contained in said server causes said server to perform the actions of:
- receiving a plurality of queries directed to said static data set stored in said data warehouse, wherein each of said plurality of queries contains a set of conditions, wherein processing of said plurality of queries requires retrieval of at least some portions of said static data set matching said set of conditions from said data warehouse;
identifying a plurality of conditions commonly occurring in said received plurality of queries, wherein each of said plurality of conditions occurs more number of times in said plurality of queries than conditions not included in said plurality of conditions;
determining which of said plurality of conditions match which of said data items in said static data set by retrieving and inspecting said static data set stored in the form of said plurality of tables in said data warehouse,wherein a match for a condition is determined to be present when a data item retrieved from said data warehouse has a first value for the same column as the condition, and applying said comparison operation on said first value and said comparison value produces a true result;
maintaining data indicating which of said plurality of conditions match which data items in said static data set according to said determining;
receiving a query containing a first condition included in said plurality of conditions;
examining said data to determine a first set of data items contained in said static data set and matching said first condition received in said query, without having to inspect again said static data set stored in said data warehouse, wherein said examining is performed in response to receiving said query; and
generating a response to said query, said response containing said first set of data items,wherein said identifying, said determining and said maintaining are performed before said query is received such that said response can be generated quickly after receiving said query.
0 Assignments
0 Petitions
Accused Products
Abstract
Data is maintained indicating which conditions match which data items (e.g., rows) of a data set (e.g., table(s) in a database). When a query is later received, the maintained data is quickly examined to determine the matching data items, thereby enhancing the throughput performance in processing queries directed to the data set.
3 Citations
17 Claims
-
1. A computer readable storage medium carrying one or more sequences of instructions causing a server to process queries directed to a static data set already stored in the form of a plurality of tables in a data warehouse, wherein each table contains a corresponding set of columns and a corresponding set of rows, wherein each data item is stored in one row of the table, wherein execution of said one or more sequences of instructions by one or more processors contained in said server causes said server to perform the actions of:
-
receiving a plurality of queries directed to said static data set stored in said data warehouse, wherein each of said plurality of queries contains a set of conditions, wherein processing of said plurality of queries requires retrieval of at least some portions of said static data set matching said set of conditions from said data warehouse; identifying a plurality of conditions commonly occurring in said received plurality of queries, wherein each of said plurality of conditions occurs more number of times in said plurality of queries than conditions not included in said plurality of conditions; determining which of said plurality of conditions match which of said data items in said static data set by retrieving and inspecting said static data set stored in the form of said plurality of tables in said data warehouse, wherein a match for a condition is determined to be present when a data item retrieved from said data warehouse has a first value for the same column as the condition, and applying said comparison operation on said first value and said comparison value produces a true result; maintaining data indicating which of said plurality of conditions match which data items in said static data set according to said determining; receiving a query containing a first condition included in said plurality of conditions; examining said data to determine a first set of data items contained in said static data set and matching said first condition received in said query, without having to inspect again said static data set stored in said data warehouse, wherein said examining is performed in response to receiving said query; and generating a response to said query, said response containing said first set of data items, wherein said identifying, said determining and said maintaining are performed before said query is received such that said response can be generated quickly after receiving said query. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of processing queries directed to a static data set stored in the form of a plurality of tables in on a storage server, wherein each table contains a corresponding set of columns and a corresponding set of rows, wherein each data item is stored in one row of the table, said static data set containing a plurality of data items which are unlikely to change, wherein each data item is identified by a corresponding one of a plurality of identifiers, said method comprising:
-
receiving a plurality of queries directed to said static data set stored in said storage server, wherein each of said plurality of queries contains a set of conditions, wherein processing of said plurality of queries requires retrieval of at least some portions of said static data set matching said set of conditions from said storage server; identifying a plurality of conditions commonly occurring in said received plurality of queries, wherein each of said plurality of conditions occurs more number of times in said plurality of queries than conditions not included in said plurality of conditions; determining which of said plurality of conditions match which of said data items in said static data set by examining retrieving and inspecting said static data set stored in the form of said plurality of tables in said data warehouse, wherein a match for a condition is determined to be present when a data item retrieved from said data warehouse has a first value for the same column as the condition, and applying said comparison operation on said first value and said comparison value produces a true result; maintaining data external to said static data set, said data specifying individual identifiers associated with each of said plurality of conditions to indicate which of said plurality of conditions match which of said plurality of data items in said static data set; receiving a query containing a first condition included in said plurality of conditions, wherein said query is received after said maintaining; examining said data to determine a first set of individual identifiers matching said first condition received in said query, without having to inspect again said static data set stored in said data warehouse, wherein said first set of individual identifiers are contained in said plurality of identifiers; retrieving only a first set of data items from said storage server, wherein said first set of data items are identified by said first set of individual identifiers; and generating a response to said query, said response containing said first set of data items identified by said first set of individual identifiers. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A computing system comprising:
-
a database storage to store a data set containing a plurality of data items; a database client to send a plurality of transaction requests to be performed on said data set; a database server to receive each of said plurality of transaction requests and to accordingly alter said data set stored in said data storage; a data warehouse to store said data set in the form of a static data set in a plurality of tables after said data set is determined to not require further alterations, wherein each table contains a corresponding set of columns and a corresponding set of rows, wherein each data item is stored in one row of the table; a warehouse client to send a plurality of queries to be performed on said static data set; and a warehouse server being operable to; receive a subset of said plurality of queries containing a corresponding set of conditions, wherein processing of said subset of said plurality of queries requires retrieval of at least some portions of said static data set matching said set of conditions from said data warehouse; identify a plurality of conditions commonly occurring in said received subset of said plurality of queries, wherein each of said plurality of conditions occurs more number of times in said subset of plurality of queries than conditions not included in said plurality of conditions; determine which of said plurality of conditions match which of said plurality of data items in said static data set by examining said static data set in said data warehouse, wherein a match for a condition is determined to be present when a data item retrieved from said data warehouse has a first value for the same column as the condition, and applying said comparison operation on said first value and said comparison value produces a true result; maintain data indicating which of said plurality of conditions match which of said plurality of data items in said static data set; receive a query contained in said plurality of queries, wherein said query contains a first condition included in said plurality of conditions; examine said data to determine, without having to inspect again said static data stored in said data warehouse, a first set of data items contained in said static data set and matching said first condition; retrieve only said first set of data items in said static data set from said data warehouse; and generate a response to said query, said response containing said first set of data items. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification