JPH07160557A - データベースアクセス処理方法 - Google Patents
データベースアクセス処理方法Info
- Publication number
- JPH07160557A JPH07160557A JP5311818A JP31181893A JPH07160557A JP H07160557 A JPH07160557 A JP H07160557A JP 5311818 A JP5311818 A JP 5311818A JP 31181893 A JP31181893 A JP 31181893A JP H07160557 A JPH07160557 A JP H07160557A
- Authority
- JP
- Japan
- Prior art keywords
- index
- access processing
- key
- rows
- lines
- 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
Links
Landscapes
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】 並列データベースにおいて、1次キーで分割
されている表に対して、分割キー以外の2次キーで検索
を効率よく行なうインデクスアクセス処理手段を得る。 【構成】 問い合わせ解析処理手段11と、複数のデー
タベースアクセス処理手段12,13と、それらを接続
するネットワーク14とを備える並列データベース管理
システムにおいて、全行のキー値と行の位置を対応させ
る情報を持つグローバルインデクス16と、それぞれ表
の分割部分の行の2次キーと行の位置を対応させた情報
を持つローカルインデクス17a〜cを設け、前記問合
せ解析手段において、検索要求から検索行数を計算し、
検索行数が一定値以下なら、前記グローバルインデクス
を、以上なら前記ローカルインデクスを選択し、2次キ
ー検索要求を処理する。
されている表に対して、分割キー以外の2次キーで検索
を効率よく行なうインデクスアクセス処理手段を得る。 【構成】 問い合わせ解析処理手段11と、複数のデー
タベースアクセス処理手段12,13と、それらを接続
するネットワーク14とを備える並列データベース管理
システムにおいて、全行のキー値と行の位置を対応させ
る情報を持つグローバルインデクス16と、それぞれ表
の分割部分の行の2次キーと行の位置を対応させた情報
を持つローカルインデクス17a〜cを設け、前記問合
せ解析手段において、検索要求から検索行数を計算し、
検索行数が一定値以下なら、前記グローバルインデクス
を、以上なら前記ローカルインデクスを選択し、2次キ
ー検索要求を処理する。
Description
【0001】
【産業上の利用分野】本発明は、1つの表を複数の部分
に分割し、それぞれの部分をデータベースアクセス処理
手段に割り当てて並列処理する並列データベース処理方
法に係り、特に、グローバルインデクス及びローカルイ
ンデクスを用いてインデクスアクセスを行なうデータベ
ース処理方法に関する。
に分割し、それぞれの部分をデータベースアクセス処理
手段に割り当てて並列処理する並列データベース処理方
法に係り、特に、グローバルインデクス及びローカルイ
ンデクスを用いてインデクスアクセスを行なうデータベ
ース処理方法に関する。
【0002】
【従来の技術】一般に、並列データベース管理システム
では、例えば、Dewitt.D,Gray.J "TheFuture of High P
erformance Database Systems" communications of the
acm,1992/vol.35,No.6に記載されているように、多数
の行からなる1つの表を複数の行からなる複数の格納単
位(以下、部分表と呼ぶ)に分割格納し、この部分表に
対応してプロセッサを割り当てることで、各プロセッサ
同士が並列にデータベースアクセス処理を行なうように
なっている。従来、このように表を複数の行からなる部
分表に分ける分割方法として、1次キーの値の範囲によ
って分割するキーレンジ分割法と、各部分表ごとの行数
が均等になるように例えば格納順で分割するラウンドロ
ビン分割法が知られている。
では、例えば、Dewitt.D,Gray.J "TheFuture of High P
erformance Database Systems" communications of the
acm,1992/vol.35,No.6に記載されているように、多数
の行からなる1つの表を複数の行からなる複数の格納単
位(以下、部分表と呼ぶ)に分割格納し、この部分表に
対応してプロセッサを割り当てることで、各プロセッサ
同士が並列にデータベースアクセス処理を行なうように
なっている。従来、このように表を複数の行からなる部
分表に分ける分割方法として、1次キーの値の範囲によ
って分割するキーレンジ分割法と、各部分表ごとの行数
が均等になるように例えば格納順で分割するラウンドロ
ビン分割法が知られている。
【0003】一方、データベース管理システムにおける
表の管理方法として、表にアクセスする際、行を高速ア
クセスするために、行の格納位置とキー値を対応付けた
情報を持つインデクスを用いる。また、例えば、1つの
表について、1点を検索するのに有利なインデクスや範
囲を検索するのに有利なインデクスなど、同じ列に種類
の違う複数種のインデクスを付与しておき、最適化処理
の際所望のインデクスを選択することも最近提案されて
いるが、これは並列処理システムに適用したものではな
く分散処理システムに適用されたものである。
表の管理方法として、表にアクセスする際、行を高速ア
クセスするために、行の格納位置とキー値を対応付けた
情報を持つインデクスを用いる。また、例えば、1つの
表について、1点を検索するのに有利なインデクスや範
囲を検索するのに有利なインデクスなど、同じ列に種類
の違う複数種のインデクスを付与しておき、最適化処理
の際所望のインデクスを選択することも最近提案されて
いるが、これは並列処理システムに適用したものではな
く分散処理システムに適用されたものである。
【0004】並列DBにおいてもインデクスの応用は考
えられるが、並列性を考慮したインデクス利用法につい
ては、これまでに定形化した技術となっていない。
えられるが、並列性を考慮したインデクス利用法につい
ては、これまでに定形化した技術となっていない。
【0005】
【発明が解決しようとする課題】インデクスを並列デー
タベース管理システムに単純に適用すると、1つのイン
デクスで、分割された表の全ての行の格納位置とキー値
を対応づけた情報を保持するものとなる(以下、グロー
バルインデクスと呼ぶ)。処理方式としては、要求され
た問い合わせを解析し、グローバルインデクスを参照し
て検索行を含む部分表を知り、それに対応するプロセッ
サのみに検索処理を分配し並列処理を行なう。
タベース管理システムに単純に適用すると、1つのイン
デクスで、分割された表の全ての行の格納位置とキー値
を対応づけた情報を保持するものとなる(以下、グロー
バルインデクスと呼ぶ)。処理方式としては、要求され
た問い合わせを解析し、グローバルインデクスを参照し
て検索行を含む部分表を知り、それに対応するプロセッ
サのみに検索処理を分配し並列処理を行なう。
【0006】グローバルインデクスを用いる場合、検索
される行が少ない問合せでは、その行を含む部分表に対
応するプロセッサのみに処理を分け、行を持たないプロ
セッサを動作させることがなく、資源を余分に使わない
ことによるスループット向上ができる。逆に、検索され
る行が多い問合せでは、グローバルインデクスとそれを
アクセスするプロセッサに負荷が集中し、また、インデ
クスアクセス終了後の実際のデータ処理(トランザクシ
ョン処理)は並列処理が可能であってもインデクスアク
セス自体には並列性がないために複数のプロセッサを並
列動作させることができず、ターンアラウンドタイムが
長くなる。
される行が少ない問合せでは、その行を含む部分表に対
応するプロセッサのみに処理を分け、行を持たないプロ
セッサを動作させることがなく、資源を余分に使わない
ことによるスループット向上ができる。逆に、検索され
る行が多い問合せでは、グローバルインデクスとそれを
アクセスするプロセッサに負荷が集中し、また、インデ
クスアクセス終了後の実際のデータ処理(トランザクシ
ョン処理)は並列処理が可能であってもインデクスアク
セス自体には並列性がないために複数のプロセッサを並
列動作させることができず、ターンアラウンドタイムが
長くなる。
【0007】そこで、各部分表にインデクスを対応させ
たローカルインデクスを考える。各ローカルインデクス
は、対応する部分表の行のみの格納位置とキー値を対応
づける情報を持つ。そして、各ローカルインデクスを合
わせたものは、前記グローバルインデクスと等しい情報
を持つことになる。処理方式としては、問い合わせを解
析し、部分表とローカルインデクスに対応するプロセッ
サに同じ検索処理を分配することで、インデクスアクセ
スもその後の実際のデータ処理も含めて並列処理を行な
う。
たローカルインデクスを考える。各ローカルインデクス
は、対応する部分表の行のみの格納位置とキー値を対応
づける情報を持つ。そして、各ローカルインデクスを合
わせたものは、前記グローバルインデクスと等しい情報
を持つことになる。処理方式としては、問い合わせを解
析し、部分表とローカルインデクスに対応するプロセッ
サに同じ検索処理を分配することで、インデクスアクセ
スもその後の実際のデータ処理も含めて並列処理を行な
う。
【0008】ローカルインデクスを用いる場合、検索さ
れる行数が多い問合せでは、各部分表ごとに並列に行の
検索処理をする。さらに、各ローカルインデクスも他の
インデクスから独立なので、同時に並列にアクセスでき
ることにより、グローバルインデクスを用いる場合に比
べてターンアラウンドタイムの短縮ができる。逆に検索
行数が少ない問合せでは、検索される行がない部分表に
対応するプロセッサにまで処理が分配され、プロセッサ
が余分に動作することになり、余分な資源の消費による
スループットの低下を招く。また、複数の問い合わせに
対する検索処理を並列に行なおうとする場合、他の問い
合わせとの間で不必要な競合を起こすことになる。
れる行数が多い問合せでは、各部分表ごとに並列に行の
検索処理をする。さらに、各ローカルインデクスも他の
インデクスから独立なので、同時に並列にアクセスでき
ることにより、グローバルインデクスを用いる場合に比
べてターンアラウンドタイムの短縮ができる。逆に検索
行数が少ない問合せでは、検索される行がない部分表に
対応するプロセッサにまで処理が分配され、プロセッサ
が余分に動作することになり、余分な資源の消費による
スループットの低下を招く。また、複数の問い合わせに
対する検索処理を並列に行なおうとする場合、他の問い
合わせとの間で不必要な競合を起こすことになる。
【0009】また、前記キーレンジ分割された表を、1
次キーに対するインデクスによりアクセスをする場合、
ローカルインデクスと(1次キーによる)キー分割情報
の二段階の構造を持つことで、グローバルインデクス処
理方法とローカルインデクス処理方法の欠点を補う方法
が考えられるが、2次キーインデクスによるアクセスの
場合、あるいは、ラウンドロビン法により分割された表
をインデクスによりアクセスをする場合は、分割が2次
キー等に基づいてなされていないので、簡単にキー値分
割表(キー値分割情報)を作ることができない。
次キーに対するインデクスによりアクセスをする場合、
ローカルインデクスと(1次キーによる)キー分割情報
の二段階の構造を持つことで、グローバルインデクス処
理方法とローカルインデクス処理方法の欠点を補う方法
が考えられるが、2次キーインデクスによるアクセスの
場合、あるいは、ラウンドロビン法により分割された表
をインデクスによりアクセスをする場合は、分割が2次
キー等に基づいてなされていないので、簡単にキー値分
割表(キー値分割情報)を作ることができない。
【0010】このように、グローバルインデクスあるい
は、ローカルインデクスの一方だけ用いたのでは、並列
性を活かせるインデクス検索方法とはならない。
は、ローカルインデクスの一方だけ用いたのでは、並列
性を活かせるインデクス検索方法とはならない。
【0011】従って、本発明の目的は、上記従来技術の
問題点を解決し、検索される行数に応じて、グローバル
インデクス処理方法とローカルインデクス処理方法を使
い分けることにより、両処理方法の持つ欠点を相殺し、
処理速度を高めると共に余分な資源の消費を防止するよ
うにしたインデクス検索方法を提供することにある。
問題点を解決し、検索される行数に応じて、グローバル
インデクス処理方法とローカルインデクス処理方法を使
い分けることにより、両処理方法の持つ欠点を相殺し、
処理速度を高めると共に余分な資源の消費を防止するよ
うにしたインデクス検索方法を提供することにある。
【0012】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、1次キー及び2次キーで構成される1つ
の表を1次キーに基づき複数の部分表に分割して各部分
表をそれぞれ複数のデータベースアクセス処理手段に分
配し、前記複数のデータベースアクセス処理手段によっ
て並列的に(分割キー以外の)2次キーによる検索を行
なうデータベースアクセス処理方法において、前記1の
つ表の全行のキー値と行の位置とを対応させた情報をも
つグローバルインデクスを設けて、このグローバルイン
デクスによるグローバルインデクスアクセス処理を他の
データベースアクセス処理手段に割り当てると共に、各
部分表の2次キー値と行の位置とを対応させた情報を分
散してもち全体で1つのインデクスとなるローカルイン
デクスを設けて、各ローカルインデクスによるローカル
インデクス処理及び行アクセス処理を前記複数のデータ
ベースアクセス処理手段のそれぞれに割り当て、問い合
わせ解析手段を設けて、この問い合わせ解析手段におい
て、受け取った2次キーによる検索要求に基づいて検索
行数を求め、その行数が比較的小さいときにはグローバ
ルインデクスを選択し、その行数が比較的大きいときに
はローカルインデクスを選択し、選択したインデクスを
用いてデータベースアクセス処理をするようにしたもの
である。
め、本発明は、1次キー及び2次キーで構成される1つ
の表を1次キーに基づき複数の部分表に分割して各部分
表をそれぞれ複数のデータベースアクセス処理手段に分
配し、前記複数のデータベースアクセス処理手段によっ
て並列的に(分割キー以外の)2次キーによる検索を行
なうデータベースアクセス処理方法において、前記1の
つ表の全行のキー値と行の位置とを対応させた情報をも
つグローバルインデクスを設けて、このグローバルイン
デクスによるグローバルインデクスアクセス処理を他の
データベースアクセス処理手段に割り当てると共に、各
部分表の2次キー値と行の位置とを対応させた情報を分
散してもち全体で1つのインデクスとなるローカルイン
デクスを設けて、各ローカルインデクスによるローカル
インデクス処理及び行アクセス処理を前記複数のデータ
ベースアクセス処理手段のそれぞれに割り当て、問い合
わせ解析手段を設けて、この問い合わせ解析手段におい
て、受け取った2次キーによる検索要求に基づいて検索
行数を求め、その行数が比較的小さいときにはグローバ
ルインデクスを選択し、その行数が比較的大きいときに
はローカルインデクスを選択し、選択したインデクスを
用いてデータベースアクセス処理をするようにしたもの
である。
【0013】この検索行数は、そのキー値の度数分布表
の統計情報を用い計算し、その値が性能を分ける境界値
(所定値)以上のときは、ローカルインデクスを使用
し、境界値以下のときは、グローバルインデクスを使用
するものである。この度数分布表は、統計解析ユティリ
ティなどで作成することができる。
の統計情報を用い計算し、その値が性能を分ける境界値
(所定値)以上のときは、ローカルインデクスを使用
し、境界値以下のときは、グローバルインデクスを使用
するものである。この度数分布表は、統計解析ユティリ
ティなどで作成することができる。
【0014】
【作用】上記構成に基づく作用を説明する。
【0015】本発明によれば、問い合わせ解析手段が受
けた検索要求に基づいて算出した検索行数が小さい(少
ない)ときにはグローバルインデクスを使用してインデ
クスアクセスを行なうので資源を余分に使わないでスル
ープットを向上できる。また、検索行数が多い(大き
い)ときにはローカルインデクスを用いて並列にインデ
クスアクセスを行なうことができるので、ターンアラウ
ンドタイムを短縮することができる。
けた検索要求に基づいて算出した検索行数が小さい(少
ない)ときにはグローバルインデクスを使用してインデ
クスアクセスを行なうので資源を余分に使わないでスル
ープットを向上できる。また、検索行数が多い(大き
い)ときにはローカルインデクスを用いて並列にインデ
クスアクセスを行なうことができるので、ターンアラウ
ンドタイムを短縮することができる。
【0016】このように、検索行数にに応じ、最適的な
インデクスを選択してデータベースアクセスに使用する
ことにより、検索行数の大小にかかわらずスループット
とターンアラウンドタイムのバランスのとれた検索を行
うことが可能となる。
インデクスを選択してデータベースアクセスに使用する
ことにより、検索行数の大小にかかわらずスループット
とターンアラウンドタイムのバランスのとれた検索を行
うことが可能となる。
【0017】
【実施例】以下に、本発明の実施例を図面により説明す
る。
る。
【0018】図1は、本発明が適用される並列データベ
ース管理システム(並列DBMS)の実施例の構成を示
す。図1において、10はデータベースに検索要求を出
す端末、11は検索要求を解析し検索される行数を計算
してその値によりインデクスを選択する問い合わせ解析
プロセッサ、12はグローバルインデクスアクセス処理
プロセッサ、13(13a,13b,13c)は部分表
とローカルインデクスをアクセスする表アクセス処理プ
ロセッサ、14は各処理プロセッサを接続する任意のネ
ットワークである。
ース管理システム(並列DBMS)の実施例の構成を示
す。図1において、10はデータベースに検索要求を出
す端末、11は検索要求を解析し検索される行数を計算
してその値によりインデクスを選択する問い合わせ解析
プロセッサ、12はグローバルインデクスアクセス処理
プロセッサ、13(13a,13b,13c)は部分表
とローカルインデクスをアクセスする表アクセス処理プ
ロセッサ、14は各処理プロセッサを接続する任意のネ
ットワークである。
【0019】インデクス選択プロセッサ(問い合わせプ
ロセッサ)11は、統計情報15を保持する。グローバ
ルインデクスアクセス処理プロセッサ12は、グローバ
ルインデクス16を保持する。表アクセス処理プロセッ
サ13(13a,13b,13c)は、表の部分表18
(18a,18b,18c)とそれに対応するローカル
インデクス17(17a,17b,17c)を保持す
る。
ロセッサ)11は、統計情報15を保持する。グローバ
ルインデクスアクセス処理プロセッサ12は、グローバ
ルインデクス16を保持する。表アクセス処理プロセッ
サ13(13a,13b,13c)は、表の部分表18
(18a,18b,18c)とそれに対応するローカル
インデクス17(17a,17b,17c)を保持す
る。
【0020】統計情報15は、本実施例では度数分布表
であり、表の各行のキー値から、統計解析ユティリティ
19を用いて作成する。
であり、表の各行のキー値から、統計解析ユティリティ
19を用いて作成する。
【0021】本実施例では、インデクスはキーレンジ分
割された表の2次キーに対して作られる。1つのキーに
グローバルインデクス、ローカルインデクスの二種類を
同時に作り、どちらかのインデクスを用いるアクセス方
法を選択して行なう。部分表に対応するローカルインデ
クスを全て合わせたものと、グローバルインデクスは、
論理的には同じものになる。
割された表の2次キーに対して作られる。1つのキーに
グローバルインデクス、ローカルインデクスの二種類を
同時に作り、どちらかのインデクスを用いるアクセス方
法を選択して行なう。部分表に対応するローカルインデ
クスを全て合わせたものと、グローバルインデクスは、
論理的には同じものになる。
【0022】図3及び図4は、本発明の実施例を説明す
るブロック図である。それぞれ、グローバルインデクス
とローカルインデクスを使用する行アクセスを選択され
た場合に対応する。図2は、実施例を示すフローチャー
トである。
るブロック図である。それぞれ、グローバルインデクス
とローカルインデクスを使用する行アクセスを選択され
た場合に対応する。図2は、実施例を示すフローチャー
トである。
【0023】図2〜図4において、端末10は2次キー
による表検索要求を、問い合わせ解析プロセッサに送信
する(201,300,400)。問い合わせを受信し
た問い合わせ解析プロセッサ11は、問い合わせを解析
する(202)。そして、検索条件に対応するキーに、
グローバルインデクスとローカルインデクスの2種類が
定義されている場合、本発明によるインデクスを選択し
てアクセスする方法をとる(203)。なお、ステップ
203でインデクスが1種類しか作成されていない場合
には、作成してあるインデクスによりアクセスする(2
04)。本実施例ではインデクスが2種類ある場合であ
る。次に、統計情報15を参照(301,302,40
1,402)して検索される行数を計算する(20
5)。検索行数と選択境界値を比較して、検索行数が小
さいときはグローバルインデクスを、大きいときはロー
カルインデクスを、使ってアクセスを行なうことを選択
する(206)。
による表検索要求を、問い合わせ解析プロセッサに送信
する(201,300,400)。問い合わせを受信し
た問い合わせ解析プロセッサ11は、問い合わせを解析
する(202)。そして、検索条件に対応するキーに、
グローバルインデクスとローカルインデクスの2種類が
定義されている場合、本発明によるインデクスを選択し
てアクセスする方法をとる(203)。なお、ステップ
203でインデクスが1種類しか作成されていない場合
には、作成してあるインデクスによりアクセスする(2
04)。本実施例ではインデクスが2種類ある場合であ
る。次に、統計情報15を参照(301,302,40
1,402)して検索される行数を計算する(20
5)。検索行数と選択境界値を比較して、検索行数が小
さいときはグローバルインデクスを、大きいときはロー
カルインデクスを、使ってアクセスを行なうことを選択
する(206)。
【0024】グローバルインデクス処理を選択した場
合、図3に示すようにグローバルインデクスアクセス処
理プロセッサ12に検索要求を転送する(303)。グ
ローバルインデクスアクセス処理プロセッサは、グロー
バルインデクス16を参照し(207,304)、検索
条件に一致するキー値の位置情報を得て、行アクセス要
求を対応する表アクセス処理プロセッサ例えば13bに
送信する(208,305)。この要求を受信したプロ
セッサ13bはキー値の位置情報より、部分表から該当
する行を取り出す(209,306)。この結果は問い
合わせ解析プロセッサ11に送信され(307)、さら
に端末に転送される(210,308)。
合、図3に示すようにグローバルインデクスアクセス処
理プロセッサ12に検索要求を転送する(303)。グ
ローバルインデクスアクセス処理プロセッサは、グロー
バルインデクス16を参照し(207,304)、検索
条件に一致するキー値の位置情報を得て、行アクセス要
求を対応する表アクセス処理プロセッサ例えば13bに
送信する(208,305)。この要求を受信したプロ
セッサ13bはキー値の位置情報より、部分表から該当
する行を取り出す(209,306)。この結果は問い
合わせ解析プロセッサ11に送信され(307)、さら
に端末に転送される(210,308)。
【0025】一方、ローカルインデクス処理を選択した
場合、図4に示すように、問い合わせ解析プロセッサ
は、部分表とそのローカルインデクスに対応するプロセ
ッサ全てに問い合わせを分配する(211,403)。
問い合わせを受信した表アクセス処理プロセッサ13
は、並列にそれぞれのローカルインデクスを参照して
(212,404)行を取り出す(213,405)。
この結果はプロセッサの問い合わせ解析部に送信され
(214,406)、さらに端末に転送される(40
7)。
場合、図4に示すように、問い合わせ解析プロセッサ
は、部分表とそのローカルインデクスに対応するプロセ
ッサ全てに問い合わせを分配する(211,403)。
問い合わせを受信した表アクセス処理プロセッサ13
は、並列にそれぞれのローカルインデクスを参照して
(212,404)行を取り出す(213,405)。
この結果はプロセッサの問い合わせ解析部に送信され
(214,406)、さらに端末に転送される(40
7)。
【0026】図5において、本発明の具体的な実施行例
を説明する。この説明の前提となるデータを図6及び図
7で示す。図6は本実施例で用いる表T1を示す図であ
る。図5には、表T1を一次キーc1で分割した様子を
示している。本実施例では表を3分割している。図7
は、表T1の2次キーの度数分布を示した統計情報であ
る。
を説明する。この説明の前提となるデータを図6及び図
7で示す。図6は本実施例で用いる表T1を示す図であ
る。図5には、表T1を一次キーc1で分割した様子を
示している。本実施例では表を3分割している。図7
は、表T1の2次キーの度数分布を示した統計情報であ
る。
【0027】本実施例では、各ローカルインデクスには
対応する部分表の行の物理的な位置即ちアドレス(図示
せず)のみが記述されており、他のローカルインデクス
とは独立である。グローバルインデクスは分割された表
全ての行の部分表の識別子と物理的な位置が記述されて
いる。
対応する部分表の行の物理的な位置即ちアドレス(図示
せず)のみが記述されており、他のローカルインデクス
とは独立である。グローバルインデクスは分割された表
全ての行の部分表の識別子と物理的な位置が記述されて
いる。
【0028】図5により本実施例における2次キーによ
るグローバルインデクスを用いた検索処理の具体例を説
明する。端末10より、以下の問い合わせを送る。
るグローバルインデクスを用いた検索処理の具体例を説
明する。端末10より、以下の問い合わせを送る。
【0029】select * from T1 where c2 = 'F'; この問い合わせは、表T1の列c2が'F'である行を検
索するものである。問い合わせ解析プロセッサ11はこ
の要求を受け取り、検索行数をc2の度数分布表(図7)を
参照して計算し、1件という値を得る。これは境界値
(性能を分ける任意の値。本実施例では6と仮定する)
よりも小さいので、グローバルインデクスによるアクセ
スを選択する。次にグローバルインデクスを参照して、
where句の条件にマッチする行のある部分表識別子と物
理位置を得て、対応する表アクセス処理プロセッサのみ
に検索要求を出す。つまり、全てのプロセッサが検索処
理を行う必要がなくなる。
索するものである。問い合わせ解析プロセッサ11はこ
の要求を受け取り、検索行数をc2の度数分布表(図7)を
参照して計算し、1件という値を得る。これは境界値
(性能を分ける任意の値。本実施例では6と仮定する)
よりも小さいので、グローバルインデクスによるアクセ
スを選択する。次にグローバルインデクスを参照して、
where句の条件にマッチする行のある部分表識別子と物
理位置を得て、対応する表アクセス処理プロセッサのみ
に検索要求を出す。つまり、全てのプロセッサが検索処
理を行う必要がなくなる。
【0030】次に、端末10より、以下の問い合わせを
送った場合を示す。
送った場合を示す。
【0031】 select * from T1 where c2 = 'C' and c2 = 'D' この問い合わせは、表T1の列c2が'C'である行と'D'
である行を検索するものである。インデクス選択プロセ
ッサはこの要求を受け取り、検索行数をc2の度数分布表
(図7)を参照して計算し9件という値を得る。これは境
界値6よりも大きいので、ローカルインデクスによるア
クセスを選択する。次に問合せを部分表に対応する表ア
クセス処理プロセッサ全てに分配する。それぞれのプロ
セッサは、他のプロセッサとは無関係にインデクスアク
セスも含め検索処理をローカルに行なう。
である行を検索するものである。インデクス選択プロセ
ッサはこの要求を受け取り、検索行数をc2の度数分布表
(図7)を参照して計算し9件という値を得る。これは境
界値6よりも大きいので、ローカルインデクスによるア
クセスを選択する。次に問合せを部分表に対応する表ア
クセス処理プロセッサ全てに分配する。それぞれのプロ
セッサは、他のプロセッサとは無関係にインデクスアク
セスも含め検索処理をローカルに行なう。
【0032】境界値は、グローバルインデクスを使用し
た場合の負荷の集中の程度とローカルインデクスを使用
した場合の余分の資源の使われる程度とを考慮してバラ
ンスがとれるように経験的に定めることができる。
た場合の負荷の集中の程度とローカルインデクスを使用
した場合の余分の資源の使われる程度とを考慮してバラ
ンスがとれるように経験的に定めることができる。
【0033】
【発明の効果】以上詳しく説明したように、本発明によ
れば、1つの表の同じ列にグローバルインデクスとロー
カルインデクスとを作成し、問い合わせ解析手段が受け
取った検索要求に基づく検索行数が所定値(境界値)よ
りも少ないときにはグローバルインデクスを選択してイ
ンデクスアクセスを行ない、検索行数が所定値よりも多
いときにはローカルインデクスを選択してインデクスア
クセスを行なうようにしたので、検索される行数が多い
ときも少ないときも常にスループットとターンアランド
タイムのバランスのよい検索を行なうことができるとい
う効果が得られる。
れば、1つの表の同じ列にグローバルインデクスとロー
カルインデクスとを作成し、問い合わせ解析手段が受け
取った検索要求に基づく検索行数が所定値(境界値)よ
りも少ないときにはグローバルインデクスを選択してイ
ンデクスアクセスを行ない、検索行数が所定値よりも多
いときにはローカルインデクスを選択してインデクスア
クセスを行なうようにしたので、検索される行数が多い
ときも少ないときも常にスループットとターンアランド
タイムのバランスのよい検索を行なうことができるとい
う効果が得られる。
【図1】本発明が適用される並列DBMSの一実施例の
システム構成図である。
システム構成図である。
【図2】本発明の一実施例の処理の流れを説明するフロ
ー図である。
ー図である。
【図3】グローバルインデクスを用いる検索処理の流れ
の説明図である。
の説明図である。
【図4】ローカルインデクスを用いる検索処理の流れの
説明図である。
説明図である。
【図5】検索処理の一実施例を示す図である。
【図6】本発明の実施例で用いる表の構成図である。
【図7】図6の表の1次キーの度数分布表を示す図であ
る。
る。
【符号の説明】 10 端末 11 問い合わせ解析プロセッサ 12 グローバルインデクスアクセス処理プロセッサ
(データベースアクセス処理プロセッサ) 13(13a〜13c) 表アクセス処理プロセッサ
(データベースアクセス処理プロセッサ) 14 プロセッサ間の任意のネットワーク 15 度数分布表(統計情報) 16 グローバルインデクス 17(17a〜17c) ローカルインデクス 18(18a〜18c) 部分表 19 統計解析ユティリティ
(データベースアクセス処理プロセッサ) 13(13a〜13c) 表アクセス処理プロセッサ
(データベースアクセス処理プロセッサ) 14 プロセッサ間の任意のネットワーク 15 度数分布表(統計情報) 16 グローバルインデクス 17(17a〜17c) ローカルインデクス 18(18a〜18c) 部分表 19 統計解析ユティリティ
Claims (1)
- 【請求項1】 1次キー及び2次キーで構成される1つ
の表を1次キーに基づき複数の部分表に分割して各部分
表をそれぞれ複数のデータベースアクセス処理手段に分
配し、前記複数のデータベースアクセス処理手段によっ
て並列的に2次キーによる検索を行なうデータベースア
クセス処理方法において、 前記1のつ表の全行のキー値と行の位置とを対応させた
情報をもつグローバルインデクスを設けて、このグロー
バルインデクスによるグローバルインデクスアクセス処
理を他のデータベースアクセス処理手段に割り当てると
共に、 各部分表の2次キー値と行の位置とを対応させた情報を
分散してもち全体で1つのインデクスとなるローカルイ
ンデクスを設けて、各ローカルインデクスによるローカ
ルインデクス処理及び行アクセス処理を前記複数のデー
タベースアクセス処理手段のそれぞれに割り当て、 問い合わせ解析手段を設けて、この問い合わせ解析手段
において、受け取った2次キーによる検索要求に基づい
て検索行数を求め、その行数が比較的小さいときにはグ
ローバルインデクスを選択し、その行数が比較的大きい
ときにはローカルインデクスを選択し、選択したインデ
クスを用いてデータベースアクセス処理をすることを特
徴とするデータベースアクセス処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5311818A JPH07160557A (ja) | 1993-12-13 | 1993-12-13 | データベースアクセス処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5311818A JPH07160557A (ja) | 1993-12-13 | 1993-12-13 | データベースアクセス処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07160557A true JPH07160557A (ja) | 1995-06-23 |
Family
ID=18021781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5311818A Pending JPH07160557A (ja) | 1993-12-13 | 1993-12-13 | データベースアクセス処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07160557A (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10240744A (ja) * | 1997-03-03 | 1998-09-11 | Nec Corp | レンジ分割表の検索処理方式、検索処理方法および検索 処理プログラムを記録した記録媒体 |
US5960431A (en) * | 1996-12-19 | 1999-09-28 | International Business Machines Corporation | Method and apparatus for adding data storage bins to a stored computer database while minimizing movement of data and balancing data distribution |
JP2006293981A (ja) * | 2005-03-18 | 2006-10-26 | Hitachi Ltd | データベース格納方法、および、データベース格納システム |
JP2007193642A (ja) * | 2006-01-20 | 2007-08-02 | Nippon Telegr & Teleph Corp <Ntt> | XPath処理装置、XPath処理方法、XPath処理プログラム、および、記憶媒体 |
JP2010134583A (ja) * | 2008-12-03 | 2010-06-17 | Hitachi Ltd | データベース処理方法、データベース処理プログラム、および、データベース指示装置 |
JP2010165170A (ja) * | 2009-01-15 | 2010-07-29 | Fujitsu Ltd | 検索処理方法、システム、及びプログラム |
WO2011067932A1 (ja) * | 2009-12-04 | 2011-06-09 | Yanase Takatoshi | 表検索装置、表検索方法、及び、表検索システム |
CN102893265A (zh) * | 2010-03-10 | 2013-01-23 | 起元技术有限责任公司 | 管理可独立访问的数据单元的存储 |
WO2013153620A1 (ja) * | 2012-04-10 | 2013-10-17 | 株式会社日立製作所 | データ処理システム及びデータ処理方法 |
JP2014232483A (ja) * | 2013-05-30 | 2014-12-11 | 富士通株式会社 | データベースシステム、検索方法およびプログラム |
US8949189B2 (en) | 2006-11-01 | 2015-02-03 | Ab Initio Technology Llc | Managing storage of individually accessible data units |
US9811570B2 (en) | 2011-07-08 | 2017-11-07 | Ab Initio Technology Llc | Managing storage of data for range-based searching |
CN109918430A (zh) * | 2019-01-22 | 2019-06-21 | 中国人民解放军战略支援部队信息工程大学 | 一种5g用户数据去关联存储系统及存取方法 |
WO2020077027A1 (en) * | 2018-10-11 | 2020-04-16 | Varada Ltd. | Method and system for executing queries on indexed views |
-
1993
- 1993-12-13 JP JP5311818A patent/JPH07160557A/ja active Pending
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5960431A (en) * | 1996-12-19 | 1999-09-28 | International Business Machines Corporation | Method and apparatus for adding data storage bins to a stored computer database while minimizing movement of data and balancing data distribution |
JPH10240744A (ja) * | 1997-03-03 | 1998-09-11 | Nec Corp | レンジ分割表の検索処理方式、検索処理方法および検索 処理プログラムを記録した記録媒体 |
JP2006293981A (ja) * | 2005-03-18 | 2006-10-26 | Hitachi Ltd | データベース格納方法、および、データベース格納システム |
JP2007193642A (ja) * | 2006-01-20 | 2007-08-02 | Nippon Telegr & Teleph Corp <Ntt> | XPath処理装置、XPath処理方法、XPath処理プログラム、および、記憶媒体 |
US8949189B2 (en) | 2006-11-01 | 2015-02-03 | Ab Initio Technology Llc | Managing storage of individually accessible data units |
JP2010134583A (ja) * | 2008-12-03 | 2010-06-17 | Hitachi Ltd | データベース処理方法、データベース処理プログラム、および、データベース指示装置 |
JP2010165170A (ja) * | 2009-01-15 | 2010-07-29 | Fujitsu Ltd | 検索処理方法、システム、及びプログラム |
WO2011067932A1 (ja) * | 2009-12-04 | 2011-06-09 | Yanase Takatoshi | 表検索装置、表検索方法、及び、表検索システム |
JP5006472B2 (ja) * | 2009-12-04 | 2012-08-22 | 隆敏 柳瀬 | 表検索装置、表検索方法、及び、表検索システム |
JP2012164333A (ja) * | 2009-12-04 | 2012-08-30 | Takatoshi Yanase | 表検索方法 |
JP2012038321A (ja) * | 2009-12-04 | 2012-02-23 | Takatoshi Yanase | 表検索装置、表検索方法、及び、表検索システム |
CN102893265A (zh) * | 2010-03-10 | 2013-01-23 | 起元技术有限责任公司 | 管理可独立访问的数据单元的存储 |
KR20130036094A (ko) * | 2010-03-10 | 2013-04-10 | 아브 이니티오 테크놀로지 엘엘시 | 개별적으로 액세스 가능한 데이터 유닛의 스토리지 관리 방법 |
JP2013522715A (ja) * | 2010-03-10 | 2013-06-13 | アビニシオ テクノロジー エルエルシー | 個別にアクセス可能なデータ単位の記憶の管理 |
US9811570B2 (en) | 2011-07-08 | 2017-11-07 | Ab Initio Technology Llc | Managing storage of data for range-based searching |
WO2013153620A1 (ja) * | 2012-04-10 | 2013-10-17 | 株式会社日立製作所 | データ処理システム及びデータ処理方法 |
JP2014232483A (ja) * | 2013-05-30 | 2014-12-11 | 富士通株式会社 | データベースシステム、検索方法およびプログラム |
WO2020077027A1 (en) * | 2018-10-11 | 2020-04-16 | Varada Ltd. | Method and system for executing queries on indexed views |
US11226963B2 (en) | 2018-10-11 | 2022-01-18 | Varada Ltd. | Method and system for executing queries on indexed views |
CN109918430A (zh) * | 2019-01-22 | 2019-06-21 | 中国人民解放军战略支援部队信息工程大学 | 一种5g用户数据去关联存储系统及存取方法 |
CN109918430B (zh) * | 2019-01-22 | 2022-09-23 | 中国人民解放军战略支援部队信息工程大学 | 一种5g用户数据去关联存储系统及存取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6609131B1 (en) | Parallel partition-wise joins | |
US6665684B2 (en) | Partition pruning with composite partitioning | |
US6438562B1 (en) | Parallel index maintenance | |
US7774379B2 (en) | Methods for partitioning an object | |
JP3269849B2 (ja) | 並列データベース処理システムとその検索方法 | |
US7756889B2 (en) | Partitioning of nested tables | |
US5404510A (en) | Database index design based upon request importance and the reuse and modification of similar existing indexes | |
US6185557B1 (en) | Merge join process | |
US6092061A (en) | Data partitioning by co-locating referenced and referencing records | |
US5974408A (en) | Method and apparatus for executing a query that specifies a sort plus operation | |
US7054852B1 (en) | Performance of join operations in parallel database systems | |
US6615206B1 (en) | Techniques for eliminating database table joins based on a join index | |
US6505187B1 (en) | Computing multiple order-based functions in a parallel processing database system | |
US7562090B2 (en) | System and method for automating data partitioning in a parallel database | |
US7853570B2 (en) | Method and system for data processing with parallel database systems | |
EP3014488B1 (en) | Incremental maintenance of range-partitioned statistics for query optimization | |
US6643636B1 (en) | Optimizing a query using a non-covering join index | |
EP1482426A2 (en) | System and method of query transformation | |
US6321218B1 (en) | Automatically determining data that is best suited for index tuning | |
JPH07160557A (ja) | データベースアクセス処理方法 | |
JPH06214843A (ja) | データベース管理システムおよび問合せの処理方法 | |
US20100138456A1 (en) | System, method, and computer-readable medium for a locality-sensitive non-unique secondary index | |
US20070083490A1 (en) | Optimizing access to a database by utilizing a star join | |
CN106415534A (zh) | 一种分布式数据库中关联表分区的方法和设备 | |
US6549931B1 (en) | Distributing workload between resources used to access data |