[go: up one dir, main page]

US20130085742A1 - Service level agreement-aware migration for multitenant database platforms - Google Patents

Service level agreement-aware migration for multitenant database platforms Download PDF

Info

Publication number
US20130085742A1
US20130085742A1 US13/645,112 US201213645112A US2013085742A1 US 20130085742 A1 US20130085742 A1 US 20130085742A1 US 201213645112 A US201213645112 A US 201213645112A US 2013085742 A1 US2013085742 A1 US 2013085742A1
Authority
US
United States
Prior art keywords
migration
predicted
database
tenant
methods
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/645,112
Inventor
Sean Barker
Yun Chi
Hyun Jin Moon
Vahit Hakan Hacigumus
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Laboratories America Inc
Original Assignee
NEC Laboratories America Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Priority to US13/645,112 priority Critical patent/US20130085742A1/en
Assigned to NEC LABORATORIES AMERICA, INC. reassignment NEC LABORATORIES AMERICA, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BARKER, SEAN, CHI, YUN, HACIGUMUS, VAHIT HAKAN, MOON, HYUN JIN
Publication of US20130085742A1 publication Critical patent/US20130085742A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Definitions

  • the present invention relates to database migration and, in particular, to the migration of multitenant database platforms in such a way as to preserve tenant service level agreements.
  • SLAs service level agreements
  • An SLA may specify metrics of guaranteed service, such as system uptime and query latency.
  • Database migration may be used to relocate one or more tenants to an alternate machine, freeing resources on the crowded server. Database migration may further be used to consolidate tenants on a server with free resources, potentially freeing servers for other purposes or allowing said servers to be shut down. Migration incurs its own costs, however. There is a direct cost of copying the tenant's data to another machine, as well as penalties due to SLA violations during system downtime and human-related costs.
  • a method for migration from a multitenant database includes building an analytical model for each of a set of migration methods based on database characteristics; predicting performance of the set of migration methods using the respective analytical model with respect to tenant service level agreements (SLAs) and current and predicted tenant workloads, wherein said prediction includes a migration speed and an SLA violation severity; and selecting a best migration method from the set of migration methods according to the respective predicted migration speeds and SLA violation severities.
  • SLAs tenant service level agreements
  • a multitenant database system includes a processor configured to build an analytical model for each of a set of migration methods based on database characteristics, to predict performance of the set of migration methods using the respective analytical model with respect to tenant service level agreements (SLAs) and current and predicted tenant workloads, wherein said prediction includes a migration speed and an SLA violation severity, and to select a best migration method from the set of migration methods according to the respective predicted migration speeds and SLA violation severities.
  • SLAs tenant service level agreements
  • FIG. 1 is a block/flow diagram for migrating a database in a multitenant system according to the present principles.
  • FIG. 2 is a block/flow diagram for predicting migration performance according to the present principles.
  • FIG. 3 is a block/flow diagram for migrating a database in a multitenant system according to the present principles.
  • FIG. 4 is a block/flow diagram for throttling migration speed according to the present principles.
  • FIG. 5 is a block/flow diagram for throttling migration speed according to the present principles.
  • FIG. 6 is a diagram of a migration of databases between multitenant systems according to the present principles.
  • FIG. 7 is a diagram of a proportional-integral-derivative controller according to the present principles.
  • a practical migration solution for multitenant database systems includes a minimum of downtime, controlled tenant interference, and automatic management.
  • the present principles employ backup tools to perform a zero-downtime live backup of a database.
  • “migration slack” is employed, referring to resources which can be used for migration without seriously impacting existing workloads. By taking query latency into account and monitoring system performance in real-time, system performance can be guaranteed according to tenant service level agreements (SLAs) even during the live migration.
  • SLAs tenant service level agreements
  • the present principles achieve live migration by using existing hot backup functionality present in database systems. Because most contemporary database systems have such hot backup functions, the present principles may be employed without changes to existing database engines and operating systems. Within the bounds of SLA guarantees, the present principles use control-theory-based strategies to automatically throttle resource usage in the migration process to achieve the fastest possible migration that does not interfere with service level guarantees.
  • Block 102 information regarding client SLAs, database characteristics, current workloads, and predicted workloads are entered as input. This information characterizes the database system as it will appear during migration, such that block 104 can predict how a migration will perform according to each of a set of migration methods.
  • the set of migration methods may include a “stop and copy” method, while another method in the set may include a live database migration as described herein.
  • Block 106 chooses a best method by selecting a method that will perform the migration in the shortest time without generating any SLA violations.
  • block 106 selects the migration method which generates the fewest violations. Block 106 further selects optimal migration parameters that correspond to the selected migration method. The migration method and parameters are employed in block 108 to migrate, e.g., a tenant from a first database system to a second database system.
  • Embodiments may include a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system.
  • a computer-usable or computer readable medium may include any apparatus that stores, communicates, propagates, or transports the program for use by or in connection with the instruction execution system, apparatus, or device.
  • the medium can be magnetic, optical, electronic, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium.
  • the medium may include a computer-readable storage medium such as a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk, etc.
  • a data processing system suitable for storing and/or executing program code may include at least one processor coupled directly or indirectly to memory elements through a system bus.
  • the memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code to reduce the number of times code is retrieved from bulk storage during execution.
  • I/O devices including but not limited to keyboards, displays, pointing devices, etc. may be coupled to the system either directly or through intervening I/O controllers.
  • Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks.
  • Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
  • Embodiments described herein may be entirely hardware, entirely software or including both hardware and software elements.
  • the present invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
  • Block 202 builds an analytical model for each migration method to represent the resources consumed by that model.
  • the analytical model may simply represent an amount of downtime proportional to the volume of data to be copied, using the characteristics of the database system to determine a maximum transfer rate.
  • the analytical model may include a measurement of “migration slack,” resources that may be used for migration without impacting SLA guarantees.
  • Block 204 uses machine learning and historic data to update the analytical models. Each model is then employed in block 206 to predict migration performance for each of the methods based on current data and predicted future workloads. This predicted performance includes the cost of SLA violations as well as migration costs such as resource usage and migration duration.
  • the machine learning (ML) models are used to predict the overhead cost of each migration method. For example, if the stop-and-copy method is chosen, then the ML model will look at the size of the files that need to be transferred (migrated) to the other server, the current network bandwidth, the IOPS (IO per second) that can be used for the transfer, etc.
  • the output of the ML model is a prediction on the overhead cost of migration, such as the duration of the migration (e.g., 10 minutes) or the number of queries that are dropped during the migration (because during stop-and-copy migration, the server will be shut down).
  • the ML model may look at the same (or somewhat different) set of characteristics of the system, make a prediction on the migration overhead, e.g., in terms of the duration of the migration and the impact of the migration process on the query latency among all tenants on the current server. Then, based on the predictions, an appropriate (lower cost) migration method is chosen.
  • ML methods have two stages: a training stage and a testing stage.
  • the training stage which is usually done offline
  • historic data are used to learn a prediction model, such as the linear regression model.
  • the testing stage which is usually done online
  • the prediction is made based on realtime data and the model trained offline.
  • the predictive models are constantly updated by incorporating real-time data into historic data and by repeating the training stage of machine learning methods in real time.
  • the ML model is updated (trained again) whenever new data is available. Such real-time updates can improve the model over time.
  • Block 302 designates the database or databases to be migrated and selects a target server for the migration(s).
  • Block 304 starts a hot backup of the databases to be migrated, creating a snapshot of each database. Each snapshot is transferred to its respective target server, and block 306 creates a new database from each snapshot at its respective target server.
  • Block 308 transfers the query log that accumulated during the hot backup to the target server and replays the query log to synchronize the new database with the state of the old database.
  • Block 310 then starts servicing queries at the new database and stops queries at the old database. At this point the old database may be purged, freeing resources at the originating server.
  • Block 402 derives an acceptable performance level based on existing SLAs. Based on this acceptable performance level, block 404 calculates slack resources. This may be performed using the formulas for S shown above.
  • Block 406 allocates slack resources to migration processes M j .
  • Block 408 monitors the system during migration to track changes in tenant workloads T i .
  • Block 410 adjusts the slack resources accordingly—as tenant workloads increase, slack resources will decrease and vice versa. Processing loops back to block 406 to allocate an appropriate number of resources to the migration processes and continues to loop in this manner until the migration has completed.
  • Block 502 determines available slack resources that may be employed in migration, as described above.
  • Block 504 uses a proportional-integral-derivative (PID) controller to determine a speed of migration based on system performance.
  • PID controller is used to adjust system resource consumption of the migration process in block 506 by throttling disk input/output (I/O) and network bandwidth.
  • I/O disk input/output
  • Examples of throttling embodiments may include using the Linux “pv” utility to limit the amount of data passing through a given pipe. This effectively limits both CPU as well as I/O (both disk and network), because the backup process will only process the database as quickly as the “pv” utility will allow.
  • a PID controller is a tool in control theory for driving a system actuator such that the system stabilizes around a particular setpoint.
  • a PID controller operates as a continuous feedback loop that, at each timestep, adjusts the output variable (the actuator) such that a dependent variable (the process variable) converges toward a desired value (the setpoint value).
  • a system of database servers includes an originating server 602 and a target server 604 .
  • Each server includes a processor 606 , a memory storage unit 608 (including one or more of random access memory and non-volatile storage), a multitenant database system 610 , a PID controller 612 , and a system monitor 614 .
  • the multitenant database system 610 at the originating server 602 includes one or more tenant databases that are to be migrated to the target server 604 .
  • System monitors 614 tracks the resources being used at each server 602 / 604 , providing PID controller 612 and processor 606 with information regarding processor usage, memory usage, and network usage.
  • a PID controller 612 operates as a continuous feedback loop that, at each timestep, adjusts the output such that a dependent variable (the process variable 716 ) converges toward a desired value (the set point value 702 ).
  • the current process variable 716 is compared to the desired setpoint 702 .
  • the new output of the controller 612 is determined by three component paths of the error 706 , defined as the degree to which the process variable 716 differs from the setpoint 702 at comparator 704 .
  • the three paths are the proportional path 708 , the integral path 710 , and the derivative path 712 .
  • Each path is scaled by coefficients K p , K i , and K d respectively.
  • the proportional path 708 uses the current error 706
  • the integral path 710 uses past errors
  • the derivative path 712 predicts future error.
  • the outputs of the paths are added at summer 714 .
  • the output at time t with error e(t) is given by the formula:
  • ⁇ ⁇ ( t ) K p ⁇ e ⁇ ( t ) + K i ⁇ ⁇ 0 t ⁇ e ⁇ ( ⁇ ) ⁇ ⁇ ⁇ + K d ⁇ ⁇ e ⁇ ( t ) ⁇ t .
  • the PID controller 612 is in charge of determining the proper migration speed, so the output variable is used as the throttling speed adjustment (either speeding up or slowing down the migration).
  • the output variable is used as the throttling speed adjustment (either speeding up or slowing down the migration).
  • the process variable and setpoint one option is to target available slack using a setpoint of zero unused slack.
  • current transaction latency may be used as an indicator of available slack.
  • the total server load also increases. As long as the migration remains under the available slack, average transaction latency will increase only modestly as migration speed increases. However, as the slack runs out, latency will begin to display more significant increases.
  • the PID controller 612 may be configured to target a given average transaction latency.
  • the process variable 716 may therefore be set to the current average transaction latency and the setpoint 702 may be set to a target latency.
  • This setpoint 702 represents an efficient use of available slack while still maintaining acceptable query performance.
  • the three parameters of the different pats, K p , K i , and K d may be tuned manually. A small K i and a large K d are used to set a reaction speed to changes in migration speed to prevent overshooting the optimal speed, allowing the overall latency to stabilize.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method for migration from a multitenant database is shown that includes building an analytical model for each of a set of migration methods based on database characteristics; predicting performance of the set of migration methods using the respective analytical model with respect to tenant service level agreements (SLAs) and current and predicted tenant workloads, where the prediction includes a migration speed and an SLA violation severity; and selecting a best migration method from the set of migration methods according to the respective predicted migration speeds and SLA violation severities.

