JP2006343928A - 情報処理装置およびプログラム - Google Patents

情報処理装置およびプログラム Download PDF

Info

Publication number
JP2006343928A
JP2006343928A JP2005167948A JP2005167948A JP2006343928A JP 2006343928 A JP2006343928 A JP 2006343928A JP 2005167948 A JP2005167948 A JP 2005167948A JP 2005167948 A JP2005167948 A JP 2005167948A JP 2006343928 A JP2006343928 A JP 2006343928A
Authority
JP
Japan
Prior art keywords
information
access
storage unit
unit
access information
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.)
Pending
Application number
JP2005167948A
Other languages
English (en)
Inventor
Osamu Kitatani
修 北谷
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005167948A priority Critical patent/JP2006343928A/ja
Publication of JP2006343928A publication Critical patent/JP2006343928A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】従来の複数の記憶部を備えた情報処理装置においては、テーブルを作成する際に、アクセス時の性能の低下が抑えられるよう最適な記憶部を選択できないという課題があった。
【解決手段】二次記憶媒体である複数の記憶部101と、複数の記憶部101のそれぞれに対するアクセスに関する情報であるアクセス情報を蓄積するアクセス情報蓄積部109と、テーブルを生成する指示を受け付ける入力受付部102と、アクセス情報に基づいて、テーブルを配置する記憶部101を決定するテーブル配置決定部110と、テーブル配置決定部110が決定した記憶部101にテーブルを生成するテーブル生成部111とを具備する。
【選択図】図1

Description

