JP5914699B2 - マイグレーションによるデータベースの作業負荷バランシング - Google Patents

マイグレーションによるデータベースの作業負荷バランシング Download PDF

Info

Publication number
JP5914699B2
JP5914699B2 JP2014554994A JP2014554994A JP5914699B2 JP 5914699 B2 JP5914699 B2 JP 5914699B2 JP 2014554994 A JP2014554994 A JP 2014554994A JP 2014554994 A JP2014554994 A JP 2014554994A JP 5914699 B2 JP5914699 B2 JP 5914699B2
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.)
Active
Application number
JP2014554994A
Other languages
English (en)
Other versions
JP2015513333A (ja
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/ja
Application granted granted Critical
Publication of JP5914699B2 publication Critical patent/JP5914699B2/ja
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

Landscapes

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

Description

この出願は、2012年4月4日に出願された米国仮出願番号61620151号を基礎とし、その開示の全てをここに取り込む。
本発明はデータベースの作業負荷バランシングに関する。
企業では、様々な経済的及びビジネス上の理由により、データセンタを構築する目的でバックエンドコンピュータシステムの中央集約化が進んでいる。データセンタは、一般にコンピュータシステムを高集中度及び高密度で収容し、さらに顧客のニーズをサポートするデータベースを提供する。データセンタのオペレータは、サーバボックスを確保し、刻々と変化する作業負荷に備えてリソースを準備しなければならない。さらに、多様な作業負荷で同じ物理ボックス上のリソースを共有することや、作業負荷に対するプロビジョニングでは物理リソースの容量制約等の物理上の制約を考慮する必要がある。近年は、データセンタオペレータへ絶好の機会や課題を提示するデータ集約型コンピューティングのためのクラウドコンピューティングへ移行している。
データセンタオペレータが直面する一つのキーとなる課題は、顧客の作業負荷のためのデータセンタにおけるリソースのプロビジョニングである。例えば、新しいサーバが追加されると、既存の各サーバは、
・新しいサーバに共同設置されるマスタ・スレーブの組み合わせが無い、
・マスタ対スレーブ比が全サーバでほぼ同一である、
・メモリ容量及びCPU容量が全サーバで可能な限りバランスがとれている、
・データ量の移動が最小である、
となるように、該新しいサーバへマイグレートする(移行する)マスタ及びスレーブセットを提供する。
他の問題は、ホットスポットの解消である。所定のサーバ構成において、過負荷のサーバが在る場合(メモリホットスポット、CPUホットスポット、またはその両方であるとき、サーバは過負荷である)、各過負荷サーバから一つのマスタをマイグレートすることでサーバの過負荷状態が解消される。
連合データベース(Federated databases)は、個々のサーバ間のリレーションが手動で分割され、統一された方式でクライアントに公開されることで用いられてきた。しかしながら、そのような解決法では、マニュアルによる機器設定、特殊なマージング・ラッパー・アルゴリズム、動的な再バランシングがサポートされない問題を引き起こす。
他の解決法として、作業負荷に基づいてスレーブデータベースを追加または削除する方法がある。しかしながら、スレーブデータベース(複製)はリードクエリをサポートするだけであり、全てのライトクエリはマスタへ渡さなければならないため、そのような解決法は作業負荷に多くのライトクエリを含む場合に役に立たない。さらに、スレーブの追加には長い時間を要するため、この解決法は早い作業負荷の変動を扱うことができない。
その他のアプローチとして、作業負荷をマスタDBとそのスレーブとで異なるようにすることが考えられる。その場合、マスタとスレーブの役割、またはマスタとスレーブとを交換することで、作業負荷のバランスが保たれる。しかしながら、そのような方法は、マスタとスレーブの作業負荷が大きく異なり、DBシステムがスワッピングをサポートしているときにのみ有効である。さらに他の方法として、(a)同じサーバにおける異なる仮想マシン間でリソースの割り当てを変更する、(b)サーバを追加及び削除する、ことで負荷バランシングが達成される。しかしながら、そのような方法は、各DBインスタンスが一つの仮想マシンでラップされ、各サーバが全てのDBを含んでいなければならないため(全DBの全マスタ、または各DBの1スレーブのいずれか一方)、該方法を適用できる範囲が制限される。
本発明の一態様は、複数のデータベースサーバ間のデータベースの作業負荷バランシングのための方法であって、新しいサーバが利用できるとき、該新しいサーバへマイグレートするマスタ及びスレーブデータベースのセットを選択し、マイグレーションコストを最小としつつ、全てのサーバ間で作業負荷のバランスがとれるように選択されたデータベースをマイグレートし、動作中に作業負荷の変動により作業負荷のアンバランスをリアルタイムに検出すると、作業負荷のバランスがとれるまで他のサーバへマイグレートするデータベースを一つずつ繰り返し選択する。
好ましい実施例の優れた点は以下の通りである。本システムでは、リアルタイムなデータベース・マイグレーションを用いることで、データベースの作業負荷バランシングを達成する。このような解決法は、レスポンスタイムが速く、手動による介入を最小限とし、目標関数として様々な特性(メモリ及びCPUのフットプリント等)やメトリック(作業負荷分散、作業負荷変動のL1ノルム、サーバにおけるマスタ/スレーブ比等)を利用できる。本システムでは、データベースの作業負荷バランシングを達成することで、全データベース及び全サーバの総合的なシステムパフォーマンスが最適化される。高速な動作が達成される。本システムでは、メモリ常駐型データベースのライブマイグレーション技術を活用するため、動作が速くなり、作業負荷の変動への反応も早くなる。本システムでは、作業負荷のランニングコストが最小となる、費用効率が高いデータベースの配置を素早く見出せる。本システムは、動作中における作業負荷の総動作コスト(TOC:Total Operating Cost)を最小化しつつ、個別の作業負荷に備えて準備するデータセンタオペレータを支援する。作業負荷バランシングは、マイグレーションによってリアルタイムに達成でき、多くのデータベースシステムに要求されるACID特性(Atomicity(原子性、不可分性)、Consistency(一貫性)、Isolation(独立性)、Durability(永続性))が保証される。
サーバ間のデータベースマスタまたはスレーブのマイグレーションで達成される作業負荷バランシングの一例を示す図である。 N=2における、容量バランスがとれた状態を意味する低分散を説明する図である。 N=3における、容量バランスがとれた状態を意味する低分散を説明する図である。 最適なテナントが存在しない様子を示す図である。 ホットスポット解消問題を示す図である。 複数のリソース、すなわちメモリ及びCPUで与えられるメモリホットスポットを示す図である。 データベースバランシングを実行するコンピュータの一例を示す図である。
図1は、サーバ間のデータベースマスタまたはスレーブのマイグレーションで達成される作業負荷バランシングの一例を示す図である。
SV1−SV4は4台のサーバを示し、M1−M3は3台のデータベースマスタを示し、各データベースマスタが対応する2台のデータベーススレーブ(レプリカ)を備えている。したがって、S11及びS12はM1のスレーブである。第1に、新しいサーバが作業負荷の取り扱いを開始すると、本システムは、該新しいサーバへマイグレート(移行)するマスタ及びスレーブデータベースのセットを選択する。マイグレートさせる選択されたデータベースは、マイグレーションコストを最小にしつつ、全ての(新しいサーバを含む)サーバの作業負荷バランスが最もとれる結果をもたらす。新しいサーバは、マスタ対スレーブ比が既存のサーバのそれと同様になる(すなわち、新しいサーバはマイグレーション完了後には他の既存サーバと同様になる)。第2に、動作中、例えば任意のデータベースの作業負荷が変動することで、作業負荷のアンバランスがリアルタイムに検出されると、作業負荷のバランスをとるために、他のサーバへマイグレートするデータベースを一つずつ繰り返し選択する。
一実施例において、M台のデータベースはN台のサーバでホストされる。各データベースは、プライマリDB(マスタ)と、他のサーバでホストされる、1つまたは複数のセカンダリDB(スレーブ)とを有する構成である。すなわち、マスタDBは、自身のスレーブと同じサーバに配置されず、同じマスタに属する2台のスレーブは同じサーバに配置されない。
各データベースは、時々刻々と変化するCPU使用率及びメモリ使用量のようなシステムリソースのフットプリントを備えている。各サーバは、サーバが過負荷と考えられる状態を超える、最大リソース容量を備える。各リソースは、相加的であると見做される、すなわちサーバリソース使用量はサーバでホストされる全てのデータベースの各リソース使用量の合計となる。このような前提はCPU使用率及びメモリ使用量の分野で一般的に受け入れられる。本システムは、DBのライブマイグレーション、例えばNEC TAM等のシステムが提供するリアルタイムマイグレーション機能、を実行することが好ましい。以下、各種の用語について詳述する。
・本システムはN台のサーバSV,…,SVで構成される。
・サーバSVはK(t ,…,t ki)台のテナントを収容する(注:各サーバは異なる数のテナントを有していてもよい)。
・各テナントt はマスタまたはスレーブのいずれか一方となる。マスタとなるテナントは、そのスレーブと同一のTAMサーバに配置されない。
・各テナントt は,メモリ使用量t .memのフットプリント及びCPU使用率t .cpuのフットプリントを備える。
・メモリ使用量及びCPU使用率はサーバSVにおいて相加的であり、総メモリ使用量は
Figure 0005914699
であり、総CPU使用率は
Figure 0005914699
である。
・メモリユニット及びCPUユニットは各サーバどうしで互換性がある(例えば、メモリユニットはギガバイトであり、CPUユニットはギガサイクル/秒である)。
・各サーバSVには、通常時は超えない値であるメモリ閾値SV.memTh及びCPU閾値SV.cpuThがある。本明細書では、メモリ閾値またはCPU閾値のいずれか一方を越えた場合、サーバがホットスポット(メモリホットスポットまたはCPUホットスポット)になったと称す。
・各サーバSVには、メモリ容量SV.memCap(SVがメモリホットスポットになる前の空きメモリ容量)及びCPU容量SV.cpuCapがある。SV.memCap<0またはSV.cpuCap<0の場合、サーバSVはホットスポットになる。
各サーバSVに関して、
・SV.memCap:サーバSVのメモリ容量。
・SV.cpuCap:サーバSVのCPU容量。
・SV.memTh:越えるとSVがメモリホットスポットになる、サーバSVのメモリ閾値。
・SV.cpuTh:越えるとSVがCPUホットスポットになる、サーバSVのCPU閾値。
・SV.tenants:サーバSVに属するテナント{t ,…,t Ki}である。
Figure 0005914699
である各テナントt に関して、
・t .tid:t のテナントID。
・t .isMaster:t がマスタ(またはスレーブ)であることを示すブールフラグ。
・t .mem:t のメモリ使用量。
・t .cpu:t のCPU使用率。
・t .dataSize:t のデータサイズである。
N個の数値{x,…,x}の平均値μ及び分散σ は、以下のように定義される。
Figure 0005914699
上記式において、小さい分散は各サーバのバランスがとれていることを意味する。{x,…,x}を各サーバのリソース容量(メモリまたはCPU)とすると、{x,…,x}が低分散であるとき、各サーバ間のバランスがとれている状態を意味する。すなわち、
Figure 0005914699
が変化しない場合、x=…=xのときにσ が最小となる。σ は各サーバのリソース容量のバランスを評価するのに有益なメトリックとなる。
図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における、容量バランスがとれた状態を意味する低分散を説明する図である。
SVがリソース(例えばメモリ)容量xのホットスポットサーバであり、SVがリソース容量xの軽負荷サーバであり、本システムがリソース使用量ΔのテナントをSVからSVへマイグレートする場合、各サーバ間の容量の分散の低減は、
Figure 0005914699
である。ここで、この分散低減をΔの関数として扱うと、
Figure 0005914699
であり、マイグレートすべき最良のテナントはリソース使用量が
Figure 0005914699
のテナントであり、マイグレーションの結果として、分散の変化は、
Figure 0005914699
となる。
上記解決法は最大リソース容量を選択することである。テナントのリソース使用量は離散値であり、図3の最適なΔへ到達しない例で示すように、最も近いテナントのリソース使用量はΔとΔであり、リソース使用量がΔのテナントを見出せるとは限らない。図3は最適なテナントが存在しない場合の様子を示している。
次に、新しいサーバのマイグレーションプロセスについて説明する。新しいサーバの追加に伴って既存の各サーバは、
・新しいサーバに共同設置されたマスタ・スレーブが無いこと、
・全てのサーバでマスタ対スレーブ比がほぼ同じであること、
・全てのサーバでメモリ容量及びCPU容量のバランスができるだけとれていること、
・移動させるデータ量が最小であること、
となるように、該新しいサーバへマイグレートするマスタ及びスレーブセットを提供する。
新しいサーバへDBをマイグレートする一方法例1のための疑似コードは以下のようになる。
Figure 0005914699
既存のN台のサーバ{SV,…,SV}のリソース使用量をX={x,…,x}としたとき、説明のために一つのリソースXを抽出する。ここで、新しいサーバSVN+1が本システムに組み込まれる。各既存サーバから新しいサーバに対するマスタ及びスレーブ提供後のN+1台のサーバのリソース使用量をY={y,…,y,yN+1}とする。マイグレーション後のリソース使用量の平均値及び分散は、
Figure 0005914699
となる。ここで、テナント構成により
Figure 0005914699
とはならない。
方法1は何度も利用及び起動できる。問題は、SVN+1が当初は空き状態である点で異なることである。つまり、空き状態のSVN+1がすばやく満たされることは、方法1のグリーディネイチャーが既存サーバの大きなテナントのマイグレートを促し、そのためにSVN+1に大きなテナントのみ搭載される結果となり、同時に既存サーバ容量に大きなホールが残される(例えば、マイグレートさせた大きなテナントを有するサーバもあれば、マイグレートさせたテナントが無いサーバもある)。
上記の検討に基づき、方法2は新しいサーバの分散を考慮しない。すなわち、各繰り返し処理において、本方法は新しいサーバSVN+1へマイグレートするテナントtを検索し、既存のN台のサーバ(μに代わってμに関して)の分散低減を最大化する。
Figure 0005914699
Figure 0005914699
上記のように、方法2は新しいサーバのマイグレーションに利用できる。方法2において、{SV,…,SV}には|M|マスタ及び|S|スレーブがある。そして、本方法は新しいサーバSVN+1へマイグレートする|M|/(N+1)マスタ及び|S|/(N+1)スレーブを選択する。方法2では、|M|/(N+1)マスタを選択することをパラメータ
Figure 0005914699
と称し、|S|/(N+1)スレーブを選択することをパラメータ
Figure 0005914699
と称す。Qは、分散低減により対象をソートする、優先度付きキューである。
方法2において、
・ライン2−5は、リソース使用量の平均値μmem及びμCPU(新しいサーバSVN+1を含む)を計算する。
・ライン6−9は、各サーバにおけるマイグレーションのための最良のテナント候補を抽出する。これらの候補は、他のサーバに相談することなく、各サーバでローカルに決定できる。
・ライン11−14は、N台のサーバから最良の候補をSVN+1へ移動する。
・ライン15−24は、各サーバの最良のテナント候補を更新する。スレーブをマイグレートする場合、SVN+1へ新たに移動させるスレーブは、他のサーバでは最良の候補から除外されるため、再計算が必要となる。
次に、ホットスポットの解消問題について説明する。所定のデータベース構成で過負荷サーバ(SV.memCap<0であるメモリホットスポット、またはSV.cpuCap<0であるCPUホットスポット、あるいはその両方)がある場合、各過負荷サーバから一つのマスタをマイグレートすることでサーバの過負荷状態が解消される。このことは図1に示されている。
ところで、実際にはリソースXは一つではなく、2つのリソース(memCap,cpuCap)がある。これは、(1)ホットスポットをどのように定義するか、(2)各サーバ間のバランスをどのように評価するかの2点に影響を与える。(1)について、新しいサーバSVが、SV.memCap<0またはSV.cpuCap<0であると、ホットスポットとなる。このケースではホットスポットが解消されなければならない。このことは、複数のリソース、すなわちメモリとCPUとで定められるメモリホットスポットを説明する図5に示されている。
(2)について、単純な解決法として、メモリ容量の分散とCPU容量の分散とを組み合わせる方法を用いることができる。
Figure 0005914699
ここで、cmem及びccpuは、メモリとCPUの異なる単位(GB vs. G−cycle−per−sec)をキャリブレートするためのパラメータである。
また、cmem及びccpuは、メモリとCPUのバランスのエンファシスを制御するために用いることができる。例えば、CPU使用率はバースト性であり、メモリ使用量は比較的安定であるため、CPU使用率のバランスはメモリ使用量のバランスよりも重要になる。特別なケースでは
Figure 0005914699
及び
Figure 0005914699
に設定される。
このように設定すると、本システムは、μmemCap及びμcpucapの両方を1に正規化し、メモリとCPUのバランスを等しい重要度で扱う。この考え方は方法3のライン7,8及び11に反映されている。
各テナントは異なるデータサイズであるため、それらをマイグレートするためのコストも異なる。一つの解決法は、tのマイグレートによる分散低減とtのマイグレートによるコストの比のような目的関数を見直すことである。例えば、tのマイグレーションコストがtのデータサイズと比例するとき、新しいメトリックを
Figure 0005914699
とする。ここで、σ(t)はtをマイグレートした場合の分散低減である。
マスタは、そのスレーブと同じサーバに配置できない。そのため、ホットスポットサーバのマスタは無作為に選んだサーバへマイグレートできない。このことはアルゴリズムでチェックされる。すなわち、本システムでは、マイグレーション候補であるテナントt用に、tのスレーブを搭載しないターゲットサーバのみを考慮する。
本システムは、既存のホットスポットを解消し、新しいホットスポットを発生させないテナント候補及びターゲットサーバを検討する。そのような解決法が無い場合、本アルゴリズムはヌル位置へ戻る。
本アルゴリズムに対する入力は{SV,…,SV}である。これらのサーバで一つ以上のホットスポットがあれば、本アルゴリズムによる解決法は全てのホットスポットに対処すべきである。このことは、より困難な問題を引き起こす。本発明では、ホットスポットを一つずつ解消するローカルなグリーディ・ヒューリスティックを用いる方法を選択する。すなわち、(1)各サーバのホットスポットをそれぞれ該ホットスポットのみであると見做して対処する、(2)ホットスポットに対処する度に、本システムの構成を仮更新する、(3)そして、仮更新したシステム構成により次のホットスポットに対処する、(4)もし全てのホットスポットを解消する最終構成へ到達できない場合、アルゴリズムは失敗を宣言する。
このことは、(1)対処したホットスポットの順序を監視し、(2)各ホットスポットについて、次のホットスポットを解消しやすくする、あまりグリーディではないグリーディ法で解決策を見つけるため、ヒューリスティックであることに留意する。
図4は、データベース・マイグレーションを用いる、データベースサーバにおけるデータベースの作業負荷バランシングのプロセス例を示している(201)。本方法は、各サーバの作業負荷のバランスがとれるように、既存サーバのセットから新たに利用可能なサーバへデータベースのセットをマイグレートする工程(202)と、各サーバの作業負荷のバランスがとれるように、既存のデータベースサーバのデータベースをマイグレートする工程とを含む(209)。本プロセスでは、所定のデータベース構成の良好度を評価するメトリックを用いる(203)。また、本プロセスでは、新しいサーバへマイグレートするデータベースマスタ及びスレーブの配列を選択する(204)。205において、メトリックには、CPU使用率やメモリ使用量等の様々なシステムリソースが考慮される。206において、該メトリックは、重み付け戦略及びベクトルノルム(ユークリッド・ノルムまたはL1ノルム)による統合された方法における異なるファクターを併せ持つ。
次に204を検討すると、本方法は、新たに利用できるサーバへマイグレートするマスタデータベース及びスレーブデータベースのセットを選択する工程を含む。207において、選択工程では、(a)マイグレーション後の予想低減コスト、(b)マイグレーション後の各サーバのマスタ対スレーブ比、及び(c)各データベースのサイズに関連するマイグレーションコスト、を含む各種ファクターを考慮する。208において、本方法は、マイグレーションプロセス中に本システムへ影響を与える負のパフォーマンスが最小となるように、最適なマイグレーションの順序を選択する。
本方法は、各サーバの作業負荷のバランスがとれるように、既存のデータベースサーバのデータベースをマイグレートする工程を含む(209)。メトリックは、所定のデータベース構成の良好度の評価に用いられる(210)。212において、メトリックにはCPU使用率やメモリ使用量のような様々なシステムリソースが考慮される。213において、メトリックは、重み付け戦略やベクトルノルム(ユークリッド・ノルムまたはL1ノルム)による統合された方法における異なるファクターを併せ持つ。
または、211において、本方法は、全てのホットスポットを解消するために、マイグレートする次のデータベースと対応するターゲットデータベースサーバとを繰り返し選択する工程を含む。214において、本方法では、マイグレートする次のデータベースと対応するターゲットサーバとを効率よく選択する。215において、本方法では、全てのホットスポットが解消されるまでデータベースを一つずつ繰り返しマイグレートする。
Figure 0005914699
Figure 0005914699
図6は、データベースバランシングを実行するコンピュータの一例を示している。本システムは、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせによって実現される。好ましくは、本発明は、プロセッサ、データストレージシステム、揮発性及び不揮発性メモリおよび/またはストレージ素子、少なくとも1つの入力装置、並びに少なくとも1つの出力装置を備えるプログラム可能なコンピュータによりコンピュータプログラムを実行することで実現される。
次に、一例として、本システムをサポートするコンピュータについて、図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、あるいは他のコンピュータ)からプログラムをダウンロードすることでプログラム(または再プログラム)されてもよい。
コンピュータプログラムは、通常または特別な目的を持つプログラム可能なコンピュータで読み取ることができる、機械で読み取り可能なストレージメディアまたは装置(例えば、プログラムメモリまたは磁気ディスク)に格納される。コンピュータプログラムは、ストレージメディアまたは装置から本明細書に記載された手順を実行するコンピュータで読み出される、該コンピュータの設定及び制御動作のためのものである。本発明のシステムには、本明細書に記載した機能を実行する、特定の及び事前に定義された方法でコンピュータに動作させるように構成されたコンピュータプログラムを含む、コンピュータで読み取り可能なストレージメディアも考慮される。
上述した本システムは、特許法に適合し、当業者に新しい原理の適用に必要な情報を提供し、必要に応じて要求される専用のコンポーネントを構成するように、本明細書で詳細に説明されている。しかしながら、本発明は、他の設備や装置で実行することが可能であり、設備の細部及び手順の動作の両方で、発明の要旨を逸脱しない範囲で種々の変更でも達成できることを理解されたい。

