摘要:
A system, method, and a computer program product for caching multi-dimensional data based on an assumption of locality of reference. A user sends a query for data. A described compilation module converts the query into a set of cubelet addresses and canonical addresses. In the described embodiment, if the data corresponding to the cubelet address is found in a data cache, the data cache returns the cubelet, which may contain the requested data and data for nullnearbynull cells. The data corresponding to the canonical addresses is extracted from the returned cubelet. If the data is not found in a data cache, a fault handler queries a back-end database for the cubelet identified by the cubelet address. This cubelet includes the requested data and data for nullnearbynull cells. The requested data and the data for nullnearby cellsnull are in the form of values of measure attributes and associated canonical addresses. The returned cubelet is then cached and the data corresponding to the canonical addresses is extracted.
摘要:
SQL subqueries are converted into equivalent expressions rooted by a special relational operator. The special relational operator assumes properties based on the type of the expression containing the subquery. The context of the subquery is also factored into the special relational operation. The relational operator itself is optimized, when possible, into a standard join operation. The conversion process maintains a list of parameter dependencies within the query and the relational operator utilizes this list at execution time to decrease the amount of processing required to produce the query output.
摘要:
An apparatus and method to significantly improve performance of SQL function processing through the use of an encoded vector index (EVI). An EVI provides the data necessary to count the number of records in a database that match criteria provided by a SQL function. The resulting count can then be used to determine, from among two or more candidate approaches, an approach to use in processing an SQL function. By processing the EVI symbol table in lieu of more traditional database indexes, and/or in lieu of the database table itself, statistics for SQL functions are generated significantly faster.
摘要:
A method and apparatus are provided for rewriting aggregate queries to access a materialized view when (1) the queries place a restriction on an ordered dimension, (2) the materialized view aggregates the information referenced in the query and groups by the same dimension, and (3) the materialized view groups the information at a coarser level of granularity than the granularity associated with the restriction contained in the aggregate queries.
摘要:
A database query compiler and compilation method has special facilities for compiling a query that includes one or more of a predefined set of running and moving sequence functions. The compiler converts the query into a predefined normalized form suitable for compilation using a running and moving function normalizer. The running and moving function normalizer converts each running and moving sequence function in the set into a corresponding ordered set of one or more executable statements, which include at least one Offset sequence function that accesses data in an auxiliary field of a row of a table. An offset sequence function compiler, compiles each Offset sequence function, Offset(argument, index), in the normalized database query into a compiled set of instructions, including instructions for storing and reading the auxiliary fields to and from a buffer that is separate from the table. The buffer is preferably stored in volatile, main memory. As a result, when the Offset sequence function is executed, information from a previous is accessed without having to change the cursor position for the table.
摘要:
Methods and apparatus for processing precomputed views for answering user queries on a database are described. In accordance with one aspect, a user database query on precomputation strategy effectiveness is responded to by defining, based upon user database query history, an analysis space consisting of a subset of all possible views for the database, and by characterizing the views in the analysis space. In accordance with a second aspect, a structure is imposed on an analysis space consisting of a subset of all possible views for the database based upon the capabilities of a query rewriting facility, and the views in the analysis space are characterized. In accordance with a third aspect, an analysis space consisting of a subset of all possible views for the database is defined, and a cost formula is applied to the analysis space based upon a user-defined subset of the data contained in the database. In accordance with a fourth aspect, an analysis space that includes a candidate view composed of a combination of two or more constituent views is defined, and the views in the analysis space are characterized.
摘要:
Methods and apparatus for effective and efficient usage of summary tables in a computer system including a database. In a computer system it is common for a database to include one or more summary tables which have pre-generated aggregations of data from one or more original, detailed database tables. In order to achieve the benefits of summary tables, they must be accessed when appropriate. Thus, information regarding the available summary database tables, including summary bitmaps for all the summary tables, is maintained in the metadata of a computer system. This information is updated whenever a summary table is created. The summary bitmaps are a main key for determining if any summary table is responsive to a user query to the computer system. The summary bitmaps map to corresponding SQL statements, which are generated to access the respective summary tables in the database. Once an SQL statement for accessing a respective summary table is identified for a particular user query, that SQL statement is then incorporated in the executable SQL query that is thereafter executed.
摘要:
A method and system are provided for processing queries, where the queries do not reference a particular materialized view. Specifically, techniques are provided for handling a query that specifies a first set of one or more aggregate functions, where the particular materialized view reflects a second set of one or more aggregate functions. Whether the query can be rewritten is determined based on the aggregate functions in the first and second sets, and the corresponding arguments. Techniques are also provided for processing a query that (1) does not reference a particular materialized view, (2) specifies a first set of one or more aggregate functions, where the particular materialized view reflects a second set of one or more aggregate functions. A technique is also provided for rewriting queries that specify an outer join that has a dimension table on the child-side of the outer join and a fact table on the parent-side of the outer join. The query is rewritten to produce a rewritten query by replacing references to the fact table in the query with references to a materialized view. The rewritten query specifies an outer join that has the dimension table on the child side and the materialized view on the parent side.
摘要:
A method and system for information delivery of a computer system. The method includes the steps of storing a first data including a program and potentially reusable data on a storage medium of a computer system. In turn, a second data including control data is subsequently stored on the same storage medium as the first data. The contents of the control data is unknown at the time the first data was stored. The control data corresponds to a subset of the potentially reusable data. The program is executed and combines the control data and the potentially reusable data to create on the storage medium of the computer system a third data including newly indexed available information. Information is delivered by sending a plurality of transmissions where known data is sent in advance to minimize the subsequent delivery of unknown control data that becomes known based upon a future event.
摘要:
A method enables a data manipulation action to occur between data from a data source and data in a table in a database, where the database is remote from the data source. The method includes the steps of: determining whether data from the data source comprises unique values, and if not, enabling a caching procedure. The caching procedure obtains values from the data source and transmits a query to a database management system which controls the table, including a value from the data source. A result set is received from the table, is cached, and additionally is stored for purposes of responding to the query. Thereafter, if a value from the data source is retrieved which is identical to a previously retrieved data source value, the cached corresponding result set is utilized, in lieu of transmitting a further query to the table.