IP Library Granted Patent US 11,675,757
Granted Patent B2
US 11,675,757 · App. 17/215,527 · Granted Jun 13, 2023

Maintaining row durability data in database systems

Inventors: Anna Veselova (Chicago, IL); Ravi V. Khadiwala (Bartlett, IL); George Kondiles (Chicago, IL)
Assignee: Ocient Holdings LLC
G06F16/215G06F16/24532G06F16/258G06F16/285
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,675,757
App. No.
17/215,527
Granted
Jun 13, 2023
Kind
B2
Abstract

A database system operates by: receiving a plurality of row data associated with a first data source; identifying a subset of row data from the plurality of row data that includes only ones of the plurality of row data that compare favorably to maintained row durability data; generating at least one page from ones of the plurality of row data included in the subset of row data; storing the at least one page in long term storage; generating updated row durability data indicating a least favorably ordered row number of a plurality of row numbers corresponding to the subset of row data based on storing the at least one page in long term storage; and updating the maintained row durability data to indicate the least favorably ordered row number of the updated row durability data.

Claims (67)

1. A method for execution by a record processing and storage system, comprising:

receiving a plurality of row data associated with a first data source, wherein each of the plurality of row data includes at least one corresponding record of a dataset;

identifying a subset of row data from the plurality of row data that includes only ones of the plurality of row data that compare favorably to maintained row durability data based on a plurality of row numbers corresponding to the subset of row data comparing favorably to a row number indicated in the maintained row durability data;

generating at least one page that includes corresponding records included in the ones of the plurality of row data included in the subset of row data based on writing the corresponding records included in the ones of the plurality of row data to a page storage system;

storing the at least one page in long term storage;

identifying a least favorably ordered row number of the plurality of row numbers corresponding to the subset of row data;

generating updated row durability data indicating the least favorably ordered row number of the plurality of row numbers corresponding to the subset of row data based on storing the at least one page in long term storage; and

updating the maintained row durability data to indicate the least favorably ordered row number of the updated row durability data as the row number indicated in the maintained row durability data.

2. The method of claim 1 , wherein the plurality of row data is processed via a plurality of processing core resources, wherein each processing core resource in the plurality of processing core resources generate a corresponding subset of a set of pages, independently from and in parallel with processing of other subsets of the set of pages via other ones of the plurality of processing core resources.

3. The method of claim 1 , further comprising:

receiving a second plurality of row data associated with the first data source after updating the maintained row durability data;

selecting a second subset of row data from the second plurality of row data by identifying ones of the second plurality of row data that compare favorably to the least favorably ordered row number of the maintained row durability data; and

generating at least one second page from ones of the second plurality of row data included in the second subset of row data.

4. The method of claim 3 , further comprising:

storing the at least one second page in long term storage.

5. The method of claim 4 , further comprising:

generating further updated row durability data indicating a second least favorably ordered row number of a second plurality of row numbers corresponding to the second subset of row data based on storing the at least one second page in long term storage; and

further updating the maintained row durability data to indicate the second least favorably ordered row number of the further updated row durability data.

6. The method of claim 1 , wherein the method includes deduplicating at least one of the plurality of row data included in multiple ones of a set of pages that include the at least one page.

7. The method of claim 6 , wherein deduplicating the at least one of the plurality of row data includes comparing a first row number interval of one page in the set of pages to row number interval of at least one other page.

8. The method of claim 1 , wherein the updated row durability data corresponds to the first data source, and wherein the method further comprises:

receiving a second plurality of row data associated with a second data source;

identifying a second subset of row data from the second plurality of row data that includes only ones of the second plurality of row data that compare favorably to second row durability data corresponding to the second data source, wherein the at least one page is further generated from ones of the second plurality of row data included in the subset of row data; and

storing the at least one page in long term storage.

9. The method of claim 8 , further comprising:

generating second maintained row durability data indicating a second least favorably ordered row number of a second plurality of row numbers corresponding to the second subset of row data based on storing the at least one page in long term storage; and

updating the second maintained row durability data to indicate the second least favorably ordered row number of the second maintained row durability data.

10. The method of claim 1 , further comprising transmitting the updated row durability data to a computing device associated with the first data source.

11. A record processing and storage system includes:

at least one processor; and

a memory that stores operational instructions that, when executed by the at least one processor, cause the record processing and storage system to perform operations that include:

receiving a plurality of row data associated with a first data source, wherein each of the plurality of row data includes at least one corresponding record of a dataset;

