JP2015513333A - Database workload balancing through migration - Google Patents

Database workload balancing through migration Download PDF

Info

Publication number
JP2015513333A
JP2015513333A JP2014554994A JP2014554994A JP2015513333A JP 2015513333 A JP2015513333 A JP 2015513333A JP 2014554994 A JP2014554994 A JP 2014554994A JP 2014554994 A JP2014554994 A JP 2014554994A JP 2015513333 A JP2015513333 A JP 2015513333A
Authority
JP
Japan
Prior art keywords
database
migration
server
workload
cpu
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.)
Granted
Application number
JP2014554994A
Other languages
Japanese (ja)
Other versions
JP5914699B2 (en
Inventor
ユン チー、
ユン チー、
ヴァヒト ハチグムス、
ヴァヒト ハチグムス、
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
Publication of JP2015513333A publication Critical patent/JP2015513333A/en
Application granted granted Critical
Publication of JP5914699B2 publication Critical patent/JP5914699B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Abstract

【課題】データベースの作業負荷バランシングを達成する。【解決手段】複数のデータベースサーバ間のデータベースの作業負荷バランシングのための方法であって、新しいサーバが利用できるとき、該新しいサーバへマイグレートするマスタ及びスレーブデータベースのセットを選択し、マイグレーションコストを最小としつつ、全てのサーバ間で作業負荷のバランスがとれるように選択されたデータベースをマイグレートし、動作中に作業負荷の変動により作業負荷のアンバランスをリアルタイムに検出すると、作業負荷のバランスがとれるまで他のサーバへマイグレートするデータベースを一つずつ繰り返し選択する。【選択図】図1Database workload balancing is achieved. A method for database workload balancing between a plurality of database servers, when a new server is available, a set of master and slave databases to be migrated to the new server is selected to reduce migration costs. Migrating a database that is selected to balance the workload among all servers while minimizing it, and detecting the workload imbalance in real time due to workload fluctuations during operation, the workload balance Select the databases to be migrated to other servers one by one until you get them. [Selection] Figure 1

Description

この出願は、2012年4月4日に出願された米国仮出願番号61620151号を基礎とし、その開示の全てをここに取り込む。   This application is based on US Provisional Application No. 6162151, filed April 4, 2012, the entire disclosure of which is incorporated herein.

本発明はデータベースの作業負荷バランシングに関する。   The present invention relates to database workload balancing.

企業では、様々な経済的及びビジネス上の理由により、データセンタを構築する目的でバックエンドコンピュータシステムの中央集約化が進んでいる。データセンタは、一般にコンピュータシステムを高集中度及び高密度で収容し、さらに顧客のニーズをサポートするデータベースを提供する。データセンタのオペラレータは、サーバボックスを確保し、刻々と変化する作業負荷に備えてリソースを準備しなければならない。さらに、多様な作業負荷で同じ物理ボックス上のリソースを共有することや、作業負荷に対するプロビジョニングでは物理リソースの容量制約等の物理上の制約を考慮する必要がある。近年は、データセンタオペレータへ絶好の機会や課題を提示するデータ集約型コンピューティングのためのクラウドコンピューティングへ移行している。   Enterprises are increasingly centralizing back-end computer systems for the purpose of building data centers for various economic and business reasons. Data centers typically house computer systems at a high concentration and density, and provide a database that supports customer needs. Data center operators must secure server boxes and prepare resources for the ever-changing workload. Furthermore, it is necessary to consider physical constraints such as physical resource capacity constraints when sharing resources on the same physical box with various workloads and provisioning for workloads. In recent years, there has been a shift to cloud computing for data intensive computing that presents great opportunities and challenges to data center operators.

データセンタオペレータが直面する一つのキーとなる課題は、顧客の作業負荷のためのデータセンタにおけるリソースのプロビジョニングである。例えば、新しいサーバが追加されると、既存の各サーバは、
・新しいサーバに共同設置されるマスタ・スレーブの組み合わせが無い、
・マスタ対スレーブ比が全サーバでほぼ同一である、
・メモリ容量及びCPU容量が全サーバで可能な限りバランスがとれている、
・データ量の移動が最小である、
となるように、該新しいサーバへマイグレートする(移行する)マスタ及びスレーブセットを提供する。
One key challenge faced by data center operators is the provisioning of resources in the data center for customer workloads. For example, when a new server is added, each existing server
・ There is no master / slave combination co-located on a new server.
・ Master to slave ratio is almost the same for all servers.
-Memory capacity and CPU capacity are balanced as much as possible in all servers.
・ Minimum movement of data volume
Provide a master and slave set to migrate (migrate) to the new server.

他の問題は、ホットスポットの解消である。所定のサーバ構成において、過負荷のサーバが在る場合(メモリホットスポット、CPUホットスポット、またはその両方であるとき、サーバは過負荷である)、各過負荷サーバから一つのマスタをマイグレートすることでサーバの過負荷状態が解消される。   Another problem is the elimination of hot spots. In a given server configuration, if there is an overloaded server (the server is overloaded when it is a memory hotspot, a CPU hotspot, or both), migrate one master from each overloaded server This eliminates the server overload condition.

連合データベース(Federated databases)は、個々のサーバ間のリレーションが手動で分割され、統一された方式でクライアントに公開されることで用いられてきた。しかしながら、そのような解決法では、マニュアルによる機器設定、特殊なマージング・ラッパー・アルゴリズム、動的な再バランシングがサポートされない問題を引き起こす。   Federated databases have been used by manually dividing relationships between individual servers and exposing them to clients in a unified manner. However, such a solution causes problems where manual device configuration, special merging wrapper algorithms, and dynamic rebalancing are not supported.

他の解決法として、作業負荷に基づいてスレーブデータベースを追加または削除する方法がある。しかしながら、スレーブデータベース(複製)はリードクエリをサポートするだけであり、全てのライトクエリはマスタへ渡さなければならないため、そのような解決法は作業負荷に多くのライトクエリを含む場合に役に立たない。さらに、スレーブの追加には長い時間を要するため、この解決法は早い作業負荷の変動を扱うことができない。   Another solution is to add or delete slave databases based on workload. However, such a solution is not useful when the workload includes many write queries, since the slave database (replica) only supports read queries and all write queries must be passed to the master. Furthermore, this solution cannot handle fast workload fluctuations because adding slaves takes a long time.

その他のアプローチとして、作業負荷をマスタDBとそのスレーブとで異なるようにすることが考えられる。その場合、マスタとスレーブの役割、またはマスタとスレーブとを交換することで、作業負荷のバランスが保たれる。しかしながら、そのような方法は、マスタとスレーブの作業負荷が大きく異なり、DBシステムがスワッピングをサポートしているときにのみ有効である。さらに他の方法として、(a)同じサーバにおける異なる仮想マシン間でリソースの割り当てを変更する、(b)サーバを追加及び削除する、ことで負荷バランシングが達成される。しかしながら、そのような方法は、各DBインスタンスが一つの仮想マシンでラップされ、各サーバが全てのDBを含んでいなければならないため(全DBの全マスタ、または各DBの1スレーブのいずれか一方)、該方法を適用できる範囲が制限される。   As another approach, it is conceivable to make the workload different between the master DB and its slave. In that case, the balance between workloads is maintained by exchanging the roles of the master and slave or the master and slave. However, such a method is effective only when the workloads of the master and the slave are greatly different and the DB system supports swapping. As yet another method, load balancing is achieved by (a) changing the allocation of resources between different virtual machines on the same server, and (b) adding and deleting servers. However, such a method is because each DB instance is wrapped in one virtual machine and each server must contain all DBs (either all masters of all DBs or one slave of each DB) On the other hand, the range in which the method can be applied is limited.

本発明の一態様は、複数のデータベースサーバ間のデータベースの作業負荷バランシングのための方法であって、新しいサーバが利用できるとき、該新しいサーバへマイグレートするマスタ及びスレーブデータベースのセットを選択し、マイグレーションコストを最小としつつ、全てのサーバ間で作業負荷のバランスがとれるように選択されたデータベースをマイグレートし、動作中に作業負荷の変動により作業負荷のアンバランスをリアルタイムに検出すると、作業負荷のバランスがとれるまで他のサーバへマイグレートするデータベースを一つずつ繰り返し選択する。   One aspect of the present invention is a method for database workload balancing between a plurality of database servers, when a new server is available, selecting a set of master and slave databases to migrate to the new server; When migrating a selected database to balance the workload among all servers while minimizing the migration cost and detecting workload imbalance in real time due to workload fluctuations during operation, the workload Select databases to be migrated to other servers one by one until the balance is achieved.

好ましい実施例の優れた点は以下の通りである。本システムでは、リアルタイムなデータベース・マイグレーションを用いることで、データベースの作業負荷バランシングを達成する。このような解決法は、レスポンスタイムが速く、手動による介入を最小限とし、目標関数として様々な特性(メモリ及びCPUのフットプリント等)やメトリック(作業負荷分散、作業負荷変動のL1ノルム、サーバにおけるマスタ/スレーブ比等)を利用できる。本システムでは、データベースの作業負荷バランシングを達成することで、全データベース及び全サーバの総合的なシステムパフォーマンスが最適化される。高速な動作が達成される。本システムでは、メモリ常駐型データベースのライブマイグレーション技術を活用するため、動作が速くなり、作業負荷の変動への反応も早くなる。本システムでは、作業負荷のランニングコストが最小となる、費用効率が高いデータベースの配置を素早く見出せる。本システムは、動作中における作業負荷の総動作コスト(TOC:Total Operating Cost)を最小化しつつ、個別の作業負荷に備えて準備するデータセンタオペレータを支援する。作業負荷バランシングは、マイグレーションによってリアルタイムに達成でき、多くのデータベースシステムに要求されるACID特性(Atomicity(原子性、不可分性)、Consistency(一貫性)、Isolation(独立性)、Durability(永続性))が保証される。   The advantages of the preferred embodiment are as follows. This system achieves database workload balancing by using real-time database migration. Such a solution has a fast response time, minimizes manual intervention, has various characteristics (memory and CPU footprint, etc.) and metrics (workload distribution, workload fluctuation L1 norm, server) Can be used. In this system, the overall system performance of all databases and all servers is optimized by achieving database workload balancing. High speed operation is achieved. In this system, the live migration technology of the memory resident database is utilized, so the operation becomes faster and the response to the fluctuation of the work load becomes faster. With this system, you can quickly find a cost-effective database layout that minimizes the running cost of the workload. The system supports data center operators preparing for individual workloads while minimizing the total operating cost (TOC) of the workload during operation. Workload balancing can be achieved in real time by migration, and the ACID characteristics (Atomicity, Consistency, Isolation, Durability) required for many database systems Is guaranteed.

サーバ間のデータベースマスタまたはスレーブのマイグレーションで達成される作業負荷バランシングの一例を示す図である。It is a figure which shows an example of the workload balancing achieved by the migration of the database master or slave between servers. N=2における、容量バランスがとれた状態を意味する低分散を説明する図である。It is a figure explaining the low dispersion | distribution which means the state where the capacity | capacitance balance was taken in N = 2. N=3における、容量バランスがとれた状態を意味する低分散を説明する図である。It is a figure explaining the low dispersion | distribution which means the state where the capacity | capacitance balance was taken in N = 3. 最適なテナントが存在しない様子を示す図である。It is a figure which shows a mode that the optimal tenant does not exist. ホットスポット解消問題を示す図である。It is a figure which shows a hot spot elimination problem. 複数のリソース、すなわちメモリ及びCPUで与えられるメモリホットスポットを示す図である。It is a figure which shows the memory hot spot provided with several resources, ie, memory, and CPU. データベースバランシングを実行するコンピュータの一例を示す図である。It is a figure which shows an example of the computer which performs database balancing.

図1は、サーバ間のデータベースマスタまたはスレーブのマイグレーションで達成される作業負荷バランシングの一例を示す図である。   FIG. 1 is a diagram illustrating an example of workload balancing achieved by database master or slave migration between servers.

SV1−SV4は4台のサーバを示し、M1−M3は3台のデータベースマスタを示し、各データベースマスタが対応する2台のデータベーススレーブ(レプリカ)を備えている。したがって、S11及びS12はM1のスレーブである。第1に、新しいサーバが作業負荷の取り扱いを開始すると、本システムは、該新しいサーバへマイグレート(移行)するマスタ及びスレーブデータベースのセットを選択する。マイグレートさせる選択されたデータベースは、マイグレーションコストを最小にしつつ、全ての(新しいサーバを含む)サーバの作業負荷バランスが最もとれる結果をもたらす。新しいサーバは、マスタ対スレーブ比が既存のサーバのそれと同様になる(すなわち、新しいサーバはマイグレーション完了後には他の既存サーバと同様になる)。第2に、動作中、例えば任意のデータベースの作業負荷が変動することで、作業負荷のアンバランスがリアルタイムに検出されると、作業負荷のバランスをとるために、他のサーバへマイグレートするデータベースを一つずつ繰り返し選択する。   SV1 to SV4 indicate four servers, M1 to M3 indicate three database masters, and each database master includes two database slaves (replicas) corresponding thereto. Therefore, S11 and S12 are M1 slaves. First, when a new server begins handling a workload, the system selects a set of master and slave databases to migrate to the new server. The selected database to be migrated will result in the best work load balancing of all servers (including new servers) while minimizing migration costs. The new server will have a master to slave ratio similar to that of the existing server (ie, the new server will be similar to other existing servers after migration is complete). Second, during operation, for example, if the workload of an arbitrary database fluctuates, and a workload imbalance is detected in real time, the database that migrates to other servers to balance the workload Select one by one repeatedly.

一実施例において、M台のデータベースはN台のサーバでホストされる。各データベースは、プライマリDB(マスタ)と、他のサーバでホストされる、1つまたは複数のセカンダリDB(スレーブ)とを有する構成である。すなわち、マスタDBは、自身のスレーブと同じサーバに配置されず、同じマスタに属する2台のスレーブは同じサーバに配置されない。   In one embodiment, the M databases are hosted on N servers. Each database has a primary DB (master) and one or more secondary DBs (slave) hosted by other servers. That is, the master DB is not arranged on the same server as its own slave, and two slaves belonging to the same master are not arranged on the same server.

各データベースは、時々刻々と変化するCPU使用率及びメモリ使用量のようなシステムリソースのフットプリントを備えている。各サーバは、サーバが過負荷と考えられる状態を超える、最大リソース容量を備える。各リソースは、相加的であると見做される、すなわちサーバリソース使用量はサーバでホストされる全てのデータベースの各リソース使用量の合計となる。このような前提はCPU使用率及びメモリ使用量の分野で一般的に受け入れられる。本システムは、DBのライブマイグレーション、例えばNEC TAM等のシステムが提供するリアルタイムマイグレーション機能、を実行することが好ましい。以下、各種の用語について詳述する。   Each database has a footprint of system resources such as CPU usage and memory usage that change from moment to moment. Each server has a maximum resource capacity that exceeds the state in which the server is considered overloaded. Each resource is considered additive, that is, the server resource usage is the sum of each resource usage of all databases hosted on the server. Such a premise is generally accepted in the field of CPU usage and memory usage. The system preferably executes DB live migration, for example, a real-time migration function provided by a system such as NEC TAM. Hereinafter, various terms will be described in detail.

・本システムはN台のサーバSV,…,SVで構成される。 This system is composed of N servers SV 1 ,..., SV N.

・サーバSVはK(t ,…,t ki)台のテナントを収容する(注:各サーバは異なる数のテナントを有していてもよい)。 The server SV i accommodates K i (t i 1 ,..., T i ki ) tenants (Note: each server may have a different number of tenants).

・各テナントt はマスタまたはスレーブのいずれか一方となる。マスタとなるテナントは、そのスレーブと同一のTAMサーバに配置されない。 · Each tenant t i k becomes either the master or slave. The master tenant is not placed on the same TAM server as the slave.

・各テナントt は,メモリ使用量t .memのフットプリント及びCPU使用率t .cpuのフットプリントを備える。 -Each tenant t i k has a memory usage t i k . mem footprint and CPU usage t i k . with cpu footprint.

・メモリ使用量及びCPU使用率はサーバSVにおいて相加的であり、総メモリ使用量は -Memory usage and CPU usage are additive in server SV i , and total memory usage is

Figure 2015513333
Figure 2015513333

であり、総CPU使用率は And the total CPU usage is

Figure 2015513333
Figure 2015513333

である。 It is.

・メモリユニット及びCPUユニットは各サーバどうしで互換性がある(例えば、メモリユニットはギガバイトであり、CPUユニットはギガサイクル/秒である)。   The memory unit and the CPU unit are compatible with each other (for example, the memory unit is gigabyte and the CPU unit is gigacycle / second).

・各サーバSVには、通常時は超えない値であるメモリ閾値SV.memTh及びCPU閾値SV.cpuThがある。本明細書では、メモリ閾値またはCPU閾値のいずれか一方を越えた場合、サーバがホットスポット(メモリホットスポットまたはCPUホットスポット)になったと称す。 Each server SV i has a memory threshold value SV i . memTh and CPU threshold SV i . There is cpuTh. In this specification, when either one of the memory threshold and the CPU threshold is exceeded, the server is referred to as a hot spot (memory hot spot or CPU hot spot).

・各サーバSVには、メモリ容量SV.memCap(SVがメモリホットスポットになる前の空きメモリ容量)及びCPU容量SV.cpuCapがある。SV.memCap<0またはSV.cpuCap<0の場合、サーバSVはホットスポットになる。 Each server SV i has a memory capacity SV i . memCap (free memory capacity before SV i becomes a memory hot spot) and CPU capacity SV i . There is cpuCap. SV i . memCap <0 or SV i . If cpuCap <0, server SV i becomes a hot spot.

各サーバSVに関して、
・SV.memCap:サーバSVのメモリ容量。
For each server SV i
・ SV i . memCap: the memory capacity of the server SV i .

・SV.cpuCap:サーバSVのCPU容量。 ・ SV i . cpuCap: CPU capacity of the server SV i .

・SV.memTh:越えるとSVがメモリホットスポットになる、サーバSVのメモリ閾値。 ・ SV i . memTh: memory threshold of server SV i above which SV i becomes a memory hot spot.

・SV.cpuTh:越えるとSVがCPUホットスポットになる、サーバSVのCPU閾値。 ・ SV i . cpuTh: CPU threshold of server SV i above which SV i becomes a CPU hot spot.

・SV.tenants:サーバSVに属するテナント{t ,…,t Ki}である。 ・ SV i . tenants: Tenants {t i 1 ,..., t i Ki } belonging to the server SV i .

Figure 2015513333
Figure 2015513333

である各テナントt に関して、
・t .tid:t のテナントID。
For each tenant t i k is,
· T i k. tid: t i k of the tenant ID.

・t .isMaster:t がマスタ(またはスレーブ)であることを示すブールフラグ。 · T i k. isMaster: A Boolean flag indicating that t i k is a master (or slave).

・t .mem:t のメモリ使用量。 · T i k. mem: memory usage of t i k .

・t .cpu:t のCPU使用率。 · T i k. cpu: CPU utilization of t i k.

・t .dataSize:t のデータサイズである。 · T i k. dataSize: is the data size of the t i k.

N個の数値{x,…,x}の平均値μ及び分散σ は、以下のように定義される。 An average value μ x and variance σ x 2 of N numerical values {x 1 ,..., X N } are defined as follows.

Figure 2015513333
Figure 2015513333

上記式において、小さい分散は各サーバのバランスがとれていることを意味する。{x,…,x}を各サーバのリソース容量(メモリまたはCPU)とすると、{x,…,x}が低分散であるとき、各サーバ間のバランスがとれている状態を意味する。すなわち、 In the above formula, a small variance means that each server is balanced. {X 1, ..., x N } When the the respective server resource capacity (memory or CPU), {x 1, ... , x N} time is the low dispersion, a state of balance between the server is taken means. That is,

Figure 2015513333
Figure 2015513333

が変化しない場合、x=…=xのときにσ が最小となる。σ は各サーバのリソース容量のバランスを評価するのに有益なメトリックとなる。 Σ x 2 is minimum when x 1 =... = X N. σ x 2 is a useful metric for evaluating the balance of the resource capacity of each server.

図2Aは、N=2における、容量バランスがとれた状態を意味する低分散を説明する図である。x+x=cとし、c=2μを定数としたとき、本システムでは単純にx及びxに値を再配分する。x+x=2μであるため、全ての{x,x}のペアは図に示された線上に配置される。図1には、σ が同じ値となる等値線が示されている(それらは円状になる)。図示されるように、x=x=μのとき、σ が最小値0になり、それ以外は、{x,x}がよりアンバランスな高分散状態である。これは、N>2のときも成立する。一例として、図2Bは、N=3における、容量バランスがとれた状態を意味する低分散を説明する図である。 FIG. 2A is a diagram for explaining low dispersion, which means a state where the capacity is balanced when N = 2. When x 1 + x 2 = c and c = 2μ x is a constant, the system simply redistributes the values to x 1 and x 2 . Because it is x 1 + x 2 = 2μ x , pairs of all {x 1, x 2} is located on the line shown in FIG. FIG. 1 shows isolines where σ x 2 has the same value (they are circular). As shown in the figure, when x 1 = x 2 = μ x , σ x 2 has a minimum value of 0, and otherwise, {x 1 , x 2 } is a highly unbalanced high dispersion state. This is also true when N> 2. As an example, FIG. 2B is a diagram for explaining low dispersion, which means a state where capacity is balanced when N = 3.

SVがリソース(例えばメモリ)容量xのホットスポットサーバであり、SVがリソース容量xの軽負荷サーバであり、本システムがリソース使用量ΔのテナントをSVからSVへマイグレートする場合、各サーバ間の容量の分散の低減は、 SV i is a hotspot server with resource (for example, memory) capacity x i , SV j is a light load server with resource capacity x j , and this system migrates tenants with resource usage Δ from SV i to SV j To reduce the distribution of capacity between servers,

Figure 2015513333
Figure 2015513333

である。ここで、この分散低減をΔの関数として扱うと、 It is. Here, when this dispersion reduction is treated as a function of Δ,

Figure 2015513333
Figure 2015513333

であり、マイグレートすべき最良のテナントはリソース使用量が And the best tenant to migrate is resource usage

Figure 2015513333
Figure 2015513333

のテナントであり、マイグレーションの結果として、分散の変化は、 As a result of migration, the change in distribution is

Figure 2015513333
Figure 2015513333

となる。 It becomes.

上記解決法は最大リソース容量を選択することである。テナントのリソース使用量は離散値であり、図3の最適なΔへ到達しない例で示すように、最も近いテナントのリソース使用量はΔとΔであり、リソース使用量がΔのテナントを見出せるとは限らない。図3は最適なテナントが存在しない場合の様子を示している。 The solution is to select the maximum resource capacity. Resource usage of tenants are discrete values, as shown by examples to reach the optimum delta * in FIG. 3, the resource usage of the nearest tenants a delta 1 and delta 2, resource usage delta * of It is not always possible to find a tenant. FIG. 3 shows a state where an optimal tenant does not exist.

次に、新しいサーバのマイグレーションプロセスについて説明する。新しいサーバの追加に伴って既存の各サーバは、
・新しいサーバに共同設置されたマスタ・スレーブが無いこと、
・全てのサーバでマスタ対スレーブ比がほぼ同じであること、
・全てのサーバでメモリ容量及びCPU容量のバランスができるだけとれていること、
・移動させるデータ量が最小であること、
となるように、該新しいサーバへマイグレートするマスタ及びスレーブセットを提供する。
Next, a new server migration process will be described. With the addition of new servers, each existing server
・ There is no master / slave co-located on the new server.
・ The master-to-slave ratio is almost the same on all servers.
-The memory capacity and CPU capacity must be balanced as much as possible on all servers.
-The amount of data to be moved is minimal,
A master and slave set that migrates to the new server is provided.

新しいサーバへDBをマイグレートする一方法例1のための疑似コードは以下のようになる。   The pseudo code for Method Example 1 of migrating a DB to a new server is as follows:

Figure 2015513333
Figure 2015513333

既存のN台のサーバ{SV,…,SV}のリソース使用量をX={x,…,x}としたとき、説明のために一つのリソースXを抽出する。ここで、新しいサーバSVN+1が本システムに組み込まれる。各既存サーバから新しいサーバに対するマスタ及びスレーブ提供後のN+1台のサーバのリソース使用量をY={y,…,y,yN+1}とする。マイグレーション後のリソース使用量の平均値及び分散は、 When the resource usage of the existing N servers {SV 1 ,..., SV N } is X = {x 1 ,..., X N }, one resource X is extracted for explanation. Here, a new server SV N + 1 is incorporated into the system. Let Y = {y 1 ,..., Y N , y N + 1 } be the resource usage of the N + 1 servers after providing the master and slave from each existing server to the new server. Average value and variance of resource usage after migration is

Figure 2015513333
Figure 2015513333

となる。ここで、テナント構成により It becomes. Here, depending on the tenant configuration

Figure 2015513333
Figure 2015513333

とはならない。 It will not be.

方法1は何度も利用及び起動できる。問題は、SVN+1が当初は空き状態である点で異なることである。つまり、空き状態のSVN+1がすばやく満たされることは、方法1のグリーディネイチャーが既存サーバの大きなテナントのマイグレートを促し、そのためにSVN+1に大きなテナントのみ搭載される結果となり、同時に既存サーバ容量に大きなホールが残される(例えば、マイグレートさせた大きなテナントを有するサーバもあれば、マイグレートさせたテナントが無いサーバもある)。 Method 1 can be used and activated many times. The problem is that SV N + 1 is initially empty. In other words, the vacant SV N + 1 is quickly filled, which means that the greedy nature of Method 1 encourages the migration of large tenants on the existing server, so that only large tenants are installed on SV N + 1 and at the same time the existing server capacity is increased. A large hole is left (for example, some servers have large migrated tenants and some servers do not have migrated tenants).

上記の検討に基づき、方法2は新しいサーバの分散を考慮しない。すなわち、各繰り返し処理において、本方法は新しいサーバSVN+1へマイグレートするテナントtを検索し、既存のN台のサーバ(μに代わってμに関して)の分散低減を最大化する。 Based on the above considerations, Method 2 does not consider the distribution of new servers. That is, in each iteration, the method searches for a tenant t that migrates to a new server SV N + 1 and maximizes the reduction in distribution of existing N servers (with respect to μ Y instead of μ X ).

Figure 2015513333
Figure 2015513333

Figure 2015513333
Figure 2015513333

上記のように、方法2は新しいサーバのマイグレーションに利用できる。方法2において、{SV,…,SV}には|M|マスタ及び|S|スレーブがある。そして、本方法は新しいサーバSVN+1へマイグレートする|M|/(N+1)マスタ及び|S|/(N+1)スレーブを選択する。方法2では、|M|/(N+1)マスタを選択することをパラメータ As described above, Method 2 can be used for migration of a new server. In method 2, {SV 1 ,..., SV N } includes | M | master and | S | slave. The method then selects the | M | / (N + 1) master and | S | / (N + 1) slave to migrate to the new server SV N + 1 . In method 2, it is a parameter to select | M | / (N + 1) master.

Figure 2015513333
Figure 2015513333

と称し、|S|/(N+1)スレーブを選択することをパラメータ It is a parameter to select | S | / (N + 1) slave

Figure 2015513333
Figure 2015513333

と称す。Qは、分散低減により対象をソートする、優先度付きキューである。 Called. Q is a priority queue that sorts objects by reducing the variance.

方法2において、
・ライン2−5は、リソース使用量の平均値μmem及びμCPU(新しいサーバSVN+1を含む)を計算する。
・ライン6−9は、各サーバにおけるマイグレーションのための最良のテナント候補を抽出する。これらの候補は、他のサーバに相談することなく、各サーバでローカルに決定できる。
・ライン11−14は、N台のサーバから最良の候補をSVN+1へ移動する。
・ライン15−24は、各サーバの最良のテナント候補を更新する。スレーブをマイグレートする場合、SVN+1へ新たに移動させるスレーブは、他のサーバでは最良の候補から除外されるため、再計算が必要となる。
In Method 2,
Line 2-5 calculates the average resource usage μ mem and μ CPU (including the new server SV N + 1 ).
Line 6-9 extracts the best tenant candidate for migration at each server. These candidates can be determined locally at each server without consulting other servers.
Line 11-14 moves the best candidates from N servers to SV N + 1 .
Line 15-24 updates the best tenant candidate for each server. When migrating a slave, a slave that is newly moved to SV N + 1 is excluded from the best candidates in other servers, and thus recalculation is required.

次に、ホットスポットの解消問題について説明する。所定のデータベース構成で過負荷サーバ(SV.memCap<0であるメモリホットスポット、またはSV.cpuCap<0であるCPUホットスポット、あるいはその両方)がある場合、各過負荷サーバから一つのマスタをマイグレートすることでサーバの過負荷状態が解消される。このことは図1に示されている。 Next, the hot spot elimination problem will be described. Predetermined overload server database configuration (SV i .memCap <memory hot spots is 0 or SV i .cpuCap <0 CPU hotspots or both,,) if there is, one master from the overloaded server The overload state of the server is resolved by migrating. This is illustrated in FIG.

ところで、実際にはリソースXは一つではなく、2つのリソース(memCap,cpuCap)がある。これは、(1)ホットスポットをどのように定義するか、(2)各サーバ間のバランスをどのように評価するかの2点に影響を与える。(1)について、新しいサーバSVが、SV.memCap<0またはSV.cpuCap<0であると、ホットスポットとなる。このケースではホットスポットが解消されなければならない。このことは、複数のリソース、すなわちメモリとCPUとで定められるメモリホットスポットを説明する図5に示されている。 By the way, the resource X is not actually one, but there are two resources (memCap, cpuCap). This affects two points: (1) how to define hot spots, and (2) how to evaluate the balance between servers. For (1), the new server SV i is SV i . memCap <0 or SV i . If cpuCap <0, it becomes a hot spot. In this case, the hot spot must be eliminated. This is illustrated in FIG. 5, which illustrates a memory hot spot defined by a plurality of resources, ie, memory and CPU.

(2)について、単純な解決法として、メモリ容量の分散とCPU容量の分散とを組み合わせる方法を用いることができる。   Regarding (2), as a simple solution, a method of combining memory capacity distribution and CPU capacity distribution can be used.

Figure 2015513333
Figure 2015513333

ここで、cmem及びccpuは、メモリとCPUの異なる単位(GB vs. G−cycle−per−sec)をキャリブレートするためのパラメータである。 Here, c mem and c cpu are parameters for calibrating different units (GB vs. G-cycle-per-sec) of the memory and the CPU.

また、cmem及びccpuは、メモリとCPUのバランスのエンファシスを制御するために用いることができる。例えば、CPU使用率はバースト性であり、メモリ使用量は比較的安定であるため、CPU使用率のバランスはメモリ使用量のバランスよりも重要になる。特別なケースでは Also, c mem and c cpu can be used to control the emphasis of the balance between the memory and the CPU. For example, since the CPU usage rate is bursty and the memory usage is relatively stable, the balance of the CPU usage is more important than the balance of the memory usage. In special cases

Figure 2015513333
Figure 2015513333

及び as well as

Figure 2015513333
Figure 2015513333

に設定される。 Set to

このように設定すると、本システムは、μmemCap及びμcpucapの両方を1に正規化し、メモリとCPUのバランスを等しい重要度で扱う。この考え方は方法3のライン7,8及び11に反映されている。 With this setting, the system normalizes both μ memCap and μ ccupap to 1 and treats the balance of memory and CPU with equal importance. This idea is reflected in lines 7, 8 and 11 of method 3.

各テナントは異なるデータサイズであるため、それらをマイグレートするためのコストも異なる。一つの解決法は、tのマイグレートによる分散低減とtのマイグレートによるコストの比のような目的関数を見直すことである。例えば、tのマイグレーションコストがtのデータサイズと比例するとき、新しいメトリックを   Since each tenant has a different data size, the cost for migrating them is also different. One solution is to review the objective function, such as the ratio of the variance reduction due to t migration and the cost ratio due to t migration. For example, if the migration cost of t is proportional to the data size of t, a new metric

Figure 2015513333
Figure 2015513333

とする。ここで、σ(t)はtをマイグレートした場合の分散低減である。 And Here, σ 2 (t) is a dispersion reduction when t is migrated.

マスタは、そのスレーブと同じサーバに配置できない。そのため、ホットスポットサーバのマスタは無作為に選んだサーバへマイグレートできない。このことはアルゴリズムでチェックされる。すなわち、本システムでは、マイグレーション候補であるテナントt用に、tのスレーブを搭載しないターゲットサーバのみを考慮する。   A master cannot be placed on the same server as its slaves. As a result, the hotspot server master cannot be migrated to a randomly chosen server. This is checked by the algorithm. That is, in this system, only the target server that does not have t slaves is considered for the tenant t that is a migration candidate.

本システムは、既存のホットスポットを解消し、新しいホットスポットを発生させないテナント候補及びターゲットサーバを検討する。そのような解決法が無い場合、本アルゴリズムはヌル位置へ戻る。   This system considers tenant candidates and target servers that eliminate existing hot spots and do not generate new hot spots. If there is no such solution, the algorithm returns to the null position.

本アルゴリズムに対する入力は{SV,…,SV}である。これらのサーバで一つ以上のホットスポットがあれば、本アルゴリズムによる解決法は全てのホットスポットに対処すべきである。このことは、より困難な問題を引き起こす。本発明では、ホットスポットを一つずつ解消するローカルなグリーディ・ヒューリスティックを用いる方法を選択する。すなわち、(1)各サーバのホットスポットをそれぞれ該ホットスポットのみであると見做して対処する、(2)ホットスポットに対処する度に、本システムの構成を仮更新する、(3)そして、仮更新したシステム構成により次のホットスポットに対処する、(4)もし全てのホットスポットを解消する最終構成へ到達できない場合、アルゴリズムは失敗を宣言する。 The input to this algorithm is {SV 1 ,..., SV N }. If there is more than one hot spot on these servers, the algorithm solution should deal with all hot spots. This causes a more difficult problem. In the present invention, a method using a local greedy heuristic that eliminates hot spots one by one is selected. That is, (1) The hot spot of each server is treated as if it is only the hot spot, (2) The system configuration is provisionally updated every time the hot spot is dealt with, (3) and Address the next hotspot with the provisionally updated system configuration. (4) If the final configuration that eliminates all hotspots cannot be reached, the algorithm declares failure.

このことは、(1)対処したホットスポットの順序を監視し、(2)各ホットスポットについて、次のホットスポットを解消しやすくする、あまりグリーディではないグリーディ法で解決策を見つけるため、ヒューリスティックであることに留意する。   This is because heuristically (1) monitors the order of the hot spots addressed and (2) finds a solution with a less greedy method that makes it easier to eliminate the next hot spot for each hot spot. Keep in mind that there are.

図4は、データベース・マイグレーションを用いる、データベースサーバにおけるデータベースの作業負荷バランシングのプロセス例を示している(201)。本方法は、各サーバの作業負荷のバランスがとれるように、既存サーバのセットから新たに利用可能なサーバへデータベースのセットをマイグレートする工程(202)と、各サーバの作業負荷のバランスがとれるように、既存のデータベースサーバのデータベースをマイグレートする工程とを含む(209)。本プロセスでは、所定のデータベース構成の良好度を評価するメトリックを用いる(203)。また、本プロセスでは、新しいサーバへマイグレートするデータベースマスタ及びスレーブの配列を選択する(204)。205において、メトリックには、CPU使用率やメモリ使用量等の様々なシステムリソースが考慮される。206において、該メトリックは、重み付け戦略及びベクトルノルム(ユークリッド・ノルムまたはL1ノルム)による統合された方法における異なるファクターを併せ持つ。   FIG. 4 shows an example database workload balancing process at the database server using database migration (201). The method balances the workload of each server with the step (202) of migrating the database set from the set of existing servers to the newly available server so that the workload of each server is balanced. Thus, the step of migrating the database of the existing database server is included (209). In this process, a metric that evaluates the goodness of a predetermined database configuration is used (203). In this process, an array of database masters and slaves to be migrated to a new server is selected (204). In 205, various system resources such as a CPU usage rate and a memory usage amount are considered in the metric. At 206, the metric combines different factors in an integrated method with a weighting strategy and a vector norm (Euclidean norm or L1 norm).

次に204を検討すると、本方法は、新たに利用できるサーバへマイグレートするマスタデータベース及びスレーブデータベースのセットを選択する工程を含む。207において、選択工程では、(a)マイグレーション後の予想低減コスト、(b)マイグレーション後の各サーバのマスタ対スレーブ比、及び(c)各データベースのサイズに関連するマイグレーションコスト、を含む各種ファクターを考慮する。208において、本方法は、マイグレーションプロセス中に本システムへ影響を与える負のパフォーマンスが最小となるように、最適なマイグレーションの順序を選択する。   Considering now 204, the method includes selecting a set of master and slave databases to migrate to a newly available server. In 207, the selection process includes various factors including (a) expected reduction cost after migration, (b) master-to-slave ratio of each server after migration, and (c) migration cost related to the size of each database. Consider. At 208, the method selects the optimal migration order so that the negative performance affecting the system is minimized during the migration process.

本方法は、各サーバの作業負荷のバランスがとれるように、既存のデータベースサーバのデータベースをマイグレートする工程を含む(209)。メトリックは、所定のデータベース構成の良好度の評価に用いられる(210)。212において、メトリックにはCPU使用率やメモリ使用量のような様々なシステムリソースが考慮される。213において、メトリックは、重み付け戦略やベクトルノルム(ユークリッド・ノルムまたはL1ノルム)による統合された方法における異なるファクターを併せ持つ。   The method includes the step of migrating a database of an existing database server so that the workload of each server is balanced (209). Metrics are used to evaluate the goodness of a given database configuration (210). At 212, the metrics take into account various system resources such as CPU usage and memory usage. At 213, the metric combines different factors in an integrated way with a weighting strategy and a vector norm (Euclidean norm or L1 norm).

または、211において、本方法は、全てのホットスポットを解消するために、マイグレートする次のデータベースと対応するターゲットデータベースサーバとを繰り返し選択する工程を含む。214において、本方法では、マイグレートする次のデータベースと対応するターゲットサーバとを効率よく選択する。215において、本方法では、全てのホットスポットが解消されるまでデータベースを一つずつ繰り返しマイグレートする。   Alternatively, at 211, the method includes repeatedly selecting the next database to migrate and the corresponding target database server to eliminate all hot spots. At 214, the method efficiently selects the next database to migrate and the corresponding target server. At 215, the method repeatedly migrates the database one by one until all hot spots are resolved.

Figure 2015513333
Figure 2015513333

Figure 2015513333
Figure 2015513333

図6は、データベースバランシングを実行するコンピュータの一例を示している。本システムは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせによって実現される。好ましくは、本発明は、プロセッサ、データストレージシステム、揮発性及び不揮発性メモリおよび/またはストレージ素子、少なくとも1つの入力装置、並びに少なくとも1つの出力装置を備えるプログラム可能なコンピュータによりコンピュータプログラムを実行することで実現される。   FIG. 6 shows an example of a computer that performs database balancing. This system is realized by hardware, firmware, software, or a combination thereof. Preferably, the present invention executes a computer program by a programmable computer comprising a processor, a data storage system, volatile and non-volatile memory and / or storage elements, at least one input device, and at least one output device. It is realized with.

次に、一例として、本システムをサポートするコンピュータについて、図6のブロック図を用いて説明する。本コンピュータは、好ましくは、CPUバスに接続された、プロセッサ、ランダムアクセスメモリ(RAM)、プログラムメモリ(好ましくは、フラッシュROMのような書き換え可能なリードオンリーメモリ(ROM))及びインプット/アウトプット(INPUT/OUTPUT:I/O)コントローラを備える。本コンピュータは、CPUバスによってハードディスクと接続されたハードドライブコントローラを備えていてもよい。ハードディスクは、本発明を実現するためのアプリケーションプログラムやデータを保存するために使用される。アプリケーションプログラムはRAMやROMで保存されていてもよい。I/Oコントローラは、I/OバスによりI/Oインタフェースと接続される。I/Oインタフェースは、シリアルリンク、ローカルエリアネットワーク、無線リンク及びパラレルリンク等の通信リンクを通じて、アナログまたはデジタル形式でデータを送受信する。I/Oバスには、ディスプレイ、キーボード及びポインティングデバイス(マウス)が接続されていてもよい。また、I/Oインタフェース、ディスプレイ、キーボード及びポインティングデバイス用に、セパレートコネクション(セパレートバス)を使用してもよい。プログラム可能な処理システムは、事前にプログラムされていてもよく、他のソース(例えば、フロッピーディスク、CD−ROM、あるいは他のコンピュータ)からプログラムをダウンロードすることでプログラム(または再プログラム)されてもよい。   Next, as an example, a computer that supports this system will be described with reference to the block diagram of FIG. The computer preferably includes a processor, random access memory (RAM), program memory (preferably a rewritable read only memory (ROM) such as a flash ROM) and input / output (connected to a CPU bus). INPUT / OUTPUT: I / O) controller. The computer may include a hard drive controller connected to the hard disk via a CPU bus. The hard disk is used for storing application programs and data for realizing the present invention. The application program may be stored in RAM or ROM. The I / O controller is connected to the I / O interface by an I / O bus. The I / O interface transmits and receives data in an analog or digital format through a communication link such as a serial link, a local area network, a wireless link, and a parallel link. A display, a keyboard, and a pointing device (mouse) may be connected to the I / O bus. A separate connection (separate bus) may be used for the I / O interface, display, keyboard, and pointing device. A programmable processing system may be pre-programmed or programmed (or reprogrammed) by downloading the program from another source (eg, floppy disk, CD-ROM, or other computer). Good.

