System and method for automated run-tme scaling of cloud-based data store
First Claim
1. A computer-implemented method for scaling of cloud-based data stores during run-time comprising:
- providing a graphical user interface (GUI) that allows a user to select an existing database having a plurality of cloud storage volumes for use with one or more cloud-computing instances, the cloud storage volumes containing historical data of one or more customers, the historical data collected from a plurality of first servers configured to receive beacons from a plurality of client devices associated with real users, each first server including a processor coupled with a memory for receiving the beacons, the client devices being distributed among a plurality of geographic locations, each beacon comprising one or more data items which includes a performance metric representative of an experience of a real user on a website or application of a customer, each beacon being generated in real-time from a real user session on the website or application, the GUI allowing the user to input operational commands;
replicating, during run-time as beacons are being received, in response to a first operational command input via the GUI, the existing database to create one or more new databases for use by the one or more cloud-computing instances, each of the new databases having new cloud storage volumes that are an exact replica of the cloud storage volumes of the existing database, each of the new cloud storage volumes being created by taking a snapshot of a corresponding one of the volumes of the existing database such that each new database contains the historical data of the existing database, the replicating resulting in a new set of n databases, where n is an integer greater than 1, which includes the existing database and the one or more new databases, the cloud storage volumes of the existing database being momentarily frozen during the replicating;
executing a mapping algorithm in a cloud-computing instance that maps the historical data of each of the one or more customers according to a round-robin partitioning of the historical data striped by date across the new set of n databases, the cloud-computing instance including a processor coupled with a memory; and
compacting, in response to a second operational command input via the GUI, the new set of n databases by dropping data tables in the cloud storage volumes of each of the new set of n databases.
3 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method includes providing a user interface (UI) that allows a user to select an existing database having cloud storage volumes that contain historical data of one or more customers. A first command input on the UI replicates the existing database is to create one or more new databases. Each of the new databases has new cloud storage volumes created by taking a snapshot of a corresponding one of the volumes of the existing database. Each new database contains the historical data of the existing database such that a new set of databases results. A mapping algorithm is executed in a cloud-computing instance that maps the historical data of each of the one or more customers to produce a shard map. The mapping algorithm includes a round-robin partitioning of the historical data striped by date in a circular order across the new set of databases.
155 Citations
15 Claims
-
1. A computer-implemented method for scaling of cloud-based data stores during run-time comprising:
-
providing a graphical user interface (GUI) that allows a user to select an existing database having a plurality of cloud storage volumes for use with one or more cloud-computing instances, the cloud storage volumes containing historical data of one or more customers, the historical data collected from a plurality of first servers configured to receive beacons from a plurality of client devices associated with real users, each first server including a processor coupled with a memory for receiving the beacons, the client devices being distributed among a plurality of geographic locations, each beacon comprising one or more data items which includes a performance metric representative of an experience of a real user on a website or application of a customer, each beacon being generated in real-time from a real user session on the website or application, the GUI allowing the user to input operational commands; replicating, during run-time as beacons are being received, in response to a first operational command input via the GUI, the existing database to create one or more new databases for use by the one or more cloud-computing instances, each of the new databases having new cloud storage volumes that are an exact replica of the cloud storage volumes of the existing database, each of the new cloud storage volumes being created by taking a snapshot of a corresponding one of the volumes of the existing database such that each new database contains the historical data of the existing database, the replicating resulting in a new set of n databases, where n is an integer greater than 1, which includes the existing database and the one or more new databases, the cloud storage volumes of the existing database being momentarily frozen during the replicating; executing a mapping algorithm in a cloud-computing instance that maps the historical data of each of the one or more customers according to a round-robin partitioning of the historical data striped by date across the new set of n databases, the cloud-computing instance including a processor coupled with a memory; and compacting, in response to a second operational command input via the GUI, the new set of n databases by dropping data tables in the cloud storage volumes of each of the new set of n databases. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable storage medium encoded with computer instructions, which, when executed by one or more processors, operable to:
-
provide a graphical user interface (GUI) that allows a user to select an existing database having a plurality of cloud storage volumes for use with one or more cloud-computing instances, the cloud storage volumes containing historical data of one or more customers, the historical data collected from a plurality of first servers configured to receive beacons from a plurality of client devices associated with real users, each first server including a processor coupled with a memory for receiving the beacons, the client devices being distributed among a plurality of geographic locations, each beacon comprising one or more data items which includes a performance metric representative of an experience of a real user on a website or application of a customer, each beacon being generated in real-time from a real user session on the website or application, the GUI allowing the user to input operational commands; replicate, during run-time as beacons are being received, in response to a first operational command input via the GUI, the existing database to create one or more new databases for use by the one or more cloud-computing instances, each of the new databases having new cloud storage volumes that are an exact replica of the cloud storage volumes of the existing database, each of the new cloud storage volumes being created by taking a snapshot of a corresponding one of the volumes of the existing database such that each new database contains the historical data of the existing database, replication resulting in a new set of n databases, where n is an integer greater than 1, which includes the existing database and the one or more new databases, the cloud storage volumes of the existing database being momentarily frozen during replication; map the historical data of each of the one or more customers according to a round-robin partitioning of the historical data striped by date across the new set of n databases, the cloud-computing instance including a processor coupled with a memory; and compact, in response to a second operational command input via the GUI, the new set of n databases by dropping data tables in the cloud storage volumes of each of the new set of n databases. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a plurality of first servers configured to receive beacons from a plurality of client devices associated with real users, each first server including a processor coupled with a memory for receiving the beacons, the client devices being distributed among a plurality of geographic locations, each beacon comprising one or more data items which includes a performance metric representative of an experience of a real user on a website or application of a customer, each beacon being generated in real-time from a real user session on the website or application; one or more cloud-computing instances; a first database having a plurality of cloud storage volumes for use with the one or more cloud-computing instances, the cloud storage volumes containing historical data of one or more customers, the historical data collected from the plurality of first servers; a main computing instance that includes a processor coupled with a memory configured to run a computer program that provides a graphical user interface (GUI) that allows a user to input operational commands, the computer program being operable, in response to a first operational command, to replicate during run-time, as beacons are being received, the first database to create one or more new databases for use by the one or more cloud-computing instances, each of the new databases having new cloud storage volumes that are an exact replica of the cloud storage volumes of the existing database, each of the new cloud storage volumes being created by taking a snapshot of a corresponding one of the volumes of the first database such that each new database contains the historical data of the first database, replication resulting in a new set of n databases, where n is an integer greater than 1, which includes the existing database and the one or more new databases, the cloud storage volumes of the existing database being momentarily frozen during replication; wherein the computer program is further operable, when executed, to map the historical data of each of the one or more customers according to a round-robin partitioning of the historical data striped by date across the new set of n databases; and wherein the computer program is further operable, in response to a second operational command, to compact the new set of n databases by dropping data tables in the cloud storage volumes of each of the new set of n databases. - View Dependent Claims (14, 15)
-
Specification