US10235333B1ActiveUtility

Managing consistency models in a distributed database

87
Assignee: TWITTER INCPriority: Apr 11, 2014Filed: Dec 18, 2014Granted: Mar 19, 2019
Est. expiryApr 11, 2034(~7.8 yrs left)· nominal 20-yr term from priority
H04L 47/805G06F 16/21G06F 16/2358G06F 16/2379G06F 16/27G06F 16/2365G06F 16/2308H04L 67/1097H04L 41/5067H04L 41/0896
87
PatentIndex Score
7
Cited by
15
References
15
Claims

Abstract

Embodiments are provided for enabling a dynamic management of a multi-tenant distributed database. According to certain aspects, a management module supports an interface that enables a customer to configure one or more consistency models for a service to be supported by the distributed database. The management module may determine computing resources within the distributed database that are needed to support the service according to the configured consistency model(s), and may instantiate the computing resources for testing and development of the service by the customer.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A system for configuring consistency models for services utilizing a multi-tenant distributed database having a plurality of computer resources providing services for a plurality of tenants, comprising:
 a computer; 
 a user interface; 
 a coordinator module deployed on the computer and adapted to interface with the user interface to manage consistency model configurations within the distributed databases for a plurality of services, wherein for each service of a particular tenant the coordinator module is configured to:
 receive, from a device presenting the user interface, a user selection of a time period during which the service should provide strong consistency for data reads, a user selection of a time period during which the service should provide eventual consistency for data reads, a user selection of a time period during which the service should provide strong consistency for data writes, and a user selection of a time period during which the service should provide eventual consistency for data writes; 
 identify a consistency model for reading and a consistency model for writing for a current time period based on the received user selections; and 
 provide consistency for the service in accordance with the identified consistency models for reading and writing. 
 
 
     
     
       2. The system of  claim 1 , wherein the coordinator module is further configured to:
 receive, through the user interface, a user specification of a replication factor corresponding to an amount of the plurality of computer resources to which data associated with the service is to be written. 
 
     
     
       3. A computer-implemented method of configuring consistency models for respective services of a plurality of services utilizing a distributed database having a plurality of computer resources, the method comprising, for each service of a particular tenant:
 receiving, from a device presenting a user interface, a user selection of a time period during which the service should provide strong consistency for data reads, a user selection of a time period during which the service should provide eventual consistency for data reads, a user selection of a time period during which the service should provide strong consistency for data writes, and a user selection of a time period during which the service should provide eventual consistency for data writes; 
 identifying a consistency model for reading and a consistency model for writing for a current time period based on the received user selections; and 
 providing consistency for the service in accordance with the identified consistency models for reading and writing. 
 
     
     
       4. The computer-implemented method of  claim 3 , further comprising:
 receiving a user specification of a replication factor corresponding to an amount of the plurality of computer resources to which data associated with the service is to be written. 
 
     
     
       5. A non-transitory computer readable storage medium storing instructions for configuring consistency models for respective services of a plurality of services utilizing a distributed database having a plurality of computer resources, the instructions when executed by a computer cause the computer to, for each service of a particular tenant:
 receive, from a device presenting the user interface, a user selection of a time period during which the service should provide strong consistency for data reads, a user selection of a time period during which the service should provide eventual consistency for data reads, a user selection of a time period during which the service should provide strong consistency for data writes, and a user selection of a time period during which the service should provide eventual consistency for data writes; 
 identify a consistency model for reading and a consistency model for writing for a current time period based on the received user selections; and 
 provide consistency for the service in accordance with the identified consistency model for reading and writing. 
 
     
     
       6. The non-transitory computer readable storage medium of  claim 5 , wherein the instructions further cause the computer processor to:
 receive a user specification of a replication factor corresponding to an amount of the plurality of computer resources to which data associated with the service is to be written. 
 
     
     
       7. The system of  claim 1 , wherein the database is distributed among multiple data centers, and wherein the coordinator module is further configured to:
 receive, through the user interface, a user specification to leverage local data centers when providing strong consistency for data writes. 
 
     
     
       8. The system of  claim 1 , further comprising a QoS controller configured to manage tenant usage of resources of the distributed database, and wherein, responsive to the consistency model identified based on the user selections, the QoS controller determines whether a required amount of resources of the distributed database are available to support the service. 
     
     
       9. The system of  claim 8 , wherein in response to determining that the required amount of resources are not available, the QoS controller allocates an additional portion of resources unused by other tenants of the system to support the service. 
     
     
       10. The computer-implemented method of  claim 3 , wherein the database is distributed among multiple data centers, and wherein the method further comprises:
 receiving a user specification to leverage local data centers when providing strong consistency for data writes. 
 
     
     
       11. The computer-implemented method of  claim 3 , wherein, responsive to the consistency model identified based on the user selections, determining whether a required amount of resources of the distributed database are available to support the service. 
     
     
       12. The computer-implemented method of  claim 11 , wherein in response to determining that the required amount of resources are not available, allocating an additional portion of resources unused by other tenants of the system to support the service. 
     
     
       13. The non-transitory computer readable storage medium of  claim 5 , wherein the database is distributed among multiple data centers, and wherein the instructions further cause the computer processor to:
 receive a user specification to leverage local data centers when providing strong consistency for data writes. 
 
     
     
       14. The non-transitory computer readable storage medium of  claim 5 , wherein, responsive to the consistency model identified based on the user selections, determining whether a required amount of resources of the distributed database are available to support the service. 
     
     
       15. The non-transitory computer readable storage medium of  claim 14 , wherein in response to determining that the required amount of resources are not available, allocating an additional portion of resources unused by other tenants of the system to support the service.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.