本発明は、データベース等を管理するための情報処理装置等に関するものである。
従来から、データベースを管理する情報処理装置として、複数のディスクを有する情報処理装置があった。例えば、複数のディスクと、各ディスクに接続されたプロセッサとを備えた情報処理装置において、各プロセッサに対する処理負荷を分散させるために、複数のプロセッサのそれぞれに対して決められたデータを予め個別に分散配置しておくものがある。(例えば、特許文献1参照)。
特開平9−218858号公報(第1頁、第1図等)
一方、従来の、データベースを管理するための複数のディスク等の記憶部を有する情報処理装置においては、データベースのテーブル等を新規に作成する場合に、その作成先の記憶部として、複数の記憶部を順番に選択することが多く、アクセス時における性能の低下が抑えられるように複数の記憶部のうちの最適な記憶部を選択する手段等がなかった。
このため、例えば、一つのディスクに、所定の時間帯におけるアクセス数の多いテーブル等が作成された場合等には、この所定の時間帯に、このディスクに対するアクセスが集中することにより、アクセス速度が遅くなる等の性能の大幅な低下がおこり、データベースの処理速度が低下してしまうという課題があった。
本第一の発明の情報処理装置は、二次記憶媒体である複数の記憶部と、前記複数の記憶部のそれぞれに対するアクセスに関する情報であるアクセス情報を蓄積するアクセス情報蓄積部と、テーブルを生成する指示を受け付ける入力受付部と、前記アクセス情報に基づいて、テーブルを配置する記憶部を決定するテーブル配置決定部と、前記テーブル配置決定部が決定した記憶部にテーブルを生成するテーブル生成部とを具備する情報処理装置である。
かかる構成により、テーブル等を新規に作成する記憶部として、アクセス時の性能の低下が抑えられるような最適な記憶部を、複数の記憶部から選択できる。これにより、処理が高速な情報処理装置を提供可能となる。
また、本第二の発明の情報処理装置は、第一の発明に対して、前記入力受付部は、生成するテーブルについての使用状況に関する情報である使用情報を、さらに受け付け、前記テーブル配置決定部は、前記使用情報と、前記アクセス情報に基づいて、テーブルを配置する記憶部を決定する情報処理装置である。
かかる構成により、新たに作成するテーブルに対するアクセスも考慮して、より最適な記憶部を、複数の記憶部から選択できる。
また、本第三の発明の情報処理装置は、第一、第二いずれかの発明に対して、前記アクセス情報は、アクセスされた時間に関する情報を有しており、前記テーブル配置決定部は、時間帯ごとのアクセスの状況に基づいてテーブルを配置する記憶部を決定する情報処理装置である。
かかる構成により、時間帯別のアクセス数も考慮して、より最適な記憶部を、複数の記憶部から選択できる。
本発明による情報処理装置によれば、テーブル等を新規に作成する記憶部として、アクセス時の性能の低下が抑えられるような最適な記憶部を、複数の記憶部から選択可能な、データベースの処理が高速な情報処理装置を得ることができる。
以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
図1は、本実施の形態における情報処理装置のブロック図である。
情報処理装置は、複数の記憶部101、入力受付部102、テーブル生成判定部103、使用情報取得部104、テーブルアクセス部105、データ出力部106、アクセス情報取得部107、アクセス情報蓄積部108、アクセス情報記憶部109、テーブル配置決定部110、テーブル生成部111を具備する。
複数の記憶部101は、それぞれ、ハードディスクや、DVD等の光ディスクや、フロッピー(登録商標)ディスク等の不揮発性の2次記憶媒体により構成される。各記憶部101には、データベースを構成するテーブルが1以上格納可能である。ここでは、例として、情報処理装置が3つの記憶部101(1)〜101(3)を備えている場合を例として示しているが、記憶部101の数は2以上であればよい。ここで述べるデータベースは主として、リレーショナルデータベース等であるが、オブジェクト指向データベース等であってもよい。例えば、オブジェクト指向データベースの場合、クラスやオブジェクトがテーブルに相当する。各記憶部101に格納される各テーブルは、例えば、テーブル名や、属性、属性値のタイプ、罫線の種類等により定義される。各テーブルに格納されるデータのデータ構造等は問わない。記憶部101は、アクセス可能に接続されていれば、テーブルアクセス部105や、テーブル生成部111等の他の処理部とは、SCSI,IDE,IEEE1384等、どのように接続されているかは問わない。また、各記憶部101は、他の処理部等に対して、外付けされた記憶媒体でも内蔵された記憶媒体でも良い。
入力受付部102は、新たなテーブルを生成する指示を含む入力を受け付ける。入力受付部102が受け付ける入力は、情報処理装置に対して処理を実行させるためのコマンドや、そのコマンドの実行に必要な情報等である。例えば、各記憶部101が記憶しているテーブルを選択したり、削除したり、テーブルに格納されているデータを更新したりするコマンド等や、テーブルに格納するデータ等である。また、入力受付部102が受け付ける新たなテーブルを作成する指示は、例えば、記憶部101のいずれかに新たなテーブルを作成するコマンドである。また、入力受付部102は、テーブルを作成するコマンドとともに、この作成するテーブルのテーブル名や、属性名や、その属性のタイプ、例えば、属性値が数であるか文字列かといったことを示す情報等を受け付けてもよい。また、本実施の形態においては、入力受付部102が、生成するテーブルについての使用状況に関する情報である使用情報を、さらに受け付ける場合について説明する。使用状況に関する情報とは、例えば、新たに作成したテーブルがどのような日時や時間帯に利用されるかといったアクセスが行われる時間に関する情報や、時間帯別のアクセス数や、アクセスによってテーブルから取り出されるレコード数やデータ量や、時間帯別の応答時間等の、新たに生成するテーブルの使用状況を予測した情報、あるいは、このような使用状況を設定する情報等である。応答時間とは、例えば、テーブルに対してアクセスする指示があってから
、実際にテーブルに対してアクセスを行ってデータを取得したりするまでの時間等である。使用情報のデータ構造は問わない。入力受付部102の受け付ける入力は、テンキーやキーボードやマウスやメニュー画面による入力等で、入力手段はどのようなものであってもよい。入力受付部102は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
テーブル生成判定部103は、入力受付部102の受け付けた入力に、テーブルを生成する指示が含まれるか否かを判定する。テーブルを生成する指示とは、例えば、上述したように、テーブルを生成するコマンド(例えばcreate table、table name等)である。テーブル生成判定部103は、通常、MPUやメモリ等から実現され得る。テーブル生成判定部103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
使用情報取得部104は、入力受付部102の受け付けた入力から、上述した使用情報を取得する。使用情報取得部104は通常、MPUやメモリ等から実現され得る。使用情報取得部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
テーブルアクセス部105は、入力受付部102の受け付けた入力に、複数の記憶媒体101のいずれかに記憶されているテーブルに対してアクセスが必要な指示が含まれるか否かを判定する。そして、アクセスが必要な指示が含まれている場合、この指示に従って、テーブルに対してアクセスを行う。アクセスとは、データ等の読み出し、または書き込み、あるいは読み出しおよび書き込みである。アクセスが必要な指示とは、例えば、上述したように、テーブルにデータを蓄積したり、テーブルに蓄積されているレコードやデータを取得したり、レコードを削除したり、テーブルを削除したりするコマンドである。テーブルアクセス部105は、通常、MPUやメモリ等から実現され得る。テーブルアクセス部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
データ出力部106は、テーブルアクセス部105が、複数の記憶部101のいずれかにアクセスした結果得られたデータを出力する。出力とは、ディスプレイへの表示、プリンターによる印刷、外部の装置への送信等を含む概念である。データ出力部106は、ディスプレイやプリンターや通信手段等の出力デバイスを含むと考えても含まないと考えても良い。データ出力部106は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
アクセス情報取得部107は、複数の記憶部101のそれぞれに対する、テーブルアクセス部105により行われたアクセスに関する情報であるアクセス情報を取得する。アクセスに関する情報とは、例えば、各記憶部101ごとや各記憶部101が記憶している各テーブルごとの、アクセスを取得する指示を受け付けた日時や、アクセスが行われた日時や、このアクセスによりデータが取得された日時や、どのようなアクセスが行われたかを示すアクセスの種類や、アクセスにより取得あるは蓄積されたレコードやデータの量等である。また、これらのデータに基づいて算出等を行うことにより得られる、各記憶部101ごとや各記憶部101が記憶している各テーブルごとの、時間帯別の、アクセス数や、取得あるいは蓄積されたレコードやデータの総量や、平均値、アクセス指示の受け付けから、レコードやデータの取得等が完了するまでの応答時間であってもよい。例えば、いわゆるアクセスログ情報もこのようなアクセス情報に含まれる。また、アクセスに関する情報は、各記憶部101ごとや各記憶部101が記憶している各テーブルごとの、アクセスの総数や、取得や蓄積が行われたレコードやデータの総量であってもよい。本実施の形態
においては特に、アクセスされた時間に関する情報を有している場合について説明する。アクセスされた時間に関する情報とは、アクセスに関する情報のうち、日時等の時間の情報を有するもののことである。アクセス情報取得部107は、通常、MPUやメモリ等から実現され得る。アクセス情報取得部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
アクセス情報蓄積部108は、アクセス情報取得部107が取得した、テーブルアクセス部105により行われたアクセスに関する情報であるアクセス情報を取得する。具体的には、アクセス情報蓄積部108は、アクセス情報を、アクセス情報記憶部109に蓄積する。アクセス情報蓄積部108は、通常、MPUやメモリ等から実現され得る。アクセス情報蓄積部108の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
アクセス情報記憶部109は、アクセス情報蓄積部108により蓄積されたアクセス情報を記憶する。アクセス情報記憶部109は、ハードディスクや書き換え不可の光ディスク等を含む不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。アクセス情報はこの記録媒体等により記憶される。
テーブル配置決定部110は、アクセス情報記憶部109に記憶されているアクセス情報に基づいて、新たにテーブルを配置する記憶部101を、複数の記憶部101の中から決定する。テーブル配置決定部110が、アクセス情報に基づいてどのように新たにテーブルを配置する記憶部101を決定するかは問わない。例えば、テーブル配置決定部110は、アクセス情報に基づいて得られる、時間帯ごとのアクセスの状況に基づいて、新たにテーブルを配置する記憶部101を決定する。具体的には、一の記憶部101のアクセス数の最も多い時間帯のアクセス数と、他の記憶部101のアクセス数の最も多い時間帯のアクセス数とを比較して、そのアクセス数が最も小さいほうの記憶部101を、テーブルを配置する記憶部101に決定してもよい。また、時間帯ごとの応答時間の平均値から、全ての時間帯における応答時間の平均値を求め、その平均値が最も小さい記憶部101を、テーブルを配置する記憶部101に決定してもよい。また、時間帯ではなく、過去のアクセスの総数が最も少ない各記憶部101を、テーブルを配置する記憶部101に決定してもよい。また、これらの判断結果を組み合わせて記憶部101を決定するようにしてもよい。さらに、テーブル配置決定部110は、アクセス情報に加えて、使用情報取得部104が取得した使用情報に基づいてテーブルを配置する記憶部101を決定するようにしてもよい。具体的には、テーブル配置決定部110は、アクセス情報に基づいて得られる、時間帯ごとのアクセスの状況と、使用情報に基づいて得られる新たに作成されるテーブルの時間帯ごとの使用状況とに基づいて、新たにテーブルを配置する記憶部101を決定する。例えば、テーブル配置決定部110は、各記憶部101のそれぞれについて、アクセス情報に基づいて得られる時間帯ごとのアクセス数と、使用情報に基づいて得られる時間帯ごとのアクセス数とから、新たなテーブルが各記憶部101に生成された場合に予想される各時間帯ごとのアクセス数を、例えば、アクセス数同士を加算する等により算出する。そして、一の記憶部101について算出した各時間帯ごとのアクセス数の最大値と、他の記憶部101について算出した各時間帯ごとのアクセス数の最大値とを比較し、アクセス数の最大値が最も小さい記憶部101を、テーブルを配置する記憶部101に決定するようにしてもよい。なお、アクセス情報記憶部109に格納されているアクセス情報と、使用情報取得部104が取得した使用情報に基づいてテーブルを配置する記憶部101を決定する処理の具体例は後述する。なお、テーブル配置決定部110は、アクセス情報記憶部109に記憶されているアクセス情報をそのまま利用してもよいし、必要に応じて、テーブル配置決定部110が、アクセス情報記憶部109に記憶されているアクセス
情報に対して、演算等の処理を行うことにより新たなアクセス情報を得て、これを用いるようにしてもよい。例えば、アクセス情報記憶部109に記憶されているアクセス情報が、各記憶部101に対して行われた複数のアクセスについての、それぞれの時刻と、アクセスした記憶部101の情報のみを有したものである場合、これらのアクセス時刻の情報から、アクセス情報記憶部109が時間帯別のアクセス数の情報を演算等により求め、この新たに得られた時間帯別のアクセス数の情報を用いて、テーブルを配置する記憶部101を決定するようにしてもよい。また、同様に、テーブル配置決定部110は、使用情報取得部104が取得した使用情報をそのまま利用してもよいし、必要に応じて、テーブル配置決定部110が、使用情報取得部104が取得した使用情報に対して、演算等の処理を行うことにより新たなアクセス情報を得て、これを用いるようにしてもよい。テーブル配置決定部110は、通常、MPUやメモリ等から実現され得る。テーブル配置決定部110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
テーブル生成部111は、テーブル配置決定部110が決定した記憶部101にテーブルを生成する。具体的には、テーブル生成部111は、入力受付部102が受け付けた入力に含まれるテーブルを生成するコマンドと、生成するテーブル名や、そのテーブルを構成する属性名や、属性のタイプ等の情報に基づいて、新たなテーブルに関する情報を記憶部101に書き込む。このようなテーブルを生成する技術は、公知技術であるので、詳細な説明は省略する。テーブル生成部111は、通常、MPUやメモリ等から実現され得る。テーブル生成部111の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、情報処理装置の動作について図2のフローチャートを用いて説明する。
(ステップS201)入力受付部102は、入力を受け付けたか否かを判定する。受け付けた場合、ステップS202へ進み、受け付けていない場合、ステップS201に戻る。
(ステップS202)テーブル生成判定部103は、ステップS201において受け付けた入力が、テーブルを生成する指示であるか否かを判定する。テーブルを生成する指示である場合、ステップS203へ進み、テーブルを生成する指示でない場合、ステップS205へ進む。
(ステップS203)複数の記憶部101の中からテーブルを配置する記憶部101を決定する。なお、テーブル配置決定部110が、テーブルを配置する記憶部101を決定する処理については、図4において具体的に説明する。
(ステップS204)テーブル生成部111は、ステップS203において決定された記憶部101にテーブルを作成する。そして、ステップS201に戻る。
(ステップS205)テーブルアクセス部105は、ステップS204において受け付けた入力が、複数の記憶部101のいずれかが格納するテーブルに対するアクセスが必要な処理の指示を含むか否かを判定する。アクセスが必要な処理の指示を含む場合、ステップS206へ進み、含まない場合、ステップS201に戻る。
(ステップS206)テーブルアクセス部105は、ステップS204において受け付けた指示に基づいて、記憶部101のいずれかが記憶しているテーブルに対するアクセスを含む処理を行う。
(ステップS207)データ出力部106は、ステップS206の処理により得られた
データを出力する。なお、ステップS206の処理が、出力するデータを構成するような処理でない場合、このステップS207は省略してもよい。
(ステップS208)アクセス情報取得部107は、ステップS206の処理により行われた、テーブルに対するアクセスの処理に関するアクセス情報を取得する。
(ステップS209)アクセス情報取得部107は、アクセス情報をアクセス情報記憶部109に蓄積する。そして、ステップS201に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、情報処理装置の図2のステップS203に示した動作について、図3のフローチャートを用いて具体的に説明する。なお、ここでは、入力受付部102が新たに作成するテーブルについての使用情報を受け付けるとともに、この使用情報に、新たに作成するテーブルについての、複数の時間帯のそれぞれにおいて予測されるアクセス数の情報が含まれているものとする。
(ステップS301)入力受付部102は、使用情報を受け付けたか否かを判定する。受け付けた場合、ステップS302へ進み、受け付けていない場合、ステップS301へ戻る。
(ステップS302)使用情報取得部104は、ステップS301において受け付けた使用情報を取得する。
(ステップS303)テーブル配置決定部110は、ステップS302において取得した使用情報から、複数の時間帯の情報を取得する。
(ステップS304)テーブル配置決定部110は、カウンターiに1を代入する。
(ステップS305)テーブル配置決定部110は、i番目の記憶部101があるか否かを判定する。ある場合、ステップS306へ進み、ない場合、ステップS312へ進む。
(ステップS306)テーブル配置決定部110は、カウンターjに1を代入する。
(ステップS307)テーブル配置決定部110は、ステップS303において取得した使用情報の複数の時間帯の情報に、j番目の時間帯の情報があるか否かを判定する。ある場合、ステップS308へ進み、ない場合、ステップS314へ進む。
(ステップS308)テーブル配置決定部110は、i番目の記憶部101についてのアクセス情報から、j番目の時間帯のアクセス数についての情報を取得する。
(ステップS309)テーブル配置決定部110は、ステップS308において取得したj番目の時間帯のアクセス数と、ステップS302において使用情報取得部104が取得した使用情報から得られるj番目の時間帯において予測される新たに作成されるテーブルのアクセス数の情報とから、i番目の記憶部101に新たなテーブルを作成した場合における、j番目の時間帯において予測されるi番目の記憶部101に対する全アクセス数(以下、全予測アクセス数と称す)を算出する。例えば、ステップS308において取得したj番目の時間帯のアクセス数と、ステップS302において取得したj番目の時間帯において予測される新たに作成されるテーブルのアクセス数とを加算して得られたアクセス数を、j番目の時間帯において予測されるi番目の記憶部101に対する全予測アクセス数としてもよい。
(ステップS310)テーブル配置決定部110は、予め設定されている所定のアクセス数と、ステップS309において算出された全予測アクセス数とを比較して、ステップ
S309において算出されたアクセス数が、所定のアクセス数以下であるか否かを判定する。所定のアクセス数以下であれば、ステップS311へ進む。所定のアクセス数よりも大きければ、ステップS315へ進む。なお、予め設定されている所定のアクセス数は、記憶部101に処理速度の大幅な低下等の、アクセス時の性能の低下を抑えるうえで、記憶部101に対して1つの時間帯におけるアクセス数として許容できるアクセス数である。この所定のアクセス数はデータベースの用途等に応じて設定される。
(ステップS311)テーブル配置決定部110は、カウンターjの値を1インクリメントする。そして、ステップS307に戻る。
(ステップS312)テーブル配置決定部110は、乱数を発生させる。この乱数の値kは、1から記憶部101の数までの範囲に設定する。
(ステップS313)テーブル配置決定部110は、ステップS312において発生させた乱数値kに基づいて、k番目の記憶部101を、テーブルを作成する記憶部101に決定する。そして、上位関数にリターンする。
(ステップS314)テーブル配置決定部110は、i番目の記憶部101を、テーブルを作成する記憶部101に決定する。そして、上位関数にリターンする。
(ステップS315)テーブル配置決定部110は、カウンターiを1インクリメントする。そして、ステップS305に戻る。
なお、図3のフローチャートにおいては、新たにテーブルを作成した場合に予測される、時間帯ごとのアクセス数が、常に上記の所定のアクセス数以下となるような記憶部101がない場合、ステップS312において発生した乱数を用いて、ランダムにテーブルを作成する記憶部を決定するようにしたが、このような場合、どのように記憶部101を決定するようにしてもよい。例えば、時間ごとのアクセス数の平均値が最も小さい記憶部101を、テーブルを作成する記憶部に決定するようにしてもよいし、各記憶部101のアクセス数が最大となる時間帯同士でアクセス数を比較し、アクセス数の最も小さい記憶部101を、テーブルを作成する記憶部に決定するようにしてもよい。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理装置の具体的な動作について説明する。情報処理装置の概念図は図4である。ここでは情報処理装置が複数の記憶部101として4つの記憶部101a、101b、101c、101dを備えているものとする。各記憶部101a〜101dは、例えば、それぞれ独立したハードディスクにより構成される。また、情報処理装置は、記憶部101a〜101dと、アクセス情報記憶部109と、情報処理装置のその他の部分100とで構成されているものとする。なお、ここでは、記憶部101a、101b、101c、及び101dと、アクセス情報記憶部109とが、情報処理装置のその他の部分100の筐体の外部に接続されているようにしているが、記憶部101a、101b、101c、及び101dと、アクセス情報記憶部109と、情報処理装置のその他の部分100とを一つの筐体の内部に配置するようにしてもよい。また、本実施の形態においては、例として、複数のディスクが四つの場合について説明しているが、ディスクの数は二以上であればよい。記憶部101aにはデータベースのテーブル1及びテーブル2、記憶部101bにはテーブル3、記憶部101cにはテーブル4、記憶部101dにはテーブル5が格納されているものとする。
入力受付部102が、ユーザからの、記憶部101a〜101dに格納されているテーブルに対する処理を行うコマンド、例えば、テーブル3から所定の条件を満たすレコードの取得を指示するクエリ等のコマンド、等の入力を受け付けた場合、このコマンドに基づいて、テーブルアクセス部105は、コマンドに対応した記憶部101a〜101dのテ
ーブルにアクセスして、レコード等を取得する。取得されたレコード等は、データ出力部106から出力、例えばプリンター等によりプリントアウトされる。そして、これらのアクセスの状況を示す情報であるアクセス情報を、アクセス情報取得部107が取得し、取得したアクセス情報を、アクセス情報記憶部109に蓄積する。
図5は、アクセス情報記憶部109に記憶されているアクセス情報管理表である。このアクセス情報管理表は、各記憶部101a〜101dに格納されている各テーブルに対して行われたアクセスの時間帯ごとのアクセス数、及びそのアクセスにおける応答速度を管理している。アクセス情報管理表は、「テーブル名」、「時間帯」、「アクセス数」、「応答速度」という属性を有している。「テーブル名」は、各記憶部101a〜101dに格納されている各テーブルの名称である。「時間帯」はアクセスが行われた時間帯であり、ここでは、1時間単位の時間帯を示している。例えば、10:00になってから11:00になる直前までの1時間が、時間帯の1単位である。「アクセス数」は、時間帯ごとの、アクセスされたアクセス数を示す。「応答速度」は、テーブルアクセス部105にアクセスが必要なコマンドが入力されてから、アクセスが終了するまでの時間の平均値である。なお、アクセス情報管理表は、ここでは、テーブルごとのアクセス情報を管理するようにしたが、各記憶部101a〜101dごとのアクセス情報を管理するようにしてもよい。
図6は、アクセス情報管理表において管理されているアクセス情報に基づいて、時間帯別の各テーブルに対するアクセス数を情報処理装置のディスプレイ等の表示デバイスに表示した表示例である。この表示例においては、アクセス情報をテーブル別にグラフ化している。横軸は時間帯を示しており、縦軸はアクセス数である。
入力受付部102が、ユーザからの、新たなテーブルを作成するコマンドと、この新たなテーブルのテーブル名、属性値、及び属性のタイプとを受け付けたとする。例えば、「create_table」等のテーブルを作成するコマンド、及び「テーブル7」というテーブル名、「社員ID」、「住所」、「年齢」という属性、及びそれぞれの属性のタイプを示す「文字列」という情報とを受け付けたとする。また、入力受付部102が、ユーザからの、この新たに作成するテーブルの使用情報として、「テーブル7」について予測される時間帯ごとのアクセス数の情報を受け付けたとする。
図7は、入力受付部102が受け付けた、「テーブル7」の使用情報を示す図である。この使用情報は、「テーブル名」、「時間帯」、「予測アクセス数」という属性を有している。「テーブル名」は使用情報が対応するテーブル名であり、ここでは「テーブル7」である。また、「時間帯」は、この使用情報により予測アクセス数を設定する複数の時間帯を示している。「予測アクセス数」は、「時間帯」により設定される各時間帯においてアクセスされると予測されるアクセス数である。なお、「テーブル名」、「時間帯」、「予測アクセス数」のデータ構造は問わない。
入力受付部102がテーブルを生成するコマンドを受け付けると、使用情報取得部104が、図7に示すような使用情報を取得する。そして、テーブル配置決定部110が、使用情報取得部104が取得した使用情報と、アクセス情報記憶部109が記憶しているアクセス情報とに基づいて、図3において示した処理に従って、以下に説明するように、新たなテーブルである「テーブル7」を配置する記憶部を決定する。
まず、テーブル配置決定部110は、図7に示す使用情報から、予測アクセス数が含まれている時間帯の情報を取得する。ここでは、9:00から10:00直前までの時間帯である第一の時間帯、10:00から11:00直前までの第二の時間帯、11:00から12:00直前までの第三の時間帯、12:00から13:00直前までの第四の時間
帯の情報を取得したとする。
次に、テーブル配置決定部110は、まず、記憶部101aに対して、第一の時間帯において行われると考えられる全予測アクセス数を算出する。ここでは、たとえば、アクセス情報から得られる、記憶部101aに記憶されているテーブル1及びテーブル2の第一の時間帯におけるアクセス数の和と、使用情報から得られる第一の時間帯における新たなテーブルである「テーブル7」の予測アクセス数の和を求める。
そして、テーブル配置決定部110は、この算出した全予測アクセス数と、予め設定されている所定のアクセス数とを比較する。この所定のアクセス数は、ここでは、各記憶部101a〜101dに1時間あたりに「50」アクセス以上のアクセスがあると、その記憶部に対するアクセス速度が大幅に低下してしまい、データベース全体の処理速度が低下するという、設計上の値や、シミュレーション結果等に基づいた判断結果から、予め、1時間あたりに許容できるアクセス数の上限を設定する所定の値として、「50」アクセスという値が設定されているとする。
ここでは、第一の時間帯においては、図5及び図7から、全予測アクセス数は「28」であり、所定のアクセス数以下である。このため、同じ記憶部101aの他の時間帯についても、同様の処理を順次行っていく。
ここで、第二の時間帯においては、全予測アクセス数が「58」となるため、所定のアクセス数よりも全予測アクセス数「58」が大きくなってしまう。このため、新たなテーブルをこの記憶部101aに設定した場合、第二の時間帯において、アクセス速度の大幅な低下が発生する可能性があるため、この記憶部101aについての処理を中止し、次の記憶部101bに新たなテーブルを配置するための判断を行う処理を実行する。
テーブル配置決定部110は、上記の記憶部101aに対する処理と同様に、記憶部101bに対して、第一の時間帯において行われると考えられる全予測アクセス数、すなわちテーブル3のアクセス数と新たなテーブルの予測アクセス数との和、を算出し、この全予測アクセス数と所定の値とを比較する。
ここでは、全予測アクセス数は、図5及び図7から、「28」であり、所定のアクセス数以下である。このため、第二の時間帯、第三の時間帯、第四の時間帯においても順次同様の処理を行っていく。
この記憶部101bについては、それぞれの時間帯の全予測アクセス数が「50」以下となるため、この記憶部101aに対して新たなテーブルである「テーブル7」を配置しても、アクセス速度の大幅な低下が生じないと判断される。このため、テーブル配置決定部110は、ディスク101bを新たなテーブルである「テーブル7」を配置する記憶部に決定する。
テーブル生成部111は、入力受付部102が受け付けた、「テーブル7」というテーブル名、「社員ID」、「住所」、「年齢」という属性、及びそれぞれの属性のタイプを示す「文字列」という情報等に基づいて、テーブル配置決定部110の決定したディスク101bに、「テーブル7」を作成する。図8は、ディスク101bに作成した「テーブル7」を模式的に示した図である。
以上、本実施の形態によれば、各記憶部101a〜101dに対するアクセス数に基づいて、新たなテーブルを配置する記憶部を決定するようにしたので、一つの記憶部に対してアクセスが集中することを防ぐことができる。これにより、アクセス時の性能の低下が
抑えられるように最適な記憶部を選択して、新しいテーブルを作成することが可能となり、データベースの処理が高速な情報処理装置を得ることが可能となる。
さらに、新たに作成するテーブルに対するアクセス数に基づいて、新たなテーブルを配置する記憶部を決定するようにしたので、新たなテーブルを作成する記憶部として、この新たに作成するテーブルに対するアクセスも考慮して、より最適な記憶部を選択することができ、一つの記憶部に対してアクセスが集中することをより確実に防ぐことができる。
また、時間帯ごとのアクセス数に基づいて、新たなテーブルを配置する記憶部を決定するようにしたので、時間帯別のアクセス数も考慮して、より最適な記憶部を選択することができ、一つの記憶部に対してアクセスが集中することをより確実に防ぐことができる。
なお、上記実施の形態の具体例においては、各記憶部101a〜101dに対するアクセス数と、新たに作成するテーブルに対するアクセス数とに基づいて、テーブルを配置する記憶部を決定するようにしたが、各記憶部101a〜101dのアクセス速度を低下させる原因となる他のアクセス情報から、テーブルを配置する記憶部を決定するようにしてもよい。例えば、各記憶部101a〜101dに対する応答速度と、新たに作成するテーブルに対する応答速度とに基づいて、応答速度が低下しないように、テーブルを配置する記憶部を決定してもよい。また、アクセス数と応答速度との両方を利用して、テーブルを配置する記憶部を決定してもよい。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
なお、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、二次記憶媒体である複数の記憶部のそれぞれに対するアクセスに関する情報であるアクセス情報を蓄積するアクセス情報蓄積ステップと、テーブルを生成する指示を受け付ける入力受付ステップと、前記アクセス情報に基づいて、テーブルを配置する記憶部を決定するテーブル配置決定ステップと、前記テーブル配置決定ステップで決定した記憶部にテーブルを生成するテーブル生成ステップとを実行させるためのプログラムである。
また、前記プログラムにおいて、前記入力受付ステップは、生成するテーブルについての使用状況に関する情報である使用情報を、さらに受け付け、前記テーブル配置決定ステップは、前記使用情報と、前記アクセス情報に基づいて、テーブルを配置する記憶部を決定するプログラムである。
また、前記プログラムにおいて、前記アクセス情報は、アクセスされた時間に関する情報を有しており、前記テーブル配置決定ステップは、時間帯ごとのアクセスの状況に基づいてテーブルを配置する記憶部を決定するプログラムである。
なお、上記プログラムにおいて、情報を受け付けるステップなどでは、ハードウェアによって行われる処理、例えば、入力受付ステップにおけるモデムやインターフェースカードなどで行われる処理、すなわちハードウェアでしか行われない処理、は含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
以上のように、本発明にかかる情報処理装置等は、データベース等を管理する情報処理装置等に適用可能なものであり、特に、複数の記憶部を有する、データベース等を管理する情報処理装置等として有用である。
実施の形態における情報処理装置のブロック図 同情報処理装置の動作について説明するフローチャート 同情報処理装置の動作について説明するフローチャート 同情報処理装置の概略を示す図 同アクセス情報管理表を示す図 同時間帯別アクセス数の表示例を示す図 同使用情報を示す図 同作成されたテーブルを模式的に示した図
符号の説明
101、101a〜101d 記憶部
102 入力受付部
103 テーブル生成判定部
104 使用情報取得部
105 テーブルアクセス部
106 データ出力部
107 アクセス情報取得部
108 アクセス情報蓄積部
109 アクセス情報記憶部
110 テーブル配置決定部
111 テーブル生成部

