IP Library Granted Patent US 10,635,686
Granted Patent B2
US 10,635,686 · App. 15/299,273 · Granted Apr 28, 2020

Extensible attributes for data warehouses

Inventors: Dylan Wan (Fremont, CA); Francoise J. Lawrence (Dublin, CA); Justin Hyde (Oakland, CA); Amit Goyal (E. Palo Alto, CA); Saurabh Verma (Cupertino, CA); John D. Poole (Stratford, CT)
Assignee: Oracle International Corporation
G06F16/254
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,635,686
App. No.
15/299,273
Granted
Apr 28, 2020
Kind
B2
Abstract

Systems and methods for implementing extensible attributes in ETL are disclosed. In some examples, attributes configured at a source file may be extracted from the source file. The extracted attributes can be mapped to a target column of a data warehouse table, and then a dynamic ETL script may be generated. The dynamic script may be executed to move data associated with the attributes to an appropriate new column of the data warehouse.

Claims (53)

1. A method, comprising:

reserving, in a data warehouse table, a first set of extension columns for a first data type and a second set of extension columns for a second data type, the data warehouse table also containing a plurality of initial columns;

receiving metadata from a customer source, the metadata identifying an attribute corresponding to the first data type for the data warehouse table;

extracting the attribute from the metadata;

determining, based at least in part on the metadata from the customer source, that the attribute from the metadata does not correspond to a column in the plurality of initial columns of the data warehouse table;

selecting, based at least in part on a mismatch between the second data type of the second set of extension columns and the attribute corresponding to the first data type, a different set of extension columns, other than the second set of extension columns, for mapping;

selecting the first set of extension columns in the data warehouse table as the different set of extension columns for the mapping based at least in part on the first set of extension columns comprising a next unallocated column, and the next unallocated column comprising (i) a matching metadata code indicating matching column properties, and (ii) a match between the first data type of the first set of extension columns and the attribute corresponding to the first data type;

mapping the attribute to a target column of the data warehouse table, the target column corresponding to the next unallocated column;

generating runtime code, based at least in part on the metadata, to move data associated with the attribute into the target column of the data warehouse table; and

executing the runtime code to move the data into the target column.

2. The method of claim 1 , further comprising:

showing the attribute in a first language for the customer source and

showing the attribute in a second language for a second customer source.

3. The method of claim 1 , further comprising providing a report to the customer source based at least in part on the attribute.

4. The method of claim 3 , further comprising extracting label information associated with the attribute from the metadata.

5. The method of claim 4 , further comprising providing the label information in the report.

6. The method of claim 1 , wherein the attribute is a new attribute to be added to the data warehouse table that did not exist in the data warehouse table prior to receipt of the metadata.

7. The method of claim 1 , wherein the attribute is provided to a staging environment prior to mapping the attribute to the target column.

8. The method of claim 1 , wherein the mapping is performed dynamically for each of a plurality of attributes, and wherein the attribute is one of the plurality of attributes.

9. The method of claim 1 , further comprising:

deploying a first instance of the data warehouse table containing the plurality of initial columns on a first virtual machine for a first customer; and

deploying a second instance of the data warehouse table on a second virtual machine for a second customer, wherein the customer source comprises a cloud Online Transaction Processing (OLTP) service provider configured to extract custom attributes of the first instance of the data warehouse table from an OLTP on customer premises of the first customer.

10. The method of claim 2 , wherein a token indicates that:

a first attribute from the customer source is semantically equivalent with a second attribute from the second customer source, wherein the first attribute is associated with the first language, and the second attribute is associated with the second language; and

the first attribute and the second attribute belong in the target column.

11. A system, comprising:

memory storing computer-executable instructions; and

one or more hardware processors configured to access the memory and perform the computer-executable instructions to at least:

reserve a first set of extension columns for a first data type and a second set of extension columns for a second data type in a data warehouse table, the data warehouse table also containing a plurality of initial columns;