identifying a subset of row data from the plurality of row data that includes only ones of the plurality of row data that compare favorably to maintained row durability data based on a plurality of row numbers corresponding to the subset of row data comparing favorably to a row number indicated in the maintained row durability data;

generating at least one page that includes corresponding records included in the ones of the plurality of row data included in the subset of row data based on writing the corresponding records included in the ones of the plurality of row data to a page storage system;

storing the at least one page in long term storage;

identifying a least favorably ordered row number of the plurality of row numbers corresponding to the subset of row data;

generating updated row durability data indicating the least favorably ordered row number of the plurality of row numbers corresponding to the subset of row data based on storing the at least one page in long term storage; and

updating the maintained row durability data to indicate the least favorably ordered row number of the updated row durability data as the row number indicated in the maintained row durability data.

12. The record processing and storage system of claim 11 , wherein the plurality of row data is processed via a plurality of processing core resources, wherein each processing core resource in the plurality of processing core resources generate a corresponding subset of a set of pages, independently from and in parallel with processing of other subsets of the set of pages via other ones of the plurality of processing core resources.

13. The record processing and storage system of claim 11 , wherein the operations further include:

receiving a second plurality of row data associated with the first data source after updating the maintained row durability data;

selecting a second subset of row data from the second plurality of row data by identifying ones of the second plurality of row data that compare favorably to the least favorably ordered row number of the maintained row durability data; and

generating at least one second page from ones of the second plurality of row data included in the second subset of row data.

14. The record processing and storage system of claim 13 , wherein the operations further include:

storing the at least one second page in long term storage.

15. The record processing and storage system of claim 14 , wherein the operations further include:

generating further updated row durability data indicating a second least favorably ordered row number of a second plurality of row numbers corresponding to the second subset of row data based on storing the at least one second page in long term storage; and

further updating the maintained row durability data to indicate the second least favorably ordered row number of the further updated row durability data.

16. The record processing and storage system of claim 11 , wherein the operations further include:

deduplicating at least one of the plurality of row data included in multiple ones of a set of pages that include the at least one page.

17. The record processing and storage system of claim 16 , wherein deduplicating the at least one of the plurality of row data includes comparing a first row number interval of one page in the set of pages to row number interval of at least one other page.

18. The record processing and storage system of claim 11 , wherein the updated row durability data corresponds to the first data source, and wherein the operations include:

receiving a second plurality of row data associated with a second data source;

identifying a second subset of row data from the second plurality of row data that includes only ones of the second plurality of row data that compare favorably to second row durability data corresponding to the second data source, wherein the at least one page is further generated from ones of the second plurality of row data included in the subset of row data; and

storing the at least one page in long term storage.

19. The record processing and storage system of claim 18 , wherein the operations further include:

generating second maintained row durability data indicating a second least favorably ordered row number of a second plurality of row numbers corresponding to the second subset of row data based on storing the at least one page in long term storage; and

updating the second maintained row durability data to indicate the second least favorably ordered row number of the second maintained row durability data.

20. A non-transitory computer readable storage medium comprises:

at least one memory section that stores operational instructions that, when executed by a processing module that includes a processor and a memory, causes the processing module to perform operation that include:

receiving a plurality of row data associated with a first data source, wherein each of the plurality of row data includes at least one corresponding record of a dataset;

identifying a subset of row data from the plurality of row data that includes only ones of the plurality of row data that compare favorably to maintained row durability data based on a plurality of row numbers corresponding to the subset of row data comparing favorably to a row number indicated in the maintained row durability data;

generating at least one page that includes corresponding records included in the ones of the plurality of row data included in the subset of row data based on writing the corresponding records included in the ones of the plurality of row data to a page storage system;

storing the at least one page in long term storage;

identifying a least favorably ordered row number of the plurality of row numbers corresponding to the subset of row data;

generating updated row durability data indicating the least favorably ordered row number of the plurality of row numbers corresponding to the subset of row data based on storing the at least one page in long term storage; and

updating the maintained row durability data to indicate the least favorably ordered row number of the updated row durability data as the row number indicated in the maintained row durability data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: VESELOVA, ANNA; KHADIWALA, RAVI V.; KONDILES, GEORGE
To: OCIENT HOLDINGS LLC
Reel/Frame 055777/0177 →
Continuity (2)
Provisional Application 63107080 · Oct 29, 2020
Related Publication 20220138168A1 · May 5, 2022