Claims (18)

  1. 複数のデータベースサーバ間のデータベースの作業負荷バランシングのための方法であって、
    新しいサーバが利用できるとき、該新しいサーバへマイグレートするマスタ及びスレーブデータベースのセットを選択し、マイグレートするためのコストであるマイグレーションコストを最小としつつ、全てのサーバ間で作業負荷のバランスがとれるように選択されたデータベースをマイグレートし、
    動作中に作業負荷の変動により作業負荷のアンバランスをリアルタイムに検出すると、作業負荷のバランスがとれるまで他のサーバへマイグレートするデータベースを一つずつ繰り返し選択する方法。
  2. 所定のデータベース構成の良好度を評価するためのメトリックを適用する請求項1記載の方法。
  3. 前記メトリックは、プロセッサ(CPU)使用率及びメモリ使用量を含むシステムリソースである請求項2記載の方法。
  4. マイグレーションのためのマスタデータベース及びスレーブデータベースのセットを選択する工程は、(a)マイグレーション後の予想低減コスト、(b)マイグレーション後の各サーバのマスタ対スレーブ比、及び(c)各データベースのサイズに関連するマイグレーションコスト、を含むファクターを考慮する工程をさらに有する請求項1記載の方法。
  5. マイグレーション中に前記サーバ間で作業負荷のバランスがとれるようにマイグレーションの最適な順序を選択する工程を有する請求項1記載の方法。
  6. ホットスポットを解消するために、マイグレートする次のデータベース及び対応するターゲットデータベースサーバを繰り返し選択する工程を有する請求項1記載の方法。
  7. ホットスポットが解消するまでデータベースを一つずつ繰り返しマイグレートする請求項1記載の方法。
  8. mem及びccpuを、メモリ及びCPUの異なる単位をキャリブレートするためのパラメータとしたとき、
    Figure 0005914699
    で決定される分散を含む所定のデータベース構成のためのメトリックを設定する工程を有する請求項1記載の方法。
  9. mem及びccpu
    Figure 0005914699
    及び
    Figure 0005914699
    に設定された請求項記載の方法。
  10. 複数のデータベースサーバ間のデータベースの作業負荷バランシングのためのシステムであって、
    プロセッサと、
    前記プロセッサに、新しいサーバが利用できるとき、該新しいサーバへマイグレートするマスタ及びスレーブセットを選択させ、マイグレートするためのコストであるマイグレーションコストを最小としつつ、全てのサーバ間で作業負荷のバランスがとれるように選択されたデータベースをマイグレートさせるための指示を含む、前記プロセッサで実行可能なコードと、
    前記プロセッサに、動作中に作業負荷の変動により作業負荷のアンバランスをリアルタイムに検出させ、作業負荷のバランスがとれるまで他のサーバへマイグレートするデータベースを一つずつ繰り返し選択させるための指示を含む、前記プロセッサで実行可能なコードと、
    を有するシステム。
  11. 前記プロセッサに、所定のデータベース構成の良好度を評価するためのメトリックを利用させるためのコードを有する請求項10記載のシステム。
  12. 前記メトリックは、プロセッサ(CPU)使用率及びメモリ使用量を含むシステムリソースである請求項11記載のシステム。
  13. マイグレーションのためのマスタデータベース及びスレーブデータベースのセットを選択するためのコードは、
    前記プロセッサに、(a)マイグレーション後の予想低減コスト、(b)マイグレーション後の各サーバのマスタ対スレーブ比、及び(c)各データベースのサイズに関連するマイグレーションコスト、を含むファクターを考慮させるためのコードをさらに有する請求項10記載のシステム。
  14. 前記プロセッサに、マイグレーション中に前記サーバ間で作業負荷のバランスがとれるようにマイグレーションの最適な順序を選択させるためのコードを有する請求項10記載のシステム。
  15. ホットスポットを解消するために、前記プロセッサに、マイグレートする次のデータベース及び対応するターゲットデータベースサーバを繰り返し選択させるためのコードを有する請求項10記載のシステム。
  16. 前記プロセッサに、ホットスポットが解消するまでデータベースを一つずつ繰り返しマイグレートさせるためのコードを有する請求項10記載のシステム。
  17. mem及びccpuを、メモリ及びCPUの異なる単位をキャリブレートするためのパラメータとしたとき、前記プロセッサに、
    Figure 0005914699
    で決定される分散を含む所定のデータベース構成のためのメトリックを設定させるためのコードを有する請求項10記載のシステム。
  18. mem及びccpu
    Figure 0005914699
    及び
    Figure 0005914699
    に設定するためのコードを有する請求項17記載のシステム。
