Data management platform
First Claim
1. A computer-implemented method for a distributed data management system to interact with a user, wherein the data management system has multiple computing members installed on multiple respective computers, and at least two types of data storage:
- nonvolatile, non-operational memory that stores persisted data regions, and operational, volatile memory that stores operational data, the method comprising;
receiving, from a user, a user-provided definition of a data region that defines a namespace of key-value pairs of data entries to be stored in the data region, wherein the user-provided definition includes one or more user-defined attributes for data entries in the data region;
receiving, from the user, a runtime query language statement defining one or more eviction criteria that specify one or more conditions under which data entries having particular values of one or more user-defined attributes should be evicted from operational memory of each computing member of the distributed data management system;
storing a portion of the data region in the operational memory of the multiple computing members;
initializing a respective eviction task on each member of the multiple computing members of the data management system;
repeatedly evaluating, by each respective eviction task on each member of the multiple computing members, the one or more eviction criteria over values of the one or more user-defined attributes of the one or more data entries of the data region stored in operational memory of the respective member;
determining, by a particular member of the multiple computing members, that the one or more eviction criteria are satisfied for a data entry of the data region stored in operational memory of the particular member; and
in response to determining that the one or more eviction criteria are satisfied for the data entry of the data region stored in operational memory of the particular member, removing the data entry of the data region from the operational memory of the particular member.
4 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for distributed data management. One of the methods includes maintaining, by a first member in a distributed data management system having multiple computing members installed on multiple respective computers, a first garbage collection version vector that includes, for each member in the distributed data management system, a garbage collection version that represents a number of garbage collection processes performed by the member on a respective copy of a replicated data region maintained by the member in the data management system. If the first garbage collection version vector is different than a second garbage collection version vector received from a different provider member, a first replication process is performed that is different than a second replication process that is performed when the first garbage collection version vector matches the second garbage collection version vector.
-
Citations
17 Claims
-
1. A computer-implemented method for a distributed data management system to interact with a user, wherein the data management system has multiple computing members installed on multiple respective computers, and at least two types of data storage:
- nonvolatile, non-operational memory that stores persisted data regions, and operational, volatile memory that stores operational data, the method comprising;
receiving, from a user, a user-provided definition of a data region that defines a namespace of key-value pairs of data entries to be stored in the data region, wherein the user-provided definition includes one or more user-defined attributes for data entries in the data region; receiving, from the user, a runtime query language statement defining one or more eviction criteria that specify one or more conditions under which data entries having particular values of one or more user-defined attributes should be evicted from operational memory of each computing member of the distributed data management system; storing a portion of the data region in the operational memory of the multiple computing members; initializing a respective eviction task on each member of the multiple computing members of the data management system; repeatedly evaluating, by each respective eviction task on each member of the multiple computing members, the one or more eviction criteria over values of the one or more user-defined attributes of the one or more data entries of the data region stored in operational memory of the respective member; determining, by a particular member of the multiple computing members, that the one or more eviction criteria are satisfied for a data entry of the data region stored in operational memory of the particular member; and in response to determining that the one or more eviction criteria are satisfied for the data entry of the data region stored in operational memory of the particular member, removing the data entry of the data region from the operational memory of the particular member. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- nonvolatile, non-operational memory that stores persisted data regions, and operational, volatile memory that stores operational data, the method comprising;
-
9. A distributed data management system comprising multiple storage devices and multiple computing members installed on multiple respective computers, and at least two types of data storage:
- nonvolatile, non-operational memory that stores persisted data regions, and operational, volatile memory that stores operational data, the storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising;
receiving, from a user, a user-provided definition of a data region that defines a namespace of key-value pairs of data entries to be stored in the data region, wherein the user-provided definition includes one or more user-defined attributes for data entries in the data region; receiving, from the user, a runtime query language statement defining one or more eviction criteria that specify one or more conditions under which data entries having particular values of one or more user-defined attributes should be evicted from operational memory of each computing member of the distributed data management system; storing a portion of the data region in the operational memory of the multiple computing members; initializing a respective eviction task on each member of the multiple computing members of the data management system; repeatedly evaluating, by each respective eviction task on each member of the multiple computing members, the one or more eviction criteria over values of the one or more user-defined attributes of the one or more data entries of the data region stored in operational memory of the respective member; determining, by a particular member of the multiple computing members, that the one or more eviction criteria are satisfied for a data entry of the data region stored in operational memory of the particular member; and in response to determining that the one or more eviction criteria are satisfied for the data entry of the data region stored in operational memory of the particular member, removing the data entry of the data region from the operational memory of the particular member. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
- nonvolatile, non-operational memory that stores persisted data regions, and operational, volatile memory that stores operational data, the storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising;
-
17. A computer program product, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
-
at a distributed data management system comprising multiple computing members installed on multiple respective computers, and at least two types of data storage;
non volatile, non-operational memory that stores persisted data regions, and operational, volatile memory that stores operational data, receiving, from a user, a user-provided definition of a data region that defines a namespace of key-value pairs of data entries to be stored in the data region, wherein the user-provided definition includes one or more user-defined attributes for data entries in the data region;receiving, from the user, a runtime query language statement defining one or more eviction criteria that specify one or more conditions under which data entries having particular values of one or more user-defined attributes should be evicted from operational memory of each computing member of the distributed data management system; storing a portion of the data region in the operational memory of the multiple computing members; initializing a respective eviction task on each member of the multiple computing members of the data management system; repeatedly evaluating, by each respective eviction task on each member of the multiple computing members, the one or more eviction criteria over values of the one or more user-defined attributes of the one or more data entries of the data region stored in operational memory of the respective member; determining, by a particular member of the multiple computing members, that the one or more eviction criteria are satisfied for a data entry of the data region stored in operational memory of the particular member; and in response to determining that the one or more eviction criteria are satisfied for the data entry of the data region stored in operational memory of the particular member, removing the data entry of the data region from the operational memory of the particular member.
-
Specification