コンピュータプログラムは、通常または特別な目的を持つプログラム可能なコンピュータで読み取ることができる、機械で読み取り可能なストレージメディアまたは装置(例えば、プログラムメモリまたは磁気ディスク)に格納される。コンピュータプログラムは、ストレージメディアまたは装置から本明細書に記載された手順を実行するコンピュータで読み出される、該コンピュータの設定及び制御動作のためのものである。本発明のシステムには、本明細書に記載した機能を実行する、特定の及び事前に定義された方法でコンピュータに動作させるように構成されたコンピュータプログラムを含む、コンピュータで読み取り可能なストレージメディアも考慮される。   The computer program is stored on a machine-readable storage medium or device (eg, program memory or magnetic disk) that can be read by a normal or special purpose programmable computer. The computer program is for configuration and control operations of the computer that are read from the storage medium or device by a computer that performs the procedures described herein. The system of the present invention also includes a computer readable storage medium including a computer program configured to cause a computer to operate in a specific and predefined manner that performs the functions described herein. Be considered.

上述した本システムは、特許法に適合し、当業者に新しい原理の適用に必要な情報を提供し、必要に応じて要求される専用のコンポーネントを構成するように、本明細書で詳細に説明されている。しかしながら、本発明は、他の設備や装置で実行することが可能であり、設備の細部及び手順の動作の両方で、発明の要旨を逸脱しない範囲で種々の変更でも達成できることを理解されたい。   The system described above is described in detail herein to comply with patent law, provide those skilled in the art with the information necessary to apply the new principles, and configure the dedicated components required as required. Has been. However, it is to be understood that the present invention can be practiced with other equipment and devices, and that various details of the equipment and operation of the procedure can be achieved with various modifications without departing from the spirit of the invention.

