Systems and methods for managing distributed database deployments
First Claim
1. A cloud distributed database, the database comprising:
- at least one cloud based resource, the at least one cloud based resource including processor and memory;
a database subsystem executing on the at least one cloud based resource, wherein the database subsystem comprises;
at least one replica set comprising a primary node hosting a primary database instance that accepts database write operations from client systems, and at least two secondary nodes that host copies of data of the primary database instance that replicate logged operations from the primary node;
a proxy layer configured to;
control authentication of client systems based on connection strings communicated from the client systems connecting to the at least one cloud resources;
assign a portion of the at least one cloud based resource and operating capability of the database subsystem to respective clients;
manage access to the database application for respective clients based on the client connection strings to enable transparent execution of write and read commands against the database subsystem and respective portions of the database hosted by the replica set, and communicate a result to the client system from the portion of database associated with the client system responsive to client communicated operations; and
a monitoring component, executing within the proxy layer, configured to;
monitor usage metrics for cloud resource utilization and database operation;
wherein the proxy layer is further configured to limit resource utilization by any client to pre-defined thresholds for processor, bandwidth, memory, and storage based on usage metrics from the monitoring component.
1 Assignment
0 Petitions
Accused Products
Abstract
Various aspects provide for implementation of a cloud service for running, monitoring, and maintaining cloud distributed database deployments and in particular examples, provides cloud based services to run, monitor and maintain deployments of the known MongoDB database. Various embodiments provide services, interfaces, and manage provisioning of dedicated servers for the distributed database instances (e.g., MongoDB instances). Further aspects, including providing a database as a cloud service that eliminates the design challenges associated with many distributed database implementations, while allowing the client'"'"'s input on configuration choices in building the database. In some implementations, clients can simply identity a number of database nodes, capability of the nodes, and within minutes have a fully functioning, scalable, replicated, and secure distributed database in the cloud.
-
Citations
22 Claims
-
1. A cloud distributed database, the database comprising:
-
at least one cloud based resource, the at least one cloud based resource including processor and memory; a database subsystem executing on the at least one cloud based resource, wherein the database subsystem comprises; at least one replica set comprising a primary node hosting a primary database instance that accepts database write operations from client systems, and at least two secondary nodes that host copies of data of the primary database instance that replicate logged operations from the primary node; a proxy layer configured to; control authentication of client systems based on connection strings communicated from the client systems connecting to the at least one cloud resources; assign a portion of the at least one cloud based resource and operating capability of the database subsystem to respective clients; manage access to the database application for respective clients based on the client connection strings to enable transparent execution of write and read commands against the database subsystem and respective portions of the database hosted by the replica set, and communicate a result to the client system from the portion of database associated with the client system responsive to client communicated operations; and a monitoring component, executing within the proxy layer, configured to; monitor usage metrics for cloud resource utilization and database operation; wherein the proxy layer is further configured to limit resource utilization by any client to pre-defined thresholds for processor, bandwidth, memory, and storage based on usage metrics from the monitoring component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer implemented method for managing a cloud distributed database, the method comprising:
-
executing a database subsystem on at least one cloud based resource having memory and processor, wherein the database subsystem comprises at least one replica set including a primary node hosting a primary database instance, and at least two secondary nodes that host copies of data of the primary database instance; executing, by the database subsystem, write operations at the primary database instance and replicating the write operations to the at least two secondary nodes; controlling, by a proxy layer executing on the at least one cloud resource, authentication, of client systems based on connection strings communicated from the client systems connecting to the at least one cloud resources; assigning, by the proxy layer, a portion of the at least one cloud based resource and operating capability of the database subsystem to respective clients; managing, by the proxy layer, access to the database application for respective clients based on the client connection strings to enable transparent execution of write and read commands against the database subsystem and respective portions of the database hosted by the replica set; and communicating, by the proxy layer, a result to the client system from the portion of database associated with the client system responsive to client communicated operations; and monitoring, by a monitor component executed on the at least one cloud resource, usage metrics for cloud resource utilization and database operation; and limiting, by the proxy layer, resource utilization by any client to pre-defined thresholds for processor, bandwidth, memory, and storage based on usage metrics obtained from the monitoring component. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification