IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤフー株式会社の特許一覧

特許7304916補助管理装置、管理装置およびデータベースシステム
<>
  • 特許-補助管理装置、管理装置およびデータベースシステム 図1
  • 特許-補助管理装置、管理装置およびデータベースシステム 図2
  • 特許-補助管理装置、管理装置およびデータベースシステム 図3
  • 特許-補助管理装置、管理装置およびデータベースシステム 図4
  • 特許-補助管理装置、管理装置およびデータベースシステム 図5
  • 特許-補助管理装置、管理装置およびデータベースシステム 図6
  • 特許-補助管理装置、管理装置およびデータベースシステム 図7
  • 特許-補助管理装置、管理装置およびデータベースシステム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-29
(45)【発行日】2023-07-07
(54)【発明の名称】補助管理装置、管理装置およびデータベースシステム
(51)【国際特許分類】
   G06F 16/13 20190101AFI20230630BHJP
【FI】
G06F16/13 110
【請求項の数】 10
(21)【出願番号】P 2021118754
(22)【出願日】2021-07-19
(65)【公開番号】P2023014673
(43)【公開日】2023-01-31
【審査請求日】2022-02-16
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】松浦 聖平
【審査官】原 秀人
(56)【参考文献】
【文献】特開2005-339236(JP,A)
【文献】特開2003-150419(JP,A)
【文献】近藤 雄太 外,PostgreSQL 徹底入門 第4版,初版,日本,株式会社翔泳社,2019年10月04日,pp. 308-318
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
データベースにおける所定のストレージ領域をスキャンし、不要領域を特定する特定部と、
前記特定部によって特定された前記不要領域に関する送信条件が成立した場合に、前記不要領域に関する情報をまとめた不要領域情報を前記データベースの管理装置へ送信する送信部と
を備え
前記特定部は、
スキャンする前記ストレージ領域の更新頻度に応じて決定された頻度で前記不要領域を特定する
ことを特徴とする補助管理装置。
【請求項2】
前記特定部は、
他の前記補助管理装置によってスキャンされる前記ストレージ領域とは異なる前記ストレージ領域である排他領域をスキャンすること
を特徴とする請求項1に記載の補助管理装置。
【請求項3】
前記送信部は、
前記特定部によって特定された前記不要領域の数が所定数に達した場合に、前記不要領域情報を前記管理装置へ送信すること
を特徴とする請求項1または2に記載の補助管理装置。
【請求項4】
前記送信部は、
前記不要領域情報の送信周期に達した場合に、前記不要領域情報を前記管理装置へ送信すること
を特徴とする請求項1、2または3に記載の補助管理装置。
【請求項5】
前記特定部は、
追記型データベースにおける前記ストレージ領域をスキャンし、当該ストレージ領域に記憶されたデータに紐づいた不要フラグを検出することで、前記不要領域を特定すること
を特徴とする請求項1~のいずれか一つに記載の補助管理装置。
【請求項6】
複数の前記補助管理装置から送信された前記不要領域情報を前記管理装置において統合した統合情報を受信する受信部と、
前記受信部によって受信された前記統合情報を記憶する統合情報記憶部と
を備えることを特徴とする請求項1~のいずれか一つに記載の補助管理装置。
【請求項7】
前記統合情報に基づいて前記データベースへアクセスし、リクエストを実行するリクエスト実行部
を備えることを特徴とする請求項に記載の補助管理装置。
【請求項8】
前記リクエスト実行部は、
複数の前記補助管理装置がそれぞれ独立してアクセス可能な前記データベースにアクセスすること
を特徴とする請求項に記載の補助管理装置。
【請求項9】
データベースにおいて不要となるデータが記憶された不要領域に関する不要領域情報を前記データベースの補助管理装置から受信する受信部と、
前記受信部によって受信された前記不要領域情報に基づき、前記不要領域に記憶されたデータを更新する更新部と
を備え
前記受信部は、
前記補助管理装置がスキャンするストレージ領域の更新頻度に応じて決定された頻度で特定された前記不要領域に関する前記不要領域情報を前記補助管理装置から受信する
ことを特徴とする管理装置。
【請求項10】
データベースにおける所定のストレージ領域の更新頻度に応じて決定された頻度で前記ストレージ領域をスキャンし、不要領域を特定する特定部と、
前記特定部によって特定された前記不要領域に関する送信条件を満たした場合に、前記不要領域に関する情報をまとめた不要領域情報を前記データベースの管理装置へ送信する送信部と
を備える補助管理装置と、
複数の前記補助管理装置から受信した前記不要領域情報に基づいて、前記不要領域に記憶されたデータを更新する更新部
を備える管理装置と
を備えることを特徴とするデータベースシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、補助管理装置、管理装置およびデータベースシステムに関する。
【背景技術】
【0002】
近年、企業活動のデータ利用の活発化を受けてデータベースシステムに蓄積されるデータ容量が増加する傾向にある。たとえば、データベースシステムにおけるストレージ領域を効率化する手法として、各データベースノードでデータが不要となったストレージ領域に関する情報をノード間通信によって各ノードで共有する技術が提案されている(例えば、特許文献1および非特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2005-339236号公報
【非特許文献】
【0004】
【文献】Sohan DeMel著「Oracle9i real Application Clusters-Cache Fusion Delivers Scalability、An Oracle White Paper」Oracle Corporation、2001年5月、P.7-9、12-13
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、たとえば、ノード間の通信が頻発するおそれがあり、ノード間通信によって他のプロセスが遅延するおそれがあった。
【0006】
本発明は、上記に鑑みてなされたものであって、データベースシステムのストレージ領域を有効活用しつつ、他のプロセスの遅延を抑制することができる補助管理装置、管理装置およびデータベースシステムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明に係る補助管理装置は、特定部と、送信部とを備える。前記特定部は、データベースにおける所定のストレージ領域をスキャンし、不要領域を特定する。前記送信部は、前記特定部によって特定された前記不要領域に関する送信条件を満たした場合に、前記不要領域に関する情報をまとめた不要領域情報を前記データベースの管理装置へ送信する。
【発明の効果】
【0008】
本発明によれば、データベースシステムのストレージ領域を有効活用しつつ、他のプロセスの遅延を抑制することができる。
【図面の簡単な説明】
【0009】
図1図1は、実施形態に係る情報処理の一例を示す図である。
図2図2は、実施形態に係る管理装置の構成例を示すブロック図である。
図3図3は、実施形態に係る補助管理装置の構成例を示すブロック図である。
図4図4は、実施形態に係る排他領域の一例を示す模式図である。
図5図5は、実施形態に係る管理装置が実行する処理手順を示すフローチャートである。
図6図6は、実施形態に係る補助管理装置が実行する処理手順を示すフローチャートである。
図7図7は、実施形態に係る補助管理装置が実行する処理手順を示すフローチャートである。
図8図8は、実施形態に係る管理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る補助管理装置、管理装置およびデータベースシステムを実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る補助管理装置、管理装置およびデータベースシステムが限定されるものではない。
【0011】
[実施形態]
〔1.情報処理〕
まず、図1を用いて、実施形態に係る情報処理の一例について説明する。図1は、実施形態に係る情報処理の一例を示す図である。
【0012】
図1に示すように、実施形態に係るデータベースシステム1は、管理装置10と、複数の補助管理装置50と、ストレージ100とを備える。管理装置10は、データベースにおけるマスターノードに対応し、補助管理装置50は、データベースにおけるスレーブノードに対応する。たとえば、管理装置10と補助管理装置50とは、所定のネットワークを介して接続される。
【0013】
なお、各データベースノードは、たとえば、所定の定義情報に基づいて、どのデータベースノードをマスターノードとするかあるいはスレーブノードとするかが決定される。すなわち、管理装置10は、補助管理装置50としても機能し、補助管理装置50は、管理装置10としても機能し得る。また、たとえば、管理装置10あるいは補助管理装置50となるデータベースノードは、それぞれの処理負荷の増大に伴い適宜追加される。
【0014】
管理装置10は、データベースシステム1全体で同期が必要な情報を集約管理する管理装置である。また、補助管理装置50は、管理装置10によって集約された情報の同期を所定のタイミングで行う。
【0015】
また、管理装置10および補助管理装置50は、それぞれ、ユーザの問い合わせ要求に応じて、ストレージ100に対してI/O(Input/Output)処理を行うことで、上記問い合わせ要求に対応する問い合わせ処理を実行する。
【0016】
なお、たとえば、管理装置10は、ストレージ100に対してRead/Writeが可能であり、補助管理装置50は、ストレージ100に対してReadのみが可能である。
【0017】
ストレージ100は、複数のデータベースノードでストレージ領域を共有する共有Disk型のストレージである。すなわち、管理装置10および補助管理装置50は、それぞれ独自にストレージにアクセスすることができる。
【0018】
また、ストレージ100は、いわゆる追記型方式のストレージであり、データが更新される場合に、更新後のデータ領域を更新前のデータ領域に追記し、更新前のデータを削除フラグで無効化する。
【0019】
追記型方式のストレージにおいては、削除フラグとともにデータの履歴が保持されるので、データの更新履歴管理が容易になるといった利点がある。一方、追記型方式のストレージにおいては、データが更新され、不要となったデータもストレージ上に永続するので、ストレージ領域の効率的利用に課題がある。
【0020】
そのため、実施形態に係るデータベースシステム1では、不要となったデータを記憶する不要領域を回収、再利用を行うことで、ストレージ領域の効率的利用を図ることとした。また、実施形態に係るデータベースシステム1では、不要領域に関するノード間通信の通信回数をなるべく少なくすることで、各ノード(管理装置10および補助管理装置50)で実行する他のプロセスの遅延の抑制を図ることとした。
【0021】
たとえば、図1に示すように、実施形態に係るデータベースシステム1において、補助管理装置50は、ストレージ100におけるストレージ領域をスキャンすることで(ステップS01)、ストレージ100における不要領域を特定する。
【0022】
なお、たとえば、図1に示す例では、補助管理装置50がデータ♯1~データ♯4までのストレージ領域をスキャンし、データ♯1が記憶された領域を不要領域として特定した場合を示す。
【0023】
たとえば、補助管理装置50は、ストレージ100におけるストレージ領域をスキャンし、削除フラグが付与されたストレージ領域を不要領域として特定する。たとえば、補助管理装置50は、特定した不要領域に関する情報を自身の不要領域情報記憶部に書き込む。
【0024】
つづいて、補助管理装置50は、不要領域に関する送信条件が成立したか否かを判定する(ステップS02)。補助管理装置50は、送信条件が成立したと判定すると、不要領域に関する情報をまとめた不要領域情報を管理装置10へ送信する(ステップS03)。そして、管理装置10は、各補助管理装置50から受信した不要領域情報を集約情報記憶部に記憶することで、各不要領域情報を集約して管理する。
【0025】
ここで、たとえば、送信条件は、スキャンの結果、特定した不要領域の数が所定の判定閾値を超えることである。すなわち、補助管理装置50では、不要領域の特定毎に不要領域に関する情報を管理装置10へ送信するのではなく、ある程度まとまった数の不要領域に関する情報を不要領域情報として管理装置10へ送信する。
【0026】
これにより、管理装置10および補助管理装置50間のノード間通信の回数を抑制しつつ、不要領域情報を管理装置10で集約管理することができる。たとえば、管理装置10は、集約した不要領域情報に基づき、不要領域の再利用(たとえば、更新)を行うことで、ストレージ100の有効利用を行うことができる。
【0027】
このように、実施形態に係るデータベースシステム1では、補助管理装置50がストレージ100内の不要領域を特定するとともに、特定した不要領域に関する情報を送信条件の成立を待って管理装置10へ送信する。
【0028】
したがって、実施形態に係るデータベースシステム1では、ストレージ100のストレージ領域を有効活用しつつ、他のプロセスの遅延を抑制することができる。
【0029】
〔2.1.管理装置の構成例〕
次に、図2を用いて、実施形態に係る管理装置10の構成例について説明する。図2は、実施形態に係る管理装置10の構成例を示すブロック図である。図2に示すように、管理装置10は、制御部20と、記憶部30とを有する。
【0030】
記憶部30は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、統合情報記憶部31および送信条件記憶部32を有する。
【0031】
統合情報記憶部31は、各補助管理装置50から送信される不要領域情報を統合した統合情報を記憶するストレージ領域である。たとえば、統合情報記憶部31に記憶される統合情報は、管理装置10において不要領域を特定するために用いられる。
【0032】
送信条件記憶部32は、統合情報記憶部31に記憶された統合情報を送信する際の送信条件を記憶するストレージ領域である。たとえば、管理装置10では、かかる送信条件が成立した場合に、統合情報を各補助管理装置と同期をとることになる。
【0033】
制御部20は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、管理装置10内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。
【0034】
図2に示すように、制御部20は、リクエスト受付部21と、リクエスト実行部22と、不要領域情報受信部23と、統合情報送信部24と、入出力処理部25とを有する。
【0035】
リクエスト受付部21は、データベースシステム1に対するユーザからの問い合わせ要求を受信し、問い合わせ要求に関する情報をリクエスト実行部22に渡す。リクエスト実行部22は、リクエスト実行部22によって受け付けられた問い合わせ要求に関する処理を実行する。
【0036】
たとえば、リクエスト実行部22は、リクエスト受付部21から取得した問い合わせ要求に基づき、ストレージ100に対してI/O処理を発行する入出力処理部26を呼び出することで、問い合わせ要求に関する処理を実行する。なお、リクエスト実行部22は、不要領域情報受信部23によって受信された不要領域情報に基づき、不要領域に記憶されたデータを更新する更新部の一例に対応する。
【0037】
たとえば、リクエスト実行部22は、問い合わせ要求が「データ♯1」を「データ♯2」で更新する更新要求である場合、データ#1に対して削除フラグをつけて、データ#2を新規データとして追記するよう入出力処理部26へ命令する。
【0038】
この場合、リクエスト実行部22は、統合情報記憶部31を参照し、不要領域に「データ♯2」を追記するよう入出力処理部26へ命令を行う。これにより、不要領域のデータを新たなデータで上書きすることになり、不要領域を再利用が可能となるので、ストレージ100の有効利用を図ることができる。なお、新たなデータで上書きされた不要領域は、不要領域から除外されるので、リクエスト実行部22は、新たなデータを追記した不要領域については統合情報記憶部31から削除する。
【0039】
不要領域情報受信部23は、各補助管理装置50から不要領域に関する不要領域情報を受信する。たとえば、不要領域情報受信部23は、不要領域情報の受信毎に統合情報記憶部31に書き込む。すなわち、不要領域情報受信部23は、各補助管理装置50から受信した不要領域情報を統合した統合情報を生成する。
【0040】
統合情報送信部24は、不要領域情報を統合した統合情報を各補助管理装置50へ送信する。たとえば、統合情報送信部24は、送信条件記憶部32に記憶される送信条件が成立した場合に、統合情報記憶部31から統合情報を読み出して、各補助管理装置50へ送信する。
【0041】
ここでの送信条件は、たとえば、統合情報として統合された不要領域の数が閾値を超えたか否かである。すなわち、統合情報送信部24は、不要領域の数と閾値とを比較し、不要領域の数が閾値を上回った場合に、送信条件が成立したと判定し、統合情報をすべての補助管理装置50へ送信する。
【0042】
なお、送信条件は、上記の例に限られず、たとえば、不要領域のデータ容量が所定の閾値を上回った場合であってもよく、所定の送信周期に到達した場合であってもよい。また、たとえば、送信条件が成立した場合に、すべての補助管理装置50から不要領域情報を再取得し、統合情報を新たに生成したうえで、生成した統合情報を補助管理装置50へ送信することにしてもよい。
【0043】
〔2.2.補助管理装置の構成例〕
次に、図3を用いて、補助管理装置50の構成例について説明する。図3は、実施形態に係る補助管理装置50の構成例を示すブロック図である。図3に示す例において、補助管理装置50は、制御部60と、記憶部70とを備える。
【0044】
記憶部70は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部70は、スキャン領域情報記憶部71と、不要領域情報記憶部72と、統合情報記憶部73と、送信条件記憶部74とを有する。
【0045】
スキャン領域情報記憶部71は、補助管理装置50で不要領域を特定するためのスキャン領域に関する情報を記憶する記憶部である。たとえば、他の補助管理装置50によってスキャンされるストレージ領域とは異なるストレージ領域である排他領域がスキャン領域としてスキャン領域情報記憶部71に記憶される。
【0046】
すなわち、データベースシステム1では、複数の補助管理装置50で分担してストレージ100をスキャンすることで、補助管理装置50それぞれの処理負荷を分散する。なお、スキャン領域は、排他領域に限定されず、一部またはすべてが重複していてもよい。また、ストレージ100の一部を除外してスキャン領域を設定することにしてもよい。
【0047】
また、それぞれの補助管理装置50に設定されたスキャン領域は、所定の条件に応じて変化させることにしてもよい。たとえば、この場合、補助管理装置50主体でスキャン領域を決定することにしてもよく、この場合、自身の設定したスキャン領域を他の補助管理装置50へ通知するようにしてもよい。
【0048】
また、たとえば、補助管理装置50は、所定期間内のアクセスが少ない場合など、処理リソースが多く存在するほど、より多くのスキャン領域をスキャンするようにしてもよい。また、その他所定のルールに沿ってスキャン領域を設定するようにしてもよい。
【0049】
不要領域情報記憶部72は、不要領域に関する情報を記憶するストレージ領域である。たとえば、不要領域情報記憶部72は、後述する特定部63によって特定された不要領域に関する情報を記憶する。
【0050】
統合情報記憶部73は、管理装置10によって生成された統合情報を記憶する記憶部である。すなわち、管理装置10によって生成された統合情報は、各補助管理装置50で同一のデータを保持することになる。送信条件記憶部74は、不要領域情報の送信条件に関する情報を記憶する記憶部である。
【0051】
制御部60は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、補助管理装置50内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。
【0052】
図3に示すように、たとえば、制御部60は、リクエスト受付部61と、リクエスト実行部62と、特定部63と、不要領域情報送信部64と、統合情報受信部65と、入出力処理部66とを有する。
【0053】
リクエスト受付部61、リクエスト実行部62および入出力処理部66は、図2に示したリクエスト受付部21、リクエスト実行部22および入出力処理部25と同様の機能を有する。なお、リクエスト実行部62は、統合情報記憶部73に記憶された統合情報に基づいてストレージ100にアクセスすることで、たとえば、不要領域へのアクセスを抑制することができる。
【0054】
特定部63は、ストレージ100における所定のストレージ領域をスキャンし、不要領域を特定する。たとえば、特定部63は、所定のタイミングでストレージ領域のスキャンを行い、データに紐づいた不要フラグを検出することで、不要領域を特定する。
【0055】
たとえば、特定部63は、スキャン領域情報記憶部71を参照し、自身のスキャン領域を読み出し、当該スキャン領域のスキャンを実行する。図4は、実施形態に係る排他領域の一例を示す模式図である。
【0056】
たとえば、図4に示すように、ストレージ100のストレージ領域を複数に分割し、各補助管理装置50へ割り当てることで、補助管理装置50のスキャン領域Sa1~Sanが決定される。
【0057】
また、図4に示すように、それぞれのスキャン領域Sa1~Sanは、それぞれが独立して存在する排他領域であるので、それぞれの補助管理装置50は、異なるスキャン領域をスキャンする。これにより、効率よく不要領域を特定することができる。
【0058】
特定部63は、スキャン領域のスキャンの結果、特定した不要領域に関する情報を不要領域情報記憶部72(図3参照)へ書き込む。なお、たとえば、特定部63は、スキャン領域の更新頻度に応じて、スキャンする頻度を決定することにしてもよい。
【0059】
たとえば、特定部63は、スキャン領域にアップデートなどの更新クエリに関する要求が発生した場合、不要領域の特定処理の周期を短くすることにしてもよい。すなわち、たとえば、アップデートが行われると、データの更新頻度が増加するので、これに伴い、不要領域の発生頻度も増大する。
【0060】
そのため、特定部63は、スキャン領域の更新頻度に応じて決定された頻度で不要領域を特定することで、不要領域が発生してから比較的短時間で不要領域を特定することができる。なお、上記の更新頻度に関する情報は、たとえば、管理装置10から補助管理装置50へ適宜送信され得る。
【0061】
図3の説明に戻り、不要領域情報送信部64について説明する。不要領域情報送信部64は、特定部63によって特定された不要領域に関する送信条件が成立した場合に、不要領域に関する情報をまとめた不要領域情報を管理装置10へ送信する。
【0062】
たとえば、不要領域情報送信部64は、送信条件記憶部74に記憶された送信条件が成立した場合に、不要領域情報記憶部72に記憶された不要領域情報を管理装置10へ送信する。
【0063】
ここでの送信条件は、たとえば、不要領域の数が閾値に到達した場合や、不要領域情報の送信周期に達した場合などが挙げられる。すなわち、不要領域情報送信部64は、特定部63によって特定された不要領域が所定数に達した場合、当該不要領域に関する情報をまとめた不要領域情報を管理装置10へ送信する。
【0064】
また、たとえば、不要領域情報送信部64は、不要領域情報の送信周期に達した場合に、不要領域情報を管理装置10へ送信する。なお、この場合、たとえば、送信周期に達したタイミングで、不要領域情報送信部64は、特定部63に対して、不要領域の特定処理を実行させることにしてもよい。
【0065】
このように、不要領域情報送信部64は、不要領域の特定毎に送信するのではなく、送信条件の成立を待って送信する。これにより、ノード間通信の通信頻度を低減することができるので、管理装置10によって実行中のタスクがノード間通信によって遅延するのを低減することができる。
【0066】
統合情報受信部65は、管理装置10によって生成された不要領域に関する統合情報を受信する。たとえば、統合情報受信部65は、受信した統合情報を用いて、統合情報記憶部73に記憶されるデータを更新する。
【0067】
〔3.処理フロー〕
次に、図5を用いて、実施形態に係る管理装置10の処理手順について説明する。図5は、実施形態に係る管理装置10が実行する処理手順を示すフローチャートである。なお、以下に示す処理手順は、管理装置10の制御部20によって実行される。
【0068】
図5に示すように、管理装置10は、不要領域情報を受信すると(ステップS101)、受信した不要領域情報に基づいて統合情報を生成する(ステップS102)。つづいて、管理装置10は、統合情報の送信条件が成立したか否かを判定し(ステップS103)、送信条件が成立したと判定した場合(ステップS103:Yes)、すべての補助管理装置50に対して、統合情報を送信し(ステップS104)、処理を終了する。
【0069】
また、管理装置10は、ステップS103の判定において、送信条件が未成立と判定した場合(ステップS103:No)、ステップS104の処理を省略する。
【0070】
次に、図6および図7を用いて、実施形態に係る補助管理装置50が実行する処理手順について説明する。図6および図7は、実施形態に係る補助管理装置50が実行する処理手順を示すフローチャートである。
【0071】
図6に示すように、まず、補助管理装置50は、不要領域を特定し(ステップS201)、その後、送信条件が成立したか否かを判定する(ステップS202)。補助管理装置50は、送信条件が成立したと判定した場合(ステップS202;Yes)、管理装置10に対して不要領域情報を送信し(ステップS203)、処理を終了する。
【0072】
また、補助管理装置50は、送信条件が未成立と判定した場合(ステップS202;No)、ステップS203の処理を省略する。
【0073】
また、図7に示す例では、まず、補助管理装置50は、不要領域情報の送信周期が到来した否かを判定する(ステップS211)。補助管理装置50は、送信周期が到来したと判定した場合(ステップS211;Yes)、不要領域の特定を行う(ステップS212)。
【0074】
つづいて、補助管理装置50は、管理装置10に対して、特定した不要領域に関する不要領域情報を送信し(ステップS213)、処理を終了する。また、補助管理装置50は、ステップS211の判定において、送信周期が到来していないと判定した場合(ステップS211:No)、処理を終了する。
【0075】
〔4.変形例〕
上述した実施形態では、たとえば、補助管理装置50それぞれが所定のタイミングでストレージ100内をスキャンするよう場合について説明したが、これに限定さるものでない。たとえば、補助管理装置50によるスキャンのタイミングがそれぞれずれるようにスキャンするタイミングを定めてもよい。この場合、すべての補助管理装置50でスキャンを異なる時間帯で実行するようにしてもよく、例えば、ある時間帯において所定数の補助管理装置50以外の補助管理装置50がスキャンを行うようにしてもよい。
【0076】
また、たとえば、上記した排他領域の大きさやスキャンのタイミングは、所定のオペレータによる指示であってもよい。オペレータが指示した場合に、指示対象となる補助管理装置50がスキャンを行えばよく、管理装置10が統合情報を送信すればよい。
【0077】
〔5.効果〕
上述した実施形態に係る補助管理装置50は、ストレージ100(データベースの一例)における所定のストレージ領域をスキャンし、不要領域を特定する特定部63と、特定部63によって特定された不要領域に関する送信条件が成立した場合に、不要領域に関する情報をまとめた不要領域情報をデータベースの管理装置10へ送信する不要領域情報送信部64(送信部の一例)とを備える。したがって、実施形態に係る補助管理装置50によれば、データベースシステム1のストレージ領域を有効活用しつつ、他のプロセスの遅延を抑制することができる。
【0078】
また、実施形態に係る特定部63は、他の補助管理装置50によってスキャンされるストレージ領域とは異なるストレージ領域である排他領域をスキャンする。したがって、実施形態に係る補助管理装置50によれば、効率的に不要領域を特定することができる。
【0079】
また、実施形態に係る不要領域情報送信部64は、特定部63によって特定された不要領域の数が所定数に達した場合に、不要領域情報を管理装置10へ送信する。したがって、実施形態に係る補助管理装置50によれば、不要領情報の送受信に伴うノード間通信の回数を抑制することができる。
【0080】
また、実施形態に係る不要領域情報送信部64は、不要領域情報の送信周期に達した場合に、不要領域情報を管理装置10へ送信する。したがって、実施形態に係る補助管理装置50によれば、不要領情報の送受信に伴うノード間通信の回数を抑制することができる。
【0081】
また、実施形態に係る特定部63は、スキャンするストレージ領域の更新頻度に応じて決定された頻度で不要領域を特定する。したがって、実施形態に係る補助管理装置50によれば、不要領域を適切なタイミングで特定することができる。
【0082】
また、実施形態に係る特定部63は、追記型データベースにおけるストレージ領域をスキャンし、当該ストレージ領域に記憶されたデータに紐づいた不要フラグを検出することで、不要領域を特定する。したがって、実施形態に係る補助管理装置50によれば、不要領域を確度高く特定することができる。
【0083】
また、実施形態に係る補助管理装置50は、複数の補助管理装置から送信された不要領域情報を管理装置10において統合した統合情報を受信する統合情報受信部65(受信部の一例)と、統合情報受信部65によって受信された統合情報を記憶する統合情報記憶部73とを備える。したがって、実施形態に係る補助管理装置50によれば、統合情報の同期をとることができる。
【0084】
また、実施形態に係る補助管理装置50は、統合情報に基づいてデータベースへアクセスし、リクエストを実行するリクエスト実行部62を備える。したがって、実施形態に係る補助管理装置50によれば、リクエストを適切に実行することができる。
【0085】
また、実施形態に係るリクエスト実行部62は、複数の補助管理装置50がそれぞれ独自にアクセス可能なデータベースにアクセスする。したがって、実施形態に係る補助管理装置50によれば、各補助管理装置50で独立してリクエストを実行することができる。
【0086】
また、実施形態に係る管理装置10は、データベースにおいて不要となるデータが記憶された不要領域に関する不要領域情報をデータベースの補助管理装置50から受信する不要領域情報受信部23(受信部の一例)と、不要領域情報受信部23によって受信された不要領域情報に基づき、不要領域に記憶されたデータを更新するリクエスト実行部22(更新部の一例)とを備える。
【0087】
また、実施形態に係るデータベースシステム1は、データベースにおける所定のストレージ領域をスキャンし、不要領域を特定する特定部63と、特定部63によって特定された不要領域に関する送信条件を満たした場合に、不要領域に関する情報をまとめた不要領域情報を前記データベースの管理装置10へ送信する不要領域情報送信部64(送信部の一例)とを備える補助管理装置50と、複数の補助管理装置50から受信した不要領域情報に基づいて、不要領域に記憶されたデータを更新するリクエスト実行部22(更新部の一例)を備える管理装置10とを備える。
【0088】
〔6.ハードウェア構成〕
また、上述してきた実施形態に係る管理装置10は、例えば図8に示すような構成のコンピュータ1000によって実現される。図8は、実施形態に係る管理装置10の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0089】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0090】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワーク(通信ネットワーク)Nを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
【0091】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置(図8では、出力装置および入力装置を総称して「入出力装置」と記載する)を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0092】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0093】
例えば、コンピュータ1000が実施形態に係る管理装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0094】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0095】
〔7.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0096】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0097】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0098】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、リクエスト受付部61は、リクエスト受付手段やリクエスト受付回路に読み替えることができる。
【符号の説明】
【0099】
1 データベースシステム
10 管理装置
21 リクエスト受付部
22 リクエスト実行部
23 不要領域情報受信部
24 統合情報送信部
25 入出力処理部
31 統合情報記憶部
32 送信条件記憶部
50 補助管理装置
61 リクエスト受付部
62 リクエスト実行部
63 特定部
64 不要領域情報送信部
65 統合情報受信部
66 入出力処理部
71 スキャン領域情報記憶部
72 不要領域情報記憶部
73 統合情報記憶部
74 送信条件記憶部
図1
図2
図3
図4
図5
図6
図7
図8