receive metadata from a customer source, the metadata identifying an attribute corresponding to the first data type for the data warehouse table;

extract the attribute from the metadata;

determine, based at least in part on the metadata from the customer source, that the attribute from the metadata does not correspond to a column in the plurality of initial columns of the data warehouse table;

select the first set of extension columns in the data warehouse table for mapping based at least in part on the first set of extension columns comprising a next unallocated column, and the next unallocated column comprising (i) a matching metadata code indicating matching column properties, and (ii) a match between the first data type of the first set of extension columns and the attribute corresponding to the first data type;

map the attribute to a target column of the first set of extension columns of the data warehouse table selected for the mapping, the target column corresponding to the next unallocated column;

generate runtime code, based at least in part on the metadata, to move data associated with the attribute into the target column of the data warehouse table; and

execute the runtime code to move the data into the target column.

12. The system of claim 11 , wherein the attribute is a new attribute to be added to the data warehouse table that did not exist in the data warehouse table prior to receipt of the metadata.

13. The system of claim 11 , wherein the runtime code is generated dynamically at a respective layer of a plurality of layers based at least in part on a request to add a new attribute, and wherein the generated runtime code enables a runtime mapping at the respective layer.

14. The system of claim 11 , further comprising instructions to at least refresh a column of attributes after the column has been added to the data warehouse table.

15. The system of claim 14 , wherein the column of attributes is refreshed without refreshing all of the data warehouse table.

16. The system of claim 13 , wherein the runtime code is further based at least in part on instructions received for handling a label or an unsupported value.

17. One or more non-transitory computer-readable storage medium, storing computer-executable instructions that, when executed by a computer system, configure to the computer system to perform operations comprising:

reserving, in a data warehouse table, a first set of extension columns for a first data type and a second set of extension columns for a second data type, the data warehouse table also containing a plurality of initial columns, and at least one column of the plurality of initial columns being associated with the first data type;

receiving metadata from a customer source, the metadata identifying an attribute corresponding to the first data type for the data warehouse table;

extracting the attribute from the metadata;

determining, based at least in part on the metadata from the customer source, that the attribute from the metadata does not correspond to a column in the plurality of initial columns of the data warehouse table;

selecting, based at least in part on a mismatch between the second data type of the second set of extension columns and the attribute corresponding to the first data type, a different set of extension columns, other than the second set of extension columns, for mapping;

selecting the first set of extension columns in the data warehouse table as the different set of extension columns for the mapping based at least in part on the first set of extension columns comprising a next unallocated column, and the next unallocated column comprising (i) a matching metadata code indicating matching column properties, and (ii) a match between the first data type of the first set of extension columns and the attribute corresponding to the first data type;

mapping the attribute to a target column of the first set of extension columns of the data warehouse table selected for the mapping, the target column corresponding to the next unallocated column;

generating runtime code, based at least in part on the metadata, to move data associated with the attribute into the target column of the data warehouse table; and

executing the runtime code to move the data into the target column.

18. The one or more non-transitory computer-readable storage medium of claim 17 , wherein the customer source comprises a cloud Online Transaction Processing (OLTP) service provider configured to extract custom attributes from an OLTP on customer premises.

19. The one or more non-transitory computer-readable storage medium of claim 17 , wherein the attribute is a new attribute to be added to the data warehouse table that did not exist in the data warehouse table prior to receipt of the metadata.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2017
From: WAN, DYLAN; LAWRENCE, FRANCOISE J.; HYDE, JUSTIN; GOYAL, AMIT; VERMA, SAURABH; POOLE, JOHN D.
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 041757/0059 →
Continuity (3)
Provisional Application 62244461 · Oct 21, 2015
Provisional Application 62362756 · Jul 15, 2016
Related Publication 20170116295A1 · Apr 27, 2017
Cited By (4)
US 12,216,650 US 12,216,651 US 12,248,490 US 12,517,915