(57)【要約】【課題】データベースの改修を行わずに、少数の外れ値についても考慮することのできるデータベース近似集計を行う。【解決手段】クライアント装置１において、問合せ文変換部６が、サーバ装置２に対して、特定のデータ項目に対する複数のデータを対象データ群として指定し、対象データ群を所定の粒度にて複数のグループにグループ化するよう要求するとともに、グループごとにグループに含まれるデータの属性を代表する代表値が示される対象データ群よりも少ないデータ量の要約データを生成するよう要求する要約問合せ文を生成し、送信部１０が、要約問合せ文をサーバ装置２に送信し、受信部１１が、サーバ装置２から、対象データ群の要約データを受信し、データ分布復元部８が、要約データに示されたグループごとの代表値に基づき、対象データ群のデータ分布を推定し、対象データ群の近似データを生成する。【選択図】図１
2007226367.tif 000002
【特許請求の範囲】
【請求項１】
一つのデータ項目に対して複数のデータを格納するデータベース装置と通信を行うデータ処理装置であって、
前記データベース装置に対して、特定のデータ項目に対する複数のデータを対象データ群として指定し、前記対象データ群を所定の粒度にて複数のグループにグループ化するよう要求するとともに、グループごとにグループに含まれるデータの属性を代表する代表値が示される前記対象データ群よりも少ないデータ量の要約データを生成するよう要求する要求メッセージを生成する要求メッセージ生成部と、
前記要求メッセージ生成部により生成された要求メッセージを前記データベース装置に対して送信する要求メッセージ送信部と、
前記データベース装置から、要求メッセージに対する応答として、前記対象データ群の要約データを受信する要約データ受信部と、
前記対象データ群の要約データに示されたグループごとの代表値に基づき、前記対象データ群のデータ分布を推定し、前記対象データ群の近似データを生成する近似データ生成部とを有することを特徴とするデータ処理装置。
【請求項２】
前記要求メッセージ生成部は、
前記データベース装置への問合わせ言語にて前記要求メッセージを生成することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記要求メッセージ生成部は、
グループごとの代表値として、グループに含まれるデータの個数、グループに含まれるデータにおける最大値、グループに含まれるデータにおける最小値、グループに含まれるデータにおける平均値の少なくともいずれかがグループごとに示される要約データを生成するよう要求する要求メッセージを生成することを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記要求メッセージ生成部は、
グループごとの代表値として、グループに含まれるデータにおける分散値、尖度、歪度、中央値、最頻値、四分位値、幾何平均、及び、調和平均の少なくともいずれかがグループごとに示される要約データを生成するよう要求する要求メッセージを生成することを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
一つのデータ項目に対して複数のデータを格納するデータベース装置と通信を行うデータ処理方法であって、
前記データベース装置に対して、特定のデータ項目に対する複数のデータを対象データ群として指定し、前記対象データ群を所定の粒度にて複数のグループにグループ化するよう要求するとともに、グループごとにグループに含まれるデータの属性を代表する代表値が示される前記対象データ群よりも少ないデータ量の要約データを生成するよう要求する要求メッセージを生成する要求メッセージ生成ステップと、
前記要求メッセージ生成ステップにより生成された要求メッセージを前記データベース装置に対して送信する要求メッセージ送信ステップと、
前記データベース装置から、要求メッセージに対する応答として、前記対象データ群の要約データを受信する要約データ受信ステップと、
前記対象データ群の要約データに示されたグループごとの代表値に基づき、前記対象データ群のデータ分布を推定し、前記対象データ群の近似データを生成する近似データ生成ステップとを有することを特徴とするデータ処理方法。
【請求項６】
一つのデータ項目に対して複数のデータを格納するデータベース装置と通信を行うコンピュータに、
前記データベース装置に対して、特定のデータ項目に対する複数のデータを対象データ群として指定し、前記対象データ群を所定の粒度にて複数のグループにグループ化するよう要求するとともに、グループごとにグループに含まれるデータの属性を代表する代表値が示される前記対象データ群よりも少ないデータ量の要約データを生成するよう要求する要求メッセージを生成する要求メッセージ生成処理と、
前記要求メッセージ生成処理により生成された要求メッセージを前記データベース装置に対して送信する要求メッセージ送信処理と、
前記データベース装置から、要求メッセージに対する応答として、前記対象データ群の要約データを受信する要約データ受信処理と、
前記対象データ群の要約データに示されたグループごとの代表値に基づき、前記対象データ群のデータ分布を推定し、前記対象データ群の近似データを生成する近似データ生成処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの近似集計処理に関する。
【背景技術】
【０００２】
従来の、データベースにおけるデータ量の軽減による処理効率化を目的とした近似集計システムは、データベースシステムの改修によりデータの無作為抽出処理を行うことによって、扱うデータ量の軽減による効率の向上および近似集計処理を行っていた（例えば、特許文献１）。また、条件抽出、射影、結合などのデータベース処理の処理順序を、無作為性を維持したまま交換可能にする手法を利用することで、無作為抽出処理による集計の効率最適化を容易にする方法も提案されている（例えば、非特許文献１）。
以前のサンプリングによる近似集計技術では、表の結合やグループ化などの集計前のデータに対する前処理の後にサンプリングを行い、その後に集計処理を行っていた。特許文献１で開示されている従来技術では、集計処理の結果に変更がないように、サンプリングを表の結合・グループ化より前に行うように処理順序の再構成を行うことを可能にし、以前の技術では全データを対象に行っていた前処理の対象データの量をサンプリングで絞込むことにより、全体の処理効率の向上を図るものである。
【特許文献１】特開平１０−２６９２４８号公報
【非特許文献１】Ｍｏｒｇａｎ  Ｋａｕｆｍａｎｎ  Ｐｕｂｌｉｓｈｅｒｓ，  Ｉｎｃ．  発行  “Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  Ｏｎ  Ｖｅｒｙ  Ｌａｒｇｅ  Ｄａｔａ  Ｂａｓｅｓ（ＶＬＤＢ’８６），”  ｐｐ．  １６０−１６９．  １９８６年  ８月
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のデータベースの近似集計システムは、データベースの改修が必要であるということと、処理対象データ量の削減のために無作為抽出を行うので、抽出されないデータの情報が集計に全く反映されず、少数の異常なデータを見逃すことがある、という問題点があった。
【０００４】
この発明は、主に、上記のような問題点を解決することを目的とし、大半のデータベースがデータ参照手段として備える問合せ言語による、基本的な集計およびグループ化機能のみを使用することで、データベースの改修を不要とし、さらに、データ全体を考慮した値を要約データとして得ることにより、少数の外れ値についても考慮することのできる近似集計を行うことを主な目的とする。
【課題を解決するための手段】
【０００５】
本発明に係るデータ処理装置は、
一つのデータ項目に対して複数のデータを格納するデータベース装置と通信を行うデータ処理装置であって、
前記データベース装置に対して、特定のデータ項目に対する複数のデータを対象データ群として指定し、前記対象データ群を所定の粒度にて複数のグループにグループ化するよう要求するとともに、グループごとにグループに含まれるデータの属性を代表する代表値が示される前記対象データ群よりも少ないデータ量の要約データを生成するよう要求する要求メッセージを生成する要求メッセージ生成部と、
前記要求メッセージ生成部により生成された要求メッセージを前記データベース装置に対して送信する要求メッセージ送信部と、
前記データベース装置から、要求メッセージに対する応答として、前記対象データ群の要約データを受信する要約データ受信部と、
前記対象データ群の要約データに示されたグループごとの代表値に基づき、前記対象データ群のデータ分布を推定し、前記対象データ群の近似データを生成する近似データ生成部とを有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、データ処理装置は、グループごとの代表値が示される対象データ群よりも少ないデータ量の要約データを受信し、要約データに示されたグループごとの代表値に基づき、対象データ群のデータ分布を推定し、対象データ群の近似データを生成するため、データベースの改修を行うことなく、少数の外れ値についても考慮することのできる近似集計が可能となり、また、データ処理装置とデータベース装置との間の通信量も抑えることができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
図１は実施の形態に係る近似集計システムを示す構成図である。
図１において、システムはクライアント装置１（データ処理装置）、サーバ装置２（データベース装置）および両者を結ぶネットワーク３からなる。
クライアント装置１には高度な集計処理を行うアプリケーション処理部４と、本実施の形態における実行部である問合せ文変換部６、送信部１０、受信部１１およびデータ分布復元部８が存在する。アプリケーション処理部４は、問合せ処理部５および集計処理部９の機能を備える。
サーバ装置２には、アプリケーション処理部４の処理に使用するデータが格納されたデータベース７が存在する。データベース７は、一つのデータ項目に対して複数のデータを格納し、また、グループ化および平均・最大・最小・個数の各基本集計機能を提供する問合せ言語を持つ。
問合せ言語を用いて、データベース７へデータのグループ化および集計処理を依頼する文を問合せ文と呼ぶ。
クライアント装置１において、問合せ文変換部６（要求メッセージ生成部）は、サーバ装置２（データベース装置）に対して、特定のデータ項目に対する複数のデータを対象データ群として指定し、対象データ群を所定の粒度にて複数のグループにグループ化するよう要求するとともに、グループごとにグループに含まれるデータの属性を代表する代表値が示される対象データ群よりも少ないデータ量の要約データを生成するよう要求する要約問合せ文（要求メッセージ）を生成する。また、問合せ文変換部６は、サーバ装置２への問合せ言語にて要約問合せ文を生成する。
送信部１０（要求メッセージ送信部）は、問合せ文変換部６により生成された要約問合せ文を前サーバ装置２に対して送信する。
受信部１１（要約データ受信部）は、サーバ装置２から、要約問合せ文に対する応答として、対象データ群の要約データを受信する。
データ分布復元部８（近似データ生成部）は、対象データ群の要約データに示されたグループごとの代表値に基づき、対象データ群のデータ分布を推定し、対象データ群の近似データを生成する。
また、問合せ文変換部６は、後述するように、グループごとの代表値として、グループに含まれるデータの個数、グループに含まれるデータにおける最大値、グループに含まれるデータにおける最小値、グループに含まれるデータにおける平均値の少なくともいずれかがグループごとに示される要約データを生成するよう要求する要約問合せ文を生成する。
更に、問合せ文変換部６は、後述するように、グループごとの代表値として、グループに含まれるデータにおける分散値、グループに含まれるデータにおける尖度、グループに含まれるデータにおける歪度の少なくともいずれかがグループごとに示される要約データを生成するよう要求する要約問合せ文を生成する。
【０００８】
本実施の形態では、データベースの改修を行わずに、少数の外れ値についても考慮することのできるデータベース近似集計を実現するために、クライアント装置１（データ処理装置）において、問合せ文変換部６（要求メッセージ生成部）が、サーバ装置２（データベース装置）に対して、特定のデータ項目に対する複数のデータを対象データ群として指定し、対象データ群を所定の粒度にて複数のグループにグループ化するよう要求するとともに、グループごとにグループに含まれるデータの属性を代表する代表値が示される対象データ群よりも少ないデータ量の要約データを生成するよう要求する要約問合わせ文（要求メッセージ）を生成し、送信部１０（要求メッセージ送信部）が、要約問合わせ文をサーバ装置２に対して送信し、受信部１１（要約データ受信部）が、サーバ装置２から、要約問合わせ文に対する応答として、対象データ群の要約データを受信し、データ分布復元部８（近似データ生成部が）、対象データ群の要約データに示されたグループごとの代表値に基づき、対象データ群のデータ分布を推定し、対象データ群の近似データを生成する。
【０００９】
図５は、実施の形態１におけるクライアント装置１の外観の一例を示す図である。
図５において、クライアント装置１は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置９０１、キーボード９０２（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備えることが可能であり、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、例えば、ファクシミリ機９３２、電話器９３１とケーブルで接続されている。また、システムユニット９１０は、ローカルエリアネットワーク９４２（ＬＡＮ）、ゲートウェイ９４１を介してインターネット９４０に接続され、ＬＡＮ９４２やインターネット９４０を介してサーバ装置２と接続されている。
【００１０】
図６は、実施の形態１におけるクライアント装置１のハードウェア資源の一例を示す図である。
図６において、クライアント装置１は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１１】
通信ボード９１５は、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１２】
上記プログラム群９２３には、本実施の形態において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、本実施の形態において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜の推定結果」等として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示・抽出のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、本実施の形態におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１３】
また、本実施の形態において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、本実施の形態の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００１４】
このように、本実施の形態に示すクライアント装置１は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【００１５】
次に動作について図４を参照しながら説明する。
クライアント装置１においてはアプリケーション処理部４が高度な集計処理を行おうとしており、集計処理に必要なデータを取得するために、問合せ処理部５を実行し、問合せ文を発行する。
クライアント装置１内の問合せ文変換部６は、問合せ処理部５によって発行された問合せ文を入力し（Ｓ４０１）、入力した問合せ文を元に、一定の粒度で集計対象データ項目のグループ化を行い、その各々のグループについて基本集計を行った要約データ（個数・平均・最小・最大）を出力するように変換した要約問合せ文を生成する（Ｓ４０２）（要求メッセージ生成ステップ）。
次に、送信部１０が要約問合せ文をネットワーク３を中継してサーバ装置２内のデータベース７へ送信する（Ｓ４０３）（要求メッセージ送信ステップ）。
【００１６】
データベース７は、要約問合せ文に従い処理した結果としての要約データを、ネットワーク３を中継してクライアント装置１の受信部１１へ送信する。
【００１７】
クライアント装置１においては、受信部１１が要約データを受信し（Ｓ４０４）（要約データ受信ステップ）、受信した要約データをデータ分布復元部８へ出力する。
データ分布復元部８は、要約データからデータ分布を推定し、元のデータの近似データを生成し（Ｓ４０５）（近似データ生成ステップ）、アプリケーション処理部４の集計処理部９へ近似データを出力する（Ｓ４０６）。ここで、近似データとは、復元した元データもしくは元データの推定されるデータ分布の情報等である。
集計処理部９では、受信した元データを用いて高度な集計を行う。
ここで、集計処理は一度に複数のデータ項目に対して行うものではなく、１つのデータ項目に対して行うものとする。
【００１８】
問合せ文変換部６では、次のように問合せ文の変換を行う。
問合せ処理部５が発行した問合せ文で取得される、一つのみのデータ項目を項目ｃとする。
項目ｃが文字列（非数値）型の場合は、その項目をグループ化条件に追加し、各グループに属する個数のみを取得し、ヒストグラムとして集計する。項目ｃが数値型の場合は、その数値をいくつかの値範囲に分割するように、ある項目を基準としてグループ化が指定されているとき、その項目をさらに細かく分割してグループ化を行うようにする。そのようなグループ化の方法には複数の方法があるが、効率的ではないが汎用的な方法としては、項目ｃの値を定数値で割り、その結果の値を整数型へキャストした値についてグループ化を行うものであろう。もちろん、その問合せ言語が提供するその他の効率的な手法を用いることを制限するものではない。
以上のように処理をおこなうことで、ある値範囲にある多数のデータを、問合せ言語によりいくつかの集計値で代表させることが可能となる。問合せ文変換部６は、問合せ文を変換する際、ネットワークの通信速度や許容応答時間を考慮し、分割の粒度を決定することも可能とする。
【００１９】
要約の例を、図２に示す。問合せ言語としてＳＱＬに対応するデータベースのテーブルのデータ項目Ａに｛０．０１，０．０３，０．２５，０．２８，０．３７，０．３９，０．４４，０．５１，０．５１，０．５４，０．５８，０．６３，０．７５，０．７５，０．７５，０．７６，０．７７，０．７８，０．７９，０．８４，０．８４，０．８５，０．８８，０．８８，０．９，０．９１，０．９８｝なる実数値２７個が格納されているとき、データ項目Ａの値を０．２づつの範囲で要約する要約ＳＱＬ文「ＳＥＬＥＣＴ  ＣＯＵＮＴ（“項目Ａ”），ＡＶＧ（“項目Ａ”），ＭＩＮ（“項目Ａ”），ＭＡＸ（“項目Ａ”）ＦＲＯＭ（ＳＥＬＥＣＴ“項目Ａ”，ＣＡＳＴ（“項目Ａ”／０．２  ＡＳ  ＩＮＴ（３２））ＡＳ“グループ化指数”ＦＲＯＭ  ＯＯＯ．ｏｏｏ）ＡＳ  Ｔ  ＧＲＯＵＰ  ＢＹ“グループ化指数”」（ＯＯＯはスキーマ名、ｏｏｏはテーブル名）を投入すると、要約データとして２０個の実数値をデータベースが出力する。
つまり、２７個の実数値を０．２ごとの範囲で分類した５つのグループに対して、グループごとに４つの代表値（個数（ＣＯＵＮＴ）、平均値（ＡＶＧ）、最小値（ＭＩＮ）、最大値（ＭＡＸ））が示された２０個の実数値を含む要約データがサーバ装置２より送信される。
データ項目Ａの取り得る値の範囲が０．０から１．０の間である限り、生データの量が増加しても、この分割粒度における要約データの出力データ量は変化しない。
【００２０】
データ分布復元部８では、次のようにデータ分布復元処理を行う。
データ分布として、図３に示すようなデータ分布のいずれか（もしくは複数の候補）を仮定し、グループごとの代表値（最大値・最小値・平均値）から、最もふさわしいデータ分布の密度関数を推定する。そして、データ分布復元部８は推定した密度関数に従い「個数」個分のデータを生成し、集計処理部９へ提供する。もしくは、推定した密度関数およびそのパラメータを提供する。
例えば、図２の例において、元データの分散０．０７２を要約データを用いて近似導出することを考える。近似方法として、例えば次の３種類がある。
分割したグループごとに、項目Ａの取り得る範囲（図２の一番上のグループでは０．０〜０．２）の中央値（図２の一番上のグループでは０．１）を「個数」個（図２の一番上のグループでは２個）用意し、それらの値全体の分散で近似する。
本近似手法による分散の近似値は０．０６５となる。
分割したグループごとに、平均値を個数個（図２の一番上のグループでは、０．０２を２個）用意し、それらの値全体の分散で近似する。
本近似手法による分散の近似値は０．０７４となる。
分割したグループごとに、最小値と最大値の範囲に値を等間隔で個数個（図２の２番目のグループでは、０．２５，０．３０，０．３４，０．３９の４個）用意し、それらの値全体の分散で近似する。
本近似手法による分散の近似値は０．０７５となる。
その他、図３で示すような分布を仮定して推定を行う方法もある。もちろん上で示した例は考え方を示すものであり、上記の手法にデータ分布の推定方法を制限するものではない。
【００２１】
問合せ文変換部６が発行する要約問合せ文を元に生成される要約データは、個数・平均値・最小値・最大値の４種類に限定されるものではなく、もちろんそれら４種類を必ず含む必要もない。
要約データとして個数のみを取得し、データ分布復元部８でヒストグラムとして扱うことも可能であるし、個数と平均値・最小値・最大値のいずれか一つのみ取得し、データ分布復元部８でその取得した値が「個数」分あるとみなしてもよい。
また、その他の集計手法を問合せ言語が提供している場合に、その集計手法を用いて、より精度の高いデータ分布推定を行うことについても何も制約するものではない。
また、グループ分割の粒度に関しても、粒度の決定手法を制限するものではない。
【００２２】
以上のように、本実施の形態によれば、データベースの内部処理に介入せず、クライアント装置側で近似集計処理の効率化のための処理を実施するようにしているので、データベースを変更することなく、ネットワーク上を通信するデータ量を削減することができる。
【００２３】
また、従来の集計効率化技術、集計近似技術は、ＤＢＭＳ（ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）自体を改修することを前提としているため、その技術の導入はＤＢＭＳの導入と同義であり、導入にかかる負担が大きく、集計技術のみの保守や改修が困難になると同時に、そのＤＢＭＳでしかその集計技術を利用できず汎用性がない。一方、本実施の形態によれば、一般的なＤＢＭＳの問合せ言語の大半が対応している基本関数を利用することにより、既に保有するＤＢＭＳを変更する必要がなく、導入の負担が小さく、保守が容易で、汎用性がある。
【００２４】
また、本実施の形態によれば、サーバ装置・クライアント装置間の通信路が通信速度が低速であっても、データ全体を反映した高度な集計処理が可能となる。
【００２５】
以上のように、本実施の形態では、アプリケーションを処理するクライアントと、アプリケーションの処理対象データを格納するデータベースシステムを備えたサーバと、クライアントとサーバを結ぶ通信路からなる近似集計システムにおいて、サーバが備えるデータベースシステムに手を加える必要がなく、サーバが備えるデータベースシステムが対応する問合せ言語を用いて、データベース内の対象データ全体をいくつかのグループに分割した各グループへ、問合せ言語による集計処理（最大値・最小値・平均値・個数）を行うことにより、対象データ全体に比べてデータ量の非常に少ない要約データを作成し、その要約データをサーバからクライアントへの転送に使用することで、データ転送量を軽減する。そして、クライアントでは、要約データから元のデータ分布を推定し、近似データとして復元したものを用いて、問合せ言語で対応できない高度な集計処理を行う。上記手順により、生データをサーバからクライアントに送る場合と比較して効率化を図ることを説明した。
【００２６】
また、本実施の形態では、上記に加え、そのデータベースシステムが対応する問合せ言語が備える、最大値・最小値・平均値・個数とは異なる集計処理（分散・尖度・歪度・中央値・最頻値・四分位値・幾何平均・調和平均など）も考慮することにより、要約データの種類を増やし、より精度の高いデータ分布の推定を可能にすることを説明した。
【００２７】
更に、本実施の形態では、要約データによるデータ量軽減により、クライアント側でのデータ蓄積量も軽減され、推定されたデータ分布の情報のみから、近似データをメモリに展開することなく（元のデータの近似値を逐一メモリ上に作成することなく）高度な集計を行うことを説明した。
【００２８】
また、本実施の形態では、既存のデータベースのみでなく、既存のアプリケーションに対しても改修を行うことなく上記の機能を実現することを説明した。
【図面の簡単な説明】
【００２９】
【図１】実施の形態１に係る基本集計による近似集計システムの概略図。
【図２】問合せ言語がＳＱＬである場合を例にとった要約データ例を示す図。
【図３】データ分布復元の際に考慮するデータ分布の例を示す図。
【図４】実施の形態１に係るクライアント装置の動作例を示すフローチャート図。
【図５】実施の形態１に係るクライアント装置の外観例を示す図。
【図６】実施の形態１に係るクライアント装置のハードウェア資源の例を示す図。
【符号の説明】
【００３０】
１  クライアント装置、２  サーバ装置、３  ネットワーク、４  アプリケーション処理部、５  問合せ処理部、６  問合せ文変換部、７  データベース、８  データ分布復元部、９  集計処理部、１０  送信部、１１  受信部。
【図１】
2007226367.tif 000003
【図２】
2007226367.tif 000004
【図３】
2007226367.tif 000005
【図４】
2007226367.tif 000006
【図５】
2007226367.tif 000007
【図６】
2007226367.tif 000008