IP Library Granted Patent US 12,405,943
Granted Patent B2
US 12,405,943 · App. 18/415,396 · Granted Sep 2, 2025

Generating minor compactions to capture aggregated actions for commit ranges to data files

Inventors: Frederick Ryan Johnson (Orem, UT); Prakhar Jain (Sunnyvale, CA)
Assignee: Databricks, Inc.
G06F16/2379G06F16/1744
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 12,405,943
App. No.
18/415,396
Granted
Sep 2, 2025
Kind
B2
Abstract

A data processing service uses minor compactions for committing transactions to a data table. The service may receive requests to commit transactions to a data table and write metadata for the transactions to log files, and generate a checkpoint file aggregating the transactions described in the log files to compute a data table state at a first time. The service may receive requests to commit a set of transactions and write metadata for the set of transactions to a set of log files. The service may determine that a number of log files in the set of log files reaches a threshold commit number, generate a minor compaction file aggregating the set of transactions, and generate a second checkpoint file aggregating the data table state at the first time with information from the minor compaction file to compute the data table state at a second time.

Claims (55)

1. A method comprising:

receiving, from one or more client devices, requests to commit one or more transactions to a data table and write metadata for the one or more transactions to one or more log files, wherein the data table is stored in a cloud storage as a set of data files;

generating a checkpoint file aggregating the one or more transactions described in the one or more log files to compute a state of the data table at a first time;

receiving requests to commit a set of transactions to the data table and write metadata for the set of transactions to a set of log files, wherein the set of transactions are transactions that occur after the one or more transactions;

responsive to determining that a number of log files in the set of log files reaches a threshold commit number, generating a minor compaction file aggregating the set of transactions in the set of log files; and

generating a second checkpoint file aggregating the state of the data table at the first time with information on the set of transactions obtained from the minor compaction file to compute a state of the data table at a second time.

2. The method of claim 1 , further comprising:

generating a set of first-level minor compaction files including the minor compaction file, each first-level minor compaction file aggregating a respective set of transactions; and

responsive to determining that a number of first-level minor compaction files reaches a threshold number, generating a second-level minor compaction file aggregating the set of transactions in the set of first-level minor compaction files.

3. The method of claim 1 , further comprising:

iteratively creating hierarchical minor compaction files comprising multiple levels of minor compaction files, each higher level minor compaction file aggregating information on a respective set of transactions obtained from a respective set of lower level minor compaction files.

4. The method of claim 3 , further comprising:

determining a number of minor compaction levels (k) based on a threshold number of files (n) that each minor compaction aggregates and a threshold number of files (m) to read from the cloud storage.

5. The method of claim 1 , wherein generating the second checkpoint file comprises:

aggregating the state of the data table at the first time with information on the set of transactions obtained from the minor compaction file and an additional set of transactions in an additional set of log files; and

computing the state of the data table at the second time based on the aggregation.

6. The method of claim 1 , wherein the set of log files are in a form of JSON files.

7. The method of claim 1 , wherein each log file records one or more actions performed to the data table in a transaction corresponding to the log file.

8. A non-transitory computer readable storage medium comprising stored program code, the program code comprising instructions, the instructions when executed cause a processor system to:

receive, from one or more client devices, requests to commit one or more transactions to a data table and write metadata for the one or more transactions to one or more log files, wherein the data table is stored in a cloud storage as a set of data files;

generate a checkpoint file aggregating the one or more transactions described in the one or more log files to compute a state of the data table at a first time;

receive requests to commit a set of transactions to the data table and write metadata for the set of transactions to a set of log files;

responsive to determining that a number of log files in the set of log files reaches a threshold commit number, generate a minor compaction file aggregating the set of transactions in the set of log files; and

generate a second checkpoint file aggregating the state of the data table at the first time with information on the set of transactions obtained from the minor compaction file to compute a state of the data table at a second time.

9. The non-transitory computer readable storage medium of claim 8 , wherein the instructions when executed further cause the processor system to:

