IP Library Granted Patent US 11,068,451
Granted Patent B2
US 11,068,451 · App. 15/688,144 · Granted Jul 20, 2021

Database column refresh via replacement

Inventors: Michael Leuchtenburg (Cambridge, MA); Yuanzhe Bei (Cambridge, MA); Charles Edward Bear (Cambridge, MA); Nga Tran (Andover, MA)
Assignee: MICRO FOCUS LLC
G06F16/221G06F16/23G06F16/2455G06F16/2456G06F16/258
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 11,068,451
App. No.
15/688,144
Filed
Aug 28, 2017
Granted
Jul 20, 2021
Kind
B2
Art Unit
2167
USPC
707/812
Abstract

According to an example, a system may receive a refresh column command for a column-oriented database. The refresh column command may identify a table in the column-oriented database and a denormalized column in the table. The system may determine column definitions for the column, generate a query to populate values from a data source associated with the column into the column based on the column definitions, and may execute the query to replace entire set of existing column values with the data source values.

Claims (43)

1. A system comprising:

a processor;

a memory on which is stored machine-readable instructions executable by the processor to:

receive a refresh column command for a column-oriented database, the refresh column command identifying a table in the column-oriented database and a column in the table, wherein the column is denormalized as being not directly related to other columns via a primary key of the column-oriented database;

determine column definitions for the column, the column definitions including a transformation to be performed on values from a data source prior to being stored in the column;

generate a query to populate the values from the data source into the column based on the column definitions;

generate, based on the query, a refresh column plan utilizing storage layout metadata of the column, the refresh column plan to keep an existing storage layout for the column and to write a column value stream with new values to a data source file associated with the column; and

execute the refresh column plan on the column to replace an entire set of existing column values with the values from the data source, and to link the data source file associated with the column to the storage layout metadata of the column.

2. The system according to claim 1 , wherein the instructions are further to cause the processor to generate a select query plan including the query based on storage layout metadata of tables to be read by the query.

3. The system according to claim 2 , wherein the select query plan defines how the data source is scanned and how the data source is joined using a join function to produce the data source.

4. The system according to claim 2 , wherein the instructions are further to cause the processor to convert the select query plan into the refresh column plan to be executed on the column.

5. The system according to claim 4 , wherein the instructions are further to cause the processor to execute the refresh column plan to generate the new values and to write the column value stream with the new values to the data source file associated with the column.

6. The system according to claim 5 , wherein to execute the refresh column plan, the instructions are further to cause the processor to:

drop old file links from the column.

7. The system according to claim 5 , wherein the instructions are further to cause the processor to commit results of the executed refresh column plan.

8. The system according to claim 7 , wherein the instructions are further to cause the processor to make a column storage metadata visible to future table queries in response to the committing the results of the executed refresh column plan.

9. The system according to claim 7 , wherein the instructions are further to cause the processor to place old files referenced by old file links into a queue for removal in response to the committing the results of the executed refresh column plan.

10. The system according to claim 1 , wherein the instructions are further to cause the processor to derive the column definitions from table metadata.

11. The system according to claim 1 , wherein the instructions are further to cause the processor to receive a refresh columns command comprising column names of multiple denormalized columns of the table.

12. A computer-implemented method executable by at least one processor, the method comprising:

receiving a refresh column command for a column-oriented database, the refresh column command identifying a table in the column-oriented database and a column in the table, wherein the column is denormalized as being not directly related to other columns via a primary key of the column-oriented database;

determining column definitions for the column, the column definitions including a transformation to be performed on values from a data source prior to being stored in the column;

generating a query to populate the values from the data source into the column based on the column definitions;

generating, based on the query, a refresh column plan utilizing storage layout metadata of the column, the refresh column plan to keep an existing storage layout for the column and to write a column value stream with new values to a data source file associated with the column;

executing the refresh column plan to replace an entire set of existing column values with the values from the data source and to link the data source file associated with the column to the storage layout metadata of the column; and

committing results of the executed refresh column plan.

13. The method according to claim 12 , wherein the executing of the refresh column plan comprises:

generating the new values from data source files;

writing the new values to new files;

linking the new files to column storage metadata; and

dropping old file links from the column.

14. The method according to claim 13 , further comprising writing the new values to the new files while keeping an existing storage layout of the column.

15. The method according to claim 12 , further comprising generating a select query plan including the query based on the storage layout metadata of tables to be read by the query.

16. The method according to claim 15 , wherein the select query plan defines how the data source is scanned and how the data source is joined using a join function to produce the data source.

17. The method according to claim 15 , wherein the generating the refresh column plan is based on the select query plan.

18. The method according to claim 12 , further comprising, in response to the committing of the results of the executed refresh column plan, making a column storage metadata visible to future table queries to read the values from the data source.

19. The method according to claim 12 , further comprising receiving a refresh columns command comprising column names of multiple denormalized columns of the table.

20. A non-transitory computer readable medium on which is stored machine-readable instructions that when executed by a processor, cause the processor to:

receive a refresh column command for a column-oriented database, the refresh column command identifying a table in the column-oriented database and columns in the table, wherein the columns are denormalized as being not directly related to other columns via a primary key of the column-oriented database;

determine column definitions for the columns, the column definitions for the columns including a transformation to be performed on values from data sources prior to being stored in the columns;

generate a query to populate the values from the data sources into the columns based on the column definitions;

generate, based on the query, a refresh column plan utilizing storage layout metadata of the columns, the refresh column plan to keep an existing storage layout for the columns and to write column value streams with new values to data source files associated with the columns; and

execute the refresh column plan on the column to replace an entire set of existing column values with the values from the data sources, and to link the data source files associated with the columns to the storage layout metadata of the columns.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2026
From: MICRO FOCUS LLC
To: ROCKET SOFTWARE, INC.
Reel/Frame 075795/0114 →
RELEASE OF SECURITY INTEREST REEL/FRAME 052294/0522 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062624/0449 →
RELEASE OF SECURITY INTEREST REEL/FRAME 052295/0041 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062625/0754 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052294/0522 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: MICRO FOCUS LLC; BORLAND SOFTWARE CORPORATION; MICRO FOCUS SOFTWARE INC.; NETIQ CORPORATION; MICRO FOCUS (US), INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 052295/0041 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2017
From: LEUCHTENBURG, MICHAEL; BEI, YUANZHE; BEAR, CHARLES EDWARD; TRAN, NGA
To: ENTIT SOFTWARE LLC
Reel/Frame 044058/0588 →
Continuity (1)
Related Publication 20190065538A1 · Feb 28, 2019