JP2014554994A 2012-04-04 2013-04-04 マイグレーションによるデータベースの作業負荷バランシング Active JP5914699B2 (ja)

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 JP2015513333A (ja) 2015-05-07
JP5914699B2 true JP5914699B2 (ja) 2016-05-11

Family

ID=49301057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014554994A Active JP5914699B2 (ja) 2012-04-04 2013-04-04 マイグレーションによるデータベースの作業負荷バランシング

Country Status (2)

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

Families Citing this family (4)

* 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
JP6791834B2 (ja) 2017-11-30 2020-11-25 株式会社日立製作所 記憶システム及び制御ソフトウェア配置方法
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

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065541B2 (en) * 2001-10-10 2006-06-20 International Business Machines Corporation Database migration
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US7634489B2 (en) * 2007-03-28 2009-12-15 Ciena Corporation Methods and systems for a network element database migration service
JP5494915B2 (ja) * 2009-04-01 2014-05-21 日本電気株式会社 レプリケーションシステム、マスタサーバ、レプリカサーバ、レプリケーション方法、及びプログラム
JP5378946B2 (ja) * 2009-10-26 2013-12-25 株式会社日立製作所 サーバ管理装置およびサーバ管理方法

Also Published As

Publication number Publication date
WO2013152216A1 (en) 2013-10-10
JP2015513333A (ja) 2015-05-07