Claims (9)

  1. 二次記憶媒体である複数の記憶部と、
    前記複数の記憶部のそれぞれに対するアクセスに関する情報であるアクセス情報を蓄積するアクセス情報蓄積部と、
    テーブルを生成する指示を受け付ける入力受付部と、
    前記アクセス情報に基づいて、テーブルを配置する記憶部を決定するテーブル配置決定部と、
    前記テーブル配置決定部が決定した記憶部にテーブルを生成するテーブル生成部とを具備する情報処理装置。
  2. 前記入力受付部は、生成するテーブルについての使用状況に関する情報である使用情報を、さらに受け付け、
    前記テーブル配置決定部は、前記使用情報と、前記アクセス情報に基づいて、テーブルを配置する記憶部を決定する請求項1記載の情報処理装置。
  3. 前記アクセス情報は、アクセスされた時間に関する情報を有しており、
    前記テーブル配置決定部は、時間帯ごとのアクセスの状況に基づいてテーブルを配置する記憶部を決定する請求項1または請求項2いずれか記載の情報処理装置。
  4. 二次記憶媒体である複数の記憶部のそれぞれに対するアクセスに関する情報であるアクセス情報を蓄積するアクセス情報蓄積ステップと、
    テーブルを生成する指示を受け付ける入力受付ステップと、
    前記アクセス情報に基づいて、テーブルを配置する記憶部を決定するテーブル配置決定ステップと、
    前記テーブル配置決定ステップで決定した記憶部にテーブルを生成するテーブル生成ステップとを具備する情報処理方法。
  5. 前記入力受付ステップは、生成するテーブルについての使用状況に関する情報である使用情報を、さらに受け付け、
    前記テーブル配置決定ステップは、前記使用情報と、前記アクセス情報に基づいて、テーブルを配置する記憶部を決定する請求項4記載の情報処理方法。
  6. 前記アクセス情報は、アクセスされた時間に関する情報を有しており、
    前記テーブル配置決定ステップは、時間帯ごとのアクセスの状況に基づいてテーブルを配置する記憶部を決定する請求項4または請求項5いずれか記載の情報処理方法。
  7. コンピュータに、
    二次記憶媒体である複数の記憶部のそれぞれに対するアクセスに関する情報であるアクセス情報を蓄積するアクセス情報蓄積ステップと、
    テーブルを生成する指示を受け付ける入力受付ステップと、
    前記アクセス情報に基づいて、テーブルを配置する記憶部を決定するテーブル配置決定ステップと、
    前記テーブル配置決定ステップで決定した記憶部にテーブルを生成するテーブル生成ステップとを実行させるためのプログラム。
  8. 前記入力受付ステップは、生成するテーブルについての使用状況に関する情報である使用情報を、さらに受け付け、
    前記テーブル配置決定ステップは、前記使用情報と、前記アクセス情報に基づいて、テーブルを配置する記憶部を決定する請求項7記載のプログラム。
  9. 前記アクセス情報は、アクセスされた時間に関する情報を有しており、
    前記テーブル配置決定ステップは、時間帯ごとのアクセスの状況に基づいてテーブルを配置する記憶部を決定する請求項7または請求項8いずれか記載のプログラム。
