説明

マルチインスタンス・インメモリ・データベース

【課題】インメモリ・データベースを、大規模データベースに適用するために、主記憶装置にロードできる大きさに分割し、検索や加工等を分割前の単一データと同様に取り扱う。
【解決手段】大量のタプルを持つデータを主記憶装置上で取扱うのに適した大きさのデータセットとしてグループ化し、それぞれに格納ロケーション情報を与え、配置していく。検索時には、格納先のデータセットを特定し、そのロケーション情報から、データ格納装置を特定し、対象のデータセットが主記憶装置上に存在すれば直接アクセスし、存在しなければ二次記憶装置やネットワーク上の他の電子計算機上の記憶装置から該当データセットを召還しアクセスする。格納されるデータの格納開始時点での偏り等の特性に合わせてデータセットのロケーション情報を設定し、系列的にデータの特性が変化してきたならば、それに呼応してデータセットとデータ格納装置との関係を調整していく。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インメモリ・データベースおよびそれを用いたグリッド・コンピューティング・システムに関する。
【背景技術】
【0002】
データベース管理システムの基本技術は、階層型にはじまり、ネットワーク型、リレーショナル型を経てオブジェクト指向型に至っているが、未だリレーショナル型が主流である。
【0003】
加えて、その主流であるリレーショナル型データベース管理システムは、データ格納媒体として、格納容量が大きく、電力の供給が断たれても、その記憶内容が比較的安定している磁気ディスクを主要部品とするハードディスク装置を二次記憶装置として使用することを前提としてきた。
【0004】
二次記憶装置としてのハードディスク装置は、停電に対しては安定しているが、機械的摺動部分を多く持つという理由から、半導体記憶装置に対して故障発生率は桁違いに高く、読出し書込みのアクセス時間は桁違いに遅い。また、周辺の磁場の影響を受けやすい磁気媒体を記憶媒体としているため、磁石の接近に対して記憶保持力は不安定である。さらに、読出し書込みのアクセスは磁気ヘッダの接触によっておこなわれるため、磁気ヘッダは磁気記憶媒体に非常に近い場所に常に置かれている。そのため、衝撃に対しても磁気記憶媒体の記憶保持力が脆弱であることは周知のことである。
【0005】
二次記憶装置として不揮発性メモリ等の半導体記憶媒体を使用する動きもあるが、単位記憶容量あたりの価格が未だに高価であるため、経済的な理由から、その普及はデータベース管理システムに利用するほどには普及していない。
【0006】
最近の工業生産技術の向上に伴い、揮発性半導体記憶媒体は低価格大容量化の傾向にあり、それに伴いギガビットオーダーの大容量揮発性半導体記憶装置を主記憶装置とするパーソナル・コンピュータ(以下PC)も登場してきている。また、32ビットCPUではアドレッシングの理由から2の32乗バイトすなわち42億9千4百96万7千2百96バイト(約4GB)以上のメモリを主記憶装置として搭載しても無意味であったが、64ビットCPUの登場で2の64乗バイトのメモリ空間を持つことが可能になり、理論上はテラ・バイト・オーダーのデータベースをインメモリで取扱うことも可能になってきている。実際には半導体メモリの現在の集積技術の制限から一個の64ビットCPUに搭載される主記憶装置としての半導体メモリはせいぜい数十GBレベルと推定される。
【0007】
前記揮発性半導体記憶媒体は低価格大容量化の傾向は、データベース管理システムの在り方を根底から覆すこととなり、主記憶装置をメインのデータ格納装置とし、二次記憶装置を障害時のリカバリのための永続化(パーシステント)用記憶媒体と位置づけるインメモリ・データベース管理システムが商用プロダクトとして複数製品が市場に登場してきている。
【0008】
現在市場に登場してきているインメモリ・データベース管理システムは、マルチューザによる複雑な更新処理をともなうトランザクション用データベース管理システムではなく、OLAPやデータマイニングを行うためのデータウェアハウス(以下DWH)用のデータベース管理システムとしての位置付けが妥当であり、数十GBレベルの大きさのデータベース管理システムのインメモリ化には成功しているといえる。
【0009】
【特許文献1】特開2004−227169号(PCT/JP2003/014390)公報
【特許文献2】特開2004−145640号公報
【特許文献3】特開2000−339390号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
EUの環境問題規制強化にからみ工業生産製品、農業生産物等の有害化学物質の不使用の証明や誤って使用された場合の消費者に対する使用禁止等のメッセージ通知や回収等のためのトレーサビリティの確保のために、数百テラ・バイト・オーダーの大容量超高速データベースの実用化が求められている。
【0011】
64ビットCPU搭載PCの登場により、大容量超高速データベースの実現に近づいたとはいえ、主記憶装置に用いられる半導体揮発性記憶装置の集積度は、一台のPCに数百テラ・バイト・オーダーの半導体揮発性記憶装置を搭載するほどには至っていない。従って、ネットワーク上に配置された複数個の電子計算機にデータベースを分散して処理ができることが求められている。そのため、同一属性を持つ大規模データの集合を、数ギガ・バイト・オーダーの主記憶装置しか持たない電子計算機上で主記憶装置のみで処理可能な大きさのデータ・セットに分割して、前記数ギガ・バイト・オーダーの主記憶装置しか持たない電子計算機を複数台ネットワークに接続することが考えられるが、データ処理を行うユーザの電子計算機からは前記分割された複数個のデータ・セットが、統合して仮想的に単一のデータ・セットとして取扱えるようにすることができないことが問題であった。
【0012】
また、全データ・セットがネットワーク上に配置された電子計算機上の主記憶装置上に展開されている状態が理想であるが、接続する電子計算機の台数の制限からハードディスク装置等の二次記憶媒体を効率的に利用することが求められる場合もあり、この二次記憶媒体を効率的に利用することができないことも問題であった。
【0013】
また、ネットワーク上に接続される電子計算機は、CPUの性能が一様ではなく、搭載主記憶装置の容量も各様であり、時系列的にも、配置換えや新旧の入替えにより、ネットワーク上に接続される電子計算機の台数は変化し、前記電子計算機に搭載されるCPUの性能は変化し、前記電子計算機に搭載される主記憶装置の容量も変化していく。その多様性や変化に対応すべく前記分割されたデータ・セットのロケーション情報がダイナミックに変更可能ではなく、加えて最適配置も困難であったことも問題であった。
【0014】
さらに、単純に大規模データ・セットが適正規模の複数データ・セットに分割されても、生産管理システムにおけるBOM(部品構成表)の正展開、逆展開を表現するためのように複数データ・セットに跨るセルフ・ジョインを横断的に効率的に実現することも困難であった。
【0015】
そこで、本発明は、本データベース・システムにおいて大規模データ・セットが小規模データ・セットに分割されていても、仮想的に統合して単一の大規模データ・セットとして取扱えるようにし、前記データベース・システムを運用しながら、前記データベース・システムを構成するネットワーク上に配置された一個以上の電子計算機の台数ないし前記電子計算機に搭載されているCPUの性能ないし前記CPUの個数ないし前記電子計算機に搭載されている主記憶装置の容量等のリソースの変化に呼応して、前記分割されたデータ・セットのロケーションをダイナミックに最適配置していくことを目的とする。
【課題を解決するための手段】
【0016】
上記の課題を解決するために、本発明においては、請求項1に示されるように、同一の属性を持つ大規模データの集合を、格納すべきデータの情報の一部または全部をハッシング等のアルゴリズムを特定のパラメータで用いて、ネットワーク上に配置された電子計算機の主記憶装置のみで処理可能な大きさに分割配置し、それぞれをデータ・セットとする。各データ・セットには識別記号とロケーション情報が与えられ、検索や加工の際には対象となるデータの情報の一部または全部を前記アルゴリズムと同一のアルゴリズムを同一のパラメータで用いて、格納先のデータ・セットを特定する。全データ・セットがネットワーク上に配置された電子計算機上の主記憶装置上に展開されている状態が理想であるが、データ・セットの、他の記憶媒体への待避(以下チェックアウト)、召還(以下チェックイン)機能を持つことによって、接続される電子計算機の台数の制限に対応する。
【0017】
また、請求項2に示されるように、データ・セットのデータ・セット識別記号ロケーション情報変換部のロケーション情報を変更する機能を有することにより、各時点での各データ・セットの配置を再検討し、最適再配置を可能にする。
【0018】
また、請求項3に示されるように、配置されたデータ・セットの大きさに対して、そのデータ・セットが配置されている電子計算機の主記憶装置の未使用記憶容量が、アクセス対象でチェックアウトされているデータ・セットを、現在チェックインしているデータ・セットをチェックアウトせずにチェックイン可能な場合、現在のデータ・セットのチェックアウトが行われずに、アクセス対象のデータ・セットがチェックインされる。これによって、二次記憶装置の使用を抑制し、性能向上を図る。
【0019】
また、請求項4に示されるように、各データ・セットと前記ネットワーク上に配置された電子計算機のCPU稼働率や搭載主記憶装置の未使用記憶容量を常時ないし定期的に監視し、データ・セットのその時点での実際の大きさ、配置されていて使用可能な電子計算機のCPU稼働率や搭載主記憶装置の未使用記憶容量の変化に応じて、自動的にロケーション情報の変更、データ・セットの再配置を行うことにより、二次記憶装置の使用を抑制し、性能向上を図る。
【0020】
また、請求項5に示されるように、データ・セットが、自分自身のデータ・セットの他のタプルから参照されている時、参照しているタプルのアトリビュート・データを参照されているデータ・セットの前記データ・セット識別記号変換部への入力データとすることにより、セルフ・ジョインを再帰的におこない、各データ・セットの分割される前の元の大規模データ・セットに記述された親部品子部品構成表に基づく前記BOMの正展開、逆展開を行う。
【発明の効果】
【0021】
これにより、数百テラ・バイト・オーダー・レベルの大規模データ・セットからの抽出ないしソートないしマージないしジョインないしプロジェクションも高速に実行することが可能となる。
【0022】
また、数テラ件数オーダー・レベルの大規模BOMにおいても、その正展開、逆展開を高速で行うことが可能となる。
【0023】
使用開始時には数ギガ・バイト・オーダー・レベルの大きさの小規模データベースが、時間とともに大きくなり、数百テラ・バイト・オーダー・レベルの大規模データベースに成長しても、基本的構造を変更せずに、前記ネットワーク上に配置される電子計算機の台数の増加、若しくは前記ネットワーク上に配置された個々の電子計算機に搭載されたCPUの性能の向上ないし個数の増加、若しくは前記ネットワーク上に配置された個々の電子計算機に搭載された主記憶装置の容量の増加、だけでその成長の度合に応じて、その時点での最適規模のデータベースに拡張しながら構築することが可能となる。
【発明を実施するための最良の形態】
【0024】
以下、本発明を実施するための最良の形態について、図を用いて説明する。なお、本発明は、これら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々たる態様で実施し得る。
【0025】
(発明の概念)
図1は、請求項1に基づく本発明の概念を示す。
データ入力装置101、
データ格納部特定装置102、
データ格納装置103、104、105、
データ検索加工装置106、
データ出力装置107が、
本発明に係わるマルチインスタンス・インメモリ・データベースの構成要素である。
データ・セット識別記号変換部121、
データ・セット識別記号ロケーション情報変換部122は、
前記マルチインスタンス・インメモリ・データベースの構成要素の一部であるデータ格納部特定装置102の構成要素である。
データ格納部131、141、151、
リソース・マネジメント部132、142、152、
チェックアウト・データ待避スペース133、143、153、154は、
前記マルチインスタンス・インメモリ・データベースの構成要素の一部であるデータ格納装置103、104,105の構成要素である。
データ検索部161、
データ加工部162、
ワークスペース部163、
リソース・マネジメント部164は、
前記マルチインスタンス・インメモリ・データベースの構成要素の一部であるデータ検索加工装置106の構成要素である。
【0026】
データ入力装置101は、ネットワーク上の他の電子計算機からデータをインポートしてもよい。
【0027】
データ入力装置101は、ネットワーク上の電子計算機若しくはネットワークに接続されていない電子計算機がフロッピー・ディスク若しくはCD若しくはDVD若しくはメモリ・ディスク等の取外し可能な記憶媒体に作成したデータを前記記憶媒体からインポートしてもよい。
【0028】
データ入力装置101は、前記データ入力装置101が実装されている電子計算機上に接続されたキーボートやマウス等の入力機器から直接入力されたデータをインポートしてもよい。
【0029】
データ・セット識別記号変換部121は、データ入力装置101がインポートしたデータをタプルごとに読出し、前記タプルを構成するアトリビュートに記録されている情報の全部または一部を入力情報として、前記タプルが格納されるべきデータ・セットの識別記号(すなわちID)に変換する。
【0030】
前記タプルを構成するアトリビュートに記録されている情報の全部または一部である入力情報を前記タプルが格納されるべきデータ・セットの識別記号への変換には、適当なハッシュ・アルゴリズムに適当なパラメータ値を与えて実施してもよい。ただし、本発明に係わるデータベース・システムが稼働している最中は、前記ハッシュ・アルゴリズムおよびパラメータ値は変更しないものとする。
【0031】
データ・セット識別記号ロケーション情報変換部122は、前記データ・セット識別記号変換部121が変換して取得した前記前記タプルが格納されるべきデータ・セットの識別記号と実際に物理的に前記データ・セットが格納されるデータ格納装置103、104、105が実装されている前記ネットワーク上に配置された電子計算機のネットワーク上でのロケーション情報を対応付けるテーブルである。
【0032】
図2は、前記データ・セットの識別記号と前記ロケーション情報を対応付けるテーブルの構成の一例である。この例では、
識別記号欄201は、ロケーション情報欄211と、
識別記号欄202は、ロケーション情報欄212と、
識別記号欄203は、ロケーション情報欄213と、
識別記号欄204は、ロケーション情報欄214と、
識別記号欄205は、ロケーション情報欄215と、
識別記号欄206は、ロケーション情報欄216と、
識別記号欄207は、ロケーション情報欄217と、
は対応付けられている。
したがって、識別記号欄201に在る識別記号1のデータセットは、ロケーション情報欄211にあるロケーション情報192.168.1.11で示されるネットワーク上の電子計算機上にデータ格納装置を持つことを意味している。他の識別記号欄202、203、204、205、206、207にある識別記号も他のロケーション情報欄212、213、214、215、216、217にあるロケーション情報と対応付けられる。複数の識別記号が同一のロケーション情報を持っていてもよい。前記複数の識別記号が同一のロケーション情報を持っている場合、請求項1に示すように前記データ格納装置の構成要素であるリソース・マネジメント部によって、データ・セットのチェックインないしチェックアウトが行われる。ただし、請求項3に示されるように、現在、前記データ格納部に格納中のデータセットをチェックアウトを要せずに、アクセス要求のあった別のデータセットをチェックインできる場合にはこの限りではない。
この図2の例を図1に適用してみると、103のデータ格納装置Aのロケーション情報を「192.168.1.11」、104のデータ格納装置Bのロケーション情報を「192.168.1.12」、105のデータ格納装置Cのロケーション情報を「192.168.1.13」としてもよい。
【0033】
図1のデータ格納装置103、104、105を構成する要素の一部であるリソース・マネジメント部132、142、152は、それぞれ対応する前記データ格納装置103、104、105を構成する要素の一部であるデータ格納部131、141、151の未使用主記憶容量と新たにアクセス要求が起っているデータ・セットの大きさに基づいて、現在データ格納部に格納されているデータ・セットを、前記データ格納装置103、104、105を構成する要素の一部であるチェックアウト・データ待避スペース133、143、153、154に待避させる必要の是非を評価し、待避させる必要があれば待避し、新たにアクセス要求が発生しているデータ・セットが、新規のデータ・セットであれば新規作成し、チェックアウト・データ待避スペース133、143、153、154に待避されているデータ・セットであればチェックインして召還する。前記データ・セット識別記号変換部の機能により、新たにアクセス要求が起っているデータ・セットは、既存のデータ・セットであれば必ず、アクセス要求が起っているデータ・セットが所属するデータ格納装置に接続されたチェックアウト・データ待避スペースに待避させられていることが保証される。
【0034】
前記チェックアウト・データ待避スペースは、図1のデータ格納装置C105に示されるチェックアウト・データ待避スペース153、154のように複数個あってもよい。
【0035】
分割される前の元データ・セットが十分小さく、またはネットワーク上に接続された電子計算機の主記憶装置容量が十分大きく、またはネットワーク上に接続された電子計算機の台数が十分多い場合には、チェックアウト・データ待避スペースとしてのハードディスク装置等の二次記憶装置を使用せず、すべてのデータ・セットを主記憶装置上に格納してもよい。
【0036】
図1によって示されるように、データ検索加工装置106の一部を構成するデータ検索部161は、検索キーを前記データ格納部特定装置122によって検索対象となるデータ・セットを特定した後、該当するデータ格納装置中のデータ・セットが検索される。特定されたデータ・セットが、データ格納装置103に存在するとすると、データ格納装置103内のデータ格納部131に存在するときにはそのまま、チェックアウト・データ待避スペース133に存在する場合には、その待避された当該データ・セットをデータ格納部131にチェックインして、検索を行い、加工する必要があれば、前記データ検索加工装置106中のデータ加工部162によって、検索結果を加工対象として加工する。前記データ検索加工装置106中のワークスペース163は、前記データ加工部162が作業領域として使用する。また、前記データ検索加工装置106中のリソース・マネジメント部164は、前記データ加工部162の加工作業に伴い必要量が増減する前記ワークスペース部の容量のマネジメントをおこなってもよい。
【0037】
データ出力装置107は、ネットワーク上の他の電子計算機へデータをエクスポートしてもよい。
【0038】
データ出力装置107は、ネットワーク上の電子計算機若しくはネットワークに接続されていない電子計算機によってフロッピー・ディスク若しくはCD若しくはDVD若しくはメモリ・ディスク等の取外し可能な記憶媒体に作成して、データを前記記憶媒体によってエクスポートしてもよい。
【0039】
データ出力装置107は、前記データ出力装置107が実装されている電子計算機上に接続されたCRT装置やプリンタ装置等の出力機器へデータを直接エクスポートしてもよい。
【0040】
請求項1に示される、データ入力装置およびデータ格納部特定装置およびデータ格納装置およびデータ検索加工装置およびデータ出力装置は、その全部ないし一部が同一の電子計算機上に在ってもよい。
【0041】
図2は、識別記号が識別記号欄201、202、203、204、205、206、207に格納され、ロケーション情報がロケーション情報欄211、212、213、214、215、216、217に格納されている図であり、請求項2に示されるように、識別記号欄、ロケーション情報欄への記載内容を変更することによって、データ・セットの物理的な格納先を変更することが可能であることを示している。
【0042】
図3は、データ格納装置301において、現在データ格納部303内にはデータ・セット304が存在している状況で、データ格納装置301にアサインされていて、チェックアウト・データ待避スペース305内に待避されているデータ・セットに新たにアクセス要求が発生し、リソース・マネジメント部302によってデータ・セット304をチェックアウト・データ待避スペース305にチェックアウトする必要があると判断された場合を示しており、データ・セット304をチェックアウト・データ待避スペース305にチェックアウトして後、前記チェックアウト・データ待避スペース305から前記新たにアクセス要求が発生しているデータ・セットを、データ格納部303にチェックインしようとしている図である。これは、請求項1に示される、一個のデータ格納装置に複数のデータ・セットをアサインすることが可能であることを示している。
【0043】
図4は、データ格納装置401において、現在データ格納部403内にはデータ・セット404が存在している状況で、データ格納装置401にアサインされていて、チェックアウト・データ待避スペース405内に待避されているデータ・セットに新たにアクセス要求が発生し、リソース・マネジメント部402によってデータ・セット404をチェックアウト・データ待避スペース405にチェックアウトする必要がないと判断された場合を示しており、データ・セット404をチェックアウト・データ待避スペース405にチェックアウトすることなく、前記チェックアウト・データ待避スペース405から前記新たにアクセス要求が発生しているデータ・セットを、データ格納部403にデータ・セット406として、チェックインしようとしている図である。これは、請求項3に示されている、新たにチェックインしようとするデータ・セットが十分小さいか、データ格納部が十分大きい場合若しくはその両方である場合、チェックアウト・データ待避スペースの様な二次記憶装置の使用を抑制し、一個のデータ格納装置のデータ格納部に複数のデータ・セットをアサインし高速にアクセスすることが可能であることを示している。
【0044】
図5は、データ格納装置501において、リソース・マネジメント部502内に所属データ・セット・リスト503とデータ格納部未使用主記憶装置容量レジスタ504を配置して、データ格納部に現在存在するデータ・セットのデータ量の増減を常時監視し、データ格納部未使用主記憶装置容量を計算し、前記データ格納部未使用主記憶装置容量レジスタ504に格納し、新たにアクセス要求が発生したデータ・セットの現在のデータ量を所属データ・セット・リスト503から取出し、前記データ格納部未使用主記憶装置容量レジスタ504に格納された前記データ格納部未使用主記憶装置容量と比較し、未使用主記憶装置容量がチェックインしようとするデータ・セットよりも大きい場合には、請求項3で示されたように、チェックアウトをしないでチェックインすることが可能であることを図4よりも詳しく示している。
【0045】
図6は、ネットワーク621に配置された電子計算機601と電子計算機611がデータ格納装置602、612をそれぞれ持ち、前記データ格納装置602、612の内部にリソース・マネジメント部603、613をそれぞれ持ち、前記リソース・マネジメント部603、613の内部に識別記号とデータ・サイズの対応表604、614と割当てられた主記憶装置容量をそれぞれ持ち、電子計算機601と電子計算機611との間で情報交換することにより、請求項4に示されている、所属データ・セットのデータ・サイズとデータ格納部主記憶装置容量との関係を自動的に最適化して、所属データ・セットの配置換えを行い、データ格納部606,616に格納されているデータ・セットおよびチェックアウト・データ待避スペース607、617に格納されているデータ・セットをそれぞれ配置換えして最適化することが可能であることを示している。ここで前記情報交換を行うネットワーク上に配置された電子計算機は2台以上であってもよい。
【0046】
図7は、前記データ・セット識別記号変換部701において、生産管理システムにおける部品構成表(以下BOM)の製品番号にあたるトップ・レベル(以下L0)の部品番号を入力値として、前記入力値が3の剰余系で前記識別記号に変換され、前記データ・セット識別記号ロケーション情報変換部702においてロケーション情報に変換され、それぞれのロケーション情報の指し示すネットワーク上に配置された電子計算機の前記データ格納装置のデータ格納部703、704、705に分割された部品構成表のデータ・セットが配置されていることを示している。
【0047】
図8は、図7に示された分割された部品構成表のデータ・セットから親部品番号3、16、18の親部品を製品として、BOMの正展開表801を示したものである。図7において、親部品番号3を与えられた製品は、前記データ・セット識別記号変換部701によって3の剰余系として識別番号0を得る。識別番号0は、前記データ・セット識別記号ロケーション情報変換部702によってロケーション情報192.168.1.10を得る。192.168.1.10のロケーション情報を与えられた電子計算機上のデータ格納装置内のデータ格納部703に格納されたデータ・セット内の部品構成表の一部から部品番号8、10、12を子部品としていることを得る。部品番号8を親番号とする部品が前記データ格納部703に格納されたデータ・セット内の部品構成表の一部内には無いため、部品番号8を前記データ・セット識別記号変換部701の入力値として与えることにより識別記号2を得る。識別記号2から前記データ・セット識別記号ロケーション情報変換部702によってロケーション情報192.168.1.30を得る。192.168.1.30のロケーション情報を与えられた電子計算機上のデータ格納装置内のデータ格納部705に格納されたデータ・セット内の部品構成表の一部から部品番号11、13、20を子部品としていることを得る。部品番号11を親番号とする部品構成表のデータはデータ格納部705に格納されたデータ・セット内に存在するため、そのまま検索し、子部品を持たない最末端部品であることを確認する。部品番号13を親番号とする部品はデータ格納部705に格納されたデータ・セット内に存在しないため、再度、部品番号13を前記データ・セット識別記号変換部701の入力値として与えることにより識別記号1を得る。識別記号1から前記データ・セット識別記号ロケーション情報変換部702によってロケーション情報192.168.1.20を得る。192.168.1.20のロケーション情報を与えられた電子計算機上のデータ格納装置内のデータ格納部704に格納されたデータ・セット内の部品構成表の一部から子部品を持たない最末端部品であることを確認する。部品番号20を親番号とする部品構成表のデータはデータ格納部705に格納されたデータ・セット内に存在するため、そのまま検索し、部品番号17を子部品としていることを得る。部品番号17を親番号とする部品構成表のデータはデータ格納部705に格納されたデータ・セット内に存在するため、そのまま検索し、子部品を持たない最末端部品であることを確認する。同様のプロセスを部品番号10、12を持つものについて行い、請求項5で示されているように、図8で示されたBOMの正展開表801の中のレベル0(以下L0)の値が3のもの、すなわち部品番号3をトップ・レベルにもつ製品のBOMの正展開表をえることが可能であることを示している。
【0047】
図7におけるデータ格納部703、704、705には、市販されている若しくはシェアウェア化されている若しくはフリーウェア化されている若しくは独自開発されたインメモリ・データベース・エンジンを代りに充ててもよい。
【実施例】
【0048】
EUの環境問題規制強化にからみ工業生産製品、農業生産物等の有害化学物質の不使用の証明や誤って使用された場合の消費者に対する使用禁止等のメッセージ通知や回収等のためのトレーサビリティの確保のために、大容量超高速データベースの実用化が求められている。
【0049】
本発明により、超高速データベース・エンジンであるインメモリ・データベースを搭載するPCサーバー複数台をネットワークで接続し、小規模データベースの連携によるグリッド・コンピューティングとして、スケーラビリティをもって、大容量化することを可能にし、来るEUの環境問題規制強化に対処しようとしている。
【図面の簡単な説明】
【0050】
【図1】全体構成図 本発明の請求項1に基づく全体構成図
【図2】データ・セット識別記号ロケーション情報変換部の一例図 本発明の請求項1および請求項2に基づくデータ・セット識別記号ロケーション情報変換部の一例図
【図3】データ・セットのチェックアウト、チェックイン概念図 本発明の請求項1に基づく、一個のデータ格納装置に複数のデータ・セットをアサインすることが可能であることを示している概念図
【図4】データ・セットのチェックアウトを伴わないチェックイン概念図 本発明の請求項3に基づく、チェックアウトをしないでチェックインすることが可能であることを示している概念図
【図5】データ・セットのチェックアウトを伴わないチェックイン詳細概念図 本発明の請求項3に基づく、チェックアウトをしないでチェックインすることが可能であることを詳しく示している詳細説明図
【図6】データ・セットの格納ロケーションの自動最適化機構の構成図 本発明の請求項4に基づく、所属データ・セットのデータ・サイズとデータ格納部主記憶装置容量との関係を自動的に最適化計算、配置換えによる最適化を示している構成図
【図7】分割後複数データ・セットの横断統合セルフ・ジョイン機構説明図 分割された部品構成表の正展開を例とした横断統合セルフ・ジョイン機構の説明図
【図8】BOMの正展開の一例図 図7に示された例示の情報を、本発明の請求項5に基づき、分割された部品構成表の正展開をシミュレートした結果表