Claims (20)

複数のデータベースサーバ間のデータベースの作業負荷バランシングのための方法であって、
新しいサーバが利用できるとき、該新しいサーバへマイグレートするマスタ及びスレーブデータベースのセットを選択し、マイグレーションコストを最小としつつ、全てのサーバ間で作業負荷のバランスがとれるように選択されたデータベースをマイグレートし、
動作中に作業負荷の変動により作業負荷のアンバランスをリアルタイムに検出すると、作業負荷のバランスがとれるまで他のサーバへマイグレートするデータベースを一つずつ繰り返し選択する方法。
A method for database workload balancing between multiple database servers, comprising:
When a new server is available, select the set of master and slave databases that will be migrated to the new server and migrate the selected database to balance the workload among all servers while minimizing migration costs. Great and
A method of repeatedly selecting databases to be migrated to other servers one by one until the workload is balanced when workload imbalance is detected in real time due to workload fluctuations during operation.
所定のデータベース構成の良好度を評価するためのメトリックを適用する請求項1記載の方法。   The method of claim 1, wherein a metric for evaluating the goodness of a given database configuration is applied. 前記メトリックは、プロセッサ(CPU)使用率及びメモリ使用量を含むシステムリソースである請求項2記載の方法。   The method of claim 2, wherein the metrics are system resources including processor (CPU) usage and memory usage. 前記メトリックは、重み付け戦略及びベクトルノルムによる統合された方法における異なる複数のファクターである請求項2記載の方法。   The method of claim 2, wherein the metric is a plurality of different factors in an integrated method with a weighting strategy and a vector norm. マイグレーションのためのマスタデータベース及びスレーブデータベースのセットを選択する工程は、(a)マイグレーション後の予想低減コスト、(b)マイグレーション後の各サーバのマスタ対スレーブ比、及び(c)各データベースのサイズに関連するマイグレーションコスト、を含むファクターを考慮する工程をさらに有する請求項1記載の方法。   The process of selecting a set of master database and slave database for migration includes (a) expected reduction cost after migration, (b) master to slave ratio of each server after migration, and (c) size of each database. The method of claim 1, further comprising the step of considering factors including associated migration costs. マイグレーション中に前記システムに与える影響が最小となるマイグレーションの最適な順序を選択する工程を有する請求項1記載の方法。   The method of claim 1, further comprising selecting an optimal order of migration that has a minimal impact on the system during migration. ホットスポットを解消するために、マイグレートする次のデータベース及び対応するターゲットデータベースサーバを繰り返し選択する工程を有する請求項1記載の方法。   The method of claim 1, comprising repeatedly selecting a next database to migrate and a corresponding target database server to eliminate hot spots. ホットスポットが解消するまでデータベースを一つずつ繰り返しマイグレートする請求項1記載の方法。   The method according to claim 1, wherein the database is migrated repeatedly one by one until the hot spot is eliminated. mem及びccpuを、メモリ及びCPUの異なる単位をキャリブレートするためのパラメータとしたとき、
Figure 2015513333
で決定される分散及び平均値を含む所定のデータベース構成のためのメトリックを設定する工程を有する請求項1記載の方法。
When c mem and c cpu are parameters for calibrating different units of memory and CPU,
Figure 2015513333
The method of claim 1, further comprising the step of setting a metric for a predetermined database configuration including a variance and an average value determined in
mem及びccpu
Figure 2015513333
及び
Figure 2015513333
に設定された請求項9記載の方法。
c mem and c cpu are
Figure 2015513333
as well as
Figure 2015513333
The method of claim 9, set to:
複数のデータベースサーバ間のデータベースの作業負荷バランシングのためのシステムであって、
プロセッサと、
前記プロセッサに、新しいサーバが利用できるとき、該新しいサーバへマイグレートするマスタ及びスレーブセットを選択させ、マイグレーションコストを最小としつつ、全てのサーバ間で作業負荷のバランスがとれるように選択されたデータベースをマイグレートさせるための指示を含む、前記プロセッサで実行可能なコードと、
前記プロセッサに、動作中に作業負荷の変動により作業負荷のアンバランスをリアルタイムに検出させ、作業負荷のバランスがとれるまで他のサーバへマイグレートするデータベースを一つずつ繰り返し選択させるための指示を含む、前記プロセッサで実行可能なコードと、
を有するシステム。
A system for balancing database workload among multiple database servers,
A processor;
A database selected to allow the processor to select a master and slave set to migrate to the new server when a new server is available, and to balance the workload among all servers while minimizing migration costs Code executable on the processor, including instructions for migrating
Including instructions for causing the processor to detect in real time workload imbalance due to workload fluctuations during operation and repeatedly select databases to be migrated to other servers one by one until the workload is balanced Code executable on the processor;
Having a system.
前記プロセッサに、所定のデータベース構成の良好度を評価するためのメトリックを利用させるためのコードを有する請求項11記載のシステム。   The system of claim 11, comprising code for causing the processor to use a metric for evaluating the goodness of a given database configuration. 前記メトリックは、プロセッサ(CPU)使用率及びメモリ使用量を含むシステムリソースである請求項12記載のシステム。   13. The system of claim 12, wherein the metrics are system resources including processor (CPU) usage and memory usage. 前記メトリックは、重み付け戦略及びベクトルノルムによる統合された方法における異なる複数のファクターを併せ持つ請求項12記載のシステム。   13. The system of claim 12, wherein the metric combines different factors in an integrated manner with a weighting strategy and a vector norm. マイグレーションのためのマスタデータベース及びスレーブデータベースのセットを選択するためのコードは、
前記プロセッサに、(a)マイグレーション後の予想低減コスト、(b)マイグレーション後の各サーバのマスタ対スレーブ比、及び(c)各データベースのサイズに関連するマイグレーションコスト、を含むファクターを考慮させるためのコードをさらに有する請求項11記載のシステム。
The code to select the master database and slave database set for migration is
To allow the processor to consider factors including (a) the expected reduced cost after migration, (b) the master to slave ratio of each server after migration, and (c) the migration cost associated with the size of each database. The system of claim 11 further comprising a code.
前記プロセッサに、マイグレーション中に前記システムに与える影響が最小となるマイグレーションの最適な順序を選択させるためのコードを有する請求項11記載のシステム。   The system of claim 11, comprising code for causing the processor to select an optimal order of migration that has a minimal impact on the system during migration. ホットスポットを解消するために、前記プロセッサに、マイグレートする次のデータベース及び対応するターゲットデータベースサーバを繰り返し選択させるためのコードを有する請求項11記載のシステム。   12. The system of claim 11, comprising code for repeatedly causing the processor to select the next database to migrate and the corresponding target database server to eliminate hot spots. 前記プロセッサに、ホットスポットが解消するまでデータベースを一つずつ繰り返しマイグレートさせるためのコードを有する請求項11記載のシステム。   12. The system of claim 11, comprising code for causing the processor to repeatedly migrate the database one at a time until the hot spot is resolved. mem及びccpuを、メモリ及びCPUの異なる単位をキャリブレートするためのパラメータとしたとき、前記プロセッサに、
Figure 2015513333
で決定される分散及び平均値を含む所定のデータベース構成のためのメトリックを設定させるためのコードを有する請求項11記載のシステム。
When c mem and c cpu are parameters for calibrating different units of memory and CPU,
Figure 2015513333
12. The system of claim 11, comprising code for setting metrics for a given database configuration including variance and average determined in
mem及びccpu
Figure 2015513333
及び
Figure 2015513333
に設定するためのコードを有する請求項19記載のシステム。
c mem and c cpu
Figure 2015513333
as well as
Figure 2015513333
The system of claim 19, comprising a code for setting to:
JP2014554994A 2012-04-04 2013-04-04 Database workload balancing through migration Active JP5914699B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261620151P 2012-04-04 2012-04-04
US61/620,151 2012-04-04
PCT/US2013/035309 WO2013152216A1 (en) 2012-04-04 2013-04-04 Balancing database workloads through migration