JP2005167948A 2005-06-08 2005-06-08 情報処理装置およびプログラム Pending JP2006343928A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005167948A JP2006343928A (ja) 2005-06-08 2005-06-08 情報処理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005167948A JP2006343928A (ja) 2005-06-08 2005-06-08 情報処理装置およびプログラム

Publications (1)

Publication Number Publication Date
JP2006343928A true JP2006343928A (ja) 2006-12-21

Family

ID=37640867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005167948A Pending JP2006343928A (ja) 2005-06-08 2005-06-08 情報処理装置およびプログラム

Country Status (1)

Country Link
JP (1) JP2006343928A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257020A (ja) * 2009-04-22 2010-11-11 Hitachi Ltd データマイグレーション管理装置及び管理方法
JP2011221572A (ja) * 2010-04-02 2011-11-04 Nec Corp ディスクアレイ装置及びその制御方法
JP2013105293A (ja) * 2011-11-14 2013-05-30 Internatl Business Mach Corp <Ibm> 情報処理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139119A (ja) * 1992-10-28 1994-05-20 Hitachi Ltd データベース管理システムおよびデータベース管理方法
JPH08278905A (ja) * 1995-04-07 1996-10-22 Toshiba Corp データ処理装置
JP2003015916A (ja) * 2001-06-27 2003-01-17 Toshiba Corp ファイル格納システム及び方法並びにプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06139119A (ja) * 1992-10-28 1994-05-20 Hitachi Ltd データベース管理システムおよびデータベース管理方法
JPH08278905A (ja) * 1995-04-07 1996-10-22 Toshiba Corp データ処理装置
JP2003015916A (ja) * 2001-06-27 2003-01-17 Toshiba Corp ファイル格納システム及び方法並びにプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257020A (ja) * 2009-04-22 2010-11-11 Hitachi Ltd データマイグレーション管理装置及び管理方法
US8171059B2 (en) 2009-04-22 2012-05-01 Hitachi, Ltd. Data migration management apparatus and management method
JP2011221572A (ja) * 2010-04-02 2011-11-04 Nec Corp ディスクアレイ装置及びその制御方法
JP2013105293A (ja) * 2011-11-14 2013-05-30 Internatl Business Mach Corp <Ibm> 情報処理装置
US9928164B2 (en) 2011-11-14 2018-03-27 International Business Machines Corporation Information processing apparatus
US10049034B2 (en) 2011-11-14 2018-08-14 International Business Machines Corporation Information processing apparatus

