Techniques to extract and flatten hierarchies
First Claim
Patent Images
1. A method comprising:
- loading, from an online transaction processing (OLTP) system, a plurality of records, each of the records of the plurality of records identifies a parent-child relationship between two components in a hierarchy;
after loading the plurality of records from the OLTP system, storing the plurality of records in a data warehouse that is separate from the OLTP system;
after storing the plurality of records in the data warehouse, generating, at the data warehouse, a first set of strings based upon hierarchy data for the hierarchy stored in the plurality of records at the data warehouse by applying a recursive function to the plurality of records, the first set of strings representing hierarchical paths in the hierarchy, each string in the first set of strings comprising one or more components in the hierarchy and wherein the one or more components in the string are arranged in an order indicative of a hierarchical path represented by the string;
filtering the first set of strings to create a second set of strings, at the data warehouse, so that strings of the first set of strings that trace a path from a root of the hierarchy to a leaf of the hierarchy are selected to create the second set of strings, wherein the second set of strings have fewer than all strings from the first set of strings in order to perform hierarchical flattening of the plurality of records;
creating, in the data warehouse, a particular record for each string in the second set of strings; and
querying the data warehouse for the particular record for a string in the second set of strings.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for extracting hierarchical data stored in multiple records, flattening the hierarchical data, and storing the flattened data in a data warehouse. The data source may be an online transaction processing (OLTP) system that is designed to perform transaction processing and that stores hierarchy data in the form of multiple parent-child relationship records. The hierarchy data extracted from the data source is flattened and stored in a flattened form in a target system such as a data warehouse. A database function such as the SYS_CONNECT_BY_PATH may be used as part of the flattening process.
-
Citations
21 Claims
-
1. A method comprising:
-
loading, from an online transaction processing (OLTP) system, a plurality of records, each of the records of the plurality of records identifies a parent-child relationship between two components in a hierarchy; after loading the plurality of records from the OLTP system, storing the plurality of records in a data warehouse that is separate from the OLTP system; after storing the plurality of records in the data warehouse, generating, at the data warehouse, a first set of strings based upon hierarchy data for the hierarchy stored in the plurality of records at the data warehouse by applying a recursive function to the plurality of records, the first set of strings representing hierarchical paths in the hierarchy, each string in the first set of strings comprising one or more components in the hierarchy and wherein the one or more components in the string are arranged in an order indicative of a hierarchical path represented by the string; filtering the first set of strings to create a second set of strings, at the data warehouse, so that strings of the first set of strings that trace a path from a root of the hierarchy to a leaf of the hierarchy are selected to create the second set of strings, wherein the second set of strings have fewer than all strings from the first set of strings in order to perform hierarchical flattening of the plurality of records; creating, in the data warehouse, a particular record for each string in the second set of strings; and querying the data warehouse for the particular record for a string in the second set of strings. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium storing a plurality of instructions executable by one or more processors, the plurality of instructions comprising:
-
instructions that cause the processor to load, from an online transaction processing (OLTP) system, a plurality of records, each of the records of the plurality of records identifies a parent-child relationship between two components in a hierarchy; instructions which, after the loading of the plurality of records from the OLTP system, cause the processor to store the plurality of records in a data warehouse that is separate from the OLTP system; instructions which, after the storing of the plurality of the data records in the data warehouse, cause the processor to generate, at the data warehouse, a first set of strings based upon hierarchy data for the hierarchy stored in the plurality of records at the data warehouse by applying a recursive function to the plurality of records, the first set of strings representing hierarchical paths in the hierarchy, each string in the first set of strings comprising one or more components in the hierarchy and wherein the one or more components in the string are arranged in an order indicative of a hierarchical path represented by the string; instructions that cause the processor to filter the first set of strings to create a second set of strings, at the data warehouse, so that strings of the first set of strings that trace a path from a root of the hierarchy to a leaf of the hierarchy are selected to create the second set of strings, wherein the second set of strings have fewer than all strings from the first set of strings in order to perform hierarchical flattening of the plurality of records; instructions that cause the processor to create, in the data warehouse, a particular record for each string in the second set of strings; and querying the data warehouse for the particular record for a string in the second set of strings. - View Dependent Claims (13, 14, 16, 17)
-
-
15. A system comprising:
-
a processor; and a memory coupled to the processor; wherein the processor is configured to load, from an online transaction processing (OLTP) system, a plurality of records, each of the records of the plurality of records identifies a parent-child relationship between two components in a hierarchy; wherein the processor is configured, after the loading of the plurality of records from the OLTP system, to store the plurality of records in a data warehouse that is separate from the OLTP system; wherein the processor is configured, after the storing of the plurality of the data records in the data warehouse, to generate, at the data warehouse, a first set of strings based upon hierarchy data for the hierarchy stored in the plurality of records at the data warehouse by applying a recursive function to the plurality of records, the first set of strings representing hierarchical paths in the hierarchy, each string in the first set of strings comprising one or more components in the hierarchy and wherein the one or more components in the string are arranged in an order indicative of a hierarchical path represented by the string; wherein the processor is configured to filter the first set of strings to create a second set of strings, at the data warehouse, so that strings of the first set of strings that trace a path from a root of the hierarchy to a leaf of the hierarchy are selected to create the second set of strings, wherein the second set of strings have fewer than all strings from the first set of strings in order to perform hierarchical flattening of the plurality of records; wherein the processor is configured to create, in the data warehouse, a particular record for each string in the second set of strings; and querying the data warehouse for the particular record for a string in the second set of strings. - View Dependent Claims (18, 19, 20, 21)
-
Specification