IP Library Granted Patent US 10,922,285
Granted Patent B1
US 10,922,285 · App. 15/583,736 · Granted Feb 16, 2021

Table data persistence

Inventors: Daniel Allen Smith (Portland, OR); Anthony M. Baker (Sherwood, OR); Sumedh Wale (Maharashtra, IN); Hemant Bhanawat (Maharashtra, IN); Jagannathan Ramnarayanan (Portland, OR); Swapnil Prakash Bawaskar (Hillsboro, OR); Ashvin Agrawal (Cupertino, CA); Neeraj Kumar (Maharashtra, IN)
Assignee: Pivotal Software, Inc.
G06F16/183G06F16/148G06F16/2282G06F16/2379H04L67/1095H04L67/1097H04L67/42
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,922,285
App. No.
15/583,736
Granted
Feb 16, 2021
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for a distributed parallel processing database system that persists table data in memory to a distributed file system. A distributed parallel processing database system persists table data in memory to a distributed file system. A parameter of creating a database table specifies that data records in the database table and history of changes to the data records can be stored in memory as well as in the distributed file system. When the database table is populated or otherwise modified, data records and the history in memory are evicted to the distributed file system as log files and removed from memory. The log files can be designated as write-only, where the data records, once written, cannot be read by structured query language (SQL) queries, or as read-write, where the data records, once written, can be read by SQL queries.

Claims (44)

1. A method, comprising:

receiving a command for creating a database table, the command including an identifier of a data store persisted on a distributed file system;

creating the database table in response to the command;

receiving and inserting updated data as one or more data records in the database table;

storing at least a portion of the data records as log files of the data store on the distributed file system, comprising:

determining that an amount of data records stored in a memory device satisfies a memory overflow condition; and

in response, moving one or more data records from the memory device to the log files; and

in response to receiving a request to access the data records stored on the distributed file system, retrieving the data records from the log files using a mapper procedure of a plurality of mapper procedures of a mapping process.

2. The method of claim 1 , wherein the command includes a data definition language (DDL) statement.

3. The method of claim 2 , wherein storing at least a portion of the data records as log files of the data store comprises:

determining that a data record satisfies a condition of evicting data records from a memory device to the distributed file system as specified in an eviction setting in the DDL statement; and

in response, moving the data record from the memory device to the log files.

4. The method of claim 1 , wherein the mapper is configured to filter and sort the log files.

5. The method of claim 1 comprising storing a data manipulation language (DML) statement defining a schema of the database table in a metadata file in the data store.

6. A non-transitory storage device storing instructions operable to cause one or more computers to perform operations comprising:

receiving a command for creating a database table, the command including an identifier of a data store persisted on a distributed file system;

creating the database table in response to the command;

receiving and inserting updated data as one or more data records in the database table;

storing at least a portion of the data records as log files of the data store on the distributed file system, comprising:

determining that an amount of data records stored in a memory device satisfies a memory overflow condition; and

in response, moving one or more data records from the memory device to the log files; and

in response to receiving a request to access the data records stored on the distributed file system, retrieving the data records from the log files using a mapper procedure of a plurality of mapper procedures of a mapping process.

7. The non-transitory storage device of claim 6 , wherein the command includes a data definition language (DDL) statement.

8. The non-transitory storage device of claim 7 , wherein storing at least a portion of the data records as log files of the data store comprises:

determining that a data record satisfies a condition of evicting data records from a memory device to the distributed file system as specified in an eviction setting in the DDL statement; and

in response, moving the data record from the memory device to the log files.

9. The non-transitory storage device of claim 6 , wherein the mapper is configured to filter and sort the log files.

10. The non-transitory storage device of claim 6 , the operations comprising storing a data manipulation language (DML) statement defining a schema of the database table in a metadata file in the data store.

11. A system comprising:

one or more computers; and

a non-transitory storage device storing instructions operable to cause the one or more computers to perform operations comprising:

receiving a command for creating a database table, the command including an identifier of a data store persisted on a distributed file system;

creating the database table in response to the command;

receiving and inserting updated data as one or more data records in the database table;

storing at least a portion of the data records as log files of the data store on the distributed file system, comprising:

determining that an amount of data records stored in a memory device satisfies a memory overflow condition; and

in response, moving one or more data records from the memory device to the log files; and

in response to receiving a request to access the data records stored on the distributed file system, retrieving the data records from the log files using a mapper procedure of a plurality of mapper procedures of a mapping process.

12. The system of claim 11 , wherein the command includes a data definition language (DDL) statement.

13. The system of claim 12 , wherein storing at least a portion of the data records as log files of the data store comprises:

determining that a data record satisfies a condition of evicting data records from a memory device to the distributed file system as specified in an eviction setting in the DDL statement; and

in response, moving the data record from the memory device to the log files.

14. The system of claim 11 , wherein the mapper is configured to filter and sort the log files.

15. The system of claim 11 , the operations comprising storing a data manipulation language (DML) statement defining a schema of the database table in a metadata file in the data store.

Assignments (6)
MERGER Recorded May 20, 2026
From: PIVOTAL SOFTWARE, INC.
To: VMWARE LLC
Reel/Frame 075613/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2018
From: SMITH, DANIEL ALLEN; BAKER, ANTHONY M.; RAMNARAYANAN, JAGANNATHAN; BAWASKAR, SWAPNIL PRAKASH; AGRAWAL, ASHVIN
To: VMWARE, INC.
Reel/Frame 045144/0614 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2018
From: WALE, SUMEDH; BHANAWAT, HEMANT; KUMAR, NEERAJ
To: VMWARE SOFTWARE INDIA PRIVATE LIMITED
Reel/Frame 045144/0673 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2018
From: SMITH, DANIEL ALLEN; BAKER, ANTHONY M.; RAMNARAYANAN, JAGANNATHAN; BAWASKAR, SWAPNIL PRAKASH; AGRAWAL, ASHVIN
To: VMWARE, INC.
Reel/Frame 045067/0312 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2018
From: WALE, SUMEDH; BHANAWAT, HEMANT; KUMAR, NEERAJ
To: VMWARE SOFTWARE INDIA PRIVATE LIMITED
Reel/Frame 045067/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2018
From: VMWARE, INC.; VMWARE SOFTWARE INDIA PRIVATE LIMITED
To: PIVOTAL SOFTWARE, INC.
Reel/Frame 045067/0560 →
Continuity (2)
Continuation 14526347 · Oct 28, 2014
Provisional Application 61896593 · Oct 28, 2013