generate a set of first-level minor compaction files including the minor compaction file, each first-level minor compaction file aggregating a respective set of transactions; and

responsive to determining that a number of first-level minor compaction files reaches a threshold number, generate a second-level minor compaction file aggregating the set of transactions in the set of first-level minor compaction files.

10. The non-transitory computer readable storage medium of claim 8 , wherein the instructions when executed further cause the processor system to:

iteratively creating hierarchical minor compaction files comprising multiple levels of minor compaction files, each higher level minor compaction file aggregating information on a respective set of transactions obtained from a respective set of lower level minor compaction files.

11. The non-transitory computer readable storage medium of claim 10 , wherein the instructions when executed further cause the processor system to:

determine a number of minor compaction levels based on a threshold number and a threshold number of files to read from the cloud storage.

12. The non-transitory computer readable storage medium of claim 8 , wherein the instruction to generate the second checkpoint file, when executed further cause the processor system to:

aggregate the state of the data table at the first time with information on the set of transactions obtained from the minor compaction file and an additional set of transactions in an additional set of log files; and

compute the state of the data table at the second time based on the aggregation.

13. The non-transitory computer readable storage medium of claim 8 , wherein the set of log files are in a form of JSON files.

14. The non-transitory computer readable storage medium of claim 8 , wherein each log file records one or more actions performed to the data table in a transaction corresponding to the log file.

15. A system comprising:

one or more computer processors; and

one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the system to:

receive, from one or more client devices, requests to commit one or more transactions to a data table and write metadata for the one or more transactions to one or more log files, wherein the data table is stored in a cloud storage as a set of data files;

generate a checkpoint file aggregating the one or more transactions described in the one or more log files to compute a state of the data table at a first time;

receive requests to commit a set of transactions to the data table and write metadata for the set of transactions to a set of log files;

responsive to determining that a number of log files in the set of log files reaches a threshold commit number, generate a minor compaction file aggregating the set of transactions in the set of log files; and

generate a second checkpoint file aggregating the state of the data table at the first time with information on the set of transactions obtained from the minor compaction file to compute a state of the data table at a second time.

16. The system of claim 15 , wherein the instructions when executed by the one or more computer processors, further cause the system to:

generate a set of first-level minor compaction files including the minor compaction file, each first-level minor compaction file aggregating a respective set of transactions; and

responsive to determining that a number of first-level minor compaction files reaches a threshold number, generate a second-level minor compaction file aggregating the set of transactions in the set of first-level minor compaction files.

17. The system of claim 15 , wherein the instructions when executed by the one or more computer processors, further cause the system to:

iteratively create hierarchical minor compaction files comprising multiple levels of minor compaction files, each higher level minor compaction file aggregating information on a respective set of transactions obtained from a respective set of lower level minor compaction files.

18. The system of claim 17 , wherein the instructions when executed by the one or more computer processors, further cause the system to:

determine a number of minor compaction levels based on a threshold number and a threshold number of files to read from the cloud storage.

19. The system of claim 15 , wherein the instruction to generate the second checkpoint file, when executed by the one or more computer processors, further cause the system to:

aggregate the state of the data table at the first time with information on the set of transactions obtained from the minor compaction file and an additional set of transactions in an additional set of log files; and

compute the state of the data table at the second time based on the aggregation.

20. The system of claim 15 , wherein the set of log files are in a form of JSON files.

Assignments (2)
SECURITY INTEREST Recorded Jan 6, 2025
From: DATABRICKS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069825/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2024
From: JOHNSON, FREDERICK RYAN; JAIN, PRAKHAR
To: DATABRICKS, INC.
Reel/Frame 066178/0582 →
Continuity (1)
Related Publication 20250231930A1 · Jul 17, 2025
References Cited (4)
US 9639544B1 · Smith · 2017 [cited by examiner]
US 12204931B1 · Averin · 2025 [cited by examiner]
US 20160328429A1 · Lipcon · 2016 [cited by examiner]
US 20170193041A1 · Fuchs · 2017 [cited by examiner]