(57)【特許請求の範囲】
【請求項１】
レコードのキーを複数の格納先のいずれかに関連づける配置規則のいずれかに、前記レコードに関連する情報であるレコード関連情報を関連づける配置規則情報を用いて、対象レコードの前記レコード関連情報に関連づけられる前記配置規則を特定する配置規則特定手段と、
前記配置規則特定手段が特定した前記配置規則と、前記対象レコードのキーとに基づいて、前記対象レコードの配置先である前記格納先を特定する配置先特定手段と、
レコードの登録先の決定に使用される新たな前記配置規則と、前記レコード関連情報と、の関連づけを行い、当該関連づけを前記配置規則情報に反映させる、配置規則情報更新手段と、
前記格納先のいずれかである再配置対象に含まれる前記レコードを、特定の前記配置規則に基づいて、前記格納先に再配置する再配置処理を行うレコード再配置処理手段と、を備え、
前記配置規則情報更新手段は、前記配置規則を、当該配置規則によって前記キーが前記再配置対象に関連づけられる前記レコードの配置先を前記特定の配置規則に基づいて特定するよう変更する、
データ管理装置。
【請求項２】
前記配置規則情報は、前記配置規則のそれぞれが、前記レコードが登録される先である登録先の決定に使用される期間の情報を含み、
前記レコード関連情報は、前記レコードが前記格納先に登録された日時を示す情報を含み、
前記配置規則特定手段は、前記対象レコードの前記日時を示す情報と、前記配置規則情報とを用いて、当該レコードの登録先の決定に使用された前記配置規則を特定する、
請求項１に記載のデータ管理装置。
【請求項３】
前記配置規則情報更新手段は、前記格納先の状態を検知し、新たな格納先が前記複数の格納先の１つとして追加されることを検知した場合は、前記新たな格納先に関連づけられるキーが存在する新たな前記配置規則を生成する、
請求項１または２に記載のデータ管理装置。
【請求項４】
登録する処理の対象であるレコードのキーと、当該レコードの前記レコード関連情報に関連づけられる前記配置規則とに基づいて、当該レコードの登録先となる前記格納先を決定する登録先決定手段と、
レコードの管理に関するコマンドおよび当該レコードのキーならびに前記レコード関連情報をクライアントから受信し、当該コマンドがレコードの前記格納先への登録を要求するコマンドである場合は前記登録先決定手段によって決定される前記格納先に当該レコードの登録を要求し、当該コマンドが前記格納先に配置されたレコードへのアクセスを要求するコマンドである場合は前記配置先特定手段によって特定される前記格納先に当該レコードへのアクセスを要求する、アクセス制御手段と、
を備える請求項１から３のいずれか一項に記載のデータ管理装置。
【請求項５】
前記配置規則情報更新手段は、
前記レコードが格納される前記格納先の１つをデータ管理システムから削除するコマンドをクライアントから受信した場合に、削除される格納先がどのキーにも関連づけられない前記配置規則を前記特定の配置規則として選択し、
前記レコード再配置処理手段は、前記削除される格納先に含まれる前記レコードを、前記特定の配置規則に基づいて前記格納先に再配置する前記再配置処理を行う、
請求項１から４のいずれか一項に記載のデータ管理装置。
【請求項６】
登録する処理の対象であるレコードのキーと、当該レコードの前記レコード関連情報に関連づけられる前記配置規則とに基づいて、当該レコードの登録先となる前記格納先を決定する登録先決定手段と、
レコードへのアクセスを要求するコマンドおよび当該レコードのキーならびに前記レコード関連情報をクライアントから受信し、当該キーおよび当該レコード関連情報に基づいて前記配置先特定手段によって特定された前記格納先に、当該レコードへのアクセスを要求し、当該格納先による当該レコードに関する処理の結果を当該格納先から受信し、当該格納先に当該レコードがないことを示す結果を受信した場合に、前記再配置対象に当該レコードへのアクセスを要求する、アクセス制御手段と、
を備える、請求項１から５のいずれか一項に記載のデータ管理装置。
【請求項７】
レコードのキーを複数の格納先のいずれかに関連づける配置規則のいずれかに、前記レコードに関連する情報であるレコード関連情報を関連づける配置規則情報を用いて、対象レコードの前記レコード関連情報に関連づけられる前記配置規則を特定し、
特定された前記配置規則と、前記対象レコードのキーとに基づいて、前記対象レコードの配置先である前記格納先を特定し、
レコードの登録先の決定に使用される新たな前記配置規則と、前記レコード関連情報と、の関連づけを行い、当該関連づけを前記配置規則情報に反映し、
前記格納先のいずれかである再配置対象に含まれる前記レコードを、特定の前記配置規則に基づいて、前記格納先に再配置する再配置処理を行い、
前記配置規則情報に反映する処理において、前記配置規則を、当該配置規則によって前記キーが前記再配置対象に関連づけられる前記レコードの配置先を前記特定の配置規則に基づいて特定するよう変更する、
データ管理方法。
【請求項８】
コンピュータに、
レコードのキーを複数の格納先のいずれかに関連づける配置規則のいずれかに、前記レコードに関連する情報であるレコード関連情報を関連づける配置規則情報を用いて、対象レコードの前記レコード関連情報に関連づけられる前記配置規則を特定する配置規則特定処理と、
特定された前記配置規則と、前記対象レコードのキーとに基づいて、前記対象レコードの配置先である前記格納先を特定する配置先特定処理と、
レコードの登録先の決定に使用される新たな前記配置規則と、前記レコード関連情報と、の関連づけを行い、当該関連づけを前記配置規則情報に反映させる、配置規則情報更新処理と、
前記格納先のいずれかである再配置対象に含まれる前記レコードを、特定の前記配置規則に基づいて、前記格納先に再配置する再配置処理を行うレコード再配置処理と、
を実行させ、
前記配置規則情報更新処理において、前記配置規則を、当該配置規則によって前記キーが前記再配置対象に関連づけられる前記レコードの配置先を前記特定の配置規則に基づいて特定するようコンピュータに変更させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データを管理する技術に関する。
【背景技術】
【０００２】
複数の格納先（例えば、データベースや記憶装置など）を備えるデータ管理システムにおいて、格納されるデータは、それぞれ配置規則に基づいて決定された格納先に格納される（例えば、特許文献１参照）。
【０００３】
データ管理システムは、データの蓄積に伴い格納先に蓄積するデータに不均衡が生じた場合や、新たな格納先がデータ管理システムに追加される場合などに、配置規則を変更することがある。例えば、特許文献２には、複数のデータベースにおける、データの構造体であるレコードの不均衡を回避可能な、配置規則の変更方法が記載されている。特許文献３には、データベースの分割数が変更された場合に配置規則を変更し、レコードを再配置する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１３／１１８２７０号
【特許文献２】特開２００９−１８１５４６号公報
【特許文献３】特開２００４−７８９７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献２および３に記載される技術のようにレコードの配置規則が変更された場合、過去の配置規則によって配置されたレコードが格納されている場所、すなわち配置先を、変更後の配置規則を用いて特定することはできない。配置先を予め特定できなければ、データ管理システムは、対象のレコードにアクセスするためには、そのレコードの検索をすべてのデータベースに対して行う必要がある。その場合、対象のレコードを有さないデータベースに対しても検索要求を行うため、データベースおよびデータ管理システムにおいて多くの不必要な処理や通信が生じるという問題がある。
【０００６】
本発明は上記の問題に鑑みてなされたものであり、配置規則の更新があった場合であっても、レコードにアクセスするために必要な処理や通信の量を抑制できる、データ管理システムを提供することを目的の一つとする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るデータ管理装置は、レコードのキーを複数の格納先のいずれかに関連づける配置規則のいずれかに、前記レコードに関連する情報であるレコード関連情報を関連づける配置規則情報を用いて、対象レコードの前記レコード関連情報に関連づけられる前記配置規則を特定する配置規則特定手段と、前記配置規則特定手段が特定した前記配置規則と、前記対象レコードのキーとに基づいて、前記対象レコードの配置先である前記格納先を特定する配置先特定手段と、を備える。
【０００８】
本発明の一態様に係るデータ管理方法は、レコードのキーを複数の格納先のいずれかに関連づける配置規則のいずれかに、前記レコードに関連する情報であるレコード関連情報を関連づける配置規則情報を用いて、対象レコードの前記レコード関連情報に関連づけられる前記配置規則を特定し、特定された前記配置規則と、前記対象レコードのキーとに基づいて、前記対象レコードの配置先である前記格納先を特定する。
【０００９】
本発明の一態様に係るプログラムは、コンピュータに、レコードのキーを複数の格納先のいずれかに関連づける配置規則のいずれかに、前記レコードに関連する情報であるレコード関連情報を関連づける配置規則情報を用いて、対象レコードの前記レコード関連情報に関連づけられる前記配置規則を特定する配置規則特定処理と、特定された前記配置規則と、前記対象レコードのキーとに基づいて、前記対象レコードの配置先である前記格納先を特定する配置先特定処理と、を実行させる。
【発明の効果】
【００１０】
本発明によれば、配置規則の更新があった場合であっても、レコードにアクセスするために必要な処理や通信の量を抑制できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態のデータ管理システムの構成を表すブロック図である。
【図２】第１の実施形態の配置規則情報の例を表す表である。
【図３】第１の実施形態のデータベースに登録されたレコードの例を表す表である。
【図４】第１の実施形態のデータ管理システムの、レコードの登録に係る動作を表すシーケンス図である。
【図５】第１の実施形態のデータ管理システムの、レコードへのアクセスに係る動作を表すシーケンス図である。
【図６】本発明の第２の実施形態のデータ管理システムの構成を表すブロック図である。
【図７】第２の実施形態におけるレコード再配置処理部の処理の流れを表すフローチャートである。
【図８】第２の実施形態における配置規則情報の変更例を表す表である。
【図９】第２の実施形態における、アクセス制御部の処理の流れを表すフローチャートである。
【図１０】本発明の第３の実施形態のデータ管理装置の構成を表すブロック図である。
【図１１】第３の実施形態のデータ管理システム全体の構成を表すブロック図である。
【図１２】第３の実施形態に係る配置規則情報の例を表す表である。
【図１３】本発明の各実施形態に係るデータ管理システムの構成要素に適用可能なコンピュータの構成を例示する図である。
【図１４】第２の実施形態のデータ管理システムの各構成要素を回路で構成した場合を表すブロック図である。
【発明を実施するための形態】
【００１２】
＜＜第１の実施形態＞＞
本発明の第１の実施形態について詳細に説明する。
【００１３】
＜構成＞
図１は本発明の第１の実施形態のデータ管理システムの構成を示すブロック図である。
【００１４】
本実施形態のデータ管理システム１は、データ管理装置１０、クライアント３００、およびレコードの格納先として機能するデータベース（Ｄａｔａｂａｓｅ；ＤＢ）２０１〜２０４を備える。データ管理装置１０は、配置先特定部１１、配置規則特定部１２、アクセス制御部１３、配置規則情報記憶部１４、配置規則情報更新部１５、および登録先決定部１６を備える。クライアント３００および各データベース２０１〜２０４は、データ管理システム１のアクセス制御部１３に通信可能に接続される。
【００１５】
データベース２０１〜２０４は、データの格納先、すなわち、データが格納される場所である。ただし、データベースの数は４つに限定されない。本実施形態のデータベース２０１〜２０４は、一般的なデータベースが構築されている、記憶領域とコントローラとを有する情報処理装置を指す。ただし、各データベースは、それぞれ異なる記憶装置に管理されていてもよいし、いくつかのデータベースが１つの記憶装置内で記憶領域を分け合って存在していてもよい。複数の装置が１つのデータベースを管理していてもよい。各データベースは、アクセス制御部１３からの要求に応じてデータを記憶領域へ格納する。また、各データベースは、アクセス制御部１３からの要求に応じてデータを記憶領域から読み出す。データベースに格納されるデータは、図３で示されるように、一件ごとにまとまりを持って格納される。一件ごとのデータはレコードと呼ばれる。レコードは、レコードを一意に特定する情報（「キー」または「主キー」と呼ばれる）を含む。本実施形態では登録日情報とＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）とを連結したものがキーである。登録日情報とは、そのレコードがデータベースに初めて登録されたのがいつであるかを示す情報である。本実施形態では、登録日は日付単位で記録されるが、登録日は時分や秒の記録を含んでいてもよい。レコードがデータベースに格納されるタイミングで、データベースがその時の日付や時刻を登録日情報として取得しレコードに記録してもよい。アクセス制御部１３が、クライアント３００から登録の要求をするコマンドを受信した日付や時刻を登録日情報として取得してレコードに記録してもよい。クライアント３００が、登録日情報として、登録する日付や時刻を予めレコードに記録してもよい。
【００１６】
ＩＤは、例えば人の名前や商品の整理番号等、レコードをある基準で区分するデータである。ただし、レコードの具体的な構造は、システムの特性に応じて、設計者によって任意に設計され得る。
【００１７】
クライアント３００は、データベース２０１〜２０４における、レコードの管理に関するコマンドを、アクセス制御部１３に送信する。レコードの管理に関するコマンドは、例えば、レコードの登録、読み出し、削除、および更新などを要求するコマンドである。クライアント３００は、レコードをデータベースに登録する要求をする場合は、当該レコードをアクセス制御部１３に送信する。クライアント３００は、データベースに格納されているレコードの読み出し、削除、または更新をする要求をする場合は、当該レコードのキーを指定した情報をアクセス制御部１３に送信する。クライアント３００は、データベースに格納されているレコードを更新する要求をする場合は、コマンドに更新内容を含める。以下、本実施形態では、レコードの読み出し、削除、および更新のことを特に、レコードへのアクセスと表記する。
【００１８】
アクセス制御部１３はクライアント３００に対し、レコードに関する処理を行う機能を提供する。具体的には、アクセス制御部１３は、クライアント３００からレコードの管理に関するコマンドおよび管理の対象のレコードのキーならびにレコード関連情報を受信し、後述する方法により決定または特定されたデータベースに当該レコードに関する処理の要求を送信する。アクセス制御部１３は、当該データベースによって要求した処理が実行された結果を受け取ると、その結果をクライアント３００に送信する。
【００１９】
以下、本実施形態では、あるレコードについてそのレコードが配置されるデータベースを「配置先」と表記し、レコードが登録される場合の配置先を特に「登録先」と表記する。
【００２０】
登録先決定部１６は、レコードの登録先を決定する。登録先の決定には、レコードのキーと、キーに応じて登録先を振り分ける規則である配置規則とが使用される。登録先決定部１６は、登録処理の対象であるレコードのキーをもとに、配置規則に基づいてレコードの登録先であるデータベースを決定する。
【００２１】
配置規則は、レコードのキーをデータベースのいずれかに関連づける規則である。配置規則は、同一のキーに対しては常に同一のデータベースが導出されるよう定められる。配置規則は、例えば、キーに対してハッシュ関数を適用することで得られる値（ハッシュ値）に関連づけられるデータベースを割り当てる規則である。本実施形態では、配置規則は、ハッシュ値を稼働中のデータベースの数で割った剰余それぞれに対して登録先のデータベースを示す値を１対１で関連づける。配置規則は、様々な契機でクライアント３００や配置規則情報更新部１５等によって更新されうる。配置規則を更新する契機は、例えば、データベースの追加や削除が行われる場合や、各データベースの負荷が不均衡になった場合などである。たとえば、データ管理システム１が新たに運用可能なデータベースをデータベース群に追加する場合、配置規則情報更新部１５が登録先の候補に当該データベースが含まれる新たな配置規則を生成して更新する。
【００２２】
配置規則情報記憶部１４は、配置規則情報を記憶する。配置規則情報とは、登録先の決定に使用される配置規則および過去に使用された配置規則、および、配置規則のそれぞれとレコード関連情報とを関連づける情報を含む情報である。本実施形態においては、レコード関連情報は、レコードの登録日情報である。配置規則情報記憶部１４は、レコードの登録日情報と、各配置規則とを関連づける情報として、各配置規則の使用期間を記憶する。使用期間とは、それぞれの配置規則がレコードの登録先の決定に使用されていた（または使用される）時期（年月日。時分を含んでもよい）である。配置規則情報には、未来に使用される配置規則に関する情報が含まれていてもよい。
【００２３】
図２は本実施形態の配置規則情報の例を表す表である。図２の表の上から２行目を参照すると、データ管理システム１の運用開始から２０１５年４月３０日までの時期に使用されていた配置規則はＤ１である。また、この期間はデータベースＩおよびデータベースＩＩの２つのデータベースが使用されていたことがわかる。表を参照すると、配置規則Ｄ１は、キーのハッシュ値を２で割った剰余について、剰余が０である場合はデータベースＩを登録先とし、剰余が１である場合はデータベースＩＩを登録先とする、規則である。表の３行目を参照すると、２０１５年５月１日から２０１５年５月３１日までの期間に使用されていた配置規則はＤ２である。この期間は、データベースＩ、データベースＩＩおよびデータベースＩＩＩの３つのデータベースが使用されていたことがわかる。表の４行目を参照すると、２０１５年６月１日から現在まで使用されている配置規則はＤ３である。この期間は、データベースＩ〜データベースＩＶの４つのデータベースが使用されている。
【００２４】
図３は、配置規則に基づいて各データベース２０１〜２０４に登録されたレコードの例を表す表である。図３を参照するとわかるように、２０１５年４月３０日までの期間に登録されたレコードはデータベースＩまたはデータベースＩＩに登録されている。２０１５年５月１日から２０１５年５月３１日までの期間に登録されたレコードはデータベースＩからデータベースＩＩＩのいずれかに登録されている。２０１５年６月１日から現在までに登録されたレコードはデータベースＩからデータベースＩＶのいずれかに登録されている。
【００２５】
登録先決定部１６は、レコードの登録先の決定にあたって、配置規則情報に示される、現行の（登録時に登録先の決定に使用される）配置規則を使用する。登録先決定部１６は、レコードの登録のたびに配置規則情報記憶部１４から配置規則を読み出してもよい。あるいは、登録先決定部１６は、配置規則が更新されるたびに配置規則情報更新部１５から配置規則を受信し、使用される配置規則を保持していてもよい。
【００２６】
配置規則情報更新部１５は、クライアント３００等から新たな配置規則を受信し、または自ら新たな配置規則を生成する。配置規則情報更新部１５は、その新たな配置規則と、レコード関連情報との関連づけを行い、当該関連づけを配置規則情報に反映させる。本実施形態においては、レコード関連情報とはレコードの登録日情報であるから、配置規則情報更新部１５は、新たな配置規則とレコードの登録日とを関連づける情報として、その新たな配置規則が使用され始める日を示す情報を作成し、配置規則情報に反映させる。たとえば、配置規則情報更新部１５は、図２の配置規則情報のもとで運用しているデータ管理システム２において、７月１日から新たな配置規則Ｄ４を使用する旨のコマンドをクライアント３００から受信した場合、Ｄ４の使用期間が「７月１日〜」であることを示す情報を、配置規則情報に追加する。この際、配置規則情報更新部１５は、Ｄ４の直前に使われるＤ３の使用期間情報を、「６月１日〜６月３０日」に書き換えればよい。このようにして配置規則情報更新部１５は、新たな配置規則と、レコード関連情報と、を関連づける情報を配置規則情報に反映させることで、配置規則情報を常に最新の状態に保つ。
【００２７】
また、配置規則情報更新部１５は、データベース２０１〜２０４の状態を検知する。状態を検知するとは、たとえば、新たなデータベースがデータ管理システム１に追加されることや、各データベースの負荷が不均衡になったことを検知することである。新たなデータベースがデータ管理システム１に追加される場合、配置規則情報更新部１５は、新たなデータベースに関連づけられるキーが存在する新たな配置規則を生成してもよい。各データベースの負荷が不均衡になった場合、配置規則情報更新部１５は、各データベースの負荷が均衡になるような新たな配置規則を生成してもよい。配置規則情報更新部１５は、新たな配置規則を生成した場合、その使用期間を設定し、その新たな配置規則と、レコード関連情報との関連づけを、配置規則情報に反映させる。
【００２８】
配置規則特定部１２は配置規則情報記憶部１４に記憶される配置規則情報を用いて、処理の対象であるレコード（対象レコード）の登録日情報をもとに、対象レコードの登録先の決定に使用された配置規則を特定する。詳細は後述する。
【００２９】
配置先特定部１１は、配置規則特定部１２により特定された配置規則と、対象レコードのキーとに基づいて、対象レコードの配置先を特定する。詳細は後述する。
【００３０】
なお、本実施形態においては、登録先決定部１６と配置先特定部１１とは別の部であるが、登録先決定部１６および配置先特定部１１は同じ部であってもよい。たとえば、配置先特定部１１が登録先決定部１６として動作してもよい。登録先決定部１６および配置先特定部１１のそれぞれの機能の一部は１つのモジュールまたは回路によって実現されてもよい。
【００３１】
＜動作＞
次に、第１の実施形態における、データ管理システム１の動作を説明する。
【００３２】
（レコードの登録）
クライアント３００がレコードのデータベースへの登録を要求する場合のデータ管理システム１の動作を説明する。
【００３３】
図４は、本実施形態のデータ管理システム１の、レコードの登録に係る動作を表すシーケンス図である。
【００３４】
まず、アクセス制御部１３は、クライアント３００から、レコードの登録を要求するコマンドおよび登録の対象であるレコード（登録対象レコード）を受信する（ステップＳ４０１）。アクセス制御部１３は、クライアント３００から受信した登録対象レコードに含まれるキーを、登録先決定部１６に送信する（ステップＳ４０２）。登録先決定部１６は、キーを受信し（ステップＳ４０３）、現在登録先の決定に使用される配置規則と、受信したキーとに基づいて、登録対象レコードの登録先となるデータベースを決定する（ステップＳ４０４）。
【００３５】
例として、現在が２０１５年６月３０日であり、ＩＤが“ＡＡＡ”であるレコードが登録される場合、図２を参照すると、登録先決定部１６が使用する配置規則はＤ３である。登録先決定部１６は、キーのハッシュ値を求め、そのハッシュ値を４で割った剰余を求める。その結果、例えば、得られた剰余が３であった場合、登録先決定部１６は、登録先がデータベースＩＶであると決定する。
【００３６】
図４に戻ると、このように決定した登録先を特定する情報を、登録先決定部１６はアクセス制御部１３に送信する（ステップＳ４０５）。アクセス制御部１３は登録先を特定する情報を受信し（ステップＳ４０６）、特定された登録先であるデータベースに対し登録対象レコードの登録を要求する（ステップＳ４０７）。要求を受けたデータベースはレコードの登録処理を行い（ステップＳ４０８）、その処理結果（登録の成否）をアクセス制御部１３へ送信する（ステップＳ４０９）。アクセス制御部１３はその処理結果をクライアント３００に受け渡す（ステップＳ４１０）。
【００３７】
（登録済みのレコードへのアクセス）
次に、クライアント３００がデータベースに登録されているレコードへのアクセスを要求する場合のデータ管理システム１の動作を説明する。
【００３８】
図５は、本実施形態のデータ管理システム１の、レコードへのアクセスに係る動作を表すシーケンス図である。
【００３９】
まず、アクセス制御部１３は、クライアント３００から、レコードへのアクセスを要求するコマンドおよびアクセスの対象のレコード（アクセス対象レコード）のキーを受信する（ステップＳ５０１）。アクセス制御部１３は、クライアント３００から受信したキーを、配置先特定部１１に送信する（ステップＳ５０２）。配置先特定部１１は、受信したキーから、アクセス対象レコードの登録日情報を取り出し、取り出した登録日情報を配置規則特定部１２に送信する（ステップＳ５０３）。配置規則特定部１２は、登録日情報を受信する（ステップＳ５０４）と、配置規則情報記憶部１４から配置規則情報を読み出し、読み出した配置規則情報を用いて、受信した登録日情報に関連づけられる配置規則を特定する（ステップＳ５０５）。例として、登録日が２０１５年４月１６日、ＩＤが“ＢＢＢ”であるレコードがアクセス対象である場合、図２を参照すると、２０１５年４月１６日に登録先の決定に使用される配置規則はＤ１であることがわかる。配置規則特定部１２は、特定した配置規則を配置先特定部１１に送信する。図５に戻ると、配置先特定部１１は、配置規則を受け取り（Ｓ５０６）、受け取った配置規則と、アクセス対象レコードのキーとに基づいて、アクセス対象レコードの配置先を特定する（ステップＳ５０７）。同一のキーに対して同一の配置規則を適用すれば常に同一の結果が得られることから、特定された配置先は対象レコードが登録されたデータベース（この例では、データベースＩＩ）である。配置先特定部１１は、このように特定した配置先を特定する情報をアクセス制御部１３に送信する。アクセス制御部１３は、特定された配置先を特定する情報を受信し（ステップＳ５０８）、特定された配置先であるデータベースにアクセス対象レコードへのアクセスを要求する（ステップＳ５０９）。アクセスを要求した先のデータベースはアクセスに係る処理を行い（ステップＳ５１０）、その処理結果をアクセス制御部１３に送信する（ステップＳ５１１）。アクセス制御部１３はその処理結果をクライアント３００に受け渡す（ステップＳ５１２）。
【００４０】
＜効果＞
第１の実施形態の効果を述べる。
【００４１】
本実施形態によれば、配置規則特定部１２がアクセス対象レコードの登録時に使用されていた配置規則を特定し、特定された配置規則に基づいて配置先特定部１１が配置先を特定するため、登録日情報から配置規則の更新があった場合であっても、レコードの配置先であるデータベースを予め特定できる。ゆえに、レコードにアクセスするために必要な処理や通信の量を抑制することができる。
【００４２】
また、本発明のデータ管理システムは、領域の均質化を図る場合や、１つの格納先が削除される（運用を停止する）場合等に、レコードの再配置を行ってもよい。その場合、再配置は、次に記載する本発明の第２の実施形態で示される技術を用いて行われればよい。
【００４３】
＜＜第２の実施形態＞＞
本発明の第２の実施形態について詳細に説明する。
【００４４】
＜構成＞
図６は本発明の第２の実施形態のデータ管理システムの構成を示すブロック図である。
【００４５】
本実施形態のデータ管理システム２は、第１の実施形態のデータ管理システム１の構成に加えて、さらにデータ管理装置内にレコード再配置処理部２１を備える。レコード再配置処理部は、データベース２０１〜２０４、アクセス制御部１３、配置規則情報更新部１５、登録先決定部１６、およびクライアント３００に通信可能に接続される。
【００４６】
以下に記載されない構成要素の機能は、第１の実施形態における機能と同じである。
【００４７】
レコード再配置処理部２１は、データベースの１つを対象として、当該データベース内に格納されているレコードを、以下に記載する動作により再登録（再配置）する。以下、再配置の対象となったデータベースを再配置対象データベースと表記する。
【００４８】
図７は、レコード再配置処理部２１の処理の流れを表すフローチャートである。まず、レコード再配置処理部２１は、再配置対象データベースにレコードがあれば（ステップＳ７１においてＹＥＳ）、レコードを１件読み出す（ステップＳ７２）。レコード再配置処理部２１は、読み出すレコードを、ランダムに選択してもよいし、レコードの配列に従って順番に選択してもよい。次に、レコード再配置処理部２１は、読み出したレコードの再登録先を決定する（ステップＳ７３）。決定にあたっては、レコード再配置処理部２１は、キーを登録先決定部１６に送信し、登録先決定部１６により決定された登録先を受信してもよい。あるいは、レコード再配置処理部２１は、新たな配置規則を配置規則情報更新部１５から受け取っておき、その新たな配置規則と、読み出したレコードのキーとに基づいて登録先を決定してもよい。そして、レコード再配置処理部２１は、再配置対象データベースに対して、読み出したレコードの削除を要求する（ステップＳ７４）。レコード再配置処理部２１は、再登録先のデータベースに対して、読み出したレコードの登録を要求する（ステップＳ７５）。このようにして、レコード再配置処理部２１は読み出した１件のレコードの再配置を遂行する。レコード再配置処理部２１はこの操作を、再配置対象データベース上のレコードがすべて無くなる（ステップＳ７１においてＮＯ）まで繰り返し実行する。以上により、レコード再配置処理部２１は再配置処理を完了する。
【００４９】
なお、上述の動作において、レコードの再登録先の決定および再登録先への登録の要求は、アクセス制御部１３が行ってもよい。すなわち、レコード再配置処理部２１は、再配置対象データベースから読み出したレコードと、そのレコードの登録を要求するコマンドとを、アクセス制御部１３へ送信することで、ステップＳ７３およびステップＳ７５を省略してもよい。
【００５０】
レコード再配置処理部２１は、再配置処理が実行中であるか否かを示す再配置処理フラグ２２を設定する。再配置処理フラグ２２は、たとえば、“ＯＮ”を示す値で再配置処理が実行されていることを示し、“ＯＦＦ”を示す値で再配置処理が実行されていないことを示す。レコード再配置処理部２１は、たとえば、再配置処理を開始する際に再配置処理フラグ２２の値を“ＯＮ”にし、再配置処理を終了する際に再配置処理フラグ２２の値を“ＯＦＦ”に設定すればよい。アクセス制御部１３は、再配置処理フラグ２２を参照することができる。
【００５１】
＜配置規則情報の変更＞
次に、再配置が行われる場合の配置規則情報の変更について説明する。配置規則情報は、再配置前に登録日を有するレコードの再配置先を配置先特定部１１が特定できるよう、変更されうる。
【００５２】
例として、２０１５年７月１日に、図２に示される配置規則情報のもとで運用していたデータ管理システム２からデータベースＩＩが削除され、それに伴ってレコード再配置処理部２１が再配置処理を行う場合を想定する。
【００５３】
図８は、この例において、再配置の際に変更された配置規則情報の例を表す表である。
【００５４】
クライアント３００からの要求などにより、データ管理システム２から、データベースＩＩが削除されることが決まると、配置規則情報更新部１５が、削除対象のデータベースＩＩがどのキーにも関連づけられない、新たな配置規則Ｄ４を生成する。配置規則Ｄ４は、データベースＩ、データベースＩＩＩ、データベースＩＶを登録先の対象にする配置規則である。配置規則情報更新部１５は、配置規則情報に、２０１５年７月１日以降に登録されるレコードには配置規則Ｄ４が使用されることを示す情報を追加する。レコード再配置処理部２１は、この配置規則Ｄ４に基づいて、削除対象データベースに含まれるレコードを再配置する再配置処理を行う。
【００５５】
さらに、配置規則情報更新部１５は、以前の配置規則であるＤ１からＤ３のうち、データベースＩＩが配置先として特定されうる配置規則を、その配置規則によってデータベースＩＩが配置先として特定されるキーについては、新たな配置規則Ｄ４に基づいて配置先を特定し直す、配置規則へと変更する。たとえば、配置規則Ｄ１は、対象レコードのキーのハッシュ値を２で割った剰余が１である場合は対象レコードをデータベースＩＩに格納されることを示していたが、配置規則情報更新部１５は、配置規則Ｄ１を、対象レコードの配置先を新たな配置規則Ｄ４に基づいて特定し直すよう定められた配置規則である、配置規則Ｄ１’へと変更する。
【００５６】
このような配置規則情報の変更により、再配置処理が実行された後も、配置先特定部１１は再配置先されたレコードの配置先を正しく特定できる。
【００５７】
＜他の動作例＞
上述の例では、データベースの１つが削除される場合の動作を説明したが、レコード再配置処理部２１が再配置処理を行う契機は、データベースが削除される場合に限られない。たとえば、１つのデータベースの記憶領域が少なくなった場合に、データベースを監視する監視部（不図示）等により発行されるコマンドに応じて、レコード再配置処理部２１が、再配置処理を開始してもよい。この際、レコード再配置処理部２１は、再配置処理において使用する配置規則として、現行の配置規則を使用してもよいし、配置規則情報更新部１５等によって新たに生成された配置規則を使用してもよい。
【００５８】
また、レコード再配置処理部２１は、すでに配置規則情報に記録されている、過去に使用されていた配置規則に基づいて再配置処理を行ってもよい。すなわち、レコード再配置処理部２１は、過去に使用されていた配置規則の１つを特定の配置規則として選択し、再配置対象データベースから読み出したレコードの再配置先を、特定の配置規則と当該レコードのキーとに基づいて決定してもよい。この場合、配置規則情報更新部１５等は、新たな配置規則を生成する必要はなく、配置規則情報更新部１５は、配置規則情報における、再配置対象データベースが配置先として特定されうる配置規則の書き換えのみを行えばよい。配置規則情報更新部１５は、各配置規則を、当該配置規則によって前記キーが前記再配置対象に関連づけられる前記レコードの配置先を、再配置処理で使用される配置規則に基づいて特定するよう、変更すればよい。
【００５９】
＜アクセス制御部１３の動作＞
次に、再配置処理が行われる場合のアクセス制御部１３の処理について説明する。再配置処理が行われている最中は、レコードが新たな配置規則によって特定される配置先に未だ格納されていない場合がある。すなわち、アクセス制御部１３がアクセスを要求した先のデータベース内にアクセス対象のレコードがなく、レコードが見つからない場合がある。上述の問題は、アクセス制御部１３を次に説明する動作を実行させることによって、回避される。
【００６０】
図９は、第２の実施形態における、アクセス制御部１３の処理の流れを表すフローチャートである。
【００６１】
アクセス制御部１３がクライアント３００からアクセス対象レコードへのアクセスの要求を受信してから、特定された配置先のデータベースにアクセスを要求するまでの動作は、第１の実施形態における動作（ステップＳ５０１〜Ｓ５０９）と同様である。アクセス制御部１３は、特定された配置先のデータベースにレコードへのアクセスを要求し（ステップＳ８１）、要求した先のデータベースからアクセスに係る処理の結果を受信する。受信した結果が、要求した先のデータベースにアクセス対象のレコードがないことを示す結果であった場合（ステップＳ８２おいて“なかった”）、アクセス制御部１３は、再配置処理フラグ２２の値をチェックする（ステップＳ８３）。再配置処理フラグ２２の値が“ＯＦＦ”であった場合は（ステップＳ８４において“ＯＦＦ”）、アクセス制御部１３は、アクセス対象のレコードがデータベース２０１〜２０４に存在しないことをクライアント３００に通知して（ステップＳ８７）処理を終了する。再配置処理フラグ２２の値が“ＯＮ”であった場合は（ステップＳ８４において“ＯＮ”）、アクセス対象のレコードが再配置対象データベースからまだ再配置されていないことが示唆される。すなわち、処理対象のレコードはまだ再配置対象データベースに格納されている可能性がある。したがって、アクセス制御部１３は、再配置対象データベースに、レコードへのアクセスを要求する（ステップＳ８５）。アクセスを要求した先のデータベースにアクセス対象のレコードがあれば（ステップＳ８６においてＹＥＳ）、アクセス制御部１３は、データベースによるレコードに関する処理の結果をデータベースから受信し、その結果をクライアント３００に送信して（ステップＳ８８）、処理を終了する。アクセスを要求した先のデータベースにアクセス対象のレコードがなかった場合（ステップＳ８６においてＮＯ）は、アクセス制御部１３は、アクセス対象のレコードがデータベース２０１〜２０４に存在しないことをクライアント３００に通知して（ステップＳ８７）、処理を終了する。
【００６２】
＜効果＞
第２の実施形態の効果を述べる。
【００６３】
本実施形態のデータ管理システム２は、データベースにすでに登録されているレコードの再配置を行うことができる。クライアント３００は、再配置の実施以前に登録されたレコードに対してもアクセスを行うことが可能である。また、本実施形態のデータ管理装置２０は、再配置処理が行われている間であっても、レコードへのアクセスを、アクセスを要求するデータベースを絞って行うことができる。すなわち、本実施形態のデータ管理システム２は、全データベースにアクセスを要求する必要がないため、データベースおよびデータ管理システムにおける不必要な処理や通信の量を抑制することができる。
【００６４】
＜＜第３の実施形態＞＞
上述の実施形態においては、データベースのレコードを管理するデータ管理システムを説明したが、本発明のデータ管理システムは上述の実施形態に限らず、レコードを格納することができる格納先を管理するデータ管理システムであればよい。
【００６５】
また、上述の実施形態においては、登録日情報がキーに含まれていたが、登録日情報は必ずしもキーに含まれなくてもよい。その場合、クライアント３００は、レコードへのアクセスを要求する際にはアクセス対象のレコードのキーおよび登録日情報をアクセス制御部１３に送信する。
【００６６】
また、クライアント３００が指定するアクセス対象のレコードのレコード関連情報は、登録日情報でなくともよい。
【００６７】
以下では、本発明の第３の実施形態として、レコード関連情報を用いて処理対象レコードが格納されている格納先を特定するデータ管理装置の例について説明する。
【００６８】
＜構成＞
図１０は、第３の実施形態のデータ管理装置の構成を表すブロック図である。本実施形態のデータ管理装置３０は、配置先特定部１１および配置規則特定部１２を備える。
【００６９】
図１１は、本実施形態のデータ管理システム３全体の構成を表すブロック図である。本実施形態のデータ管理システム３において、データ管理装置３０は、クライアント３００、および複数の格納先２１１〜２１４に通信可能に接続される。
【００７０】
格納先２１１〜２１４はレコードを格納する。格納先は、たとえば、データベースとしての機能を有するサーバであってもよいし、１つの記憶装置内に区分されて存在する記憶領域であってもよい。格納先の数は４つに限られない。
【００７１】
以下、本実施形態では、あるレコードについてそのレコードが配置される格納先を「配置先」と表記し、レコードが登録される場合の配置先を特に「登録先」と表記する。
【００７２】
配置規則特定部１２は配置規則情報記憶部１４に記憶される配置規則情報を用いて、処理の対象であるレコード（対象レコード）の登録日情報をもとに、対象レコードの登録先の決定に使用された配置規則を特定する。詳細は後述する。
【００７３】
配置先特定部１１は、配置規則特定部１２により特定された配置規則と、対象レコードのキーとに基づいて、対象レコードの配置先を特定する。詳細は後述する。
【００７４】
図１２は、第３の実施形態に係る配置規則情報の例を表す表である。配置規則情報は、レコードに関連するレコード関連情報を、配置規則のいずれかに関連づける。レコード関連情報は、クライアント３００が指定しうる情報であって、配置規則情報に基づいて、当該レコードに対して使用される規則を特定できる情報である。たとえば、レコード関連情報は、クライアントがレコードを取得した日付、場所、レコードを取得した端末の種類、あるいはＩＤの文字列の長さでもよい。配置規則は、レコード関連情報をある基準でいくつかに区分し、それぞれの区分に関連づけられて定義される。本実施形態では、レコード関連情報はある基準に従ってタイプＡ、Ｂ、およびＣに区分され、それぞれの区分について、レコードの登録先の決定に使用される配置規則としてＤ１，Ｄ２，およびＤ３が定義される。このように、レコード関連情報とそれぞれの配置規則とが、関連づけられて配置規則情報に記録される。
【００７５】
配置規則は、レコードのキーを格納先のいずれかに関連づける規則である。配置規則は、例えば、キーに対してハッシュ関数を適用することで得られる値（ハッシュ値）に関連づけられる格納先を割り当てる規則である。図１２に示されるように、配置規則は、特定の格納先にレコードが登録されやすい配置規則でもよいし、レコードの登録先として割り当てられない格納先が存在する配置規則でもよい。配置規則は、レコードのタイプが増加した等の契機に応じて、クライアント３００や図示しない管理部等によって更新されてよい。配置規則が更新された場合は、図示しない更新部が、新たな配置規則およびその配置規則とレコード関連情報との関連づけを配置規則情報に反映させ、配置規則情報を最新に保つ。
【００７６】
＜動作＞
次に、第３の実施形態に係るデータ管理装置３０の動作を説明する。
【００７７】
クライアントから新たなレコードの登録を要求するコマンドを受信し、そのレコードを格納先に登録する場合における、データ管理装置３０によるレコードの登録先を決定する流れを説明する。
【００７８】
本実施形態では、登録対象のレコードの登録先の決定を、配置先特定部１１が行う。配置先特定部１１は、クライアント３００により指定される、登録の対象である対象レコードのキーおよびレコード関連情報を受け取る。ただし、レコード関連情報はキーに含まれていてもよい。まず、配置規則特定部１２が、配置規則情報と、受け取ったレコード関連情報とに基づいて、登録対象のレコードに使用する配置規則を決定する。次に、配置先特定部１１は、配置規則特定部１２が決定した配置規則と、レコードのキーとに基づいて、登録対象のレコードの登録先である格納先を決定する。
【００７９】
クライアントから格納されたレコードへのアクセスを要求するコマンドを受信した場合における、データ管理装置３０によるアクセス対象のレコードの配置先の特定の流れを説明する。
【００８０】
配置先特定部１１は、クライアント３００により指定される、登録の対象である対象レコードのキーおよびレコード関連情報を受け取る。ただし、レコード関連情報はキーに含まれていてもよい。まず、配置規則特定部１２が、配置規則情報に基づいて、受け取ったレコード関連情報に関連づけられる配置規則を特定する。特定した配置規則は、アクセス対象のレコードの登録先の決定に使用された配置規則である。次に、配置先特定部１１は、配置規則特定部１２が特定した配置規則と、レコードのキーとに基づいて、アクセス対象のレコードの配置先を特定する。アクセス対象のレコードの登録先の決定に使用された配置規則を使用するため、特定した配置先は、アクセス対象のレコードが配置されている配置先である。以上により、データ管理装置３０はアクセス対象のレコードの配置先を特定する。
【００８１】
＜効果＞
本実施形態のデータ管理装置３０は、配置規則の更新があった場合であっても、処理対象のレコードの配置先を予め特定できるため、レコードにアクセスするために全ての格納先と通信を行う必要がなく、処理や通信の量を抑制できる。
【００８２】
＜＜他の実施形態＞＞
以上に説明した実施形態においては、クライアント３００はレコード関連情報として当該レコードに対して使用された配置規則を一意に特定できる情報を指定していたが、クライアント３００が指定する情報は配置規則を一意に特定できる情報に限定されない。たとえば、レコード関連情報が登録日時に関する情報である場合に、クライアント３００は登録日として考えられる範囲を指定してもよい。たとえば、レコード関連情報がレコードの取得地点に関する情報である場合に、クライアント３００は取得地点として考えられる候補を複数指定してもよい。この場合、配置規則特定部１２はその範囲または候補に属するレコードの登録先の決定に使用された可能性のある配置規則を特定し、特定したすべての配置規則を配置先特定部１１に送信すればよい。配置先特定部１１は、配置規則を複数受信した場合は、それぞれの配置規則に基づいてキーから導出した配置先の候補を、アクセス制御部１３に送信すればよい。
【００８３】
また、以上に説明した実施形態においては、クライアント３００はキーを指定していたが、クライアント３００はキーの指定を部分的に、または曖昧な条件のもとで行った場合でも、条件によっては配置先の候補を絞ることができる。キーの指定が部分的、または曖昧な条件のもとであった場合は、配置先特定部１１は、配置規則特定部１２から受信した配置規則から、配置先として可能性のある格納先をすべてアクセス制御部１３に送信すればよい。
【００８４】
本発明の各実施形態において、各装置の各構成要素は、機能単位のブロックを示している。各装置の各構成要素の一部または全部は、例えば図１３に示すようなコンピュータ１３００とプログラムとの可能な組み合わせにより実現される。コンピュータ１３００は、一例として、以下のような構成を含む。
【００８５】
・ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３０１
・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３０２
・ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３０３
・ＲＡＭ１３０３にロードされるプログラム１３０４Ａおよび各種記憶情報１３０４Ｂ
・プログラム１３０４Ａおよび各種記憶情報１３０４Ｂを格納する記憶装置１３０５
・記録媒体１３０６の読み書きを行うドライブ装置１３０７
・通信ネットワーク１３０９と接続する通信インタフェース１３０８
・データの入出力を行う入出力インタフェース１３１０
・各構成要素を接続するバス１３１１
各実施形態における各装置の各構成要素は、これらの機能を実現するプログラム１３０４ＡをＣＰＵ１３０１が取得して実行することで実現される。各装置の各構成要素の機能を実現するプログラム１３０４Ａは、たとえば、予め記憶装置１３０５やＲＡＭ１３０３に格納されており、必要に応じてＣＰＵ１３０１が読み出す。なお、プログラム１３０４Ａは、通信ネットワーク１３０９を介してＣＰＵ１３０１に供給されてもよいし、予め記録媒体１３０６に格納されており、ドライブ装置１３０７が当該プログラムを読み出してＣＰＵ１３０１に供給してもよい。
【００８６】
各装置の実現方法には、様々な変形例がある。たとえば、各装置は、構成要素毎にそれぞれ別個のコンピュータ１３００とプログラムとの可能な組み合わせにより実現されてもよい。また、各装置が備える複数の構成要素が、一つのコンピュータ１３００とプログラムとの可能な組み合わせにより実現されてもよい。
【００８７】
また、各装置の各構成要素の一部または全部は、その他の汎用または専用の回路、コンピュータ等やこれらの組み合わせによって実現される。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。
【００８８】
各装置の各構成要素の一部または全部は、図１４のように、上述した回路等とプログラムとの組み合わせによって実現されてもよい。
【００８９】
図１４は、第２の実施形態のデータ管理装置２０の各構成要素を回路で構成した場合を表すブロック図である。第２の実施形態のデータ管理装置２０において、配置先特定回路１４１１は配置先特定部１１として機能する。配置規則特定回路１４１２は配置規則特定部１２として機能する。アクセス制御回路１４１３はアクセス制御部１３として機能する。配置規則情報記憶回路１４１４は配置規則情報記憶部１４として機能する。配置規則情報更新回路１４１５は配置規則情報更新部１５として機能する。登録先決定回路１４１６は登録先決定部１６として機能する。レコード再配置処理回路１４２１はレコード再配置処理部２１として機能する。
【００９０】
各装置の各構成要素の一部または全部が複数のコンピュータや回路等により実現される場合には、複数のコンピュータや回路等は、集中配置されてもよいし、分散配置されてもよい。たとえば、コンピュータや回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
【００９１】
本願発明は以上に説明した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００９２】
上記実施形態の一部または全部は以下の付記のようにも記載され得るが、以下には限られない。
【００９３】
＜＜付記＞＞
［付記１］
レコードのキーを複数の格納先のいずれかに関連づける配置規則のいずれかに、前記レコードに関連する情報であるレコード関連情報を関連づける配置規則情報を用いて、対象レコードの前記レコード関連情報に関連づけられる前記配置規則を特定する配置規則特定手段と、
前記配置規則特定手段が特定した前記配置規則と、前記対象レコードのキーとに基づいて、前記対象レコードの配置先である前記格納先を特定する配置先特定手段と、
を備えるデータ管理装置。
［付記２］
前記配置規則情報は、前記配置規則のそれぞれが、前記レコードが登録される先である登録先の決定に使用される期間の情報を含み、
前記レコード関連情報は、前記レコードが前記格納先に登録された日時を示す情報を含み、
前記配置規則特定手段は、前記対象レコードの前記日時を示す情報と、前記配置規則情報とを用いて、当該レコードの登録先の決定に使用された前記配置規則を特定する、
付記１に記載のデータ管理装置。
［付記３］
レコードの登録先の決定に使用される新たな前記配置規則と、前記レコード関連情報と、の関連づけを行い、当該関連づけを前記配置規則情報に反映させる、配置規則情報更新手段
を備える付記１または２に記載のデータ管理装置。
［付記４］
前記配置規則情報更新手段は、前記格納先の状態を検知し、新たな格納先が前記複数の格納先の１つとして追加されることを検知した場合は、前記新たな格納先に関連づけられるキーが存在する新たな前記配置規則を生成する、
付記３に記載のデータ管理装置。
［付記５］
登録する処理の対象であるレコードのキーと、当該レコードの前記レコード関連情報に関連づけられる前記配置規則とに基づいて、当該レコードの登録先となる前記格納先を決定する登録先決定手段と、
レコードの管理に関するコマンドおよび当該レコードのキーならびに前記レコード関連情報をクライアントから受信し、当該コマンドがレコードの前記格納先への登録を要求するコマンドである場合は前記登録先決定手段によって決定される前記格納先に当該レコードの登録を要求し、当該コマンドが前記格納先に配置されたレコードへのアクセスを要求するコマンドである場合は前記配置先特定手段によって特定される前記格納先に当該レコードへのアクセスを要求する、アクセス制御手段と、
を備える付記１から４のいずれか一項に記載のデータ管理装置。
［付記６］
前記格納先のいずれかである再配置対象に含まれる前記レコードを、特定の前記配置規則に基づいて、前記格納先に再配置する再配置処理を行うレコード再配置処理手段を備え、
前記配置規則情報更新手段は、前記配置規則を、当該配置規則によって前記再配置対象に関連づけられる前記キーの配置先を前記特定の配置規則に基づいて特定するよう変更する、
付記３から５のいずれか一項に記載のデータ管理装置。
［付記７］
前記配置規則情報更新手段は、
前記レコードが格納される前記格納先の１つをデータ管理システムから削除するコマンドをクライアントから受信した場合に、削除される格納先がどのキーにも関連づけられない前記配置規則を前記特定の配置規則として選択し、
前記レコード再配置処理手段は、前記削除される格納先に含まれる前記レコードを、前記特定の配置規則に基づいて前記格納先に再配置する前記再配置処理を行う、
付記６に記載のデータ管理装置。
［付記８］
登録する処理の対象であるレコードのキーと、当該レコードの前記レコード関連情報に関連づけられる前記配置規則とに基づいて、当該レコードの登録先となる前記格納先を決定する登録先決定手段と、
レコードへのアクセスを要求するコマンドおよび当該レコードのキーならびに前記レコード関連情報をクライアントから受信し、当該キーおよび当該レコード関連情報に基づいて前記配置先特定手段によって特定された前記格納先に、当該レコードへのアクセスを要求し、当該格納先による当該レコードに関する処理の結果を当該格納先から受信し、当該格納先に当該レコードがないことを示す前記結果を受信した場合に、前記再配置対象に当該レコードへのアクセスを要求する、アクセス制御手段と、
を備える、付記６または７に記載のデータ管理装置。
［付記９］
データ管理装置が、
レコードのキーを複数の格納先のいずれかに関連づける配置規則のいずれかに、前記レコードに関連する情報であるレコード関連情報を関連づける配置規則情報を用いて、対象レコードの前記レコード関連情報に関連づけられる前記配置規則を特定し、
特定された前記配置規則と、前記対象レコードのキーとに基づいて、前記対象レコードの配置先である前記格納先を特定する、
データ管理方法。
［付記１０］
前記配置規則情報は、前記配置規則のそれぞれが、前記レコードが登録される先である登録先の決定に使用される期間の情報を含み、
前記レコード関連情報は、前記レコードが前記格納先に登録された日時を示す情報を含み、
前記データ管理装置が、
前記対象レコードの前記日時を示す情報と、前記配置規則情報とを用いて、当該レコードの登録先の決定に使用された前記配置規則を特定する、
付記９に記載のデータ管理方法。
［付記１１］
前記データ管理装置が、
レコードの登録先の決定に使用される新たな前記配置規則と、前記レコード関連情報と、の関連づけを行い、当該関連づけを前記配置規則情報に反映させる、
付記９または１０に記載のデータ管理方法。
［付記１２］
前記格納先の状態を検知し、新たな格納先が前記複数の格納先の１つとして追加されることを検知した場合は、前記新たな格納先に関連づけられるキーが存在する新たな前記配置規則を生成する、
付記１１に記載のデータ管理方法。
［付記１３］
前記データ管理装置が、
レコードの管理に関するコマンドおよび当該レコードのキーならびに前記レコード関連情報をクライアントから受信し、当該コマンドがレコードの前記格納先への登録を要求するコマンドである場合は、当該レコードの前記レコード関連情報に関連づけられる前記配置規則と前記キーとに基づいて、当該レコードの登録先となる前記格納先を決定し、決定された登録先に当該レコードの登録を要求し、当該コマンドが前記格納先に配置されたレコードへのアクセスを要求するコマンドである場合は、前記レコード関連情報から特定される前記配置規則と前記配置規則情報とに基づいて特定される前記格納先に当該レコードへのアクセスを要求する、
付記９から１２のいずれか一項に記載のデータ管理方法。
［付記１４］
前記データ管理装置が、
前記格納先のいずれかである再配置対象に含まれる前記レコードを、特定の前記配置規則に基づいて、前記格納先に再配置する再配置処理を行い、
前記配置規則を、当該配置規則によって前記キーが前記再配置対象に関連づけられる前記レコードの配置先を前記特定の配置規則に基づいて特定するよう変更する、
付記１１または１２に記載のデータ管理方法。
［付記１５］
前記データ管理装置が、
前記レコードが格納される前記格納先の１つをデータ管理システムから削除するコマンドをクライアントから受信した場合に、削除される格納先がどのキーにも関連づけられない前記配置規則を前記特定の配置規則として選択し、
前記削除される格納先に含まれる前記レコードを、前記特定の配置規則に基づいて前記格納先に再配置する前記再配置処理を行う、
付記１４に記載のデータ管理方法。
［付記１６］
前記データ管理装置が、
レコードへのアクセスを要求するコマンドおよび当該レコードのキーならびに前記レコード関連情報をクライアントから受信し、当該キーおよび当該レコード関連情報に基づいて特定された前記格納先に当該レコードのアクセスを要求し、当該格納先による当該レコードに関する処理の結果を当該格納先から受信し、当該格納先に当該レコードがないことを示す前記結果を受信した場合に、前記再配置対象に当該レコードへのアクセスを要求する、
付記１４または１５に記載のデータ管理方法。
［付記１７］
コンピュータに、
レコードのキーを複数の格納先のいずれかに関連づける配置規則のいずれかに、前記レコードに関連する情報であるレコード関連情報を関連づける配置規則情報を用いて、対象レコードの前記レコード関連情報に関連づけられる前記配置規則を特定する配置規則特定処理と、
特定された前記配置規則と、前記対象レコードのキーとに基づいて、前記対象レコードの配置先である前記格納先を特定する配置先特定処理と、
を実行させるプログラム。
［付記１８］
前記配置規則情報は、前記配置規則のそれぞれが、前記レコードが登録される先である登録先の決定に使用される期間の情報を含み、
前記レコード関連情報は、前記レコードが前記格納先に登録された日時を示す情報を含み、
前記配置規則特定処理は、前記対象レコードの前記日時を示す情報と、前記配置規則情報とを用いて、当該レコードの登録先の決定に使用された前記配置規則を特定する、
付記１７に記載のプログラム。
［付記１９］
前記コンピュータに、
レコードの登録先の決定に使用される新たな前記配置規則と、前記レコード関連情報との関連付けを行い、当該関連づけを前記配置規則情報に反映させる、配置規則情報更新処理
を実行させる付記１７または１８に記載のプログラム。
［付記２０］
前記配置規則情報更新処理は、前記格納先の状態を検知し、新たな格納先が前記複数の格納先の１つとして追加されることを検知した場合は、前記新たな格納先に関連づけられるキーが存在する新たな前記配置規則を生成する、
新たな前記配置規則を生成する、
付記１９に記載のプログラム。
［付記２１］
前記コンピュータに、
登録する処理の対象であるレコードのキーと、当該レコードの前記レコード関連情報に関連づけられる前記配置規則とに基づいて、当該レコードの登録先となる前記格納先を決定する登録先決定処理と、
レコードの管理に関するコマンドおよび当該レコードのキーならびに前記レコード関連情報をクライアントから受信し、当該コマンドがレコードの前記格納先への登録を要求するコマンドである場合は前記登録先決定処理によって決定される前記格納先に当該レコードの登録を要求し、当該コマンドが前記格納先に配置されたレコードへのアクセスを要求するコマンドである場合は前記配置先特定処理によって特定される前記格納先に当該レコードへのアクセスを要求する、アクセス制御処理と、
を実行させる付記１７から２０のいずれか一項に記載のプログラム。
［付記２２］
前記コンピュータに、
前記格納先のいずれかである再配置対象に含まれる前記レコードを、特定の前記配置規則に基づいて、前記格納先に再配置するレコード再配置処理と、
を実行させ、
前記配置規則情報更新処理は、前記配置規則を、当該配置規則によって前記キーが前記再配置対象に関連づけられる前記レコードの配置先を前記特定の配置規則に基づいて特定するよう変更する、
付記１９または２０に記載のプログラム。
［付記２３］
前記配置規則情報更新処理は、
前記レコードが格納される前記格納先の１つをデータ管理システムから削除するコマンドをクライアントから受信した場合に、削除される格納先がどのキーにも関連づけられない前記配置規則を前記特定の配置規則として選択し、
前記レコード再配置処理は、前記削除される格納先に含まれる前記レコードを、前記特定の配置規則に基づいて前記格納先に再配置する、
付記２２に記載のデータ管理装置。
［付記２４］
前記コンピュータに、
レコードへのアクセスを要求するコマンドおよび当該レコードのキーならびに前記レコード関連情報をクライアントから受信し、当該キーおよび当該レコード関連情報に基づいて前記配置先特定処理によって特定された前記格納先に、当該レコードへのアクセスを要求し、当該格納先による当該レコードに関する処理の結果を当該格納先から受信し、当該格納先に当該レコードがないことを示す前記結果を受信した場合に、前記再配置対象に当該レコードへのアクセスを要求する、アクセス制御処理
を実行させる、付記２２または２３に記載のプログラム。
【符号の説明】
【００９４】
１    データ管理システム
２    データ管理システム
３    データ管理システム
１０    データ管理装置
１１    配置先特定部
１２    配置規則特定部
１３    アクセス制御部
１４    配置規則情報記憶部
１５    配置規則情報更新部
１６    登録先決定部
２０    データ管理装置
２１    レコード再配置処理部
２２    再配置処理フラグ
３０    データ管理装置
２０１〜２０４    データベース
２１１〜２１４    格納先
３００    クライアント
１３００    コンピュータ
１３０１    ＣＰＵ
１３０２    ＲＯＭ
１３０３    ＲＡＭ
１３０４Ａ    プログラム
１３０４Ｂ    各種記憶情報
１３０５    記憶装置
１３０６    記録媒体
１３０７    ドライブ装置
１３０８    通信インタフェース
１３０９    通信ネットワーク
１３１０    入出力インタフェース
１３１１    バス
１４１１    配置先特定回路
１４１２    配置規則特定回路
１４１３    アクセス制御回路
１４１４    配置規則情報記憶回路
１４１５    配置規則情報更新回路
１４１６    登録先決定回路
１４２１    レコード再配置処理回路
【図１】
0006657706.tif 000002
【図２】
0006657706.tif 000003
【図３】
0006657706.tif 000004
【図４】
0006657706.tif 000005
【図５】
0006657706.tif 000006
【図６】
0006657706.tif 000007
【図７】
0006657706.tif 000008
【図８】
0006657706.tif 000009
【図９】
0006657706.tif 000010
【図１０】
0006657706.tif 000011
【図１１】
0006657706.tif 000012
【図１２】
0006657706.tif 000013
【図１３】
0006657706.tif 000014
【図１４】
0006657706.tif 000015