Publications (2)

Publication Number Publication Date
JP2015513333A true JP2015513333A (en) 2015-05-07
JP5914699B2 JP5914699B2 (en) 2016-05-11

Family

ID=49301057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014554994A Active JP5914699B2 (en) 2012-04-04 2013-04-04 Database workload balancing through migration

Country Status (2)

Country Link
JP (1) JP5914699B2 (en)
WO (1) WO2013152216A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019101703A (en) * 2017-11-30 2019-06-24 株式会社日立製作所 Storage system and control software arrangement method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10659542B2 (en) * 2016-04-27 2020-05-19 NetSuite Inc. System and methods for optimal allocation of multi-tenant platform infrastructure resources
US10754704B2 (en) 2018-07-11 2020-08-25 International Business Machines Corporation Cluster load balancing based on assessment of future loading
US11178065B2 (en) 2019-08-07 2021-11-16 Oracle International Corporation System and methods for optimal allocation of multi-tenant platform infrastructure resources

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030069903A1 (en) * 2001-10-10 2003-04-10 International Business Machines Corporation Database migration
US20070130566A1 (en) * 2003-07-09 2007-06-07 Van Rietschote Hans F Migrating Virtual Machines among Computer Systems to Balance Load Caused by Virtual Machines
US20080243864A1 (en) * 2007-03-28 2008-10-02 Ciena Corporation Methods and systems for a network element database migration service
JP2010244117A (en) * 2009-04-01 2010-10-28 Nec Corp Replication system, master server, replica server, replication method, and program
JP2011090594A (en) * 2009-10-26 2011-05-06 Hitachi Ltd Apparatus and method for managing server

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030069903A1 (en) * 2001-10-10 2003-04-10 International Business Machines Corporation Database migration
US20070130566A1 (en) * 2003-07-09 2007-06-07 Van Rietschote Hans F Migrating Virtual Machines among Computer Systems to Balance Load Caused by Virtual Machines
US20080243864A1 (en) * 2007-03-28 2008-10-02 Ciena Corporation Methods and systems for a network element database migration service
JP2010244117A (en) * 2009-04-01 2010-10-28 Nec Corp Replication system, master server, replica server, replication method, and program
JP2011090594A (en) * 2009-10-26 2011-05-06 Hitachi Ltd Apparatus and method for managing server

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019101703A (en) * 2017-11-30 2019-06-24 株式会社日立製作所 Storage system and control software arrangement method
US10621060B2 (en) 2017-11-30 2020-04-14 Hitachi, Ltd. Storage system and control software deployment method
US11144415B2 (en) 2017-11-30 2021-10-12 Hitachi, Ltd. Storage system and control software deployment method
US11636015B2 (en) 2017-11-30 2023-04-25 Hitachi, Ltd. Storage system and control software deployment method

