(57)【要約】【課題】安価に実装可能なデータベース処理の高速化装置、方法、および、プログラムを提供する。【解決策】ＧＰＵなどの並列処理機能を備えたコプロセッサを備えたシステムにおいて、データベースへのクエリを元にコプロセッサ用の命令列を動的に生成し、コプロセッサで並列実行すると共に、二次記憶装置からコプロセッサへのデータ転送をＣＰＵ、メインメモリー、及び、周辺機器バスを介在せずに行なうことで、システム全体の処理効率を向上する。
2017085985.tif 000002
【特許請求の範囲】
【請求項１】
データ保存手段と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記データ保存手段に保存されたデータベースとを含むデータベース処理システムにおけるデータ処理方法であって、
前記中央処理装置が、前記データ保存手段に対して前記データベース中のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行するステップと、
前記データ保存手段が、前記データベース中の前記データを前記主記憶装置を経由することなく前記並列処理装置に転送するステップと、
前記並列処理装置が、前記データベース中の前記データを並列的に処理するステップと、
前記並列処理装置が、前記データベース中の前記データを処理した結果を前記主記憶装置に書き込むステップとを
含むデータ処理方法。
【請求項２】
前記並列処理装置はグラフィックスプロセッシングユニット（ＧＰＵ）である
請求項１に記載のデータ処理方法。
【請求項３】
データ保存手段と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記データ保存手段に保存されたデータベースとを含むデータベース処理システムで実行されるデータ処理プログラムであって、
前記中央処理装置に、前記データ保存手段に対して前記データベース中のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行させる命令と、
前記データ保存手段に、前記データベース中の前記データを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令と、
前記並列処理装置に、前記データベース中の前記データを並列的に処理させる命令と、
前記並列処理装置が、前記データベース中の前記データを処理した結果を前記主記憶装置に書き込む命令とを
含むデータ処理プログラム。
【請求項４】
前記並列処理装置はグラフィックスプロセッシングユニット（ＧＰＵ）である
請求項３に記載のデータ処理プログラム。
【請求項５】
データ保存手段と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記データ保存手段に保存されたデータベースとを含むデータベース処理システムであって、
前記中央処理装置は、前記データ保存手段に対して前記データベース中のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行し、
前記データ保存手段は、前記データベース中の前記データを前記主記憶装置を経由することなく前記並列処理装置に転送し、
前記並列処理装置は、前記データベース中の前記データを並列的に処理し、
前記並列処理装置が、前記データベース中の前記データを処理した結果を前記主記憶装置に書き込む
データべース処理システム。
【請求項６】
さらに、前記並列処理装置はグラフィックスプロセッシングユニット（ＧＰＵ）である
請求項５に記載のデータベース処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、データベース処理の高速化のためのシステム、方法、及び、プログラム、特に、グラフィックプロセッサとピアツーピアＤＭＡを利用した高速化を実現するシステム、方法、及び、プログラムに関する。
【背景技術】
【０００２】
データベース管理システム（ＤＢＭＳ）、特に、リレーショナルデータベース管理システム（ＲＤＢＭＳ）が今日の情報システムにおいて不可欠な構成要素となっている。ゆえに、ＲＤＢＭＳの処理高速化は情報システムの効率性向上のためにきわめて重要であり、多くの高速化技術が提案されている。【０００３】
そのような高速化技術のひとつとして、グラフィック・プロセッシング・ユニット（ＧＰＵ）を使用したものが知られている。ＧＰＵは今日のパーソナルコンピューターやゲーム機において一般的な構成要素となっており、安価に入手可能である一方で、実質的には多数のコアを備えた並列処理プロセッサであることから、グラフィック処理以外にも汎用的応用が可能である。このような応用手法は一般にＧＰＧＰＵ（ジェネラル・パーパスＧＰＵ）とも呼ばれる。ＧＰＧＰＵによるデータベースアクセスの高速化技術については非特許文献１、及び、非特許文献２に記載されたもの等が知られている。【０００４】
従来のＧＰＧＰＵによるデータベースアクセスの高速化技術においては、処理対象データの二次記憶装置（ストレージ）から主記憶装置（メインメモリー）上への移動が性能上のボトルネックとなっていた。ストレージ上のデータベースに格納されたデータの処理を行なうためには、中央処理装置（ＣＰＵ）がまず主記憶装置上にバッファ領域を確保し、次に二次記憶装置から当該バッファへデータをロードし、ロード処理が完了してはじめて、二次記憶装置内に保管されていたデータにアクセスすることが可能であった。【０００５】
現時点での一般的ハードウェア技術では、ＣＰＵとメインメモリー間の帯域は毎秒５０ＧＢから毎秒３００ＧＢであるのに対し、ストレージとＣＰＵを接続する周辺装置バスの帯域は毎秒４ＧＢから１５ＧＢ程度であり、後者が性能上のボトルネックとなることが不可避であった。従来のデータベース処理方式ではこのボトルネックを通じて大量のデータを転送することが必要であり、ＧＰＧＰＵによる並列処理の性能向上効果が相殺されるという問題があった。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】GPUDirect RDMA  （http://docs.nvidia.com/cuda/gpudirect-rdma/index.html）
【非特許文献２】GPGPU Accelerates PostgreSQL (http://www.slideshare.net/kaigai/gpgpu-accelerates-postgresql)
【発明の概要】
【発明が解決しようとする課題】
【０００７】
安価に実装可能なデータベースクエリー高速化システム、方法、及び、プログラムを提供する。
【課題を解決するための手段】
【０００８】
本願発明は、データ保存手段と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記データ保存手段に保存されたデータベースとを含むデータベース処理システムにおけるデータ処理方法であって、前記中央処理装置が、前記データ保存手段に対して前記データベース中のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行するステップと、前記データ保存手段が、前記データベース中の前記データを前記主記憶装置を経由することなく前記並列処理装置に転送するステップと、前記並列処理装置が、前記データベース中の前記データを並列的に処理するステップと、前記並列処理装置が、前記データベース中の前記データを処理した結果を前記主記憶装置に書き込むステップとを含むデータ処理方法を提供することで前記課題を解決する。【０００９】
また、本願発明は、前記並列処理装置はグラフィックスプロセッシングユニット（ＧＰＵ）である前段落に記載のデータ処理方法を提供することで前記課題を解決する。【００１０】
また、本願発明は、データ保存手段と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記データ保存手段に保存されたデータベースとを含むデータベース処理システムで実行されるデータ処理プログラムであって、前記中央処理装置に、前記データ保存手段に対して前記データベース中のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行させる命令と、前記データ保存手段に、前記データベース中の前記データを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令と、前記並列処理装置に、前記データベース中の前記データを並列的に処理させる命令と、前記並列処理装置が、前記データベース中の前記データを処理した結果を前記主記憶装置に書き込む命令とを含むデータ処理プログラムを提供することで前記課題を解決する。【００１１】
また、本願発明は、前記並列処理装置はグラフィックスプロセッシングユニット（ＧＰＵ）である前段落に記載のデータ処理プログラムを提供することで前記課題を解決する。【００１２】
また、本願発明は、データ保存手段と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記データ保存手段に保存されたデータベースとを含むデータベース処理システムであって、前記中央処理装置は、前記データ保存手段に対して前記データベース中のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行し、前記データ保存手段は、前記データベース中の前記データを前記主記憶装置を経由することなく前記並列処理装置に転送し、前記並列処理装置は、前記データベース中の前記データを並列的に処理し、前記並列処理装置が、前記データベース中の前記データを処理した結果を前記主記憶装置に書き込むデータべース処理システムを提供することで前記課題を解決する。【００１３】
また、本願発明は、さらに、前記並列処理装置はグラフィックスプロセッシングユニット（ＧＰＵ）である前段落に記載のデータベース処理システムを提供することで前記課題を解決する。
【発明の効果】
【００１４】
周辺装置バスの性能ボトルネックに影響を受けにくいデータベースクエリー高速化システム、方法、及び、プログラムが安価に実装可能になる。
【図面の簡単な説明】
【００１５】
【図１】本願発明の実施例に係る計算機の機能構成の一例である。
【図２】本願発明の実施例に係るリレーショナルＤＢＭＳソフトウェアの機能構成の一例である。
【図３】本願発明の実施例に係るリレーショナルＤＢＭＳのクエリー実行計画の一例である。
【図４】本願発明の実施例に係るリレーショナルＤＢＭＳのデータ処理方法の第一の例である。
【図５】本願発明の実施例に係るリレーショナルＤＢＭＳのデータ処理方法の第二の例である。
【発明を実施するための形態】
【００１６】
以下に図を参照しながら本願発明の実施例について説明する。
【００１７】
図１に本願発明の実施例に係る計算機の機能構成の一例を示す。中央処理装置（１０１）は、主記憶装置（１０２）に格納されたプログラムの実行、及び、主記憶装置（１０２）と二次記憶装置（１０３）間のデータの移動を行なう。中央処理装置（１０１）は一般的なコンピューターに使用されているプロセッサ（ＣＰＵ）であってよい。主記憶装置（１０２）は一般的なコンピューターに使用されているＤＲＡＭであってよい。並列処理装置（１０４）は多数のコアを有して、並列的な処理を行なうことができるプロセッサであり、グラフィカル・プロセッシング・ユニット（ＧＰＵ）であってよい。また、並列処理装置（１０４）は、ＭＩＣ（Ｍａｎｙ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｏｒｅ）と呼ばれる多数のコアを備えた設計のプロセッサやＦＧＰＡ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）で実装された専用設計プロセッサであってもよい。以降、これらを総称してコプロセッサとも呼ぶ。周辺装置バス（１０６）は、主記憶装置（１０２）と二次記憶装置（１０３）と並列処理装置（１０４）とを接続する手段であり、ピアツーピアのＤＭＡ（ダイレクト・メモリ・アクセス）をサポートする。周辺装置バス（１０６）は、業界標準であるＰＣＩ−ＥにＳＳＤ（半導体ディスク）を接続するＮＶＭｅ機能を供えたものであることが望ましい。二次記憶装置（１０３）はフラッシュ・メモリーのテクノロジーに基づくＳＳＤであることが望ましい。また、図示していないが、本願発明に係る計算機は、ネットワークを介してデータやユーザーによる要求を送受信するためのネットワーク接続機能等を備えていてもよい。
【００１８】
図２に本願発明に係るリレーショナルＤＢＭＳソフトウェアの機能構成の一例を示す。まず、クエリー構文解析部（２０１）がＳＱＬ形式で記述されたクエリー文を受け取り、内部形式であるクエリー構文木を作成する。次に、クエリー最適化部（２０２）がクエリー構文木に対する最適化処理を行ない内部形式であるクエリー実行計画を作成する。クエリー実行計画は中央処理装置（１０１）および並列処理装置（１０４）により実行され、データベース内に格納されたデータに対する照会（クエリー）、結合（ジョイン）、分類（ソート）、集約（アグリゲート）等の処理が行なわれる。なお、本願発明は、リレーショナルＤＢＭＳに限らず大量データに対する並列的な処理を行なうあらゆるデータベース管理システムに広く適用可能である。
【００１９】
図３に本願発明の実施例に係るリレーショナルＤＢＭＳのクエリー実行計画の一例を示す。一般に、クエリーは走査処理と結合処理により表わされる。走査処理はリレーショナルＤＢＭＳ中のテーブルから走査条件（たとえば、指定されたコラム（列、フィールド）の値が指定された数値範囲内にあることに合致する行（レコード、タプル）のみを読み出す処理である（ＳＱＬ文で表現すれば、たとえば、SELECT ORDER_ID FROM ORDER WHERE SUM＞10000））。結合処理（ジョイン）は特定コラムの値が合致する行を複数のテーブルから組み合わせて出力する処理である（ＳＱＬ文で表現すれば、たとえば、SELECT CMASTER.CUSTOMER_NAME FROM ORDER, CMASTER WHERE ORDER.CUSTOMER =CMASTER.CUSTOMER_ID）。いずれも、リレーショナルＤＢＭＳにおいて典型的に行なわれる処理であり、両者を効率化することが情報システム全体の効率化に結びつく。両者とも大量のデータが扱われることから、データの移動、特に、性能上のボトルネックとなる周辺装置バス（１０６）を経由するデータの移動を最小化することが重要である。
【００２０】
図４に、本願発明の実施例に係るリレーショナルＤＢＭＳの処理方式の第一の例を示す。ここでは、図３の走査処理の一部における処理の例を示す。図４で太線の矢印線はデータの流れを、破線の矢印線は制御の流れ、または、論理的な関係を表わす。まず、中央処理装置（１０１）が、クエリー実行計画の走査条件にしたがって、並列処理装置（１０４）が実行できる命令列を動的に生成し、主記憶装置（１０２）上に置く（Ｓ４０１）。テーブルの走査処理は多数の行に対して同一の処理（たとえば、数値範囲のチェック）を行なうものであるため、並列処理装置（１０４）向け命令を生成することは容易である。次に、中央処理装置（１０１）が、生成した命令列を主記憶装置（１０２）から並列処理装置（１０４）に転送する（Ｓ４０２）。次に、中央処理装置（１０１）が、二次記憶装置（１０３）に対して、処理対象となるデータベース中の行の集合を並列処理装置（１０４）に転送する命令を発行する（Ｓ４０３）。この命令はピアツーピアＤＭＡによるデータ転送を起動するものであることが望ましい。次に、二次記憶装置（１０３）が、この命令にしたがって、処理対象となるデータベース中の行の集合を並列処理装置（１０４）に、主記憶装置（１０２）を経由することなく転送する（この転送処理に中央処理装置（１０１）は介在しない設計とすることが望ましい）（Ｓ４０４）。次に、並列処理装置（１０４）が所定の走査処理を行ない、走査条件に合致した行だけを主記憶装置（１０２）に転送する（Ｓ４０５）。さらに、転送対象となった各行内で、以降の処理で必要となる列（コラム、フィールド）（たとえば、上記のＳＱＬ文の例で言えば列ORDER_IDに相当するデータ）の関連データのみを転送することが望ましい。ここで、処理対象となるデータはデータベースの各ブロックであってよく、並列処理装置（１０４）は最終的に使用される行（すなわち、走査条件を満足する行）のみを並列処理装置（１０４）内の結果バッファに置き、中央処理装置（１０１）を介在することなく、ピアツーピアＤＭＡで結果バッファから主記憶装置（１０２）への転送を行なう設計とすることが望ましい。本願発明の方式では、最終的に必要なデータだけが主記憶装置（１０２）に置かれることになり、一時的な作業のためだけに大量のデータが周辺装置バス（１０６）を経由して主記憶装置（１０２）上に転送されることがないため、中央処理装置（１０１）の処理負荷、主記憶装置（メモリー）の消費量、及び、周辺装置バス（１０６）の帯域幅を削減できる。加えて、データ転送のために必要な時間も短縮可能であり、データベース処理システム全体の効率性を向上できる。
【００２１】
図５に、本願発明の実施例に係るリレーショナルＤＢＭＳのデータ処理方式の第二の例を示す。この例では結合処理と走査処理の組み合わせの効率化を示す。図５では、図４と同様に太線の矢印線はデータの流れを、破線の矢印線は制御の流れを表わす。図５では、主記憶装置（１０２）上に走査条件Ａに合致するテーブルＡの行（レコード、タプル）が既にロードされているものとする。このロード処理は図４に示したような効率性が高い方法で行なわれていることが望ましい。まず、中央処理装置（１０１）が、クエリー実行計画の結合条件と走査条件Ｂにしたがって、並列処理装置（１０４）が実行できる命令列を動的に生成し、主記憶装置（１０２）上に置く（Ｓ５０１）。テーブルの結合処理と走査処理は多数の行に対して同一の処理を行なうものであるため、並列処理装置（１０４）向け命令を生成することは容易である。次に、中央処理装置（１０１）が、生成した命令列とテーブルＡの処理対象行とを主記憶装置（１０２）から並列処理装置（１０４）に転送する（Ｓ５０２）。次に、中央処理装置（１０１）が、二次記憶装置（１０３）に対して、処理対象となるデータベース中の行の集合を並列処理装置（１０４）に転送する命令を発行する（Ｓ５０３）。この命令はピアツーピアＤＭＡによるデータ転送を起動するものであることが望ましい。次に、二次記憶装置（１０３）が、この命令にしたがって、データベース中のテーブルＢの行の集合を並列処理装置（１０４）に、主記憶装置（１０２）を経由することなく転送する（この転送処理に中央処理装置（１０１）は介在しない設計とすることが望ましい）（Ｓ５０４）。次に、並列処理装置（１０４）が所定の結合処理と走査処理を行ない、結合条件と走査条件Ｂに合致した行だけを主記憶装置（１０２）に転送する（Ｓ５０５）。さらに、転送対象となった各行内で、以降の処理で必要となる列（コラム、フィールド）の関連データのみを転送することが望ましい。ここで、処理対象となるデータはデータベースの各ブロックであってよく、並列処理装置（１０４）は最終的に使用される行（すなわち、走査条件Ｂと結合条件とを満足する行）のみを並列処理装置（１０４）内の結果バッファに置き、中央処理装置（１０１）を介在することなく、ピアツーピアＤＭＡで結果バッファから主記憶装置（１０２）への転送を行なう設計とすることが望ましい。図４で示した例と同様に、本願発明の方式では、最終的に必要なデータだけが主記憶装置（１０２）に置かれることになり、一時的な作業のためだけに大量のデータが周辺装置バス（１０６）を経由して主記憶装置（１０２）上に転送されることがないため、中央処理装置（１０１）の処理負荷、メモリーの消費量、及び、周辺装置バス（１０６）の帯域幅を削減できる。加えて、データ転送のために必要な時間も短縮可能であり、データベース処理システム全体の効率性を向上できる。
【００２２】
（本願発明による技術的に顕著な効果）
本願発明により、以下のような技術的に顕著な効果が得られる。第一に、不要なデータをロードするための領域を主記憶装置上に確保する必要がなくなり、必要なメモリー容量を削減できる。第二に、クエリー処理を並列度の高いコプロセッサにより並列・非同期に処理するため、CPU側の負荷が下げる事が可能であり、ひいてはクエリーの応答時間を短縮できる。第三に、既に市場に広く出回っているコモデティ製品のみを用いて実現可能であり、安価に実現可能である。
【図１】
2017085985.tif 000003
【図２】
2017085985.tif 000004
【図３】
2017085985.tif 000005
【図４】
2017085985.tif 000006
【図５】
2017085985.tif 000007
【手続補正書】
【提出日】平成29年8月25日(2017.8.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
二次記憶装置と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記二次記憶装置に保存された関係データベースとを含むデータベース処理システムにおいて実行されるデータ処理方法であって、
前記中央処理装置が、クエリー実行計画を受信するステップと、
前記中央処理装置が、前記二次記憶装置に対して、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行するステップと、
前記二次記憶装置が、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを前記主記憶装置を経由することなく、かつ、前記中央処理装置を介在させることなく、前記並列処理装置に転送するステップと、
前記並列処理装置が、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを並列的に処理するステップと、
前記並列処理装置が、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを処理した結果を前記中央処理装置を介在させることなく、前記主記憶装置に書き込むステップとを
含むデータ処理方法。
【請求項２】
前記主記憶装置に書き込む前記ステップは、前記並列的に処理するステップの結果のうち前記クエリー実行計画において使用される列データのみを対象とする
請求項１に記載のデータ処理方法。
【請求項３】
二次記憶装置と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記二次記憶装置に保存された関係データベースとを含むデータベース処理システムにおいて実行されるデータ処理プログラムであって、
前記中央処理装置に、クエリー実行計画を受信させる命令と、
前記中央処理装置に、前記二次記憶装置に対して、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行させる命令と、
前記二次記憶装置に、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを前記主記憶装置を経由することなく、かつ、前記中央処理装置を介在させることなく、前記並列処理装置に転送させる命令と、
前記並列処理装置に、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを並列的に処理させる命令と、
前記並列処理装置に、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを処理した結果を前記中央処理装置を介在させることなく、前記主記憶装置に書き込ませる命令とを
含むデータ処理プログラム。
【請求項４】
前記主記憶装置に書き込ませる前記命令は、前記並列的に処理させる命令の結果のうち前記クエリー実行計画において使用される列データのみを対象とする
請求項３に記載のデータ処理プログラム。
【請求項５】
二次記憶装置と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記二次記憶装置に保存された関係データベースとを含むデータベース処理システムであって、
前記中央処理装置は、クエリー実行計画を受信し、
前記中央処理装置は、前記二次記憶装置に対して、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行し、
前記二次記憶装置は、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを前記主記憶装置を経由することなく、かつ、前記中央処理装置を介在させることなく、前記並列処理装置に転送し、
前記並列処理装置は、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを並列的に処理し、
前記並列処理装置は、前記データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを処理した結果を前記中央処理装置を介在させることなく、前記主記憶装置に書き込む
データベース処理システム。
【請求項６】
前記並列処理装置は、前記並列的に処理させる命令の結果のうち前記クエリー実行計画において使用される列データのみを前記主記憶装置に書き込む
請求項５に記載のデータベース処理システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本願発明は、二次記憶装置と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記二次記憶装置に保存された関係データベースとを含むデータベース処理システムにおいて実行されるデータ処理方法であって、
前記中央処理装置が、クエリー実行計画を受信するステップと、
前記中央処理装置が、前記二次記憶装置に対して、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行するステップと、
前記二次記憶装置が、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを前記主記憶装置を経由することなく、かつ、前記中央処理装置を介在させることなく、前記並列処理装置に転送するステップと、
前記並列処理装置が、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを並列的に処理するステップと、
前記並列処理装置が、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを処理した結果を前記中央処理装置を介在させることなく、前記主記憶装置に書き込むステップとを
含むデータ処理方法を提供することで前記課題を解決する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
また、本願発明は、前記主記憶装置に書き込む前記ステップは、前記並列的に処理するステップの結果のうち前記クエリー実行計画において使用される列データのみを対象とする
段落０００８に記載のデータ処理方法を提供することで前記課題を解決する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
また、本願発明は、二次記憶装置と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記二次記憶装置に保存された関係データベースとを含むデータベース処理システムにおいて実行されるデータ処理プログラムであって、
前記中央処理装置に、クエリー実行計画を受信させる命令と、
前記中央処理装置に、前記二次記憶装置に対して、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行させる命令と、
前記二次記憶装置に、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを前記主記憶装置を経由することなく、かつ、前記中央処理装置を介在させることなく、前記並列処理装置に転送させる命令と、
前記並列処理装置に、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを並列的に処理させる命令と、
前記並列処理装置に、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを処理した結果を前記中央処理装置を介在させることなく、前記主記憶装置に書き込ませる命令とを
含むデータ処理プログラムを提供することで前記課題を解決する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
また、本願発明は、前記主記憶装置に書き込ませる前記命令は、前記並列的に処理させる命令の結果のうち前記クエリー実行計画において使用される列データのみを対象とする
段落００１０に記載のデータ処理プログラムを提供することで前記課題を解決する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
また、本願発明は、二次記憶装置と主記憶装置と中央処理装置と並列処理装置と周辺装置バスと前記二次記憶装置に保存された関係データベースとを含むデータベース処理システムであって、
前記中央処理装置は、クエリー実行計画を受信し、
前記中央処理装置は、前記二次記憶装置に対して、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内のデータを前記主記憶装置を経由することなく前記並列処理装置に転送させる命令を発行し、
前記二次記憶装置は、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを前記主記憶装置を経由することなく、かつ、前記中央処理装置を介在させることなく、前記並列処理装置に転送し、
前記並列処理装置は、前記関係データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを並列的に処理し、
前記並列処理装置は、前記データベース中の前記クエリー実行計画中で指定されたテーブル内の前記データを処理した結果を前記中央処理装置を介在させることなく、前記主記憶装置に書き込む
データベース処理システムを提供することで前記課題を解決する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
また、本願発明は、前記並列処理装置は、前記並列的に処理させる命令の結果のうち前記クエリー実行計画において使用される列データのみを前記主記憶装置に書き込む
段落００１２に記載のデータベース処理システムを提供することで前記課題を解決する。
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2017085985.tif 000008
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2017085985.tif 000009
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2017085985.tif 000010
【国際調査報告】
2017085985.tif 000011
2017085985.tif 000012
2017085985.tif 000013
2017085985.tif 000014