説明

データベース移行管理装置及びその方法

【課題】本発明は、事業者及び利用者双方の利便性を向上させ得るデータベース移行管理装置を提案する。
【解決手段】アクセスパターンが存在する場合に、アクセス対象データを第1のデータベース及び第2のデータベースに配置することを決定するデータ保存先決定部と、データ保存先決定部によりアクセス対象データを第1のデータベース及び第2のデータベースに配置する場合に、書込みアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間のアクセス対象データを第1のデータベースに配置するように移行スケジュールを決定すると共に、読出しアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間のアクセス対象データを第2のデータベースに配置するように移行スケジュールを決定する移行スケジュール決定部と、を備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベース移行管理装置及びその方法に関する。
【背景技術】
【0002】
従来、異種のデータベースを自動的に検索し、複雑なネットワーク間でも、効率的にアクセス対象のデータのやりとりを行う管理装置が広く知られている。
【0003】
このような管理装置として、例えば、特許文献1の異種データベース統合管理システム装置が開示されている。特許文献1の異種データベース統合管理システム装置では、検索するデータに関連したキーワードを入力すると、該キーワード入力手段により入力された前記キーワードに関連するデータを保存した異種データベース間の関連情報と前記異種データベースへのインタフェースを定義したデータ関連定義ファイルをもとに、ネットワーク上に分散している異種データベースからキーワードに関連するデータを検索し、データ抽出部により抽出したデータを統合する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−025106号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年、クラウド向けのリレーショナルデータベース管理システム(Relational database management system :RDBMS)として、リレーショナルデータベース(Relational database :RDB)及びキー・バリューストア(Key-value store :KVS)を共通のインタフェースにより提供する技術が台頭してきている。
【0006】
データベースのうち、現在最も広く利用されているリレーショナルデータベースは、厳密なトランザクション機能を備えており、更新処理と読み出し処理を高性能に行うことができる。そのため、アクセス対象のデータの一貫性、整合性を保証する必要のある業務アプリケーションには、リレーショナルデータベースの利用が適している。しかしながら、一方で、リレーショナルデータベースにより大量のアクセス、大量のアクセス対象のデータを処理する場合、ハードウェア(Hardware :HW)コストが高くなることや、リレーショナルデータベースの構造上スケーラビリティが低いという問題がある。
【0007】
また、キー・バリューストアは、ハードウェアコストが低く、スケーラビリティを高めやすいことから、クラウド環境でのデータベースとして、近年、使用の増加が見込まれている。しかしながら、スケーラブルにアクセス対象のデータを分散配置した場合、リレーショナルデータベースと同等の更新時排他処理を実現するには、多大な時間を要するという問題がある。
【0008】
データセンタなどにおいて利用時間及び利用機器に応じて課金されるサービス提供形態では、クラウドサービス提供事業者にとっては、ハードウェアの利用効率を上げることによって、ハードウェア関連のコストを下げることが課題となっており、サービス利用者にとっては、サービス利用にかかるコストを下げることが課題となっている。
【0009】
従来は、システム構築時にデータベースモデルを決定すると、その後、データベースモデルを変更することはなかった。そのため、厳密なトランザクション機能を必要とする更新処理が、ある一定期間に集中している業務アプリケーションであっても、リレーショナルデータベースを採用しており、更新処理が少ない期間であっても高価なハードウェアを動作させ続けるため、無駄なコストが生じていた。
【0010】
キー・バリューストアを利用する場合、ハードウェア資源はリレーショナルデータベースを利用する場合に比べてより多く必要になるが、安価なハードウェアを利用することが可能となる。従って、リレーショナルデータベースを利用する必要のないアクセス対象のデータをリレーショナルデータベースに格納する従来の使用方法は、ハードウェア資源を有効活用したいサービス提供者にとっても、利用料を安くしたいサービス利用者にとってもマイナスとなるという問題がある。
【0011】
本発明は以上の点を考慮してなされたものであり、事業者及び利用者双方の利便性を向上させ得るデータベース移行管理装置及びその方法を提案するものである。
【課題を解決するための手段】
【0012】
かかる課題を解決するために本発明は、所定のサーバから送信される書込みアクセス及び読出しアクセスを収集し、アクセス対象データの情報及びアクセス種類ごとのスケーラビリティの低い第1のデータベース及びスケーラビリティの高い第2のデータベースへのアクセス回数を所定時間ごとに記憶部に記憶するアクセス収集部と、前記アクセス収集部により収集された所定時間ごとのアクセス回数に所定のパターンが存在するか否かを判断し、前記パターンが存在する場合に、前記所定時間ごとのアクセス回数をアクセスパターンとして記憶部に記憶するアクセス分析部と、前記アクセス分析部により分析された前記アクセスパターンが存在する場合に、前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置することを決定するデータ保存先決定部と、前記データ保存先決定部により前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置する場合に、前記書込みアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第1のデータベースに配置するように移行スケジュールを決定すると共に、前記読出しアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第2のデータベースに配置するように移行スケジュールを決定する移行スケジュール決定部と、を備えることを特徴とする。
【0013】
また、本発明は、アクセス収集部が、所定のサーバから送信される書込みアクセス及び読出しアクセスを収集し、アクセス対象データの情報及びアクセス種類ごとのスケーラビリティの低い第1のデータベース及びスケーラビリティの高い第2のデータベースへのアクセス回数を所定時間ごとに記憶部に記憶する第1のステップと、アクセス分析部が、前記第1のステップにおいて収集した所定時間ごとのアクセス回数に所定のパターンが存在するか否かを判断し、前記パターンが存在する場合に、前記所定時間ごとのアクセス回数をアクセスパターンとして記憶部に記憶する第2のステップと、データ保存先決定部が、前記第2のステップにおいて分析した前記アクセスパターンが存在する場合に、前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置することを決定する第3のステップと、移行スケジュール決定部が、前記第3のステップにおいて前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置する場合に、前記書込みアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第1のデータベースに配置するように移行スケジュールを決定すると共に、前記読出しアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第2のデータベースに配置するように移行スケジュールを決定する第4のステップと、を備えることを特徴とする。
【0014】
従って、データ構造が単純なアプリケーションだけでなく、整合性を維持する必要のあるアプリケーションであっても、動作する時期をパターン化することができるシステムに対しては、堅牢な処理を実現しつつも、安価でスケーラビリティの高い運用を実現することができる。また、高性能・高価なハードウェアだけでなく安価なハードウェアも共存させることにより、提供者及び利用者が、それぞれ運用コスト、利用コストを削減することができる。
【発明の効果】
【0015】
本発明によれば、事業者及び利用者双方の利便性を向上させ得るデータベース移行管理装置及びその方法を実現することができる。
【図面の簡単な説明】
【0016】
【図1】本実施形態のデータベース移行管理システムの構成を示すブロック図の一例である。
【図2】データベース移行管理装置のハードウェア構成を示すブロック図の一例である。
【図3】データベース移行管理装置の機能的構成を示すブロック図の一例である。
【図4】データベース移行管理装置の全体の流れを示すフローチャートの一例である。
【図5】データ構造分析処理手順を示すフローチャートの一例である。
【図6】アクセス分析処理手順を示すフローチャートの一例である。
【図7】データベースアクセスパターンの説明に供する概念図の一例である。
【図8】データ保存先決定処理手順を示すフローチャートの一例である。
【図9】データベース移行処理手順を示すフローチャートの一例である。
【図10】データベース移行処理手順を示すフローチャートの一例である。
【発明を実施するための形態】
【0017】
以下、本発明の一実施形態を、図面を参照して詳細に説明する。なお、これにより本発明が限定されるものではない。
【0018】
(構成)
図1は、本実施形態のデータベース(DB)移行管理システム1の構成を例示する図である。データベース移行管理システム1は、クラウド業務アプリケーションサーバ2、アプリケーション取得装置3、データベース(DB)移行管理装置4、リレーショナルデータベース(RDB)5、キー・バリューストア(KVS)6及び契約変更支援装置7を含んで構成されている。
【0019】
DB移行管理装置4は、クラウド業務アプリケーションサーバ2と、RDB5及びKVS6との間に設置されている。
【0020】
具体的に、クラウド業務アプリケーションサーバ2は、アプリケーション取得装置3と接続されている。また、クラウド業務アプリケーションサーバ2は、既存の共通インタフェース8を介してDB移行管理装置4と接続されている。アプリケーション取得装置3は、DB移行管理装置4と接続されている。DB移行管理装置4は、既存の共通インタフェース9を介してRDB5及びKVS6と接続されている。また、DB移行管理装置4は、契約変更支援装置7と接続されている。
【0021】
クラウド業務アプリケーションサーバ2は、例えば、CPU(Central Processing Unit)、CPUにバス結合されたROM(Read Only Memory)、RAM(Random Access Memory)、記憶部、入力部、表示部及び入出力インタフェース等、通常のコンピュータ装置と同様のハードウェア(図示せず)を含んで構成されている。クラウド業務アプリケーションサーバ2は、種々のクラウド業務アプリケーションを実行する。
【0022】
アプリケーション取得装置3は、例えば、CPU、CPUにバス結合されたROM、RAM、記憶部、入力部、表示部及び入出力インタフェース等、通常のコンピュータ装置と同様のハードウェア(図示せず)を含んで構成されている。アプリケーション取得装置3は、クラウド業務アプリケーションサーバ2に格納されているクラウド業務アプリケーションプログラムをDB移行管理装置4に送信する。
【0023】
DB移行管理装置4は、クラウド業務アプリケーションを解析したデータ構造及び読出しアクセス及び書込みアクセスのアクセスパターンを一定期間記憶しておき、例えば、日や曜日ごとなどの特定の期間の読出しアクセス及び書込みアクセスのアクセスパターンの差異に基づいて、RDB5及びKVS6間のアクセス対象データの移行を管理する。DB移行管理装置4のハードウェア構成及び機能的構成については、後述する。
【0024】
RDB5及びKVS6は、種々のクラウド業務アプリケーションに利用されるアクセス対象データを関連づけたデータベースを作成し、当該アクセス対象データ及び関連性に関する情報を格納する。
【0025】
契約変更支援装置7は、例えば、日や曜日ごとなどの特定の期間の読出しアクセスと書込みアクセスとの差異に基づいて運用形態に変更する場合の利用料金などを含めた契約内容を、クラウド業務アプリケーションの利用者に提示し、運用形態を変更する場合には、その旨をDB移行管理装置4に通知する。
【0026】
図2は、DB移行管理装置4のハードウェア構成を例示する図である。DB移行管理装置4は、例えば、CPU11、CPU11にバス結合されたROM12、RAM13、記憶部14、入力部15、表示部16及び入出力インタフェース17など、通常のコンピュータ装置と同様のハードウェアを備えている。ここで、例えば、記憶部14は、HDD(Hard Disk Drive)などの外部記憶装置である。
【0027】
DB移行管理装置4は、物理的には、専用化したシステム、あるいは汎用の情報処理装置のいずれであっても良い。例えば、一般的な構成の情報処理装置において、本発明のDB移行管理装置4における各処理は、規定した処理を行うアプリケーションプログラムを呼び出すことによって実現することもできる。
【0028】
図3は、DB移行管理装置4の機能的構成を例示する図である。DB移行管理装置4は、機能的に、少なくとも、データ構造分析部21、データベース(DB)アクセス受付部22、データベース(DB)アクセス収集部23、データベース(DB)アクセス分析部24、KVS要件設定部25、データ保存先データベース(DB)決定部26、データベース(DB)移行指令部27、データベース(DB)移行スケジュール決定部28及びデータベース(DB)移行部29を備えている。データ構造分析部21〜DB移行部29は、主にCPU11がROM12やRAM13格納されるプログラムを呼び出して、各ハードウェアを制御することによって実現することができる。
【0029】
また、DB移行管理装置4は、機能的に、データ構造記憶部30、データベース(DB)アクセスパターン蓄積部31、移行内容記憶部32及び移行時データ一時記憶部33を備えている。データ構造記憶部30〜移行時データ一時記憶部33は、例えば、RAM13や記憶部14を用いて構成される。
【0030】
データ構造分析部21は、アプリケーション取得装置3から受信したクラウド業務アプリケーションプログラムを分析し、分析した結果であるデータ同士の関連性に関する情報等のデータ構造情報をデータ構造記憶部30に記憶する。
【0031】
DBアクセス受付部22は、クラウド業務アプリケーションサーバ2からアクセス対象データの書込みアクセス及び読出しアクセスを受信し、データ構造記憶部30に記憶されたデータ構造情報に関する書込みアクセス及び読出しアクセスをDBアクセス収集部23に送信する。
【0032】
DBアクセス収集部23は、DBアクセス受付部22から受信した書込みアクセス及び読出しアクセスを、アクセス対象データの情報、アクセスの種類(書込み又は読出し)等によって分類する。また、DBアクセス収集部23は、分類したアクセス対象データの情報、アクセス種類ごとの1秒あたりのアクセス回数をカウントし、カウントしたアクセス対象データ情報、アクセス種類ごとの1秒あたりのアクセス回数(以下、単にアクセス回数と呼ぶ)を、書込みアクセス及び読出しアクセスと共に、1秒ごとに、DBアクセスパターン蓄積部31に蓄積する。
【0033】
DBアクセス分析部24は、アクセスパターン蓄積部31から取得したアクセス回数について、時系列に整理、グラフ化してパターン解析を行い、データベース(DB)アクセスパターン41(後述)を作成し、DBアクセスパターン蓄積部31に蓄積する。また、DBアクセス分析部24は、アクセス収集開始から所定の時間が経過すると、時間ごとのパターン解析を開始し、所定の日、所定の週、所定の月が経過すると、日ごと、曜日ごと、月ごとのパターン解析及び特定の期間でのパターン解析を行い、DBアクセスパターン41(後述)を作成する。なお、DBアクセス分析部24は、KVS6に配置されるアクセス対象データの書込みアクセス及び読出しアクセスについては、パターン解析を行わない。
【0034】
KVS要件設定部25は、サービス利用者の決定に基づいて、KVSの冗長度やKVSのハードウェア処理に関する情報等のキー・バリューストア(KVS)要件情報を設定する。
【0035】
データ保存先DB決定部26は、データ構造記憶部30から取得したデータ構造情報、DBアクセスパターン蓄積部31から取得したDBアクセスパターン41(後述)及びKVS要件設定部25により設定されたKVS要件情報等に基づいて、データベースのアクセス対象データをRDB5に配置するのか、KVS6に配置するのか決定する。データ保存先DB決定部26は、決定したアクセス対象データの配置先の内容をデータ配置先情報として移行内容記憶部32に記憶する。
【0036】
DB移行スケジュール決定部27は、特定の期間の読出しアクセスと書込みアクセスとの差異が所定以上である場合に、データベースのアクセス対象データ移行のタイミングを決定し、移行スケジュール情報として移行内容記憶部32に記憶する。DB移行指令部28は、契約変更支援装置7から運用形態を変更する旨通知されると、移行スケジュール情報に従って、DB移行部29にデータベース移行指示を送信する。DB移行部29は、DB移行指令部28からのデータベース移行指示に従ってデータベースのアクセス対象データを移行すると共に、アクセス対象データ移行中の更新要求を移行時データ一時記憶部33に記憶する。
【0037】
(全体の流れ)
次に、本実施形態のDB移行管理装置4の動作について詳細に説明する。図4は、本実施形態のDB移行管理装置4の全体の流れを示すフローチャートである。
【0038】
本実施形態では、2種類のデータベース(RDB5及びKVS6)が複数台用意されているデータセンタにおいて、ハードウェアの種類や利用時間、蓄積データ量に応じて課金される業務形態が採用されている場合に利用することを想定する。また、サービス利用者があらかじめ指定するデータ取得期間mは、パターンが現れると推定される期間の3倍以上とする。また、サービス利用者があらかじめ決定するKVS6の冗長度に依存した、データ更新が完了するまでに必要な時間をt秒とする。
【0039】
データ構造分析部21は、アプリケーション取得装置3から受信したクラウド業務アプリケーションプログラムを解析し、解析した結果であるデータ同士の関連性に関する情報等のデータ構造情報をデータ構造記憶部30に記憶する(ステップSP1)。
【0040】
続いて、DBアクセス受付部22は、クラウド業務アプリケーションサーバ2からアクセス対象データの書込みアクセス及び読出しアクセスを受信し、データ構造記憶部30に記憶されたデータ構造情報に関する書込みアクセス及び読出しアクセスをDBアクセス収集部23に送信する(ステップSP2)。
【0041】
続いて、DBアクセス収集部23は、DBアクセス受付部22から受信した書込みアクセス及び読出しアクセスを分類・カウントし、分類・カウントしたアクセス回数を、書込みアクセス及び読出しアクセスと共に、アクセスパターン蓄積部31に蓄積する(ステップSP3)。
【0042】
続いて、DBアクセス分析部24は、アクセスパターン蓄積部31からアクセス回数を取得し、所定の期間ごとに時系列に整理、グラフ化してDBアクセスパターン41(後述)を作成して、DBアクセスパターン蓄積部31に蓄積する(ステップSP4)。
【0043】
続いて、データ保存先DB決定部26は、データ構造情報、DBアクセスパターン41(後述)及びKVS要件情報等を取得して、データベースのアクセス対象データをRDB5に配置するのか、KVS6に配置するのか決定する(ステップSP5)。
【0044】
続いて、DB移行スケジュール決定部27は、特定の期間の読出しアクセスと書込みアクセスとの差異が所定以上である場合に、データベースのアクセス対象データ移行のタイミングを決定し、移行スケジュール情報として移行内容記憶部32に記憶する(ステップSP6)。
【0045】
(データ構造分析処理)
図5は、本実施形態のDB移行管理装置4のデータ構造分析処理を示すフローチャートである。
【0046】
データ構造分析部21は、DB移行管理装置4の電源がオンになると、図5に示すデータ構造分析処理手順RT1を開始して、アプリケーション取得装置3からクラウド業務アプリケーションプログラムを受信するのを待機モードで待ち受ける(ステップSP11)。
【0047】
やがて、データ構造分析部21は、アプリケーション取得装置3からクラウド業務アプリケーションプログラムを受信すると(ステップSP11:YES)、受信したクラウド業務アプリケーションプログラムから、所定のデータ単位であるエンティティ間の全ての関連性を分析して、第三正規化まで行う(ステップSP12)。なお、関連のあるエンティティ同士の集合を以後、エンティティ群(データ構造情報)と呼ぶ。
【0048】
続いて、データ構造分析部21は、第三正規化したエンティティ群にテーブルの数が2つ以上存在するか否かをチェックする(ステップSP13)。そして、データ構造分析部21は、エンティティ群にテーブルの数が2つ以上存在しない場合(ステップSP13:NO)、すなわち、エンティティ群にテーブルの数が1つしか存在しない場合には、エンティティ群のアクセス対象データ保存先をKVS6に決定し(ステップSP16)、その後、図5に示すデータ構造分析処理手順RT1を終了する(ステップSP18)。
【0049】
これに対して、データ構造分析部21は、エンティティ群にテーブルの数が2つ以上存在する場合には(ステップSP13:YES)、エンティティ群の各エンティティに対する処理プログラムを解読する(ステップSP14)。
【0050】
続いて、データ構造分析部21は、エンティティ群の各エンティティに書込み処理が存在するか否かをチェックする(ステップSP15)。そして、データ構造分析部21は、エンティティ群の各エンティティに書込み処理が存在しない場合には(ステップSP15:NO)、エンティティ群のアクセス対象データ保存先をKVS6に決定し(ステップSP16)、その後、図5に示すデータ構造分析処理手順RT1を終了する(ステップSP18)。
【0051】
これに対して、データ構造分析部21は、エンティティ群の各エンティティに書込み処理が存在する場合には(ステップSP15:YES)、エンティティ群をデータ構造記憶部30に記憶し(ステップSP17)、その後、図5に示すデータ構造分析処理手順RT1を終了する(ステップSP18)。
【0052】
(アクセス分析処理)
図6は、本実施形態のDB移行管理装置4のアクセス分析処理を示すフローチャートである。
【0053】
DBアクセス分析部24は、データ構造記憶部30に記憶されたエンティティ群に関する書込みアクセス及び読出しアクセスの受信が開始されてから所定の時間(例えば、データ取得期間mの2/3)を経過すると、図6に示すアクセス分析処理手順RT2を開始して、アクセスパターン蓄積部31からエンティティ群の各エンティティの1秒ごとのアクセス回数を取得する(ステップSP21)。
【0054】
続いて、DBアクセス分析部24は、当該エンティティ群の各エンティティのアクセス回数について、アクセス種類別に横軸を時間、縦軸をアクセス回数とするグラフを作成してグラフの山を検出し、各山の頂点(極値)及び分散を算出する(ステップSP22)。
【0055】
続いて、DBアクセス分析部24は、グラフの山の頂点が出現する箇所が時間、日、曜日、月、休日などに関連しているか否かをチェックする。すなわち、DBアクセス分析部24は、所定の時間ごと、所定の日ごと、所定の曜日ごと、所定の月ごと等に、グラフの山が定期的に出現しているか否かをチェックする(ステップSP23)。そして、DBアクセス分析部24は、グラフの山が定期的に出現していない場合には(ステップSP23:NO)、アクセスパターンが存在しないと判断し(ステップSP27)、その後、図6に示すアクセス分析処理手順RT2を終了する(ステップSP28)。
【0056】
そして、DBアクセス分析部24は、グラフの山が定期的に出現している場合には(ステップSP23:YES)、グラフの山の分散誤差が所定範囲内(例えば、10%以内)であるか否かをチェックする(ステップSP24)。そして、DBアクセス分析部24は、グラフの山の分散誤差が所定範囲内でない場合には(ステップSP24:NO)、アクセスパターンが存在しないと判断し(ステップSP27)、その後、図6に示すアクセス分析処理手順RT2を終了する(ステップSP28)。
【0057】
これに対して、DBアクセス分析部24は、グラフの山の分散誤差が所定範囲内である場合には(ステップSP24:YES)、グラフの山以外の時間帯において、アクセス回数の平均値が所定しきい値以下であるか否かをチェックする(ステップSP25)。そして、DBアクセス分析部24は、グラフの山以外の時間帯において、アクセス回数の平均値が所定しきい値以下でない場合には(ステップSP25:NO)、アクセスパターンが存在しないと判断し(ステップSP27)、その後、図6に示すアクセス分析処理手順RT2を終了する(ステップSP28)。
【0058】
これに対して、DBアクセス分析部24は、グラフの山以外の時間帯において、アクセス回数の平均値が所定しきい値以下(後述)である場合には(ステップSP25:NO)、アクセスパターンが存在すると判断し、当該グラフをDBアクセスパターン41(後述)としてDBアクセスパターン蓄積部31に蓄積して(ステップSP26)、その後、図6に示すアクセス分析処理手順RT2を終了する(ステップSP28)。
【0059】
図7は、DBアクセスパターン41の一例を示した図である。DBアクセスパターン41の横軸は時間、縦軸はアクセス回数である。
【0060】
DBアクセス分析部24は、例えば、エンティティ群の1日分のアクセスがDBアクセスパターン蓄積部31に蓄積されると、DBアクセスパターン蓄積部31からエンティティ群の1日分のアクセス回数を取得し、時間ごとのアクセスパターン分析を開始する。
【0061】
また、DBアクセス分析部24は、例えば、エンティティ群の1週間分のアクセスがDBアクセスパターン蓄積部31に蓄積されると、DBアクセスパターン蓄積部31からエンティティ群の1週間分のアクセス回数を取得し、日ごとのアクセスパターン分析を開始する。
【0062】
さらに、DBアクセス分析部24は、例えば、エンティティ群の1ヶ月分のアクセスがDBアクセスパターン蓄積部31に蓄積されると、DBアクセスパターン蓄積部31からエンティティ群の1ヶ月分のアクセス回数を取得し、曜日ごとのアクセスパターン分析を開始する。
【0063】
さらに、DBアクセス分析部24は、例えば、エンティティ群の3ヶ月分のアクセスがDBアクセスパターン蓄積部31に蓄積されると、DBアクセスパターン蓄積部31からエンティティ群の3ヶ月分のアクセス回数を取得し、月ごとのアクセスパターン分析及び特定期間のアクセスパターン分析を開始する。
【0064】
(データ保存先決定処理)
図8は、本実施形態のDB移行管理装置4のデータ保存先決定処理を示すフローチャートである。
【0065】
データ保存先DB決定部26は、データ構造記憶部30に記憶されたエンティティ群に関する書込みアクセス及び読出しアクセスの受信が開始されてから所定の時間(例えば、データ取得期間mの2/3)を経過すると、図8に示すデータ保存先決定処理手順RT3を開始して、データ構造記憶部30に記憶されたエンティティ群、DBアクセスパターン蓄積部31に蓄積されたエンティティ群の各エンティティのアクセス回数及びKVS要件設定部25からKVS要件情報を取得する(ステップSP31)。
【0066】
続いて、データ保存先DB決定部26は、取得したエンティティ群の関係から、1つのエンティティを変更した場合に影響が及ぶエンティティの数を算出し、さらに、KVS要件情報から、他のエンティティとの関連が最も多いエンティティに対して更新処理が行われた場合、KVS6内のエンティティ群の関連するエンティティが全て更新されるために必要とする時間T(秒)を算出する(ステップSP32)。
【0067】
続いて、データ保存先DB決定部26は、取得したエンティティ群の同一のエンティティに対するアクセス回数のうちの単位時間当たりの最大アクセス回数Nを算出する(ステップSP33)。
【0068】
続いて、データ保存先DB決定部26は、取得したエンティティ群の関連するエンティティの全ての更新を遅延することなく完了することができるか否かをチェックする(ステップSP34)。そして、データ保存先DB決定部26は、取得したエンティティ群の関連するエンティティの全ての更新を遅延することなく完了することができる場合には(ステップSP34:YES)、当該エンティティ群のアクセス対象データ保存先をKVS6に決定する(ステップSP35)。
【0069】
具体的に、データ保存先DB決定部26は、取得したエンティティ群の関連するエンティティが全て更新されるために必要とする時間T(秒)と取得したエンティティ群の単位時間当たりの最大アクセス回数Nとを乗じた値が1より小さい場合に、当該エンティティ群の関連するエンティティの全ての更新を遅延することなく完了することができると判断する(T×N<1)。また、データ保存先DB決定部26は、DBアクセス収集部23に対して、取得したエンティティ群の関連するエンティティの全ての書込みアクセス及び読出しアクセスの蓄積を中止する。
【0070】
これに対して、データ保存先DB決定部26は、取得したエンティティ群の関連するエンティティの全ての更新を遅延することなく完了することができない場合(ステップSP34:NO)、すなわち、取得したエンティティ群のエンティティの更新に遅延が生じる場合には、当該エンティティ群のアクセス対象データ保存先を一旦RDB5に決定する(ステップSP36)。
【0071】
続いて、データ保存先DB決定部26は、DBアクセスパターン蓄積部31に、取得したエンティティ群のDBアクセスパターン41が存在するか否かをチェックする(ステップSP37)。そして、データ保存先DB決定部26は、DBアクセスパターン蓄積部31に、取得したエンティティ群のDBアクセスパターン41が存在する場合には(ステップSP37:YES)、取得したエンティティ群のアクセス対象データ保存先をRDB5及びKVS6に決定し(ステップSP38)、その後、図8に示すデータ保存先決定処理手順RT3を終了する(ステップSP40)。
【0072】
これに対して、データ保存先DB決定部26は、DBアクセスパターン蓄積部31に、取得したエンティティ群のDBアクセスパターン41が存在しない場合には(ステップSP37:NO)、取得したエンティティ群のアクセス対象データ保存先をRDB5に決定し(ステップSP39)、その後、図8に示すデータ保存先決定処理手順RT3を終了する(ステップSP40)。
【0073】
そして、DB移行スケジュール決定部27は、データ保存先DB決定部26が取得したエンティティ群のアクセス対象データ保存先をRDB5及びKVS6に決定した場合には、書込みアクセスが多い期間を判別し、判別した期間に対応する期間の直前で当該エンティティ群のアクセス対象データのRDB5への移行が完了するように移行スケジュール情報を決定すると共に、読出しアクセスが多い期間を判別し、判別した期間に対応する期間の直前で当該エンティティ群のアクセス対象データのKVS6への移行が完了するように移行スケジュール情報を決定する。
【0074】
(データベース移行処理)
図9及び図10は、本実施形態のDB移行管理装置4のデータベース移行処理を示すフローチャートである。
【0075】
契約変更支援装置7には、予めデータセンタのデータベース利用に関する課金情報が設定されており、契約変更支援装置7は、移行スケジュール情報の結果と照らし合わせて年間のデータベース利用金額を算出することができる。また、契約変更支援装置7は、年間のデータベース利用金額の結果をクラウド業務アプリケーションのサービス利用者に送信することができる。クラウド業務アプリケーションのサービス利用者がデータベース移行型の運用に承諾した場合、契約変更支援装置7は、契約内容の変更を行う。
【0076】
DB移行管理装置4は、契約内容の変更によって、DB移行スケジュール決定部27のデータベース移行機能がオンに変更し、DB移行指令部28もオンに変更する。DB移行指令部27は、DB移行スケジュール決定部27の移行スケジュール情報と現在日時とを比較し、アクセス対象データ移行を開始する時点でDB移行部29にデータベース移行指示を送信する。
【0077】
DB移行部29は、データベース移行指示がRDB5からKVS6へのデータベース移行指示である場合に、図9に示すデータベース移行処理手順RT4を開始して、RDB5をリードオンリーアクセスに変更する(ステップSP41)。続いて、DB移行部29は、該当するエンティティ群のアクセス対象データ移行を開始する(ステップSP42)。
【0078】
続いて、DB移行部29は、DBアクセス受付部22から該当するエンティティ群への書込みアクセス情報を取得して、該当するエンティティ群への書込みアクセスを受信したか否かをチェックする(ステップSP43)。そして、DB移行部29は、該当するエンティティ群への書込みアクセスを受信していない場合には(ステップSP43:NO)、ステップSP45に進む。
【0079】
これに対して、DB移行部29は、該当するエンティティ群への書込みアクセスを受信した場合には(ステップSP43:YES)、該当するエンティティ群への書込みアクセスのアクセス対象データを移行時データ一時記憶部33に記憶する(ステップSP44)。
【0080】
続いて、DB移行部29は、該当するエンティティ群のアクセス対象データ移行が完了したか否かをチェックする(ステップSP45)。そして、DB移行部29は、該当するエンティティ群のアクセス対象データ移行が完了していない場合には(ステップSP45:NO)、ステップSP43に戻り、再び、該当するエンティティ群への書込みアクセスを受信したか否かをチェックする。
【0081】
これに対して、DB移行部29は、該当するエンティティ群のアクセス対象データ移行が完了した場合には(ステップSP45:YES)、移行時データ一時記憶部33に記憶した書込みアクセスのアクセス対象データをKVS6の該当するエンティティ群に反映する(ステップSP46)。
【0082】
続いて、DB移行部29は、移行したエンティティ群をRDB5から消去する(ステップSP47)。続いて、DB移行部29は、RDB5のリードオンリーアクセスを解除し、KVS6に移行したエンティティ群のアクセス対象データの読書きを開始し(ステップSP48)、その後、図9に示すデータベース移行処理手順RT4を終了する(ステップSP49)。
【0083】
一方、DB移行部29は、データベース移行指示がKVS6からRDB5へのデータベース移行指示である場合に、図10に示すデータベース移行処理手順RT5を開始して、KVS6をリードオンリーアクセスに変更する(ステップSP51)。続いて、DB移行部29は、該当するエンティティ群のアクセス対象データ移行を開始する(ステップSP52)。
【0084】
続いて、DB移行部29は、DBアクセス受付部22から該当するエンティティ群への書込みアクセス情報を取得して、該当するエンティティ群への書込みアクセスを受信したか否かをチェックする(ステップSP53)。そして、DB移行部29は、該当するエンティティ群への書込みアクセスを受信していない場合には(ステップSP53:NO)、ステップSP55に進む。
【0085】
これに対して、DB移行部29は、該当するエンティティ群への書込みアクセスを受信した場合には(ステップSP53:YES)、該当するエンティティ群への書込みアクセスのアクセス対象データを移行時データ一時記憶部33に記憶する(ステップSP54)。
【0086】
続いて、DB移行部29は、該当するエンティティ群のアクセス対象データ移行が完了したか否かをチェックする(ステップSP55)。そして、DB移行部29は、該当するエンティティ群のアクセス対象データ移行が完了していない場合には(ステップSP55:NO)、ステップSP53に戻り、再び、該当するエンティティ群への書込みアクセスを受信したか否かをチェックする。
【0087】
これに対して、DB移行部29は、該当するエンティティ群のアクセス対象データ移行が完了した場合には(ステップSP55:YES)、移行時データ一時記憶部33に記憶した書込みアクセスのアクセス対象データをRDB5の該当するエンティティ群に反映する(ステップSP56)。
【0088】
続いて、DB移行部29は、移行したエンティティ群をKVS6から消去する(ステップSP57)。続いて、DB移行部29は、KVS6のリードオンリーアクセスを解除し、RDB5に移行したエンティティ群のアクセス対象データの読書きを開始し(ステップSP58)、その後、図10に示すデータベース移行処理手順RT5を終了する(ステップSP59)。
【0089】
このように、DB移行部29は、アクセス対象データ移行時は、読出しアクセスに対しては移行元のデータベースを参照させ、書込みアクセスのアクセス対象データに対しては移行時データ一時記憶部33に記憶させておき、移行完了後にまとめて反映させる。なお、移行処理については、バックアップ及びリストア等の既存技術を用いる。
【0090】
このようにして、DB移行管理装置4では、データ保存先DB決定部26が、取得したエンティティ群のエンティティの更新に遅延が生じる場合であって、かつ、取得したエンティティ群のDBアクセスパターン41が存在する場合には、取得したエンティティ群のアクセス対象データ保存先をRDB5及びKVS6に決定し、DB移行スケジュール決定部27が、データ保存先DB決定部26が取得したエンティティ群のアクセス対象データ保存先をRDB5及びKVS6に決定した場合には、書込みアクセスが多い期間を判別し、判別した期間に対応する期間の直前で当該エンティティ群のアクセス対象データのRDB5への移行が完了するように移行スケジュール情報を決定すると共に、読出しアクセスが多い期間を判別し、判別した期間に対応する期間の直前で当該エンティティ群のアクセス対象データのKVS6への移行が完了するように移行スケジュール情報を決定する。
【0091】
従って、データ構造が単純なアプリケーションだけでなく、整合性を維持する必要のあるアプリケーションであっても、動作する時期をパターン化することができるシステムに対しては、堅牢な処理を実現しつつも、安価でスケーラビリティの高い運用を実現することができる。
【0092】
また、高性能・高価なハードウェアだけでなく安価なハードウェアも共存させることにより、提供者及び利用者が、それぞれ運用コスト、利用コストを削減することができる。
【0093】
また、利用者のデータベースアクセスパターンを分析した結果に基づいて、高価なハードウェア資源を一時的にあけることができるため、アクセス時間の異なるサービス同士が同一のデータベースを利用するようにアクセス対象データを配置することができ、高価なハードウェアの利用効率の向上を実現することができる。さらに、スケーラビリティの低いRDB5に配置するアクセス対象データを必要最小限にしておくことができるため、障害発生時のアクセス対象データ移行やアクセス対象データのバックアップ、ハードウェアのメンテナンスの実施を容易にすることができる。
【0094】
なお、本発明は、リレーショナルデータベースが冗長化された構成及びキー・バリューストアを複数台にスケールアウトした場合にも適用することができる。
【0095】
また、本発明は、キー・バリューストア以外にも、リレーショナルデータベースと異なる性質を有するデータベースであり、書き込みアクセスに対する性能についてはリレーショナルデータベースより劣るが、読み込みアクセスに対する性能についてはリレーショナルデータベースに勝る特徴を有するデータベースに対しても適用することができる。
【0096】
さらに、本発明は、各システムのデータベースアクセスパターンが、データデースアクセスパターン蓄積部31に蓄積されているため、そのデータベースアクセスパターンをデータセンタ全体で管理することにより、負荷のかかる時期を分散させ、データベースの運用効率向上を図ることもできる。
【0097】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0098】
(付記1)所定のサーバから送信される書込みアクセス及び読出しアクセスを収集し、アクセス対象データの情報及びアクセス種類ごとのスケーラビリティの低い第1のデータベース及びスケーラビリティの高い第2のデータベースへのアクセス回数を所定時間ごとに記憶部に記憶するアクセス収集部と、前記アクセス収集部により収集された所定時間ごとのアクセス回数に所定のパターンが存在するか否かを判断し、前記パターンが存在する場合に、前記所定時間ごとのアクセス回数をアクセスパターンとして記憶部に記憶するアクセス分析部と、前記アクセス分析部により分析された前記アクセスパターンが存在する場合に、前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置することを決定するデータ保存先決定部と、前記データ保存先決定部により前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置する場合に、前記書込みアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第1のデータベースに配置するように移行スケジュールを決定すると共に、前記読出しアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第2のデータベースに配置するように移行スケジュールを決定する移行スケジュール決定部と、を備えることを特徴とするデータベース移行管理装置である。
【0099】
(付記2)前記サーバで実行されるアプリケーションプログラムの所定のデータ単位であるエンティティの関連性を分析し、関連のあるエンティティ同士の集合であるエンティティ群の情報を記憶部に記憶するデータ構造分析部を備え、前記データ保存先決定部は、前記エンティティ群の一部を更新した場合に当該エンティティ群の関連するエンティティの全ての更新に遅延が生じる場合であって、かつ、前記アクセスパターンが存在する場合に、前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置することを決定し、前記移行スケジュール決定部は、前記データ保存先決定部により前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置する場合に、前記書込みアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第1のデータベースに配置するように移行スケジュールを決定すると共に、前記読出しアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第2のデータベースに配置するように移行スケジュールを決定することを特徴とする付記1に記載のデータベース移行管理装置である。
【0100】
(付記3)前記データ構造分析部は、前記エンティティ群を第三正規化し、第三正規化した前記エンティティ群にテーブルの数が2つ以上存在する場合に前記エンティティ群の各エンティティに対する処理プログラムを解読し、前記エンティティ群の各エンティティに書込み処理が存在する場合に前記エンティティ群の情報を記憶し、前記データ保存先決定部は、前記エンティティ群の情報が記憶されていない場合に、該当するアクセス対象データを前記第2のデータベースに配置するように決定することを特徴とする付記2に記載のデータベース移行管理装置である。
【0101】
(付記4)前記データ保存先決定部は、前記エンティティ群の一部を更新した場合に当該エンティティ群の関連するエンティティの全ての更新が遅延することなく完了する場合に、該当するアクセス対象データを前記第2のデータベースに配置するように決定することを特徴とする付記2に記載のデータベース移行管理装置である。
【0102】
(付記5)前記アクセス分析部は、前記所定時間ごとの前記アクセス回数をグラフ化して当該グラフの極値を検出すると共に、各極値及び当該極値周辺の分散を算出して、所定の時間ごと、所定の日ごと、所定の曜日ごと又は所定の月ごとに関連する前記極値が出現しており、かつ、前記極値周辺の分散誤差が所定範囲内であり、前記極値周辺以外の時間帯において前記所定時間ごとのアクセス回数の平均値が所定しきい値以下である場合に、前記アクセスパターンを記憶することを特徴とする付記1に記載のデータベース移行管理装置である。
【0103】
(付記6)前記データ保存先決定部は、前記エンティティ群の一部を更新した場合に当該エンティティ群の関連するエンティティの全ての更新に遅延が生じる場合であって、かつ、前記アクセスパターンが存在しない場合に、該当するアクセス対象データを前記第1のデータベースに配置するように決定することを特徴とする付記2に記載のデータベース移行管理装置である。
【0104】
(付記7)前記データ保存先決定部は、利用者により決定された前記第1のデータベースの冗長度及びハードウェア処理に関する情報を取得し、前記エンティティ群の一部を更新した場合に影響が及ぶ前記エンティティの数及び前記第1のデータベースの冗長度及びハードウェア処理に関する情報に基づいて、前記エンティティ群の関連するエンティティが全て更新されるために必要とする時間を算出すると共に、前記エンティティ群の同一のエンティティに対するアクセス回数のうちの単位時間当たりの最大アクセス回数を算出し、前記エンティティ群の関連するエンティティが全て更新されるために必要とする時間と前記最大アクセス回数とを乗じた値が1以上の場合であって、かつ、前記アクセスパターンが存在する場合に、前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置することを決定し、前記移行スケジュール決定部は、前記データ保存先決定部により前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置する場合に、前記書込みアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第1のデータベースに配置するように移行スケジュールを決定すると共に、前記読出しアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第2のデータベースに配置するように移行スケジュールを決定することを特徴とする付記2に記載のデータベース移行管理装置である。
【0105】
(付記8)アクセス収集部が、所定のサーバから送信される書込みアクセス及び読出しアクセスを収集し、アクセス対象データの情報及びアクセス種類ごとのスケーラビリティの低い第1のデータベース及びスケーラビリティの高い第2のデータベースへのアクセス回数を所定時間ごとに記憶部に記憶する第1のステップと、アクセス分析部が、前記第1のステップにおいて収集した所定時間ごとのアクセス回数に所定のパターンが存在するか否かを判断し、前記パターンが存在する場合に、前記所定時間ごとのアクセス回数をアクセスパターンとして記憶部に記憶する第2のステップと、データ保存先決定部が、前記第2のステップにおいて分析した前記アクセスパターンが存在する場合に、前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置することを決定する第3のステップと、移行スケジュール決定部が、前記第3のステップにおいて前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置する場合に、前記書込みアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第1のデータベースに配置するように移行スケジュールを決定すると共に、前記読出しアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第2のデータベースに配置するように移行スケジュールを決定する第4のステップと、を備えることを特徴とするデータベース移行管理方法である。
【符号の説明】
【0106】
1……データベース移行管理システム、2……クラウド業務アプリケーションサーバ、3……アプリケーション取得装置、4……データベース移行管理装置、5……リレーショナルデータベース、6……キー・バリューストア、7……契約変更支援装置、8、9……共通インタフェース、11……CPU、12……ROM、13……RAM、14……記憶部、15……入力部、16……表示部、17……入出力インタフェース、21……データ構造分析部、22……データベースアクセス受付部、23……データベースアクセス収集部、24……データベースアクセス分析部、25……キー・バリューストア要件設定部、26……データ保存先データベース決定部、27……データベース移行指令部、28……データベース移行スケジュール決定部、29……データベース移行部、30……データ構造記憶部、31……データベースアクセスパターン蓄積部、32……移行内容記憶部、33……移行時データ一時記憶部、41……データベースアクセスパターン