Description

    RELATED APPLICATION INFORMATION
  • This application claims priority to provisional application Ser. No. 61/542,994 filed on Oct. 4, 2011, incorporated herein by reference. This application further claims priority to provisional application Ser. No. 61/543,012 filed on Oct. 4, 2011, incorporated herein by reference.
  • This application is related to application serial no. TBD, Attorney Docket Number 11047B (449-254) entitled “LATENCY-AWARE LIVE MIGRATION FOR MULTITENANT DATABASE PLATFORMS,” filed concurrently herewith and incorporated herein by reference.
  • BACKGROUND
  • 1. Technical Field
  • The present invention relates to database migration and, in particular, to the migration of multitenant database platforms in such a way as to preserve tenant service level agreements.
  • 2. Description of the Related Art
  • Modern cloud platforms are designed with the aim of compactly servicing many users on a large number of machines. To increase resource utilization in the presence of smaller customers, providers employ multitenancy, in which multiple users and/or applications are collocated on a single server. Ideally, each tenant on a multitenant server is both unaware of and unaffected by other tenants operating on the machine and is afforded the same level of performance it would receive on a dedicated server.
  • To maximize profits, providers wish to maximize the number of tenants on each server. Tenants wish to be guaranteed a certain level of performance, however, as specified by service level agreements (SLAs). An SLA may specify metrics of guaranteed service, such as system uptime and query latency. A provider balances these competing goals within the resources of a given multitenant server.
  • If a tenant's resource demands exceed the free capacity on a given server, other tenants on the server may be negatively impacted, causing SLA violations. Database migration may be used to relocate one or more tenants to an alternate machine, freeing resources on the crowded server. Database migration may further be used to consolidate tenants on a server with free resources, potentially freeing servers for other purposes or allowing said servers to be shut down. Migration incurs its own costs, however. There is a direct cost of copying the tenant's data to another machine, as well as penalties due to SLA violations during system downtime and human-related costs.
  • Most existing database systems provide tools for data export/migration in a “stop and copy” fashion. Such a solution is not practical for migrating large amounts of data, where large downtimes will be incurred. Existing live migration solutions for database systems fail to take into account the costs that such a migration may cause to a provider.
  • SUMMARY
  • A method for migration from a multitenant database is shown that includes building an analytical model for each of a set of migration methods based on database characteristics; predicting performance of the set of migration methods using the respective analytical model with respect to tenant service level agreements (SLAs) and current and predicted tenant workloads, wherein said prediction includes a migration speed and an SLA violation severity; and selecting a best migration method from the set of migration methods according to the respective predicted migration speeds and SLA violation severities.
  • A multitenant database system is shown that includes a processor configured to build an analytical model for each of a set of migration methods based on database characteristics, to predict performance of the set of migration methods using the respective analytical model with respect to tenant service level agreements (SLAs) and current and predicted tenant workloads, wherein said prediction includes a migration speed and an SLA violation severity, and to select a best migration method from the set of migration methods according to the respective predicted migration speeds and SLA violation severities.
  • These and other features and advantages will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings.
  • BRIEF DESCRIPTION OF DRAWINGS
  • The disclosure will provide details in the following description of preferred embodiments with reference to the following figures wherein:
  • FIG. 1 is a block/flow diagram for migrating a database in a multitenant system according to the present principles.
  • FIG. 2 is a block/flow diagram for predicting migration performance according to the present principles.
  • FIG. 3 is a block/flow diagram for migrating a database in a multitenant system according to the present principles.
  • FIG. 4 is a block/flow diagram for throttling migration speed according to the present principles.
  • FIG. 5 is a block/flow diagram for throttling migration speed according to the present principles.
  • FIG. 6 is a diagram of a migration of databases between multitenant systems according to the present principles.
  • FIG. 7 is a diagram of a proportional-integral-derivative controller according to the present principles.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • A practical migration solution for multitenant database systems according to the present principles includes a minimum of downtime, controlled tenant interference, and automatic management. To achieve this, the present principles employ backup tools to perform a zero-downtime live backup of a database. Further more, “migration slack” is employed, referring to resources which can be used for migration without seriously impacting existing workloads. By taking query latency into account and monitoring system performance in real-time, system performance can be guaranteed according to tenant service level agreements (SLAs) even during the live migration.
  • The present principles achieve live migration by using existing hot backup functionality present in database systems. Because most contemporary database systems have such hot backup functions, the present principles may be employed without changes to existing database engines and operating systems. Within the bounds of SLA guarantees, the present principles use control-theory-based strategies to automatically throttle resource usage in the migration process to achieve the fastest possible migration that does not interfere with service level guarantees.
  • Referring now in detail to the figures in which like numerals represent the same or similar elements and initially to FIG. 1, a high-level method for database migration is shown. At block 102, information regarding client SLAs, database characteristics, current workloads, and predicted workloads are entered as input. This information characterizes the database system as it will appear during migration, such that block 104 can predict how a migration will perform according to each of a set of migration methods. As an example, the set of migration methods may include a “stop and copy” method, while another method in the set may include a live database migration as described herein. Block 106 chooses a best method by selecting a method that will perform the migration in the shortest time without generating any SLA violations. If all migration methods tested in block 104 will generate SLA violations, then block 106 selects the migration method which generates the fewest violations. Block 106 further selects optimal migration parameters that correspond to the selected migration method. The migration method and parameters are employed in block 108 to migrate, e.g., a tenant from a first database system to a second database system.
  • Embodiments may include a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. A computer-usable or computer readable medium may include any apparatus that stores, communicates, propagates, or transports the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be magnetic, optical, electronic, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. The medium may include a computer-readable storage medium such as a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk, etc.
  • A data processing system suitable for storing and/or executing program code may include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code to reduce the number of times code is retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) may be coupled to the system either directly or through intervening I/O controllers.
  • Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
  • Embodiments described herein may be entirely hardware, entirely software or including both hardware and software elements. In a preferred embodiment, the present invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
  • Referring now to FIG. 2, a method for modeling migration methods is shown. Block 202 builds an analytical model for each migration method to represent the resources consumed by that model. In the case of stop-and-copy, the analytical model may simply represent an amount of downtime proportional to the volume of data to be copied, using the characteristics of the database system to determine a maximum transfer rate. In the case of live migration, the analytical model may include a measurement of “migration slack,” resources that may be used for migration without impacting SLA guarantees.
  • As an example of determining migration slack, consider a system where the resources available in a system R must reliably exceed the combined needs of each of the n tenant, such that R≧Σi=1 nTi. If this relation does not hold, then the server becomes overloaded and begins incurring SLA violations. Migrating a tenant also consumes some resources—usually in disk input/output for reading or writing data, but also including processing overhead, network throughput, etc. If the server is handling m migrations, the resources needed to maintain SLA guarantees becomes R≧Σi=1 nTij=1 mMj. Given the constant resource allocation R and a set of workloads T, it is now possible to allocate slack resources S without incurring violations, where S=R−Σi=1 nTi. While R remains fixed, the workloads T may change over time, such that the migration workloads M should be adjustable in real-time. Thus, it is often best to allocate resources below the slack value S to provide stability in tenant workload processing.
  • Block 204 uses machine learning and historic data to update the analytical models. Each model is then employed in block 206 to predict migration performance for each of the methods based on current data and predicted future workloads. This predicted performance includes the cost of SLA violations as well as migration costs such as resource usage and migration duration.
  • The machine learning (ML) models are used to predict the overhead cost of each migration method. For example, if the stop-and-copy method is chosen, then the ML model will look at the size of the files that need to be transferred (migrated) to the other server, the current network bandwidth, the IOPS (IO per second) that can be used for the transfer, etc. The output of the ML model is a prediction on the overhead cost of migration, such as the duration of the migration (e.g., 10 minutes) or the number of queries that are dropped during the migration (because during stop-and-copy migration, the server will be shut down).
  • As another example, if live migration is used, then the ML model may look at the same (or somewhat different) set of characteristics of the system, make a prediction on the migration overhead, e.g., in terms of the duration of the migration and the impact of the migration process on the query latency among all tenants on the current server. Then, based on the predictions, an appropriate (lower cost) migration method is chosen.
  • ML methods have two stages: a training stage and a testing stage. During the training stage, which is usually done offline, historic data are used to learn a prediction model, such as the linear regression model. During the testing stage, which is usually done online, the prediction is made based on realtime data and the model trained offline. According to the present principles, the predictive models are constantly updated by incorporating real-time data into historic data and by repeating the training stage of machine learning methods in real time. In other words, the ML model is updated (trained again) whenever new data is available. Such real-time updates can improve the model over time.
  • Referring now to FIG. 3, a method for live migration is provided that allows maintenance of SLA guarantees. Block 302 designates the database or databases to be migrated and selects a target server for the migration(s). Block 304 starts a hot backup of the databases to be migrated, creating a snapshot of each database. Each snapshot is transferred to its respective target server, and block 306 creates a new database from each snapshot at its respective target server. Block 308 transfers the query log that accumulated during the hot backup to the target server and replays the query log to synchronize the new database with the state of the old database. Block 310 then starts servicing queries at the new database and stops queries at the old database. At this point the old database may be purged, freeing resources at the originating server.
  • Referring now to FIG. 4, a method for allocating resources to migration processes Mj is shown. Block 402 derives an acceptable performance level based on existing SLAs. Based on this acceptable performance level, block 404 calculates slack resources. This may be performed using the formulas for S shown above. Block 406 allocates slack resources to migration processes Mj. Block 408 monitors the system during migration to track changes in tenant workloads Ti. Block 410 adjusts the slack resources accordingly—as tenant workloads increase, slack resources will decrease and vice versa. Processing loops back to block 406 to allocate an appropriate number of resources to the migration processes and continues to loop in this manner until the migration has completed.
  • Referring now to FIG. 5, a method for controlling the migration process is shown, allowing for adaptive throttling of the migration processes in response to changing resource availability. Block 502 determines available slack resources that may be employed in migration, as described above. Block 504 uses a proportional-integral-derivative (PID) controller to determine a speed of migration based on system performance. The PID controller is used to adjust system resource consumption of the migration process in block 506 by throttling disk input/output (I/O) and network bandwidth. As slack resources become available, additional resources are allocated to migration to speed the process. As tenant workloads increase and fewer resources are available, resources are taken away from the migration process to preserve SLA guarantees. Examples of throttling embodiments may include using the Linux “pv” utility to limit the amount of data passing through a given pipe. This effectively limits both CPU as well as I/O (both disk and network), because the backup process will only process the database as quickly as the “pv” utility will allow.
  • A PID controller is a tool in control theory for driving a system actuator such that the system stabilizes around a particular setpoint. At a high level, a PID controller operates as a continuous feedback loop that, at each timestep, adjusts the output variable (the actuator) such that a dependent variable (the process variable) converges toward a desired value (the setpoint value).
  • Referring now to FIG. 6, a system of database servers is shown that includes an originating server 602 and a target server 604. Each server includes a processor 606, a memory storage unit 608 (including one or more of random access memory and non-volatile storage), a multitenant database system 610, a PID controller 612, and a system monitor 614. The multitenant database system 610 at the originating server 602 includes one or more tenant databases that are to be migrated to the target server 604. System monitors 614 tracks the resources being used at each server 602/604, providing PID controller 612 and processor 606 with information regarding processor usage, memory usage, and network usage.
  • Referring now to FIG. 7, greater detail on the PID controller 612 is provided. At a high level, a PID controller 612 operates as a continuous feedback loop that, at each timestep, adjusts the output such that a dependent variable (the process variable 716) converges toward a desired value (the set point value 702). At each timestep, the current process variable 716 is compared to the desired setpoint 702. The new output of the controller 612 is determined by three component paths of the error 706, defined as the degree to which the process variable 716 differs from the setpoint 702 at comparator 704. The three paths are the proportional path 708, the integral path 710, and the derivative path 712. Each path is scaled by coefficients Kp, Ki, and Kd respectively. In general terms, the proportional path 708 uses the current error 706, the integral path 710 uses past errors, and the derivative path 712 predicts future error. The outputs of the paths are added at summer 714. The output at time t with error e(t) is given by the formula:
  • output ( t ) = K p e ( t ) + K i 0 t e ( τ ) τ + K d e ( t ) t .
  • The PID controller 612 is in charge of determining the proper migration speed, so the output variable is used as the throttling speed adjustment (either speeding up or slowing down the migration). For the process variable and setpoint, one option is to target available slack using a setpoint of zero unused slack. However, to save on computation, current transaction latency may be used as an indicator of available slack. As migration speed increases, the total server load also increases. As long as the migration remains under the available slack, average transaction latency will increase only modestly as migration speed increases. However, as the slack runs out, latency will begin to display more significant increases. Thus, to ensure that slack is used without exceeding available resources, the PID controller 612 may be configured to target a given average transaction latency. The process variable 716 may therefore be set to the current average transaction latency and the setpoint 702 may be set to a target latency. This setpoint 702 represents an efficient use of available slack while still maintaining acceptable query performance. The three parameters of the different pats, Kp, Ki, and Kd, may be tuned manually. A small Ki and a large Kd are used to set a reaction speed to changes in migration speed to prevent overshooting the optimal speed, allowing the overall latency to stabilize.
  • Having described preferred embodiments of a system and method for SLA-aware migration for multitenant database platforms (which are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes may be made in the particular embodiments disclosed which are within the scope of the invention as outlined by the appended claims. Having thus described aspects of the invention, with the details and particularity required by the patent laws, what is claimed and desired protected by Letters Patent is set forth in the appended claims.

Claims (9)

What is claimed is:
1. A method for migration from a multitenant database, comprising:
building an analytical model for each of a set of migration methods based on database characteristics;
predicting performance of the set of migration methods using the respective analytical model with respect to tenant service level agreements (SLAs) and current and predicted tenant workloads, wherein said prediction includes a migration speed and an SLA violation severity; and
selecting a best migration method from the set of migration methods according to the respective predicted migration speeds and SLA violation severities.
2. The method of claim 1, wherein the set of migration methods comprises live database migration.
3. The method of claim 1, further comprising updating the analytical models using historical data.
4. The method of claim 1, wherein a migration method having a lowest SLA violation severity is selected.
5. The method of claim 4, wherein the migration method having a highest predicted migration speed is selected if the migration methods have equal predicted SLA violation severities.
6. The method of claim 1, further comprising selecting a set of optimal parameters for the selected migration method based on the selected method's predicted performance and current and predicted tenant workloads.
7. The method of claim 1, further comprising selecting one or more tenants to migrate based on tenant resource usage.
8. The method of claim 1, further comprising updating the analytical models with machine learning.
9. A multitenant database system, comprising:
a processor configured to build an analytical model for each of a set of migration methods based on database characteristics, to predict performance of the set of migration methods using the respective analytical model with respect to tenant service level agreements (SLAs) and current and predicted tenant workloads, wherein said prediction includes a migration speed and an SLA violation severity, and to select a best migration method from the set of migration methods according to the respective predicted migration speeds and SLA violation severities.
US13/645,112 2011-10-04 2012-10-04 Service level agreement-aware migration for multitenant database platforms Abandoned US20130085742A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/645,112 US20130085742A1 (en) 2011-10-04 2012-10-04 Service level agreement-aware migration for multitenant database platforms

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161543012P 2011-10-04 2011-10-04
US201161542994P 2011-10-04 2011-10-04
US13/645,112 US20130085742A1 (en) 2011-10-04 2012-10-04 Service level agreement-aware migration for multitenant database platforms

Publications (1)

Publication Number Publication Date
US20130085742A1 true US20130085742A1 (en) 2013-04-04

Family

ID=47993405

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/645,112 Abandoned US20130085742A1 (en) 2011-10-04 2012-10-04 Service level agreement-aware migration for multitenant database platforms
US13/645,103 Expired - Fee Related US8880477B2 (en) 2011-10-04 2012-10-04 Latency-aware live migration for multitenant database platforms

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/645,103 Expired - Fee Related US8880477B2 (en) 2011-10-04 2012-10-04 Latency-aware live migration for multitenant database platforms

Country Status (1)

Country Link
US (2) US20130085742A1 (en)

Cited By (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120011518A1 (en) * 2010-07-08 2012-01-12 International Business Machines Corporation Sharing with performance isolation between tenants in a software-as-a service system
US20130132403A1 (en) * 2011-11-23 2013-05-23 Nec Laboratories America, Inc. Tenant placement in multitenant cloud databases with data sharing
US20130325906A1 (en) * 2012-05-28 2013-12-05 International Business Machines Corporation Placing a database
WO2015006358A1 (en) * 2013-07-09 2015-01-15 Oracle International Corporation Database modeling and analysis
US20150160889A1 (en) * 2013-12-06 2015-06-11 Concurrent Ventures, LLC System and method for dynamically load balancing storage media devices based on an optimal sustained performance level
US20150160892A1 (en) * 2013-12-06 2015-06-11 Concurrent Ventures, LLC System and method for dynamically load balancing across storage media devices having fast access rates
US9098364B2 (en) 2013-07-09 2015-08-04 Oracle International Corporation Migration services for systems
US9122644B2 (en) 2012-09-28 2015-09-01 Oracle International Corporation Common users, common roles, and commonly granted privileges and roles in container databases
WO2015138087A1 (en) * 2014-03-10 2015-09-17 Oracle International Corporation Instantaneous unplug of pluggable database from one container database and plug into another container database
US20150331715A1 (en) * 2014-05-19 2015-11-19 Krishnamu Jambur Sathyanarayana Reliable and deterministic live migration of virtual machines
US20150348054A1 (en) * 2012-09-13 2015-12-03 Nec Corporation Risk analysis device, risk analysis method and program storage medium
US20150372878A1 (en) * 2014-06-23 2015-12-24 Infosys Limited System and method for detecting and preventing service level agreement violation in a virtualized environment
US9274722B2 (en) 2013-12-06 2016-03-01 Concurrent Ventures, LLP System, method and article of manufacture for monitoring, controlling and improving storage media system performance
US9442983B2 (en) 2013-07-09 2016-09-13 Oracle International Corporation Method and system for reducing instability when upgrading software
US9747311B2 (en) 2013-07-09 2017-08-29 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US9762461B2 (en) 2013-07-09 2017-09-12 Oracle International Corporation Cloud services performance tuning and benchmarking
US9767178B2 (en) 2013-10-30 2017-09-19 Oracle International Corporation Multi-instance redo apply
US9792321B2 (en) 2013-07-09 2017-10-17 Oracle International Corporation Online database migration
US9805070B2 (en) 2013-07-09 2017-10-31 Oracle International Corporation Dynamic migration script management
US9830372B2 (en) 2013-07-24 2017-11-28 Oracle International Corporation Scalable coordination aware static partitioning for database replication
US9904538B2 (en) * 2015-08-24 2018-02-27 International Business Machines Corporation Maintenance of multi-tenant software programs
US9928147B2 (en) 2012-09-28 2018-03-27 Oracle International Corporation Forceful closure and automatic recovery of pluggable databases in a shared-everything cluster multitenant container database
US9967154B2 (en) 2013-07-09 2018-05-08 Oracle International Corporation Advanced customer support services—advanced support cloud portal
US9998562B1 (en) 2014-06-19 2018-06-12 Amazon Technologies, Inc. Service-oriented system optimization using partial service relocation
US9998328B1 (en) * 2014-06-19 2018-06-12 Amazon Technologies, Inc. Service-oriented system optimization using client device relocation
US9996562B2 (en) 2013-07-09 2018-06-12 Oracle International Corporation Automated database migration architecture
US10048895B2 (en) 2013-12-06 2018-08-14 Concurrent Ventures, LLC System and method for dynamically load balancing storage media devices based on a mid-range performance level
US10152500B2 (en) 2013-03-14 2018-12-11 Oracle International Corporation Read mostly instances
US10191922B2 (en) 1998-11-24 2019-01-29 Oracle International Corporation Determining live migration speed based on workload and performance characteristics
US10289617B2 (en) 2015-12-17 2019-05-14 Oracle International Corporation Accessing on-premise and off-premise datastores that are organized using different application schemas
US10360269B2 (en) 2015-10-23 2019-07-23 Oracle International Corporation Proxy databases
US10387387B2 (en) 2015-12-17 2019-08-20 Oracle International Corporation Enabling multi-tenant access to respective isolated data sets organized using different application schemas
US10572551B2 (en) 2015-10-23 2020-02-25 Oracle International Corporation Application containers in container databases
US10579478B2 (en) 2015-10-23 2020-03-03 Oracle International Corporation Pluggable database archive
US10599367B2 (en) 2016-06-24 2020-03-24 International Business Machines Corporation Updating storage migration rates
US10606578B2 (en) 2015-10-23 2020-03-31 Oracle International Corporation Provisioning of pluggable databases using a central repository
US10621176B2 (en) 2015-10-23 2020-04-14 Oracle International Corporation Automatic reconfiguration of relocated pluggable databases
US10628422B2 (en) 2015-10-23 2020-04-21 Oracle International Corporation Implementing a logically partitioned data warehouse using a container map
US10635658B2 (en) 2015-10-23 2020-04-28 Oracle International Corporation Asynchronous shared application upgrade
US10691722B2 (en) 2017-05-31 2020-06-23 Oracle International Corporation Consistent query execution for big data analytics in a hybrid database
US10698771B2 (en) 2016-09-15 2020-06-30 Oracle International Corporation Zero-data-loss with asynchronous redo shipping to a standby database
US10747752B2 (en) 2015-10-23 2020-08-18 Oracle International Corporation Space management for transactional consistency of in-memory objects on a standby database
US10776244B2 (en) 2013-07-09 2020-09-15 Oracle International Corporation Consolidation planning services for systems migration
US10789131B2 (en) 2015-10-23 2020-09-29 Oracle International Corporation Transportable backups for pluggable database relocation
US10803078B2 (en) 2015-10-23 2020-10-13 Oracle International Corporation Ability to group multiple container databases as a single container database cluster
US10860605B2 (en) 2012-09-28 2020-12-08 Oracle International Corporation Near-zero downtime relocation of a pluggable database across container databases
US10891291B2 (en) 2016-10-31 2021-01-12 Oracle International Corporation Facilitating operations on pluggable databases using separate logical timestamp services
US11036696B2 (en) 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US11068437B2 (en) 2015-10-23 2021-07-20 Oracle Interntional Corporation Periodic snapshots of a pluggable database in a container database
US11093229B2 (en) * 2020-01-22 2021-08-17 International Business Machines Corporation Deployment scheduling using failure rate prediction
US11256671B2 (en) 2019-09-13 2022-02-22 Oracle International Corporation Integrated transition control center
US11269825B2 (en) * 2019-12-13 2022-03-08 Sap Se Privilege retention for database migration
US11281670B2 (en) 2019-03-30 2022-03-22 Oracle International Corporation High-performance implementation of sharing of read-only data in a multi-tenant environment
US11386058B2 (en) 2017-09-29 2022-07-12 Oracle International Corporation Rule-based autonomous database cloud service framework
US11475006B2 (en) 2016-12-02 2022-10-18 Oracle International Corporation Query and change propagation scheduling for heterogeneous database systems
DE112013007329B4 (en) 2013-10-09 2023-03-23 Intel Corporation Systems, devices and methods Technology for managing cloud storage
US11657037B2 (en) 2015-10-23 2023-05-23 Oracle International Corporation Query execution against an in-memory standby database
US11741380B2 (en) 2020-01-31 2023-08-29 Oracle International Corporation Machine learning predictions for database migrations
WO2024102695A1 (en) * 2022-11-08 2024-05-16 Cdw Llc Software assessment tool for migrating computing applications using machine learning
US12008014B2 (en) 2021-07-30 2024-06-11 Oracle International Corporation Data guard at PDB (pluggable database) level

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760847B2 (en) 2013-05-29 2017-09-12 Sap Se Tenant selection in quota enforcing request admission mechanisms for shared applications
US9584588B2 (en) * 2013-08-21 2017-02-28 Sap Se Multi-stage feedback controller for prioritizing tenants for multi-tenant applications
US9201908B2 (en) * 2013-08-22 2015-12-01 Sap Portals Israel Ltd Multi-layered multi-tenancy database architecture
US9135259B2 (en) * 2013-11-06 2015-09-15 Linkedin Corporation Multi-tenancy storage node
US10721181B1 (en) 2015-03-10 2020-07-21 Amazon Technologies, Inc. Network locality-based throttling for automated resource migration
US9727366B2 (en) * 2015-04-23 2017-08-08 International Business Machines Corporation Machine learning for virtual machine migration plan generation
US10261943B2 (en) 2015-05-01 2019-04-16 Microsoft Technology Licensing, Llc Securely moving data across boundaries
US10229124B2 (en) 2015-05-01 2019-03-12 Microsoft Technology Licensing, Llc Re-directing tenants during a data move
US10678762B2 (en) 2015-05-01 2020-06-09 Microsoft Technology Licensing, Llc Isolating data to be moved across boundaries
KR102062082B1 (en) * 2015-07-29 2020-02-11 엘에스산전 주식회사 Energy management system
CN105068886B (en) * 2015-07-30 2018-03-30 上海新炬网络信息技术股份有限公司 The standby intelligence of calamity based on GoldenGate cuts control method
CN107179879B (en) * 2016-03-11 2020-04-03 伊姆西Ip控股有限责任公司 Method and apparatus for data migration of storage device
KR101758558B1 (en) * 2016-03-29 2017-07-26 엘에스산전 주식회사 Energy managemnet server and energy managemnet system having thereof
US10454877B2 (en) 2016-04-29 2019-10-22 Cisco Technology, Inc. Interoperability between data plane learning endpoints and control plane learning endpoints in overlay networks
US10032115B2 (en) * 2016-05-03 2018-07-24 International Business Machines Corporation Estimating file level input/output operations per second (IOPS)
US10091070B2 (en) 2016-06-01 2018-10-02 Cisco Technology, Inc. System and method of using a machine learning algorithm to meet SLA requirements
US10216379B2 (en) 2016-10-25 2019-02-26 Microsoft Technology Licensing, Llc User interaction processing in an electronic mail system
US20180121295A1 (en) * 2016-10-31 2018-05-03 Huawei Technologies Co., Ltd Backup Optimization Based Dynamic Resource Feedback
US9805071B1 (en) * 2016-11-10 2017-10-31 Palantir Technologies Inc. System and methods for live data migration
US10963813B2 (en) 2017-04-28 2021-03-30 Cisco Technology, Inc. Data sovereignty compliant machine learning
US10477148B2 (en) 2017-06-23 2019-11-12 Cisco Technology, Inc. Speaker anticipation
US11586947B2 (en) * 2017-06-29 2023-02-21 Nec Corporation Visualization system, visualization method, and visualization program
US10608901B2 (en) 2017-07-12 2020-03-31 Cisco Technology, Inc. System and method for applying machine learning algorithms to compute health scores for workload scheduling
US10091348B1 (en) 2017-07-25 2018-10-02 Cisco Technology, Inc. Predictive model for voice/video over IP calls
US10867067B2 (en) 2018-06-07 2020-12-15 Cisco Technology, Inc. Hybrid cognitive system for AI/ML data privacy
US10446170B1 (en) 2018-06-19 2019-10-15 Cisco Technology, Inc. Noise mitigation using machine learning
US11226876B2 (en) * 2018-06-21 2022-01-18 Sap Se Non-blocking backup in a log replay node for tertiary initialization
US10963353B2 (en) * 2018-10-23 2021-03-30 Capital One Services, Llc Systems and methods for cross-regional back up of distributed databases on a cloud service
US10521220B1 (en) 2018-12-18 2019-12-31 Palantir Technologies Inc. Systems and methods for coordinating the deployment of components to defined user groups
US10942902B2 (en) * 2019-01-17 2021-03-09 Cohesity, Inc. Efficient database migration using an intermediary secondary storage system
CN109992418B (en) * 2019-03-25 2023-01-06 华南理工大学 SLA-aware resource priority scheduling method and system for multi-tenant big data platform
US10924587B1 (en) 2019-05-01 2021-02-16 Amazon Technologies, Inc. Live migration for highly available data stores
US11119994B1 (en) 2019-06-06 2021-09-14 Amazon Technologies, Inc. Record-by-record live migration using segmentation
US10979303B1 (en) 2019-06-06 2021-04-13 Amazon Technologies, Inc. Segmentation of maintenance on distributed systems
US11403265B2 (en) 2019-10-02 2022-08-02 Salesforce, Inc. Dynamically controlling data migration
US11514008B2 (en) * 2019-10-02 2022-11-29 Salesforce, Inc. Dynamically controlling data migration
US11372827B2 (en) 2020-05-06 2022-06-28 Amazon Technologies, Inc. Record-by-record live migration using a lock store

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752239B2 (en) * 2007-03-05 2010-07-06 International Business Machines Corporation Risk-modulated proactive data migration for maximizing utility in storage systems
US20110282982A1 (en) * 2010-05-13 2011-11-17 Microsoft Corporation Dynamic application placement based on cost and availability of energy in datacenters
US8214829B2 (en) * 2009-01-15 2012-07-03 International Business Machines Corporation Techniques for placing applications in heterogeneous virtualized systems while minimizing power and migration cost
US20120176201A1 (en) * 2011-01-11 2012-07-12 Nxp B.V. Intellectual Property & Licensing Pid control for transmitter-receiver synchronization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752239B2 (en) * 2007-03-05 2010-07-06 International Business Machines Corporation Risk-modulated proactive data migration for maximizing utility in storage systems
US8214829B2 (en) * 2009-01-15 2012-07-03 International Business Machines Corporation Techniques for placing applications in heterogeneous virtualized systems while minimizing power and migration cost
US20110282982A1 (en) * 2010-05-13 2011-11-17 Microsoft Corporation Dynamic application placement based on cost and availability of energy in datacenters
US20120176201A1 (en) * 2011-01-11 2012-07-12 Nxp B.V. Intellectual Property & Licensing Pid control for transmitter-receiver synchronization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Liu et al. "Performance and Energy Modeling for Live Migration of Virtual Machines"., June 2011., ACM. Pg: 171-181. *

Cited By (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10191922B2 (en) 1998-11-24 2019-01-29 Oracle International Corporation Determining live migration speed based on workload and performance characteristics
US8539078B2 (en) * 2010-07-08 2013-09-17 International Business Machines Corporation Isolating resources between tenants in a software-as-a-service system using the estimated costs of service requests
US20120011518A1 (en) * 2010-07-08 2012-01-12 International Business Machines Corporation Sharing with performance isolation between tenants in a software-as-a service system
US20130132403A1 (en) * 2011-11-23 2013-05-23 Nec Laboratories America, Inc. Tenant placement in multitenant cloud databases with data sharing
US9015169B2 (en) * 2011-11-23 2015-04-21 Nec Laboratories America, Inc. Tenant placement in multitenant cloud databases with data sharing
US20130325906A1 (en) * 2012-05-28 2013-12-05 International Business Machines Corporation Placing a database
US9483503B2 (en) * 2012-05-28 2016-11-01 International Business Machines Corporation Placing a database
US20150348054A1 (en) * 2012-09-13 2015-12-03 Nec Corporation Risk analysis device, risk analysis method and program storage medium
US10169762B2 (en) * 2012-09-13 2019-01-01 Nec Corporation Risk analysis device, risk analysis method and program storage medium
US10860605B2 (en) 2012-09-28 2020-12-08 Oracle International Corporation Near-zero downtime relocation of a pluggable database across container databases
US11175832B2 (en) 2012-09-28 2021-11-16 Oracle International Corporation Thread groups for pluggable database connection consolidation in NUMA environment
US9122644B2 (en) 2012-09-28 2015-09-01 Oracle International Corporation Common users, common roles, and commonly granted privileges and roles in container databases
US9928147B2 (en) 2012-09-28 2018-03-27 Oracle International Corporation Forceful closure and automatic recovery of pluggable databases in a shared-everything cluster multitenant container database
US9239763B2 (en) 2012-09-28 2016-01-19 Oracle International Corporation Container database
US10191671B2 (en) 2012-09-28 2019-01-29 Oracle International Corporation Common users, common roles, and commonly granted privileges and roles in container databases
US9298564B2 (en) 2012-09-28 2016-03-29 Oracle International Corporation In place point-in-time recovery of pluggable databases
US10635674B2 (en) 2012-09-28 2020-04-28 Oracle International Corporation Migrating a pluggable database between database server instances with minimal impact to performance
US10922331B2 (en) 2012-09-28 2021-02-16 Oracle International Corporation Cloning a pluggable database in read-write mode
US10915549B2 (en) 2012-09-28 2021-02-09 Oracle International Corporation Techniques for keeping a copy of a pluggable database up to date with its source pluggable database in read-write mode
US10152500B2 (en) 2013-03-14 2018-12-11 Oracle International Corporation Read mostly instances
US9491072B2 (en) 2013-07-09 2016-11-08 Oracle International Corporation Cloud services load testing and analysis
US9805070B2 (en) 2013-07-09 2017-10-31 Oracle International Corporation Dynamic migration script management
US10540335B2 (en) 2013-07-09 2020-01-21 Oracle International Corporation Solution to generate a scriptset for an automated database migration
WO2015006358A1 (en) * 2013-07-09 2015-01-15 Oracle International Corporation Database modeling and analysis
CN105556515A (en) * 2013-07-09 2016-05-04 甲骨文国际公司 Database modeling and analysis
US9747311B2 (en) 2013-07-09 2017-08-29 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US9762461B2 (en) 2013-07-09 2017-09-12 Oracle International Corporation Cloud services performance tuning and benchmarking
US10248671B2 (en) 2013-07-09 2019-04-02 Oracle International Corporation Dynamic migration script management
US9792321B2 (en) 2013-07-09 2017-10-17 Oracle International Corporation Online database migration
US9442983B2 (en) 2013-07-09 2016-09-13 Oracle International Corporation Method and system for reducing instability when upgrading software
US9996562B2 (en) 2013-07-09 2018-06-12 Oracle International Corporation Automated database migration architecture
US10198255B2 (en) 2013-07-09 2019-02-05 Oracle International Corporation Method and system for reducing instability when upgrading software
US11157664B2 (en) 2013-07-09 2021-10-26 Oracle International Corporation Database modeling and analysis
US10776244B2 (en) 2013-07-09 2020-09-15 Oracle International Corporation Consolidation planning services for systems migration
US9967154B2 (en) 2013-07-09 2018-05-08 Oracle International Corporation Advanced customer support services—advanced support cloud portal
US10691654B2 (en) 2013-07-09 2020-06-23 Oracle International Corporation Automated database migration architecture
US9098364B2 (en) 2013-07-09 2015-08-04 Oracle International Corporation Migration services for systems
US9830372B2 (en) 2013-07-24 2017-11-28 Oracle International Corporation Scalable coordination aware static partitioning for database replication
DE112013007329B4 (en) 2013-10-09 2023-03-23 Intel Corporation Systems, devices and methods Technology for managing cloud storage
US10642861B2 (en) 2013-10-30 2020-05-05 Oracle International Corporation Multi-instance redo apply
US9767178B2 (en) 2013-10-30 2017-09-19 Oracle International Corporation Multi-instance redo apply
US10048895B2 (en) 2013-12-06 2018-08-14 Concurrent Ventures, LLC System and method for dynamically load balancing storage media devices based on a mid-range performance level
US20150160892A1 (en) * 2013-12-06 2015-06-11 Concurrent Ventures, LLC System and method for dynamically load balancing across storage media devices having fast access rates
US20150160889A1 (en) * 2013-12-06 2015-06-11 Concurrent Ventures, LLC System and method for dynamically load balancing storage media devices based on an optimal sustained performance level
US9274722B2 (en) 2013-12-06 2016-03-01 Concurrent Ventures, LLP System, method and article of manufacture for monitoring, controlling and improving storage media system performance
US10235096B2 (en) * 2013-12-06 2019-03-19 Concurrent Ventures, LLC System and method for dynamically load balancing storage media devices based on an average or discounted average sustained performance level
US9436404B2 (en) * 2013-12-06 2016-09-06 Concurrent Ventures, LLC System and method for dynamically load balancing across storage media devices having fast access rates
CN106415536A (en) * 2014-03-10 2017-02-15 甲骨文国际公司 Instantaneous unplug of pluggable database from one container database and plug into another container database
WO2015138087A1 (en) * 2014-03-10 2015-09-17 Oracle International Corporation Instantaneous unplug of pluggable database from one container database and plug into another container database
US9396220B2 (en) 2014-03-10 2016-07-19 Oracle International Corporation Instantaneous unplug of pluggable database from one container database and plug into another container database
US20150331715A1 (en) * 2014-05-19 2015-11-19 Krishnamu Jambur Sathyanarayana Reliable and deterministic live migration of virtual machines
US9558005B2 (en) * 2014-05-19 2017-01-31 Intel Corporation Reliable and deterministic live migration of virtual machines
US9998328B1 (en) * 2014-06-19 2018-06-12 Amazon Technologies, Inc. Service-oriented system optimization using client device relocation
US9998562B1 (en) 2014-06-19 2018-06-12 Amazon Technologies, Inc. Service-oriented system optimization using partial service relocation
US20150372878A1 (en) * 2014-06-23 2015-12-24 Infosys Limited System and method for detecting and preventing service level agreement violation in a virtualized environment
US9935865B2 (en) * 2014-06-23 2018-04-03 Infosys Limited System and method for detecting and preventing service level agreement violation in a virtualized environment
US9904538B2 (en) * 2015-08-24 2018-02-27 International Business Machines Corporation Maintenance of multi-tenant software programs
US10635675B2 (en) 2015-10-23 2020-04-28 Oracle International Corporation Supporting pluggable databases with heterogeneous database character sets in a container database
US11416495B2 (en) 2015-10-23 2022-08-16 Oracle International Corporation Near-zero downtime relocation of a pluggable database across container databases
US11657037B2 (en) 2015-10-23 2023-05-23 Oracle International Corporation Query execution against an in-memory standby database
US10635658B2 (en) 2015-10-23 2020-04-28 Oracle International Corporation Asynchronous shared application upgrade
US10360269B2 (en) 2015-10-23 2019-07-23 Oracle International Corporation Proxy databases
US10628422B2 (en) 2015-10-23 2020-04-21 Oracle International Corporation Implementing a logically partitioned data warehouse using a container map
US11550667B2 (en) 2015-10-23 2023-01-10 Oracle International Corporation Pluggable database archive
US10747752B2 (en) 2015-10-23 2020-08-18 Oracle International Corporation Space management for transactional consistency of in-memory objects on a standby database
US10621176B2 (en) 2015-10-23 2020-04-14 Oracle International Corporation Automatic reconfiguration of relocated pluggable databases
US10789131B2 (en) 2015-10-23 2020-09-29 Oracle International Corporation Transportable backups for pluggable database relocation
US10803078B2 (en) 2015-10-23 2020-10-13 Oracle International Corporation Ability to group multiple container databases as a single container database cluster
US10572551B2 (en) 2015-10-23 2020-02-25 Oracle International Corporation Application containers in container databases
US10579478B2 (en) 2015-10-23 2020-03-03 Oracle International Corporation Pluggable database archive
US10606578B2 (en) 2015-10-23 2020-03-31 Oracle International Corporation Provisioning of pluggable databases using a central repository
US11068437B2 (en) 2015-10-23 2021-07-20 Oracle Interntional Corporation Periodic snapshots of a pluggable database in a container database
US10387387B2 (en) 2015-12-17 2019-08-20 Oracle International Corporation Enabling multi-tenant access to respective isolated data sets organized using different application schemas
US10289617B2 (en) 2015-12-17 2019-05-14 Oracle International Corporation Accessing on-premise and off-premise datastores that are organized using different application schemas
US11151098B2 (en) 2015-12-17 2021-10-19 Oracle International Corporation Enabling multi-tenant access to respective isolated data sets organized using different application schemas
US11036696B2 (en) 2016-06-07 2021-06-15 Oracle International Corporation Resource allocation for database provisioning
US10613799B2 (en) 2016-06-24 2020-04-07 International Business Machines Corporation Updating storage migration rates
US10599367B2 (en) 2016-06-24 2020-03-24 International Business Machines Corporation Updating storage migration rates
US10698771B2 (en) 2016-09-15 2020-06-30 Oracle International Corporation Zero-data-loss with asynchronous redo shipping to a standby database
US10891291B2 (en) 2016-10-31 2021-01-12 Oracle International Corporation Facilitating operations on pluggable databases using separate logical timestamp services
US11475006B2 (en) 2016-12-02 2022-10-18 Oracle International Corporation Query and change propagation scheduling for heterogeneous database systems
US10691722B2 (en) 2017-05-31 2020-06-23 Oracle International Corporation Consistent query execution for big data analytics in a hybrid database
US11386058B2 (en) 2017-09-29 2022-07-12 Oracle International Corporation Rule-based autonomous database cloud service framework
US11281670B2 (en) 2019-03-30 2022-03-22 Oracle International Corporation High-performance implementation of sharing of read-only data in a multi-tenant environment
US11256671B2 (en) 2019-09-13 2022-02-22 Oracle International Corporation Integrated transition control center
US11822526B2 (en) 2019-09-13 2023-11-21 Oracle International Corporation Integrated transition control center
US12174804B2 (en) 2019-09-13 2024-12-24 Oracle International Corporation Integrated transition control center
US11269825B2 (en) * 2019-12-13 2022-03-08 Sap Se Privilege retention for database migration
US11093229B2 (en) * 2020-01-22 2021-08-17 International Business Machines Corporation Deployment scheduling using failure rate prediction
US11741380B2 (en) 2020-01-31 2023-08-29 Oracle International Corporation Machine learning predictions for database migrations
US12008014B2 (en) 2021-07-30 2024-06-11 Oracle International Corporation Data guard at PDB (pluggable database) level
WO2024102695A1 (en) * 2022-11-08 2024-05-16 Cdw Llc Software assessment tool for migrating computing applications using machine learning

Also Published As

Publication number Publication date
US8880477B2 (en) 2014-11-04
US20130085998A1 (en) 2013-04-04

Similar Documents

Publication Publication Date Title
US8880477B2 (en) Latency-aware live migration for multitenant database platforms
Abdelzaher et al. Introduction to control theory and its application to computing systems
Bui et al. Energy efficiency for cloud computing system based on predictive optimization
US11579933B2 (en) Method for establishing system resource prediction and resource management model through multi-layer correlations
US7137019B2 (en) Adaptive throttling system for data processing systems
EP3238054B1 (en) Cpu overprovisioning and cloud compute workload scheduling mechanism
US20190121672A1 (en) Automated capacity provisioning method using historical performance data
US8326669B2 (en) System and method for selecting and scheduling corrective actions for automated storage management
US9396008B2 (en) System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts
EP3087503B1 (en) Cloud compute scheduling using a heuristic contention model
US7587621B2 (en) Computer system management and throughput maximization in the presence of power constraints
US20200219028A1 (en) Systems, methods, and media for distributing database queries across a metered virtual network
US20080222644A1 (en) Risk-modulated proactive data migration for maximizing utility in storage systems
Bi et al. SLA-based optimisation of virtualised resource for multi-tier web applications in cloud data centres
US20150317189A1 (en) Application execution controller and application execution method
CN102004671A (en) Resource management method of data center based on statistic model in cloud computing environment
HoseinyFarahabady et al. Q-flink: A qos-aware controller for apache flink
US10054997B2 (en) Multivariable control for power-latency management to support optimization of data centers or other systems
Zhang et al. Autrascale: An automated and transfer learning solution for streaming system auto-scaling
CN118964002A (en) A cost-effective reactive scaling scheduling method under multiple resource constraints
US10924562B1 (en) Real-time monitoring of IO load and latency
CN115658319B (en) Resource scheduling method, system, device and storage medium
Yang et al. Faster or cheaper: a q-learning based cost-effective mixed cluster scaling method for achieving low tail latencies
US11449502B1 (en) Calculating a throttle limit for requests in a database system
Zhao et al. MHQoS: A multi-user hierarchical quality of service optimization for P2P storage

Legal Events

Date Code Title Description
AS Assignment

Owner name: NEC LABORATORIES AMERICA, INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BARKER, SEAN;CHI, YUN;MOON, HYUN JIN;AND OTHERS;REEL/FRAME:029079/0258

Effective date: 20121003

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION