Systems and methods for improving database performance
AssigneeTelduraogevin Sp/f
InventorEyjólfur Gislason
Life of this patent
Estimating the term…
Abstract
Systems and methods for mapping and propagating a source dataset to a plurality of target tables in a target database are described herein. Embodiments include a physical database design with a template-based loader, and a method to propagate changes in the source dataset to a target database. Other embodiments include a database physical design with a plurality of small fact and summary tables. Still other embodiments include a method of extracting and loading data automatically into a target database, while simultaneously maintaining current summary tables.
Claims20
(canceled)
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 repeatable to accommodate a new extraction of data from the data source to extract new data from the data source, and wherein when repeated, 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.
A method for improving query performance in a data warehousing environment, the method comprising:
- splitting data as part of an extract-transform-load (ETL) process in a data warehousing environment, the data extracted from a data source and split into:
- a first set of split data portions based on a first attribute of the extracted data, the first set of split data portions configured to be used as a source for a first set of target relvars;
- and
- a second set of split data portions based on a second attribute of the extracted data, the second set of split data portions configured to be used as a source for a second set of target relvars, the second attribute being different from the first attribute,
- wherein data within each set of relvars is organized according to an inquiry restricted by at least one of the first attribute or the second attribute;
- using the first and second split data portions to refresh corresponding 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;
- wherein each of the first and second target relvars are one of a database table or a partition of a database table;
- saving the first and second sets of split data portions for comparison with sets of split data portions created by splitting a later set of extracted data from the data source;
- comparing the first and second split data portions with a previously saved version of the first and second sets of split data portions to identify modified split data portions;
- and
- propagating the modified split data portions for refreshing the first and second set of target relvars.
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;
- 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 the splitting and using operations are repeatable to accommodate a new extraction of data from the data source to extract new data from the data source, and wherein when repeated, 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.
Dependencies are inferred from the claim text.