(57)【要約】  リレーショナルデータベースで、カラム単位でメモリ装置への転送が行われると、同一のカラムのデータが連続したアドレスに配置されることになり、１つのローにアクセスするにもかかわらず、離散的なアドレスに複数回アクセスしなければならず、アクセスの効率が悪くなる。  本発明の情報処理システムは、メモリ装置と、ストレージ装置と、データベース処理エンジンとを備え、データベース処理エンジンは、ストレージ装置に保存されたカラム型ページをロー型ページに変換してメモリ装置に保存するモジュールを有することで、メモリ装置ではロー型ページで管理されるので、データベースへの効率的なアクセスを実現できる。
2014010038.tif 000002
【特許請求の範囲】
【請求項１】
メモリ装置と、
ストレージ装置と、
データベース処理エンジンとを備え、
前記データベース処理エンジンは、
前記ストレージに保存された論理的に連続な第１データを読み出し、前記第１データから抽出した第１エレメントを第１コマンドで、前記第１データから抽出した第２エレメントを第２コマンドで、離散的に前記メモリ装置のメモリ領域に書き込むモジュールを有することを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムにおいて、
前記モジュールは、さらに、
前記ストレージに保存された論理的に連続な第２データを読み出し、前記第２データから抽出した第３エレメントを前記第１エレメントの前記メモリ領域への書き込み箇所と連続した箇所に書き込むことを特徴とする情報処理システム。
【請求項３】
請求項２に記載の情報処理システムにおいて、
前記第１データおよび前記第２データは、カラム型ページであり、
前記第１エレメントおよび前記第３エレメントは同一のロー型ページに属することを特徴とする情報処理システム。
【請求項４】
請求項１に記載の情報処理システムにおいて、
前記メモリ装置はＤＲＡＭを含み、
前記ストレージ装置はＨＤＤを含むことを特徴とする情報処理システム。
【請求項５】
請求項１に記載の情報処理システムにおいて、
中央処理装置を有し、
前記メモリ装置は前記中央処理装置の主記憶であることを特徴とする情報処理システム。
【請求項６】
メモリ装置と、
ストレージ装置と、
データベース処理エンジンとを備え、
前記データベース処理エンジンは、
前記ストレージ装置に保存されたカラム型ページをロー型ページに変換して前記メモリ装置に保存するモジュールを有することを特徴とする情報処理システム。
【請求項７】
請求項６に記載の情報処理システムにおいて、
複数の中央処理装置を有し、
前記データベース処理エンジンは、
前記ロー型ページ内のカラム毎に各中央処理装置からのアクセスの有効無効を管理することを特徴とする情報処理システム。
【請求項８】
請求項６に記載の情報処理システムにおいて、
前記メモリ装置はＤＲＡＭを含み、
前記ストレージ装置はＨＤＤを含むことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リレーショナルデータベースへのアクセスを行う情報処理システムに関する。
【背景技術】
【０００２】
リレーショナルデータベースのデータ形式として，テーブルをカラム単位で格納するカラム型データベースが知られている。カラム型データベースにおいては、特定のカラムの集計を取るなどの処理が高速になる。また、カラム内の値はデータ型が同じであるために、高圧縮率を実現でき、ストレージを有効に使用することができる。【０００３】
特許文献１には、カラム型のリレーショナルデータベースにおいて、あるカラムに関するバリュー＋ローＩＤの集合を二次記憶装置から主記憶装置に転送する処理と同期して、他のカラムの条件を満たしたローＩＤの集合と転送中のローＩＤのつき合わせ処理を行い、転送中のバリュー＋ローＩＤの集合の中で、条件を満たしたバリュー＋ローＩＤの集合のみを主記憶に送るデータ処理方式が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−１３１２２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、リレーショナルデータベースにおいて、テーブルから条件を満たすローを抜き出すフィルター処理や複数のテーブルを結合するジョイン処理の対象は、主記憶上ではロー単位でアクセスされて処理される。【０００６】
しかしながら、特許文献１に開示の技術では、カラム単位で主記憶装置への転送が行われるので、同一のカラムのデータが連続したアドレスに配置されることになり、１つのローにアクセスするにもかかわらず、離散的なアドレスに複数回アクセスしなければならず、ＣＰＵの負荷が上昇してしまう。ひいては、情報処理システムの処理性能が下がってしまう。【０００７】
本発明は、データベースへの効率的なアクセスを実現することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の情報処理システムは、メモリ装置と、ストレージ装置と、データベース処理エンジンとを備え、データベース処理エンジンは、ストレージ装置に保存されたカラム型ページをロー型ページに変換してメモリ装置に保存するモジュールを有することで、前述の課題を解決する。
【発明の効果】
【０００９】
本発明により、データベースへの効率的なアクセスを実現できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例である情報処理システムの例を示す図である。
【図２】本発明の実施例である情報処理システムの例を示す図である。
【図３】テーブルの構成例を示す図である。
【図４】テーブルに対する処理例を示す図である。
【図５】カラム型ページの模式図である。
【図６】ロー型ページの模式図である。
【図７】本発明の実施例の機能ブロック図である。
【図８】ページ変換テーブルの構成を示す図である。
【図９】ＤＢバッファテーブルの構成を示す図である。
【図１０】テーブルフォーマットの構成を示す図である。
【図１１】ロー管理テーブルの構成を示す図である。
【図１２】読み出し時のＣＰＵの処理フローを示す図である。
【図１３】読み出し時のＤＢ処理エンジンの処理フローを示す図である。
【図１４】読み出しの際のＤＢ処理エンジン１０２によるデータの変換の例を示す図である。
【図１５】書き込み時のＣＰＵの処理フローを示す図である。
【図１６】書き込み時のＤＢ処理エンジンの処理フローを示す図である。
【図１７】書き込み時のデータの変換例を示す図である。
【発明を実施するための形態】
【実施例１】
【００１１】
図１に本発明の実施例である情報処理システム１００を示す。情報処理システム１００は、ストレージ装置１０１と、データベース（ＤＢ）処理エンジン１０２と、少なくともひとつの中央処理装置（ＣＰＵ）１０３と、メモリ装置１０４と、スイッチ１０５とを備える。メモリ装置１０４は、記憶素子としてＤＲＡＭを含み、ＣＰＵ１０３の主記憶として働く。ストレージ装置１０１は、ＨＤＤを含み、情報処理システム１００の二次記憶装置として働く。ストレージ装置１０１は、独立したＩ／Ｏバスを通じてＤＢ処理エンジン１０２に接続されており、該ＤＢ処理エンジン１０２はＣＰＵ１０３のそれぞれと、メモリ装置１０４とにスイッチ１０５を介して接続されている。ＤＢ処理エンジン１０２は、処理を実行するＣＰＵと、ＤＢ処理エンジン１０２での処理を実行するためのプログラムやデータを保持する記憶装置を有する。【００１２】
図３に、本実施例の処理対象である、リレーショナルデータベースのテーブルの構造の例を示す。本実施例のテーブルは複数のローおよび複数のカラムから構成される。ローおよびカラムは、それぞれロー識別情報であるローＩＤおよびカラム識別番号であるカラムＩＤで特定される。本実施例では、ローＩＤおよびカラムＩＤは、それぞれロー番号およびカラム番号である。カラム番号「ｉ」のローとカラム番号「ｊ」のカラムの交わる要素を（ｉ，ｊ）エレメントと呼ぶ。【００１３】
図４に、本実施例のテーブルに対する処理の一例を示す。図４のテーブル４００は、カラムＩＤが「１」、「２」、「３」、「４」の４つのカラムと、ローＩＤが「１」、「２」、「３」、「４」、「５」、「６」、「７」、「８」の８つのローから構成されている。図４に示した処理では、各ローについて、カラムＩＤが「２」のエレメントの値と、カラムＩＤが「３」のエレメントの値を読み、条件に合致するローのみを抜き出し、抜き出したローのカラム１、カラム２、カラム３のエレメントを生成している。図４では、ローＩＤが「２」、「４」、「５」、「７」のローが抜き出されている。【００１４】
本実施例のテーブルのデータは、論理的に連続なデータであるカラム型ページでストレージ装置１０１に格納される。図５は、本実施例のカラム型ページの模式図である。図５に示すカラム型ページは、一定のサイズのアドレス空間に同一のカラムに属するエレメントが順に配置されている。図３のテーブルで説明すれば、カラムＩＤが「２」のカラムを格納しているカラム型ページは、ローＩＤである「１」、（１，２）エレメントの値、ローＩＤである「２」、（２，２）エレメントの値、ローＩＤである「３」、（３，２）エレメントの値というようにして順に配置される。このように、図５のカラム型ページでは、１つのエレメントは、ローＩＤと該ローＩＤが示すローの内で該当するカラムに格納されている値の組によって記述される。【００１５】
ＤＢ処理エンジン１０２がストレージ装置１０１から取り出したエレメントの値を、メモリ装置１０４に書き込む際に用いるロー型ページを図６に示す。図６のロー型ページには、一定のサイズのアドレス空間に、ロー６１０、ロー６２０のようにロー単位で各ローが配置されている。さらに、例えば、ロー６１０の領域の中に、各エレメントは、カラムＩＤ６１１とエレメントの値６１２の組、カラムＩＤ６１３とエレメントの値６１４の組のように、カラムＩＤとエレメントの値の組によって記述されている。このように、ロー型ページには、カラムＩＤとエレメントの値が順に配置されている。図３のテーブルで説明すれば、（１，１）エレメント、（１，２）エレメント、（１，３）エレメントの順に連続したアドレスにデータが配置されている。なお、カラム型ページおよびロー型ページのいずれの場合にも、予め設定したサイズにテーブル全体が収まらないことが発生する。その場合には、テーブルの途中のローまでを１ページ、次のローからを２ページというようにして、複数のページでテーブル全体を格納する。【００１６】
同一のカラムに含まれるエレメントは同一のデータ型であり、また、エレメントの値が重複していたりする。このため、例えば、同じページに格納されたエレメントに出現する値のインデックスをページの先頭に配置することで、実際のエレメントの値はインデックスのＩＤに置き換えることができる。ストレージ装置１０１にカラム型でデータを保存することで、各種の圧縮技術を適用でき、データサイズを圧縮することができる。【００１７】
図７に、情報処理システム１００の機能ブロック図を示す。データベースのテーブルはストレージ装置１０１にカラム型ページ７０１として格納される。メモリ装置１０４の記憶領域には、ＤＢバッファ７０２が設けられ、ＣＰＵ１０３がストレージ装置１０１に格納されたテーブルのデータにアクセスする場合には、ＤＢバッファ７０２にキャッシュしてからアクセスを行う。ＤＢバッファ７０２には、複数のロー型ページ７０３を格納する領域が用意されて、各領域にはＤＢバッファ番号が振られており、ＤＢ処理エンジン１０２によってカラム型ページから変換されたロー型ページがキャッシュされる。さらに、メモリ装置１０４には、ＤＢバッファ７０２を管理するためのＤＢバッファテーブル７０４が置かれる。また、ＤＢ処理エンジン１０２の記憶装置の記憶領域７１０には、ページ変換テーブル７０５と、テーブルフォーマット７０６と、書き込み管理テーブル７０７と、カラム−ロー変換モジュール７０８と、書き込みモジュール７０９とが格納される。【００１８】
図８にページ変換テーブル７０５の構成を示す。ページ変換テーブル７０５の各エントリーは、カラムの識別情報であるカラム番号、カラム型ページの識別情報であるカラム型ページ番号、およびロー型ページの識別番号であるロー型ページ番号の組で構成される。ページ変換テーブル７０５は、メモリ装置１０４に置かれる際の識別情報であるロー型ページ番号と、ストレージ装置１０１に格納されているカラム型ページの識別情報であるカラム型ページ番号を対応づけるものである。【００１９】
例えば、カラム番号がＡのカラムは、少なくともカラム型ページ番号がａ、ａ’の２つのカラム型ページを含み、ａのカラム型ページは、少なくともロー型ページ番号が８０１および８０２のロー型ページに対応し、ａ’のカラム型ページは、少なくともロー型ページ番号が８０３のロー型ページに対応している。一つのカラムに含まれるカラム型ページの数は、例えば１０までである。また例えば、カラム番号がＪのカラムのカラム型ページ番号ｊのカラム型ページは、少なくともロー型ページ番号８０８のロー型ページに対応している。逆に、例えば、特定のロー型ページであるロー型ページ番号８０８のロー型ページにアクセスする場合には、ページ変換テーブル７０５のロー型ページ番号を検索し、ロー型ページ番号が８０８となっているエントリーを集めることで、ロー型ページを生成するために必要なカラム型ページを見つけることができる。【００２０】
図９にＤＢバッファテーブル７０４の構成を示す。ＤＢバッファテーブル７０４は、メモリ装置１０４にキャッシュされているロー型ページを管理するために置かれている。ＤＢバッファテーブル７０４の各エントリーは、ＤＢバッファの識別情報であるＤＢバッファ番号、該ＤＢバッファに格納されているロー型ページのロー型ページ番号、および該ロー型ページの有効なカラムのカラム番号の組で構成される。なお、有効なカラムに挙げられていないカラム番号のカラムに関しては、その値は保障されない。ＤＢバッファ７０２では、有効なカラムに挙げられていないカラム番号のカラムの箇所には、ダミーの値がＤＢ処理エンジン１０２によって書き込まれる。【００２１】
図１０にテーブルフォーマット７０６の構成を示す。情報処理システム１００で取り扱うデータベースのテーブルごとにテーブルフォーマット７０６が置かれる。テーブルフォーマット７０６の各エントリーはカラム番号、該カラム番号のカラムのエレメントの値のデータ型、および該カラム番号のカラムのエレメントのサイズで構成されている。【００２２】
図１１に書き込み管理テーブル７０７の構成を示す。書き込み管理テーブル７０７の各エントリーは、書き込み箇所を含むロー型ページのロー型ページ番号と、該ロー型ページの書き込み箇所のカラム番号と、ＣＰＵの識別情報であるＣＰＵ  ＩＤで構成されている。各ＣＰＵ１０３が、あるエレメントを書き換えるときに、書き込み箇所を含むロー型ページのロー型ページ番号と、該ロー型ページ内の書き込み箇所のカラム番号と、書き換えを行うＣＰＵのＣＰＵ  ＩＤのエントリーを追加することによって、他のＣＰＵによる重複した書き込みを防ぐ。【００２３】
以下に、情報処理システム１００のテーブルの読み出しの場合と、テーブルへの書き込みの場合の動作フローを説明する。【００２４】
図１２に、テーブルの読み出し時のＣＰＵ１０３の処理フローを示す。ＣＰＵ１０３は特定のロー型ページに含まれる情報、すなわちロー型ページ内の特定のエレメントを読み出しする際、ＤＢバッファテーブル７０４のロー型ページ番号と有効なカラムの識別番号を検索し（Ｓ１２０１）、アクセス対象のエレメントがＤＢバッファ７０２にキャッシュされているかを判定する（Ｓ１２０２）。ロー型ページ内の特定のエレメントは、ロー型ページ番号と該ロー型ページ内に含まれるカラムのカラム番号で特定される。アクセス対象のエレメントがキャッシュされている場合には、ＣＰＵ１０３は、そのままアクセス対象をＤＢバッファ１０２から読み出しする（Ｓ１２０３）。一方、アクセス対象のエレメントがキャッシュされていない場合には、ＣＰＵ１０３は、ＤＢ処理エンジン１０２にアクセス対象のロードリクエストを送信する（Ｓ１２０４）。その際に、ロードリクエストに含める情報として、ＣＰＵ１０３は、空きＤＢバッファ番号と、リクエストするロー型ページ番号およびカラム名と、を送信する。ＣＰＵ１０３は、ロードリクエスト送信後は、ＤＢ処理エンジンからのＩ／Ｏ完了割込みを待ち（Ｓ１２０５）、Ｉ／Ｏ完了割込みを受信すると、アクセス対象を読み出す（Ｓ１２０３）。【００２５】
図１３に、読み出し時のＤＢ処理エンジン１０２の処理フローを示す。ＤＢ処理エンジン１０２のカラム−ロー変換モジュール７０８は、ＣＰＵ１０３からロードリクエストを受信すると、ページ変換テーブル７０５から、ロードリクエストで指示されたロー型ページ番号とカラム名に対応するカラム型ページ番号を検索する（Ｓ１３０１）。次に、カラム−ロー変換モジュール７０８は、ストレージ装置１０１に検索で得たカラム型ページ番号のロードリクエストを送信し（Ｓ１３０２）、ストレージ装置１０１からのＩ／Ｏ完了通知を待つ（Ｓ１３０３）。カラム−ロー変換モジュール７０８は、ストレージ装置１０１にロードリクエストして受信したカラム型ページをロー型ページに変換し（Ｓ１３０４）、ＣＰＵ１０３からのロードリクエストで指示されたＤＢバッファへロー型ページを転送し（Ｓ１３０５）、ＣＰＵ１０３へのＩ／Ｏ完了通知を発行し（Ｓ１３０６）、処理を終了する。【００２６】
図１４に、読み出しの際のＤＢ処理エンジン１０２によるデータの変換の例を示す。ＤＢ処理エンジン１０２が、ロー型ページ１４１０を、カラム番号「Ｂ」のカラム、カラム番号「Ｃ」のカラムを有効にして生成する場合を用いて説明する。ＤＢ処理エンジン１０２のカラム−ロー変換モジュール７０８は、カラム番号「Ｂ」のカラムを格納しているカラム型ページ１４２０で連続して格納されているエレメント１４２１、エレメント１４２２を抽出して、それぞれロー型ページ１４１０の離散した所定のアドレスに書き込む。この際に、カラム−ロー変換モジュール７０８からの第１のコマンドでエレメント１４２１がロー型ページ１４１０に書き込まれ、カラム−ロー変換モジュール７０８からの第２のコマンドでエレメント１４２２が書き込まれる。一つのコマンドで書き込みを行うと離散した書き込み箇所の間の領域の処理のためにメモリ装置１０４とＤＢ処理エンジン１０２の間の転送量が多くなるのに対して、第１のコマンドと第２のコマンドの２つのコマンドで書き込みを行うことで、転送量を抑えることができる。図１４に示したように、エレメント１４２１とエレメント１４２２はロー型ページ１４１０の離散した箇所に書き込まれる。【００２７】
既にＤＢバッファ７０２にキャッシュされているロー型ページの有効でないカラムを追加的に読み出す場合、例えばカラム番号「Ｂ」のカラムが有効なロー型ページにカラム番号「Ｃ」のカラムを追加的に読み出す場合には、ＤＢ処理エンジン１０２はロー型ページのカラム番号「Ｂ」カラムのエレメントの後ろにカラム番号「Ｃ」のカラムのエレメント１４３１、エレメント１４３２をそれぞれ順に、ロー型ページの所定のアドレスに書き込む。図１４の例では、ロー型ページ１４１０には、カラム番号「Ｂ」のカラムからのエレメントとカラム番号「Ｃ」のカラムからのエレメントがメモリ領域の連続した箇所に書き込まれる。これにより、ＣＰＵ１０３は、カラム番号「Ｂ」のカラムからのエレメントとカラム番号「Ｃ」のカラムからのエレメントに効率よくアクセスすることができる。また、図１４の例では、カラム番号「Ｂ」のカラムからのエレメントとカラム番号「Ｃ」のカラムからのエレメントがメモリ領域の連続した箇所に書き込まれるとしたが、メモリ領域の連続した箇所でなくても、同じロー型ページに書き込まれることで、ＣＰＵ１０３から効率よくアクセスされる。書き込むべきアドレスの計算はテーブルフォーマット７０６を使用して行われる。したがって、読み出されたカラムのみロー型ページに転送され、書き出されているため、実際の主記憶への転送量はロー型ページのサイズに比べて小さくなり、情報処理システム１００の処理が効率的になる。また、ＤＢバッファ７０２ではロー型ページで管理されるので、ＣＰＵ１０３は効率的にテーブルのエレメントにアクセスできる。【００２８】
図１５にテーブルへの書き込みの際のＣＰＵ１０３の処理フローを示す。ここで、ＣＰＵ１０３が特定のエレメントを書き込みする際、予めアクセス対象のエレメントを含むロー型ページをテーブルから読み出している状態を仮定する。通常、データベースから読み出したデータに書き換えが行われるからである。ＣＰＵ１０３は、アクセス対象のロック要求をＤＢ処理エンジン１０２に送信する（Ｓ１５０１）。その際に、ＣＰＵ１０３は、書き込みを行うロー型ページのロー型ページ番号と、書き込みを行うロー型ページの内の書き込みを行うカラムのカラム番号と、自身のＣＰＵ＿ＩＤをＤＢ処理エンジン１０２に通知する。ＣＰＵ１０３はロック取得通知を受信すると（Ｓ１５０２）、ＤＢバッファ７０２にキャッシュされたロー型ページに対して書き込み、すなわち書き換えを行う（Ｓ１５０３）。書き換えが完了すると、取得したロックの解除要求をＤＢ処理エンジン１０２に送信し（Ｓ１５０４）、ロック解除通知を受信（Ｓ１５０５）すると、フローを終了する。【００２９】
図１６に書き込み時のＤＢ処理エンジン１０２の処理フローを示す。ＤＢ処理エンジン１０２の書き込みモジュール７０９は、ＣＰＵ１０３からロック取得要求を受信（Ｓ１６０１）すると、書き込み管理テーブル７０７を検索し、要求されたロー型ページ内のカラムが登録されているか、すなわち書き込み管理テーブル７０７のエントリーにあるロー型ページ内のカラムと重複があるかを判定する（Ｓ１６０２，Ｓ１６０３）。登録がされている場合、書き込みモジュール７０９は、ＣＰＵ１０３にロック取得エラー通知を送信（Ｓ１６０４）し、フローを終了する。登録がされていない場合、書き込みモジュール７０９は、書き込み管理テーブル７０７に新規エントリーとして、要求に含まれているロー型ページ番号、カラム番号、要求元ＣＰＵ  ＩＤを登録し、ＣＰＵ１０３にロック取得通知を送信する（Ｓ１６０５）。【００３０】
次に、書き込みモジュール７０９は、ページ変換テーブル７０５に基づいて、修正の対象となるカラム型ページをストレージ装置１０１から読み出し（Ｓ１６０６）、ＤＢ処理エンジン１０２の記憶装置の記憶領域７１０内にキャッシュし、ＣＰＵ１０３からのロック解除要求を受信するのを待つ（Ｓ１６０７）。書き込みモジュール７０９は、ロック解除要求を受信すると、ＣＰＵ１０３からの要求にそのロー型ページ番号が含まれていたロー型ページ、すなわちロック対象を含んだロー型ページをＤＢバッファ７０２から読み出し、ＤＢ処理エンジン１０２の記憶装置の記憶領域７１０内にキャッシュする（Ｓ１６０８）。そして、書き込みモジュール７０９は、書き込み管理テーブル７０７から該当するエントリーを削除し、ＣＰＵ１０３にロック解除通知を送信する（Ｓ１６０９）。書き込みモジュール７０９は、最後に、ＤＢバッファ７０２から読み出したロー型ページにあるＣＰＵ１０３によって書き換えのあったエレメントの値を使用して、ストレージ装置１０１から読み出したカラム型ページの該当する箇所を修正し、修正後のカラム型ページをストレージ装置１０１に書き戻す（Ｓ１６１０）。【００３１】
図１７に書き込み時のデータの変換例を示す。ＣＰＵ１０３が、ロー型ページ１４１０において、ロー１７２０のエレメント１７２１の値を書き換えると、ＤＢ処理エンジン１０２の書き込みモジュール７０９は、ページ変換テーブル７０５に基づいて対応するカラム型ページ１４２０の対応するエレメント１７２２を修正し、ストレージ装置１０１に書き戻す。【００３２】
複数のＣＰＵ１０３による重複したアクセスを禁止するために、ストレージに格納されている単位、すなわちカラム型ページ単位でロックを掛けるとすれば、ロックの影響が該カラム型ページへのアクセスの全てに広がってしまう。これに対して、本実施例では、ストレージ装置１０１ではカラム型で保存しているが、ＤＢ処理エンジン１０２でこれを変換したロー型ページ内のさらに特定のカラムへのアクセスに対してロックを掛けるので、ＣＰＵ間の干渉が大幅に低減し、情報処理システム１００の処理速度が向上する。
【実施例２】
【００３３】
図２に、情報処理システム１００の変形例として情報処理システム２００を示す。図２に示すように、本発明では、必ずしも全てのＣＰＵ１０３が一つのメモリ装置１０４を共有する必要は無い。また、図２に示すように、ＤＢ処理エンジン１０２とストレージ装置１０１の組も一つに限定されず、一つのＣＰＵが複数のＤＢ処理エンジンにアクセス可能な構成も取り得る。
【符号の説明】
【００３４】
１００：情報処理システム、１０１：ストレージ装置、１０２：データベース（ＤＢ）処理エンジン、１０３：ＣＰＵ、１０４：メモリ装置、１０５：スイッチ、７０２：ＤＢバッファ、７０４：ＤＢバッファテーブル、７０５：ページ変換テーブル、７０６：テーブルフォーマット、７０７：書き込み管理テーブル、７０８：カラム−ロー変換モジュール、７０９：書き込みモジュール。
【図１】
2014010038.tif 000003
【図２】
2014010038.tif 000004
【図３】
2014010038.tif 000005
【図４】
2014010038.tif 000006
【図５】
2014010038.tif 000007
【図６】
2014010038.tif 000008
【図７】
2014010038.tif 000009
【図８】
2014010038.tif 000010
【図９】
2014010038.tif 000011
【図１０】
2014010038.tif 000012
【図１１】
2014010038.tif 000013
【図１２】
2014010038.tif 000014
【図１３】
2014010038.tif 000015
【図１４】
2014010038.tif 000016
【図１５】
2014010038.tif 000017
【図１６】
2014010038.tif 000018
【図１７】
2014010038.tif 000019
【国際調査報告】
2014010038.tif 000020
2014010038.tif 000021
2014010038.tif 000022
2014010038.tif 000023