【特許請求の範囲】
【請求項1】
ネットワーク上に配置された、
外部からのデータを入力するための一個以上のデータ入力装置と、
前記入力されたデータの格納先を特定する一個以上のデータ格納部特定装置と、
前記入力されたデータを主記憶装置上に格納する一個以上のデータ格納装置と、
前記格納されたデータを検索加工する一個以上のデータ検索加工装置と、
前記検索加工されたデータを外部へ出力するための一個以上のデータ出力装置と、
を備えるマルチインスタンス・インメモリ・データベース・システムであって、
前記データ格納部特定装置は、
前記入力されたデータの一部ないし全部の情報を、前記入力されたデータの格納先であるデータ・セットを特定するためのデータ・セット識別記号に、ハッシング等のアルゴリズムを特定のパラメータで用いて、変換する前記入力されたデータのデータ・セット識別記号変換部と、
前記識別記号に対応する前記データ・セットのロケーションを特定するデータ・セット・ロケーション情報と前記データ・セット識別記号とを対応付けする前記データ・セットのデータ・セット識別記号ロケーション情報変換部と、
を有し、
前記データ格納装置は、
前記データ格納部ロケーション情報によって特定された前記データ格納装置において、当該データ格納装置上の主記憶装置上に存在するデータ・セットに前記入力されたデータを格納するデータ格納部と、
現在、当該データ格納装置上の主記憶装置上に存在する前記データ・セットと同一の前記データ・セット・ロケーション情報を有し、現在前記データ格納装置に接続されている二次記憶装置上ないしネットワーク上の他の電子計算機上の主記憶装置上若しくは二次記憶装置上に待避させられている別のデータ・セットに挿入ないし抽出等のアクセス要求が発生した場合、現在、前記当該データ格納装置上の主記憶装置上に存在する前記データ・セットを、前記データ格納装置に接続されている二次記憶装置上ないしネットワーク上の他の電子計算機上の主記憶装置上若しくは二次記憶装置上に待避させ、現在前記データ格納装置に接続された二次記憶装置上ないしネットワーク上の他の電子計算機上の主記憶装置上若しくは二次記憶装置上に待避されている前記アクセス要求が発生しているデータ・セットを召還するリソース・マネジメント部と、
を有し、
前記データ検索加工装置は、
前記アルゴリズムと同一のアルゴリズムを同一のパラメータで用いて、検索対象となる前記データ・セットを特定しながら、一個以上の前記データ格納装置上の一個以上のデータ・セットを横断的に検索するデータ検索部と、
前記データ検索部によって特定され抽出されたデータを、前記アルゴリズムと同一のアルゴリズムを同一のパラメータで用いて、加工対象となる前記データ・セットを特定しながら、変更ないし削除、若しくは一個以上の前記データ・セットに跨るデータ群のジョインないしプロジェクションないしソートないしマージ等のデータ加工を横断的におこなうデータ加工部と、
前記データ検索部ないし前記データ加工部の処理に供される主記憶空間であるワークスペース部と、
前記データ格納部および前記データ検索部および前記データ加工部および前記ワークスペース部に供される主記憶空間のリソースが不足した際、ハードディスク装置等の二次記憶装置やネットワーク上の他の電子計算機上の主記憶装置や二次記憶装置のリソースを利用することによってリソース・マネジメントをおこなうリソース・マネジメント部と、
を有する、
マルチインスタンス・インメモリ・データベース・システム。
【請求項2】
前記データ格納部特定装置は、前記データ・セットのデータ・セット識別記号ロケーション情報変換部のロケーション情報を変更する機能を有し、前記データ格納装置の主記憶装置容量と格納データ・セットの大きさの関係を最適化して再配置することが可能な請求項1に記載のマルチインスタンス・インメモリ・データベース・システム。
【請求項3】
前記データ格納装置は、前記現在当該データ格納装置上の主記憶装置上に格納されている前記データ・セットと同一のロケーション情報を持つ別のデータ・セットを新たに作成しようとしている時、若しくは現在前記データ格納装置に接続された二次記憶装置上ないしネットワーク上の他の電子計算機上の主記憶装置上若しくは二次記憶装置上に待避されているデータ・セットにアクセス要求が発生している時、当該データ格納装置上の主記憶装置上に現在格納されている前記データ・セットを、現在前記データ格納装置に接続されている二次記憶装置上ないしネットワーク上の他の電子計算機上の主記憶装置上若しくは二次記憶装置上に待避させることなく作成若しくは召還するのに十分な主記憶装置容量が当該データ格納装置に存在する場合、当該データ格納装置上の主記憶装置上に現在格納されている前記データ・セットを待避させることなく、一個以上のデータ・セットを当該データ格納装置上の主記憶装置上に格納することが可能な請求項1に記載のマルチインスタンス・インメモリ・データベース・システム。
【請求項4】
ネットワーク上に配置された、一個以上のデータ格納装置上の各主記憶装置容量と前記各データ・セットの大きさを監視し、待避すなわちチェックアウト、召還すなわちチェックインの回数が極小となるように自動的にロケーション情報の再配置をおこなうことを特徴とする請求項1または請求項2または請求項3に記載のマルチインスタンス・インメモリ・データベース・システム。
【請求項5】
前記データ・セットが、他のデータ・セット若しくは自分自身のデータ・セットの他のタプルから参照されている時、参照しているタプルのアトリビュート・データを参照されているデータ・セットの前記データ・セット識別記号変換部への入力データとすることにより、ジョインの結果を新たなデータ・セットとして作成することが可能であることを特徴とする請求項1または請求項2または請求項3または請求項4に記載のマルチインスタンス・インメモリ・データベース・システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2006−92503(P2006−92503A)
【公開日】平成18年4月6日(2006.4.6)
【国際特許分類】
【出願番号】特願2004−308853(P2004−308853)
【出願日】平成16年9月27日(2004.9.27)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(503030067)
【Fターム(参考)】