Similar Documents

Publication Publication Date Title
US9020901B2 (en) Balancing database workloads through migration
US10635664B2 (en) Map-reduce job virtualization
US9959337B2 (en) Independent data processing environments within a big data cluster system
US10678457B2 (en) Establishing and maintaining data apportioning for availability domain fault tolerance
EP2791813B1 (en) Load balancing in cluster storage systems
JP6381170B2 (ja) 基数推定を介した結合パスの効率的な判定
US10356150B1 (en) Automated repartitioning of streaming data
US10776141B2 (en) Directed placement for request instances
CN104081348A (zh) 通过在虚拟数据中心中最佳地放置vm而减少存储器使用的***和方法
JP5914699B2 (ja) マイグレーションによるデータベースの作業負荷バランシング
JPWO2012117534A1 (ja) 計算機システムおよびその制御方法
US20190018703A1 (en) Managing tasks in a cloud computing environment using multiple orchestration tools
WO2014184606A1 (en) Identifying workload and sizing of buffers for the purpose of volume replication
CN111913670A (zh) 负载均衡的处理方法、装置、电子设备及存储介质
US10990286B1 (en) Parallel upgrade of nodes in a storage system
Bawankule et al. Historical data based approach for straggler avoidance in a heterogeneous Hadoop cluster
US10387578B1 (en) Utilization limiting for nested object queries
US10572412B1 (en) Interruptible computing instance prioritization
US11928517B2 (en) Feature resource self-tuning and rebalancing
US10824640B1 (en) Framework for scheduling concurrent replication cycles
US10296227B2 (en) System and method for dynamic cache distribution for in-memory data grids
US20210075682A1 (en) Forming groups of nodes for assignment to a system management server
KR101754713B1 (ko) 비대칭 분산 파일 시스템, 연산 분배 장치 및 방법
US20200134507A1 (en) Distribution system, data management apparatus, data management method, and computer-readable recording medium
US11063825B1 (en) Custom promotion tiers

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150209

A521 Request for written amendment filed

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 Request for written amendment filed

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 Request for written amendment filed

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