JP2002222108A - 部分レプリカの生成装置および生成方法 - Google Patents

部分レプリカの生成装置および生成方法

Info

Publication number
JP2002222108A
JP2002222108A JP2001018803A JP2001018803A JP2002222108A JP 2002222108 A JP2002222108 A JP 2002222108A JP 2001018803 A JP2001018803 A JP 2001018803A JP 2001018803 A JP2001018803 A JP 2001018803A JP 2002222108 A JP2002222108 A JP 2002222108A
Authority
JP
Japan
Prior art keywords
conditions
query
partial replica
inquiry
replica
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001018803A
Other languages
English (en)
Inventor
Masami Yamashita
正美 山下
Koichi Shimazaki
康一 嶋崎
Takashi Itaya
孝 板谷
Seiichi Takeguchi
成一 竹口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2001018803A priority Critical patent/JP2002222108A/ja
Publication of JP2002222108A publication Critical patent/JP2002222108A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】低記憶装置容量、低更新処理コストで、かつ利
用率の高いレプリカを生成する。 【解決手段】 分散データベース環境において、データ
ベースを管理するサーバ16,17に対するクライアン
ト11,12からの問い合わせにより取得したデータを
部分レプリカ15として記憶装置にキャッシングする部
分レプリカの生成装置であって、該装置は、複数の問い
合わせ条件からなる問い合わせ群をグループ化する処理
手段と、前記グループ化した問い合わせ条件毎に問い合
わせ条件の集合を求める処理手段と、前記問い合わせ条
件の集合を、条件の重複範囲に基づいて条件を分別し、
分別した各条件に対してその重複回数に応じて有効度を
設定する処理手段を備え、前記分別した条件の内、有効
度の高いものを優先して問い合わせ条件として部分レプ
リカを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は部分レプリカの生成
装置にかかり、特に問い合わせに対する利用率の高い部
分レプリカを生成することのできる部分レプリカの生成
装置に関する。
【0002】
【従来の技術】企業は、ビジネス活動の結果として、多
量の顧客データあるいは商品販売データなどの履歴デー
タを蓄積している。これら大量のデータはデータベース
として蓄積し、今後の市場動向や顧客の嗜好変化の判断
材料とすることができる。このように構成されたデータ
ベースはデータウェアハウスとも呼ばれている。
【0003】一般にデータウェアハウスには膨大で、か
つ詳細なデータが格納されている。このため、クライア
ントからのデータ収集要求に対する回答に遅れを生じる
場合がある。すなわち、分散環境下で前記データウェア
ハウスに対するクライアントからのデータ収集要求に対
する応答の迅速化は重要な問題である。この問題を解決
する方法の一つとして、キャッシュ技術が知られてい
る。
【0004】キャッシュ技術は得られた結果を一時的に
残しておくことで、次の要求に迅速に応答する技術であ
る。例えば、特開平10―049422号公報には、サ
ーバからファイルを取得してキャッシングする際にファ
イル格納部の空き容量がない場合の処理に関し、ファイ
ル転送時間、単位時間当たりのキャッシュヒット回数と
ファイル更新回数を考慮して、キャッシングしようとす
るファイルがどの程度ファイル転送時間の節約が見込め
るかの期待値を計算し、計算結果に基づいて期待値の小
さいものからファイルを削除して、ファイル格納部の空
き容量を確保する技術が示されている。
【0005】
【発明が解決しようとする課題】前記従来技術は、キャ
ッシュが記憶容量の許容量を超えた段階ではじめて既存
のキャッシュを消去する技術であり、キャッシュサイズ
の最適化の点で配慮がなされていない。また、記憶装置
容量あるいは更新処理コストの点でも問題がある。
【0006】本発明は前記問題点に鑑みてなされたもの
で、低記憶装置容量、低更新処理コストで、かつ利用率
の高いレプリカを生成することのできる部分レプリカの
生成装置を提供する。
【0007】
【課題を解決するための手段】本発明は、上記の課題を
解決するために次のような手段を採用した。
【0008】分散データベース環境において、データベ
ースを管理するサーバに対するクライアントからの問い
合わせにより取得したデータを部分レプリカとして記憶
装置にキャッシングする部分レプリカの生成装置であっ
て、該装置は、複数の問い合わせ条件からなる問い合わ
せ群をグループ化する処理手段と、前記グループ化した
問い合わせ条件毎に問い合わせ条件の集合を求める処理
手段と、前記問い合わせ条件の集合を、条件の重複範囲
に基づいて条件を分別し、分別した各条件に対してその
重複回数に応じて有効度を設定する処理手段を備え、前
記分別した条件の内、有効度の高いものを優先して問い
合わせ条件として部分レプリカを生成する。
【0009】
【発明の実施の形態】以下に本発明の実施形態を図1な
いし図6を用いて説明する。図1は本発明に適用するこ
とのできるデータベースを備えた分散環境を説明する図
である。図において、11ないし12はクライアント、
13はデータ収集手段、14はネットワーク、15は部
分レプリカ、16ないし17はサーバ、18ないし19
はそれぞれサーバ16ないし17が備えるデータベース
に格納したテーブルである。
【0010】例えば、クライアント11はデータ収集手
段13に対して問い合わせを発行する。データ収集手段
13は前記問い合わせを解析し、部分レプリカ15、あ
るいは部分レプリカから得られない部分はネットワーク
14を介してサーバ16あるいは17から差分データと
して収集し、収集したデータをクライアント11に返
す。前記、問合せには、問い合わせ言語として広く用い
られているSQL(Structured Query
Language)を用いることができる。
【0011】図2は本実施形態にかかる部分レプリカの
生成装置の処理手順の概略を示す図である。本処理は、
問合せのグループ化処理(ステップ201)、条件の和
集合生成処理(ステップ202)および条件の選択処理
(ステップ203)の順に行われる。これらのステップ
の終了後、すなわち部分レプリカの生成後にクライアン
トからの問い合わせが開始されることになる。
【0012】図3は、問合せのグループ化処理(ステッ
プ201)を説明する図である。図において、31,3
2,33はそれぞれ問い合わせ文からなる問い合わせあ
り、また、34,35はそれぞれ前記複数の問い合わせ
からなる問い合わせグループである。問合せ31、3
2、33をグループ化するには、そのデータ収集先、つ
まりFROM句に書かれたテーブル名に着目して行う。
この例では、「問合せ1」と「問合せ3」はFROM句
のテーブル名が「T1とT2」であり、「問合せ2」の
FROM句のテーブル名は「T3」である。したがっ
て、FROM句のテーブルが共通である問合せをグルー
プにまとめると、「問合せ1」と「問合せ3」はFRO
M句のテーブルが同じ「T1とT2」であるからグルー
プ化される。同様に「問合せ2」32も、FROM句の
テーブルが「T3」である他の問合せとグループ化され
る。このようにして、全ての問合せについて本処理は実
行される。
【0013】次に、条件の和集合生成処理(ステップ2
02)について、図4、5、6を用いて説明する。図4
は処理の手順を示すもので、ステップ401において、
先のグループ化処理(ステップ201)で求めた問合せ
のグループ毎に、WHERE句にある問合せの条件の選
言標準形への書換えを行う。SQLではWHERE句に
ある問合せの条件が成立する(真)か、成立しない
(偽)かにより、それぞれ問合わせの結果として異なる
データを収集する。すなわち、WHERE句に記述され
る条件は論理式となる。任意の論理式は数学の定理とし
て、それと等価な標準形が存在する。論理式の形が、
(a11 OR a12 OR … OR a 1i)A
ND…AND(aj1 OR aj2 OR … OR
jk)となる連言標準形と、(a11 AND a
12 AND … AND a1i)OR…OR(a
j1 AND aj2 AND … AND ajk
となる選言標準形にわけられる。
【0014】図5は選言標準形への書換えを具体的に示
す図、図6は連言の分割と有効度をセットする例を示す
図である。問合せ51の問合せ条件を選言標準形へ書き
換えると、問合せ52のようになる。
【0015】ステップ402において、選言標準形で表
現された論理式の、ORで連接する論理式の単位(以下
連言と呼ぶ)を取り出す処理を行う。ステップ403に
おいて、取り出した連言について他の連言との重複状態
の判断を行う。
【0016】ステップ403において、新たに取り出し
た連言が既知の連言と重複するか否かを判断し重複する
場合はステップ404に進み、そうでない場合はステッ
プ408に進む。図6に示す例においては、問合せグル
ープを構成する問合せ61、62、63について、61
の連言「T1.C1>=0 AND T1.C1<3
0」が最初に取り出された場合は、処理済みの連言がな
い状態であり、重複する連言がないため、ステップ40
3ではNOが選択され、ステップ408において、この
連言が問合せのグループ内で、どの程度頻繁に利用され
るかを示す有効度に対して初期値1をセットし、ステッ
プ409で条件の集合64の連言として記憶する。
【0017】次の問合せ62の連言「T1.C1>=0
AND T1.C1<20」については、前記処理し
記憶した条件の集合64の連言との重複する部分がある
ため、ステップ403でYESが選択され、ステップ4
04で条件の集合64の連言を、重複する部分と非重複
部分とに分け、ステップ405において重複部分の連言
について有効度を一つあげる。これにより、条件の集合
は図6における64の状態から65の状態に遷移する。
【0018】次の問合せ63の連言「T1.C1>=1
0 AND T1.C1<40」については、前記処理
し記憶した条件の集合65の連言との重複部分があるた
め、先の問合せ62と同様の処理を行うが、問合せ63
の連言の場合、重複部分の削除処理(ステップ406)
を行う。ステップ407において、未処理の連言の有無
を判定し、未処理の連言がある場合はステップ408に
進み、そうでない場合はステップステップ410に進
む。図6に示す例においては、連言「T1.C1>=3
0 AND T1.C1<40」が残るため、ステップ
407でYESが選択され、対象の新連言の有効度を初
期値に設定し(ステップ408)、該新連言を集合に追
加する(ステップ409) ステップ410において、対象の問合せに連言が存在す
るか否かを判定し、存在する場合はステップ403に戻
り、そうでない場合はステップ411に進む。ステップ
411において、問い合わせが存在するか否かを判定
し、存在する場合はステップ401に進み、そうでない
場合は処理を終了する。
【0019】次に、条件の選択処理(ステップ303)
について、図7および図6の条件の和集合66を用いて
説明する。ステップ701において、前記条件の和集合
生成処理(ステップ202)で得られる条件の集合の要
素である各連言を単独で使用した場合に得られるレコー
ド数を求める。求め方としては、例えば和集合66の有
効度3の連言の場合、「SELECT COUNT
(*) FROM T1WHERE T1.C1>10
AND T1.C1<20」なるSQL文により簡単
に求められる。他の連言についても同様にレコード数を
求めることができる。ステップ702において、データ
の収集先のテーブルのカラムのデータ型とステップ70
1で求めたレコード件数から、取得するデータの予想量
を計算する。計算方法としては、例えば和集合66の各
連言の場合、取得するテーブルのカラム「T1.C1と
T1.C2」のカラムのデータ型がともに、整数(4バ
イト長)の場合、各連言のレコード数×(4+4)が連
言毎の取得するデータの予想量となる。ステップ703
において、部分レプリカの生成を行う。条件の和集合6
6より、部分レプリカの生成のためのSQL文を作成を
行い、このSQL文の実行結果として取得されるデータ
を部分レプリカとする。SQL文の作成は、66の連言
の有効度の大きい順に、ステップ702で計算した連言
のデータの予想量を加算していく。データ予想量が、部
分レプリカとして保持し得る許容データ量を超える場
合、その連言は部分レプリカ生成の条件には含めない。
有効度の大きいものを優先的に、部分レプリカの生成条
件とし、かつ部分レプリカとしてのデータ量を制御する
ことで、ヒット率が高く、記憶装置容量、部分レプリカ
の更新コストが最適な部分レプリカの生成条件を決定で
きる。
【0020】図8は、サーバに格納されるテーブル「T
1」の一具体例を示す図、図9は条件の和集合66のう
ち有効度2以上の連言を生成条件として生成された部分
レプリカの一具体例を示す図である。図8のテーブル
「T1」に格納されるデータは人事情報であり、項番8
1、従業員番号82、氏名83、役職84、給与85、
勤続年数86等の項目を備え、前記問い合わせにおける
「C1」は項番を示す。図8をもとに、条件の和集合6
6のうち有効度2以上の連言を生成条件として部分レプ
リカを生成すると図9のようになる。生成条件は「0<
=T1.C1<30」であり、図では項番0〜20まで
のデータが部分レプリカとして記憶装置に格納されてい
るから、確かに有効度2以上の3つの連言を条件に部分
レプリカが生成されている。
【0021】図10は、部分レプリカの更新処理を説明
する図である。アプリケーションを変更して問い合わせ
る場合のように、問合せ群が変更される場合、部分レプ
リカの更新が必要となる。まず、ステップ1001にお
いて、データ収集手段13はクライアントからアプリケ
ーションの変更を受け付けたか否かを判定し、変更を受
け付けた場合にはステップ1002に進み、そうでない
場合は処理を終了する。ステップ1002において、新
しい問い合わせに応じた新しい部分レプリカの生成条件
の和集合を求める。ステップ1003において、前記新
しい部分レプリカの生成条件の和集合と、従前の部分レ
プリカの生成条件の和集合を比較する。ステップ100
4において、比較した結果、重複する生成条件で生成し
たデータは削除せず、前記従前の部分レプリカのうち重
複しない条件で生成したデータのみを削除する。ステッ
プ1005において、新しい部分レプリカの生成条件の
うち重複しない条件で生成したデータをサーバを介して
データベースから収集し前記記憶手段に追加する。
【0022】図11は、前記部分レプリカの更新処理の
具体例を示す図である。図において、111は新しい部
分レプリカの条件の和集合、112は従前の部分レプリ
カの条件の和集合である。前記ステップ1003に示す
ように、前記両和集合を比較し、重複する条件の和集合
(113)、重複しない条件の和集合(114)を抽出
し、重複しない条件和集合(114)のデータを、既存
の部分レプリカから削除する。次いで、前記ステップ1
005に示すように、新しい部分レプリカの条件(11
1)のうち、重複しない条件の和集合(115)のデー
タを前記各サーバを介してデータベースから収集し、重
複部分のデータに追加して部分レプリカを更新する。
【0023】以上説明したように、有効度の大きさに基
づいて部分レプリカ生成するので、問合せに対して利用
率が高い部分レプリカを生成することができ、ネットワ
ーク負荷を削減でき、問合せの応答時間の短縮が可能と
なる。また、記憶装置容量を考慮した部分レプリカを生
成することができ、記憶装置容量、更新処理コストを削
減することが可能となる。また、新しい部分レプリカの
条件のうち、従前の部分レプリカの条件と重複しない条
件のデータのみをデータベースから収集し、重複部分の
データに追加することにより、従前の部分レプリカ全て
を削除し、新しい部分レプリカを生成するのに比べ、更
新コストを削減することができる。
【0024】
【発明の効果】以上説明したように本発明によれば、低
記憶装置容量、低更新処理コストで、かつ利用率の高い
レプリカを生成することができる。
【図面の簡単な説明】
【図1】本発明の適用することのできるデータベースを
備えた分散環境を説明する図である。
【図2】部分レプリカの生成装置の処理手順の概略を示
す図である。
【図3】問い合わせのグループ化処理を説明する図であ
る。
【図4】条件の和集合生成処理を示す図である。
【図5】選言標準型への書き換えを示す図である。
【図6】連言の分割と有効度をセットする例を示す図で
ある。
【図7】条件の選択処理を示す図である。
【図8】サーバに格納されるテーブルの具体例を示す図
である。
【図9】部分レプリカの具体例を示す図である。
【図10】部分レプリカの更新処理を示す図である。
【図11】部分レプリカの更新処理の具体例を示す図で
ある。
【符号の説明】
11,12…クライアント 13 データ収集手段 14 ネットワーク 15 部分レプリカ 16,17…サーバ 18,19…テーブル 31,32,33,51,61,62,63 問合せ 34,35 問合せグループ 52 条件を選言標準形に書換えた問合せ 64,65,66 条件の和集合
───────────────────────────────────────────────────── フロントページの続き (72)発明者 嶋崎 康一 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 (72)発明者 板谷 孝 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 (72)発明者 竹口 成一 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 Fターム(参考) 5B075 ND40 NR03 NR20 5B082 FA12 GA08 HA08

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 分散データベース環境において、データ
    ベースを管理するサーバに対するクライアントからの問
    い合わせにより取得したデータを部分レプリカとして記
    憶装置にキャッシングする部分レプリカの生成装置であ
    って、 複数の問い合わせ条件からなる問い合わせ群をグループ
    化する処理手段と、 前記グループ化した問い合わせ条件毎に問い合わせ条件
    の集合を求める処理手段と、 前記問い合わせ条件の集合を、条件の重複範囲に基づい
    て条件を分別し、分別した各条件に対してその重複回数
    に応じて有効度を設定する処理手段と、 前記分別した条件の内、有効度の高いものを優先して問
    い合わせ条件としての部分レプリカを生成する処理手段
    と、からなることを特徴とする部分レプリカの生成装
    置。
  2. 【請求項2】 請求項1の記載において、前記問い合わ
    せ群をグループ化する処理手段は、前記問い合わせ群を
    データ収集先を基準にグループ化することを特徴とする
    部分レプリカの生成装置。
  3. 【請求項3】 請求項1ないし請求項2の何れか1の記
    載において、前記処理手段は、問い合わせ条件の集合を
    連言を含む選言標準形に変形することを特徴とする部分
    レプリカの生成装置。
  4. 【請求項4】 分散データベース環境において、データ
    ベースを管理するサーバに対するクライアントからの問
    い合わせにより取得したデータを部分レプリカとして記
    憶装置にキャッシングする部分レプリカの生成方法であ
    って、 複数の問い合わせ条件からなる問い合わせ群をグループ
    化する処理と、 前記グループ化した問い合わせ条件毎に問い合わせ条件
    の集合を求める処理と、 前記問い合わせ条件の集合を、条件の重複範囲に基づい
    て条件を分別し、分別した各条件に対してその重複回数
    に応じて有効度を設定する処理と、 前記分別した条件の内、有効度の高いものを優先して問
    い合わせ条件としての部分レプリカを生成する処理と、
    からなることを特徴とする部分レプリカの生成方法。
  5. 【請求項5】 分散データベース環境において、データ
    ベースを管理するサーバに対するクライアントからの問
    い合わせにより取得したデータを部分レプリカとして記
    憶装置にキャッシングする部分レプリカの生成処理であ
    って、 複数の問い合わせ条件からなる問い合わせ群をグループ
    化する処理と、 前記グループ化した問い合わせ条件毎に問い合わせ条件
    の集合を求める処理と、 前記問い合わせ条件の集合を、条件の重複範囲に基づい
    て条件を分別し、分別した各条件に対してその重複回数
    に応じて有効度を設定する処理と、 前記分別した条件の内、有効度の高いものを優先して問
    い合わせ条件としての部分レプリカを生成する処理とを
    コンピュータに実行させるプログラムとして記録したコ
    ンピュータ読み取り可能な記録媒体。
JP2001018803A 2001-01-26 2001-01-26 部分レプリカの生成装置および生成方法 Pending JP2002222108A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001018803A JP2002222108A (ja) 2001-01-26 2001-01-26 部分レプリカの生成装置および生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001018803A JP2002222108A (ja) 2001-01-26 2001-01-26 部分レプリカの生成装置および生成方法

Publications (1)

Publication Number Publication Date
JP2002222108A true JP2002222108A (ja) 2002-08-09

Family

ID=18884771

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001018803A Pending JP2002222108A (ja) 2001-01-26 2001-01-26 部分レプリカの生成装置および生成方法

Country Status (1)

Country Link
JP (1) JP2002222108A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010098034A1 (ja) * 2009-02-24 2010-09-02 日本電気株式会社 分散データベース管理システムおよび分散データベース管理方法
WO2011118425A1 (ja) * 2010-03-24 2011-09-29 日本電気株式会社 クエリ最適化システム、クエリ最適化装置、及びクエリ最適化方法
US9170851B2 (en) 2010-11-22 2015-10-27 International Business Machines Corporation Connection distribution for load balancing in a distributed database

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010098034A1 (ja) * 2009-02-24 2010-09-02 日本電気株式会社 分散データベース管理システムおよび分散データベース管理方法
JPWO2010098034A1 (ja) * 2009-02-24 2012-08-30 日本電気株式会社 分散データベース管理システムおよび分散データベース管理方法
WO2011118425A1 (ja) * 2010-03-24 2011-09-29 日本電気株式会社 クエリ最適化システム、クエリ最適化装置、及びクエリ最適化方法
US9170851B2 (en) 2010-11-22 2015-10-27 International Business Machines Corporation Connection distribution for load balancing in a distributed database

Similar Documents

Publication Publication Date Title
US11461309B2 (en) Incremental refresh of a materialized view
JP3851493B2 (ja) データベース検索方法及びデータベース検索システム並びにデータベース検索プログラムを記録したコンピュータ読み取り可能な記録媒体
US6973452B2 (en) Limiting scans of loosely ordered and/or grouped relations using nearly ordered maps
US10180992B2 (en) Atomic updating of graph database index structures
US9672241B2 (en) Representing an outlier value in a non-nullable column as null in metadata
US8527556B2 (en) Systems and methods to update a content store associated with a search index
JP3813089B2 (ja) Rdbm断片化を管理するシステム
US20100257181A1 (en) Dynamic Hash Table for Efficient Data Access In A Relational Database System
US8452788B2 (en) Information retrieval system, registration apparatus for indexes for information retrieval, information retrieval method and program
US20060041606A1 (en) Indexing system for a computer file store
US20040015486A1 (en) System and method for storing and retrieving data
AU2017243870B2 (en) "Methods and systems for database optimisation"
US7650338B2 (en) Method and system for managing data transaction requests
JP2001109758A (ja) 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法
JPH10320423A (ja) データベースシステムにおいて結合質問を実行する方法及び装置
US20170255708A1 (en) Index structures for graph databases
US6484163B1 (en) Technique for data mining of large scale relational databases using SQL
Yu et al. Indexing the pickup and drop-off locations of nyc taxi trips in postgresql–lessons from the road
JP2002222108A (ja) 部分レプリカの生成装置および生成方法
CN102004800A (zh) Pdm系统中数据的查询方法及装置
JPH08235040A (ja) データファイル管理システム
EP3436988B1 (en) "methods and systems for database optimisation"
JP2004192657A (ja) 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体
Ton That et al. PLI^++: efficient clustering of cloud databases
JP2016062522A (ja) データベース管理システム、データベースシステム、データベース管理方法およびデータベース管理プログラム