(57)【要約】【課題】DBサーバにおけるディスクI/Oを低減し、検索速度の向上を実現する。【解決手段】DBサーバ14とAPサーバ12を備えたデータ処理システム10。DBサーバ14は、データベース管理システム28と、テーブルを格納したデータベース30を備える。APサーバ12は、メモリ26と、DBサーバ14に対しデータの読み出しを指令するデータ処理部22と、DBサーバ14から送信されたデータを木構造のデータに変換し、メモリ26に格納するデータ圧縮部24を備える。データ処理部22は、木構造のデータに対し検索処理を実行する。【選択図】図１
2007310592.tif 000002
【特許請求の範囲】
【請求項１】
DBサーバとAPサーバを備えたデータ処理システムであって、
上記DBサーバが、データベース管理システムと、テーブルを格納したデータベースを備え、
上記APサーバが、メモリと、上記DBサーバにSQL文を発行し、上記テーブルに格納されたデータの読み出しを指令するデータ読み出し手段と、DBサーバから送信されたデータを木構造のデータに変換し、上記メモリに格納するデータ圧縮手段と、上記木構造のデータに対し検索処理を実行する手段とを備えたことを特徴とするデータ処理システム。
【請求項２】
上記のデータ圧縮手段が、上記DBサーバから送信された各レコードの中で、少なくとも最上位のデータ項目については、値が相互に重複する場合に一つのレコードのデータを残して他のレコードのデータを削除し、削除されたデータに従属していた下位のデータを残されたデータに関連付ける第１の処理と、
残された最上位のデータ項目を一つの根の元に結合させ、木構造のデータを生成する第２の処理を実行することを特徴とする請求項１に記載のデータ処理システム。
【請求項３】
上記のデータ読み出し手段が、上記SQL文において一または複数のデータ項目の値を指定することにより、上記DBサーバから上記テーブルをグループに分割して読み出す処理を実行し、
上記のデータ圧縮手段が、上記第１の処理をグループ単位で実行することを特徴とする請求項２に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はデータ処理システムに係り、特に、APサーバ及びDBサーバを備えたデータ処理システムにおける検索速度の高速化を実現する技術に関する。
【背景技術】
【０００２】
クライアントサーバ型システムの進展に伴い、より大規模な情報処理の要求に応えるために、データの表示をするクライアントの他にデータの加工を行うAPサーバ及びデータの格納をするDBサーバを備えた、いわゆる三層構造のクライアントサーバシステムが普及してきている。
また、処理速度の向上を図るため、複数のAPサーバを並列配置させることで負荷を分散させることも行われている。
【特許文献１】特開２００５−１６５６１０
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、APサーバは廉価なPCサーバで構成することができるため、設置台数を増加させることで処理速度を向上させることは比較的容易であるが、DBサーバについてはデータの同期を維持する必要性があるため、APサーバのように簡単に分散処理に移行することはできない。
もちろん、データベースシステムのベンダ各社は、様々な技術を駆使してソフトウェア及びハードウェアの両面からDBサーバ自体の高速化を図ってきており、その結果一定の成果は上がっているが、その分システムの価格が上昇することは否めない。
また、今後ともクライアントサーバ型システムに担わされるデータベースの規模が増大を続ける限り、いずれはディスクI/O（データの読み書き）速度が壁となり、DBサーバの性能アップでは対応できない時期が来るものと予想される。
【０００４】
この発明は、従来のデータ管理システムが抱えていた上記の問題を解決するために案出されたものであり、DBサーバ自体の性能アップに依存するのではなく、APサーバのメモリ上にDBサーバのテーブルを再現することにより、検索速度の向上を実現することを目的としている。
【課題を解決するための手段】
【０００５】
上記の目的を達成するため、請求項１に記載したデータ処理システムは、DBサーバとAPサーバを備えたデータ処理システムであって、上記DBサーバが、データベース管理システムと、テーブルを格納したデータベースを備え、上記APサーバが、メモリと、上記DBサーバにSQL文を発行し、上記テーブルに格納されたデータの読み出しを指令するデータ読み出し手段と、DBサーバから送信されたデータを木構造のデータに変換し、上記メモリに格納するデータ圧縮手段と、上記木構造のデータに対し検索処理を実行する手段とを備えたことを特徴としている。
【０００６】
請求項２に記載したデータ処理システムは、請求項１のシステムであって、さらに上記のデータ圧縮手段が、上記DBサーバから送信された各レコードの中で、少なくとも最上位のデータ項目については、値が相互に重複する場合に一つのレコードのデータを残して他のレコードのデータを削除し、削除されたデータに従属していた下位のデータを残されたデータに関連付ける第１の処理と、残された最上位のデータ項目を一つの根の元に結合させ、木構造のデータを生成する第２の処理を実行することを特徴としている。
【０００７】
請求項３に記載したデータ処理システムは、請求項２のシステムであって、さらに上記のデータ読み出し手段が、上記SQL文において一または複数のデータ項目を指定することにより、上記DBサーバから上記テーブルをグループに分割して読み出す処理を実行し、上記のデータ圧縮手段が、上記第１の処理をグループ単位で実行することを特徴としている。
【発明の効果】
【０００８】
請求項１及び２に記載したデータ処理システムにあっては、DBサーバのデータベース内に格納されていたテーブルが、ディスクに比べて高速アクセスが可能なAPサーバのメモリ上に木構造のデータとして圧縮された形で再現されるため、APサーバはDBサーバにアクセスすることなく、したがってディスクI/Oを発生させることもなく、必要なデータの高速検索が可能となり、処理速度の飛躍的な向上を実現できる。
また、表形式のデータを木構造のデータに変換する過程で重複するデータ項目のデータが除去され、全体のデータ量が圧縮される結果、比較的容量の小さいAPサーバのメモリでも効率的に必要データを収容することが可能となる。
【０００９】
請求項３に記載したデータ処理システムの場合、APサーバがレコードをDBサーバから取り出すに際し、テーブル全体を一度に受け取るのではなく、特定のデータ項目の値を指定することにより、グループ単位に分割して受け取り、当該グループについて圧縮処理が完了した時点で次のグループに係るレコードを受け取る方式を採用しているため、比較的大きなテーブルであってもAPサーバのメモリ上に格納することが可能となる。
【発明を実施するための最良の形態】
【００１０】
図１は、この発明に係るデータ処理システム10の全体構成図であり、このシステム10は、複数のAPサーバ12と、DBサーバ14と、ロードバランサ（負荷分散装置）16とを備えている。
ロードバランサ16と各APサーバ12間、及び各APサーバ12とDBサーバ14間はネットワークによって接続されている。
また、各APサーバ12に対しては、イントラネット18やインターネット等のネットワーク及びロードバランサ16を介して多数のクライアント端末20が接続されている。
【００１１】
各APサーバ12は、データ処理部22と、データ圧縮部24と、メモリ26とを備えている。
各APサーバ12のハードディスク（図示省略）には、OS及びこのシステム専用のアプリケーションプログラムがセットアップされており、APサーバ12のCPUがこれらのプログラムに従って動作することにより、上記のデータ処理部22及びデータ圧縮部24が実現される。
【００１２】
DBサーバ14は、データベース管理システム（DBMS）28と、業務処理用の各種テーブルが格納されたデータベース30を備えている。
データベース管理システム28は、データベース30を管理し、データベース30に格納されたデータの入出力、更新、および所定の演算などを行う。
【００１３】
図２は、データベース30に格納されたテーブルの一例を示すものであり、このテーブルは、日付、店Cd（店コード）、商品Cd（商品コード）のデータ項目を備えている。
これらのデータ項目間には概念上の階層構造が存在し、日付は最上位項目、店Cdは中位項目、商品Cdは最下位項目に該当する。
【００１４】
ロードバランサ16は、クライアント端末20から送信されたリクエストを、各APサーバ12にかかっている負荷に応じて分散する役割を果たす。
【００１５】
クライアント端末20は、ＰＣ等のコンピュータよりなり、OSの他に、Webブラウザプログラムや専用のアプリケーションプログラムがセットアップされている。
【００１６】
以下、図３及び図４のフローチャートに従い、このシステム10における処理手順を説明する。
まず、APサーバ12のデータ処理部22が起動すると（Ｓ10）、DBサーバ14に対してSQL文を発行し、データの抽出をリクエストする（Ｓ12）。
この際データ処理部22は、例えば図２のテーブルに格納された各レコードを、日付×店コードで特定されるグループ単位で、かつ日付、店コード、商品コードに基づいて昇順に整列させた状態で送信することを指令するSQL文を生成し、DBサーバ14に送信する。
【００１７】
DBサーバ14のデータベース管理システム28から対応のレコードが日付×店コードのグループ単位で送信されると、データ処理部22はこれをデータ圧縮部24に渡す（Ｓ14）。
データ圧縮部24は、各レコードの日付と店コードに重複する値が存在するか否かをチェックし、重複がある場合には一つの日付及び一つの店コードを残し、他のデータを除去した後、メモリ26に各データを格納する（Ｓ16）。
【００１８】
一つのグループに関してデータの圧縮（重複データの削除）及びメモリ26への格納が完了すると、データ処理部22は次のグループ（日付×店コード）に属するレコードの抽出を指令するSQL文をDBサーバ14に発行し（Ｓ18、Ｓ12）、データ圧縮部24によるデータの圧縮及びメモリ26への格納が実行される（Ｓ14、Ｓ16）。
【００１９】
APサーバ12のデータ処理部22及びデータ圧縮部24は、対象となるテーブル上の全グループについて処理が完了するまで、Ｓ12〜Ｓ16のステップを繰り返す（Ｓ18）。
図５は、メモリ26に格納されたデータのイメージを示すものであり、(a)は2006年３月15日の店コード：600店に係るグループのデータに対応している。図示の通り、日付（20060315）及び店コード（600）のデータは先頭レコードについてのみ残されており、他のレコードからは削除されている。この時点で、日付及び店コードが削除されたレコードに係る商品コードのデータは、先頭レコードの商品コードと共に配列として残された日付及び店コードに関連付けられている。
また、(g)は2006年３月17日の店コード：601店に係るグループのデータに対応している。
【００２０】
つぎにデータ圧縮部24は、各グループの中で日付を同じくするもの同士を一つの日付の下に集約し、それぞれを一つの根（root）の元に結合する（この時点で重複する日付は削除される）。
この結果、図６に示すように、DBサーバ14のデータベース30内に格納されていたレコードが、APサーバ12のメモリ26上に木構造のデータとして再現される（Ｓ20）。
図２のテーブルにおいては、各レコード毎に日付及び店コードのデータを備えていたが、図５に示した木構造のデータの場合、上位のデータ項目である日付については一切の重複がない形で集約され、下位のデータ項目である店コードについても同一日付のグループ内では重複が存在しない形で集約されているため、データ容量の大幅な圧縮が達成されている。
【００２１】
ここで、クライアント端末20からの検索リクエストをロードバランサ16経由でAPサーバ12が受信すると（図４のＳ22）、データ処理部22はメモリ26上に形成された木構造のデータに対して検索条件に該当するデータの抽出処理を実行し（Ｓ24）、その結果をクライアント端末22に送信する（Ｓ26）。
【００２２】
このデータ処理システム10にあっては、DBサーバ14のデータベース30内に格納されていたテーブルが、ディスクに比べて高速アクセスが可能なAPサーバ12のメモリ26上に木構造のデータとして圧縮された形で再現されるため、APサーバのデータ処理部22はDBサーバ14にアクセスすることなく、したがってディスクI/Oを発生させることもなく、必要なデータの高速検索が可能となる。
【００２３】
また、表形式のデータを木構造のデータに変換する過程で重複するデータ項目のデータが除去され、全体のデータ量が圧縮される結果、比較的容量の小さいAPサーバ12のメモリ26（一般に２ＧＢ程度）でも効率的に必要データを収容することが可能となる。
【００２４】
さらに、レコードをDBサーバ14から取り出すに際し、テーブル全体を一度に受け取るのではなく、日付及び店コードのデータ項目の値を指定することにより、グループ単位に分割して受け取り、当該グループについて圧縮処理が完了した時点で次のグループに係るレコードを受け取る方式を採用しているため、比較的大きなテーブルであってもAPサーバ12のメモリ26上に格納できるようになる。
【図面の簡単な説明】
【００２５】
【図１】この発明に係るデータ処理システムの全体構成図である。
【図２】DBサーバのデータベースに格納されたテーブルの一例を示す図である。
【図３】このシステムにおける処理手順を示すフローチャートである。
【図４】このシステムにおける処理手順を示すフローチャートである。
【図５】メモリに格納されたグループデータを示すイメージ図である。
【図６】メモリ上に形成された木構造のデータ構造を示すイメージ図である。
【符号の説明】
【００２６】
10 データ処理システム
12 APサーバ
14 DBサーバ
16 ロードバランサ
18 イントラネット
20 クライアント端末
22 データ処理部
24 データ圧縮部
26 メモリ
28 データベース管理システム
30 データベース
【図１】
2007310592.tif 000003
【図２】
2007310592.tif 000004
【図３】
2007310592.tif 000005
【図４】
2007310592.tif 000006
【図５】
2007310592.tif 000007
【図６】
2007310592.tif 000008