Table data persistence
First Claim
1. A method, comprising:
- receiving, by a server cluster, a specification of a database table, the specification including an identifier of a data store on a distributed file system, wherein the server cluster comprises a plurality of servers and a plurality of computers, each server being a computer program executing on one or more of the computers, the server cluster being different from the distributed file system;
creating, by the servers in the server cluster, the database table based on the specification, the database table being distributed among each server of the server cluster;
storing, by each server in the server cluster, a history of modification of a portion of the database table distributed to that server as table data in a queue of that server, the history including events of inserting data records into the database table and events of changing data records in the database table, wherein the queue of that server and data records of the database table that are distributed to that server are stored on a storage device of the one or more computers allocated to that server;
determining, by at least one server of the server cluster, that a table data persistence condition has been satisfied on the at least one server;
in response, removing, by the at least one server, at least a portion of the queue from a storage device associated with the at least one server or removing at least a portion of the data records from the storage device associated with the at least one server; and
storing the removed portion of the queue or the removed portion of data records as log files in the data store of the distributed file system.
4 Assignments
0 Petitions
Accused Products
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.
26 Citations
21 Claims
-
1. A method, comprising:
-
receiving, by a server cluster, a specification of a database table, the specification including an identifier of a data store on a distributed file system, wherein the server cluster comprises a plurality of servers and a plurality of computers, each server being a computer program executing on one or more of the computers, the server cluster being different from the distributed file system; creating, by the servers in the server cluster, the database table based on the specification, the database table being distributed among each server of the server cluster; storing, by each server in the server cluster, a history of modification of a portion of the database table distributed to that server as table data in a queue of that server, the history including events of inserting data records into the database table and events of changing data records in the database table, wherein the queue of that server and data records of the database table that are distributed to that server are stored on a storage device of the one or more computers allocated to that server; determining, by at least one server of the server cluster, that a table data persistence condition has been satisfied on the at least one server; in response, removing, by the at least one server, at least a portion of the queue from a storage device associated with the at least one server or removing at least a portion of the data records from the storage device associated with the at least one server; and storing the removed portion of the queue or the removed portion of data records as log files in the data store of the distributed file system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 20)
-
-
8. A non-transitory storage device storing instructions operable to cause a plurality of computers to perform operations comprising:
-
receiving, by a server cluster, a specification of a database table, the specification including an identifier of a data store on a distributed file system, wherein the server cluster comprises a plurality of servers, each server being a computer program executing on one or more of the plurality of computers, the server cluster being different from the distributed file system; creating, by the servers in the server cluster, the database table based on the specification, the database table being distributed among each server of the server cluster; storing, by each server in the server cluster, a history of modification of a portion of the database table distributed to that server as table data in a queue of that server, the history including events of inserting data records into the database table and events of changing data records in the database table, wherein the queue of that server and data records of the database table that are distributed to that server are stored on a storage device of the one or more computers allocated to that server; determining, by at least one server of the server cluster, that a table data persistence condition has been satisfied on the at least one server; in response, removing, by the at least one server, at least a portion of the queue from a storage device associated with the at least one server or removing at least a portion of the data records from the storage device associated with the at least one server; and storing the removed portion of the queue or the removed portion of data records as log files in the data store of the distributed file system. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. 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, by a server cluster, a specification of a database table, the specification including an identifier of a data store on a distributed file system, wherein the server cluster comprises a plurality of servers, each server being a computer program executing on one or more of the plurality of computers, the server cluster being different from the distributed file system; creating, by the servers in the server cluster, the database table based on the specification, the database table being distributed among each server of the server cluster; storing, by each server in the server cluster, a history of modification of a portion of the database table distributed to that server as table data in a queue of that server, the history including events of inserting data records into the database table and events of changing data records in the database table, wherein the queue of that server and data records of the database table that are distributed to that server are stored on a storage device of the one or more computers allocated to that server; determining, by at least one server of the server cluster, that a table data persistence condition has been satisfied on the at least one server; in response, removing, by the at least one server, at least a portion of the queue from a storage device associated with the at least one server or removing at least a portion of the data records from the storage device associated with the at least one server; and storing the removed portion of the queue or the removed portion of data records as log files in the data store of the distributed file system. - View Dependent Claims (16, 17, 18, 19, 21)
-
Specification