Also Published As

Publication number Publication date
JP5914699B2 (en) 2016-05-11
WO2013152216A1 (en) 2013-10-10

Similar Documents

Publication Publication Date Title
US9020901B2 (en) Balancing database workloads through migration
CN108009016B (en) Resource load balancing control method and cluster scheduler
US9959337B2 (en) Independent data processing environments within a big data cluster system
EP2791813B1 (en) Load balancing in cluster storage systems
US9910888B2 (en) Map-reduce job virtualization
US10776141B2 (en) Directed placement for request instances
US9800575B1 (en) Assigning storage responsibility in a distributed data storage system with replication
JP2018190450A (en) Efficient determination of join paths via cardinality estimation
CN103970607A (en) Computing Optimized Virtual Machine Allocations Using Equivalence Combinations
CN104781795A (en) Dynamic selection of storage tiers
US10965597B2 (en) Virtual network function load balancer
JP5914699B2 (en) Database workload balancing through migration
US20190158367A1 (en) Selection of cloud service providers to host applications
JP2014120097A (en) Information processor, program, and information processing method
CN111913670A (en) Load balancing processing method and device, electronic equipment and storage medium
KR102062157B1 (en) Vitual machine placement method and virtual machine placement device implementing the same
CN112015552A (en) Hash ring load balancing method and device, electronic equipment and storage medium
CN115061813A (en) Cluster resource management method, device, equipment and medium
US10296227B2 (en) System and method for dynamic cache distribution for in-memory data grids
CN111767225B (en) Third-party software testing system and method in cloud computing environment
US10992534B2 (en) Forming groups of nodes for assignment to a system management server
US11610151B2 (en) Distribution system, data management apparatus, data management method, and computer-readable recording medium
US20210132812A1 (en) Parallel upgrade of nodes in a storage system
JP6365027B2 (en) Allocation program, allocation device, allocation system, and allocation method
US11733899B2 (en) Information handling system storage application volume placement tool

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160223

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160404

R150 Certificate of patent or registration of utility model

Ref document number: 5914699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350