Similar Documents

Publication Publication Date Title
CN102929786B (zh) 非易失性存储设备集合的易失性存储器表示
US10423902B2 (en) Parallel processing apparatus and method of estimating power consumption of jobs
US8122450B2 (en) Method and apparatus for distributing memory in a data processing system
US7657705B2 (en) Method and apparatus of a RAID configuration module
CN101131671A (zh) 控制对非易失性存储器的访问
US20090024678A1 (en) Optimizing storage allocation
CN103279350A (zh) 用于资源选择的语言列表
CN107818114A (zh) 一种数据处理方法、装置及数据库
JP4208860B2 (ja) 情報処理装置、情報処理方法、ならびに記憶媒体
CN111158601A (zh) 一种缓存中的io数据下刷方法、系统及相关装置
JP2006343928A (ja) 情報処理装置およびプログラム
WO2021174830A1 (zh) 多模块系统代码版本的管理方法、装置和计算机设备
US20080320256A1 (en) LRU control apparatus, LRU control method, and computer program product
US8775746B2 (en) Information processing system and method
JP7381290B2 (ja) 計算機システム及びデータの管理方法
CN112036133B (zh) 一种文件保存方法、装置、电子设备及存储介质
KR102233944B1 (ko) 데이터베이스 관리를 위한 컴퓨터 프로그램
JP2013003946A (ja) 仮想マシン制御システム、仮想マシン制御装置、仮想マシン制御方法及びプログラム
US8656206B2 (en) Timer manager architecture based on binary heap
JP2009157441A (ja) 情報処理装置、ファイル再配置方法およびプログラム
JP5190899B2 (ja) 情報処理装置、設定ファイル生成方法、および設定ファイル生成プログラム
US8423532B1 (en) Managing data indexed by a search engine
JP5248762B2 (ja) 設計データ依存関係管理装置、設計データ依存関係管理方法及びプログラム
CN116893854B (zh) 指令资源的冲突检测方法、装置、设备及存储介质
JP2019028927A (ja) 検索ワードサジェスト装置、検索ワードサジェスト方法、および、検索ワードサジェストプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080520

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091126

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110913