【特許請求の範囲】
【請求項1】
所定のサーバから送信される書込みアクセス及び読出しアクセスを収集し、アクセス対象データの情報及びアクセス種類ごとのスケーラビリティの低い第1のデータベース及びスケーラビリティの高い第2のデータベースへのアクセス回数を所定時間ごとに記憶部に記憶するアクセス収集部と、
前記アクセス収集部により収集された所定時間ごとのアクセス回数に所定のパターンが存在するか否かを判断し、前記パターンが存在する場合に、前記所定時間ごとのアクセス回数をアクセスパターンとして記憶部に記憶するアクセス分析部と、
前記アクセス分析部により分析された前記アクセスパターンが存在する場合に、前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置することを決定するデータ保存先決定部と、
前記データ保存先決定部により前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置する場合に、前記書込みアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第1のデータベースに配置するように移行スケジュールを決定すると共に、前記読出しアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第2のデータベースに配置するように移行スケジュールを決定する移行スケジュール決定部と、
を備えることを特徴とするデータベース移行管理装置。
【請求項2】
前記サーバで実行されるアプリケーションプログラムの所定のデータ単位であるエンティティの関連性を分析し、関連のあるエンティティ同士の集合であるエンティティ群の情報を記憶部に記憶するデータ構造分析部
を備え、
前記データ保存先決定部は、
前記エンティティ群の一部を更新した場合に当該エンティティ群の関連するエンティティの全ての更新に遅延が生じる場合であって、かつ、前記アクセスパターンが存在する場合に、前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置することを決定し、
前記移行スケジュール決定部は、
前記データ保存先決定部により前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置する場合に、前記書込みアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第1のデータベースに配置するように移行スケジュールを決定すると共に、前記読出しアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第2のデータベースに配置するように移行スケジュールを決定する
ことを特徴とする請求項1に記載のデータベース移行管理装置。
【請求項3】
前記データ構造分析部は、
前記エンティティ群を第三正規化し、第三正規化した前記エンティティ群にテーブルの数が2つ以上存在する場合に前記エンティティ群の各エンティティに対する処理プログラムを解読し、前記エンティティ群の各エンティティに書込み処理が存在する場合に前記エンティティ群の情報を記憶し、
前記データ保存先決定部は、
前記エンティティ群の情報が記憶されていない場合に、該当するアクセス対象データを前記第2のデータベースに配置するように決定する
ことを特徴とする請求項2に記載のデータベース移行管理装置。
【請求項4】
前記データ保存先決定部は、
前記エンティティ群の一部を更新した場合に当該エンティティ群の関連するエンティティの全ての更新が遅延することなく完了する場合に、該当するアクセス対象データを前記第2のデータベースに配置するように決定する
ことを特徴とする請求項2に記載のデータベース移行管理装置。
【請求項5】
前記アクセス分析部は、
前記所定時間ごとの前記アクセス回数をグラフ化して当該グラフの極値を検出すると共に、各極値及び当該極値周辺の分散を算出して、所定の時間ごと、所定の日ごと、所定の曜日ごと又は所定の月ごとに関連する前記極値が出現しており、かつ、前記極値周辺の分散誤差が所定範囲内であり、前記極値周辺以外の時間帯において前記所定時間ごとのアクセス回数の平均値が所定しきい値以下である場合に、前記アクセスパターンを記憶する
ことを特徴とする請求項1に記載のデータベース移行管理装置。
【請求項6】
前記データ保存先決定部は、
前記エンティティ群の一部を更新した場合に当該エンティティ群の関連するエンティティの全ての更新に遅延が生じる場合であって、かつ、前記アクセスパターンが存在しない場合に、該当するアクセス対象データを前記第1のデータベースに配置するように決定する
ことを特徴とする請求項2に記載のデータベース移行管理装置。
【請求項7】
前記データ保存先決定部は、
利用者により決定された前記第1のデータベースの冗長度及びハードウェア処理に関する情報を取得し、
前記エンティティ群の一部を更新した場合に影響が及ぶ前記エンティティの数及び前記第1のデータベースの冗長度及びハードウェア処理に関する情報に基づいて、前記エンティティ群の関連するエンティティが全て更新されるために必要とする時間を算出すると共に、前記エンティティ群の同一のエンティティに対するアクセス回数のうちの単位時間当たりの最大アクセス回数を算出し、
前記エンティティ群の関連するエンティティが全て更新されるために必要とする時間と前記最大アクセス回数とを乗じた値が1以上の場合であって、かつ、前記アクセスパターンが存在する場合に、前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置することを決定し、
前記移行スケジュール決定部は、
前記データ保存先決定部により前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置する場合に、前記書込みアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第1のデータベースに配置するように移行スケジュールを決定すると共に、前記読出しアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第2のデータベースに配置するように移行スケジュールを決定する
ことを特徴とする請求項2に記載のデータベース移行管理装置。
【請求項8】
アクセス収集部が、所定のサーバから送信される書込みアクセス及び読出しアクセスを収集し、アクセス対象データの情報及びアクセス種類ごとのスケーラビリティの低い第1のデータベース及びスケーラビリティの高い第2のデータベースへのアクセス回数を所定時間ごとに記憶部に記憶する第1のステップと、
アクセス分析部が、前記第1のステップにおいて収集した所定時間ごとのアクセス回数に所定のパターンが存在するか否かを判断し、前記パターンが存在する場合に、前記所定時間ごとのアクセス回数をアクセスパターンとして記憶部に記憶する第2のステップと、
データ保存先決定部が、前記第2のステップにおいて分析した前記アクセスパターンが存在する場合に、前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置することを決定する第3のステップと、
移行スケジュール決定部が、前記第3のステップにおいて前記アクセス対象データを前記第1のデータベース及び前記第2のデータベースに配置する場合に、前記書込みアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第1のデータベースに配置するように移行スケジュールを決定すると共に、前記読出しアクセスが所定回数以上となる期間を判別し、判別した期間に対応する期間の前記アクセス対象データを前記第2のデータベースに配置するように移行スケジュールを決定する移行スケジュール決定部と、
を備えることを特徴とするデータベース移行管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−103847(P2012−103847A)
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願番号】特願2010−250910(P2010−250910)
【出願日】平成22年11月9日(2010.11.9)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】