Patent ID: 8676772

Claim:
A method for improving query performance in a data warehousing environment, the method comprising: splitting during an extract-transform-load (ETL) process, by a computer system and in accordance with a data mapping, data from a data source into: a first set of split data portions based on a first attribute of the data, the first set of split data portions configured to be a source of data for a first set of target relvars; and a second set of split data portions based on a second attribute of the data, the second set of split data portions configured to be a source of data for a second set of target relvars; wherein each of the first and second sets of target relvars is created based on the splitting so that data within each set of relvars includes data organized to serve an inquiry restricted by at least one of: the first attribute or the second attribute, wherein the splitting is performed without regard to whether the same data is in more than one target relvar of the first or second set of target relvars, and wherein the data of the data source was extracted from an n-ary relation value in accordance with the data mapping; using a portion of the first set of split data portions to refresh the first set of target relvars; and using a portion of the second set of split data portions to refresh the second set of target relvars; wherein as a result of the refreshing the first and second set of target relvars, a same portion of the data from the data source is contained within each of the first and second sets of target relvars, and the same portion of data is arranged differently in the first set of target relvars than in the second set of target relvars; and wherein each of the first and second target relvars are one of a database table or a partition of a database table; and wherein the splitting and using operations are repeated to accommodate a new extraction of data from the data source to extract new data from the data source, and wherein the using operations include updating data within the first and second sets of target relvars to reflect the new data extracted from the data source by: comparing the first set of split data portions from the splitting with the first set of split data portions from the repeated splitting to detect modification of data in the first set of split data portions from the repeated splitting; and comparing the second set of split data portions from the splitting with the second set of split data portions from the repeated splitting to detect modification of data in the second set of split data portions from the repeated splitting.