JPH0782451B2 - データベース管理システム - Google Patents
データベース管理システムInfo
- Publication number
- JPH0782451B2 JPH0782451B2 JP62155731A JP15573187A JPH0782451B2 JP H0782451 B2 JPH0782451 B2 JP H0782451B2 JP 62155731 A JP62155731 A JP 62155731A JP 15573187 A JP15573187 A JP 15573187A JP H0782451 B2 JPH0782451 B2 JP H0782451B2
- Authority
- JP
- Japan
- Prior art keywords
- tuple
- page
- stored
- relation
- divided
- 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.)
- Expired - Lifetime
Links
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明は,リレーショナルデータベース管理システム
におけるデータベースの格納方式に関するものである。
におけるデータベースの格納方式に関するものである。
リレーショナルデータベース管理システムにおいて,デ
ータベースは第3図に示したような表の集まりである。
個々の表はリレーション(5)と呼ばれ,表の各項目は
アトリビュート(6),各アトリビュートに実際にデー
タが入った1つのレコードはタプル(7)と呼ばれる。
ータベースは第3図に示したような表の集まりである。
個々の表はリレーション(5)と呼ばれ,表の各項目は
アトリビュート(6),各アトリビュートに実際にデー
タが入った1つのレコードはタプル(7)と呼ばれる。
次に,第4図に示すような複数のデータ処理装置(8a)
〜(8d)がネットワーク(9)を介して,複数のディス
ク装置(2g)〜(2j)に接続されているようなシステム
上で動作するリレーショナルデータベース管理システム
において,1つのリレーションを複数のディスク装置(2
g)〜(2j)に分割して格納しておけば,複数のデータ
処理装置(8a)〜(8d)は,並列にディスク装置(2g)
〜(2j)に格納されているリレーションのデータにアク
セスすることができる。このとき,リレーションをタプ
ル単位で横に分割していくことを水平分割化と呼ぶ。
〜(8d)がネットワーク(9)を介して,複数のディス
ク装置(2g)〜(2j)に接続されているようなシステム
上で動作するリレーショナルデータベース管理システム
において,1つのリレーションを複数のディスク装置(2
g)〜(2j)に分割して格納しておけば,複数のデータ
処理装置(8a)〜(8d)は,並列にディスク装置(2g)
〜(2j)に格納されているリレーションのデータにアク
セスすることができる。このとき,リレーションをタプ
ル単位で横に分割していくことを水平分割化と呼ぶ。
この水平分割化において,格納するリレーションがクラ
スタードインデックスを有していない場合は,各々タプ
ルを挿入する際,その時点で一番少ない量のタプルを保
持しているディスク装置へそのタプルを格納すれば,そ
のリレーションに対して各ディスク装置が持つタプルの
量がほぼ均等になるような形でリレーションを格納して
おくことができる。
スタードインデックスを有していない場合は,各々タプ
ルを挿入する際,その時点で一番少ない量のタプルを保
持しているディスク装置へそのタプルを格納すれば,そ
のリレーションに対して各ディスク装置が持つタプルの
量がほぼ均等になるような形でリレーションを格納して
おくことができる。
このように均等にリレーションを分割すると,複数のデ
ータ処理装置(8a)〜(8d)が,各ディスク装置(2g)
〜(2j)から,ほぼ等しい時間でデータを読み込むこと
ができるので,あるデータ処理装置がデータを既に読み
終ってしまったのに,他のデータ処理装置がまだデータ
を読み終わっていないということがなくなり,処理速度
を向上することができる。
ータ処理装置(8a)〜(8d)が,各ディスク装置(2g)
〜(2j)から,ほぼ等しい時間でデータを読み込むこと
ができるので,あるデータ処理装置がデータを既に読み
終ってしまったのに,他のデータ処理装置がまだデータ
を読み終わっていないということがなくなり,処理速度
を向上することができる。
従来のデータベース管理システムは以上のように構成さ
れているが、これはクラスタードインデックスを持って
いないリレーションに対する分割化方式なので,クラス
タードインデックスを持つリレーションを分割化するこ
とができず,クラスタードインデックスを利用すること
によって,リレーション内のタプルに高速にアクセスす
ることができるような処理を実現することができないと
いう問題点があった。
れているが、これはクラスタードインデックスを持って
いないリレーションに対する分割化方式なので,クラス
タードインデックスを持つリレーションを分割化するこ
とができず,クラスタードインデックスを利用すること
によって,リレーション内のタプルに高速にアクセスす
ることができるような処理を実現することができないと
いう問題点があった。
この発明は,上記のような問題点を解消するためになさ
れたもので,クラスタードインデックスを持つリレーシ
ョンを,均等に分割できるようなデータベース管理シス
テムを得ることを目的としている。
れたもので,クラスタードインデックスを持つリレーシ
ョンを,均等に分割できるようなデータベース管理シス
テムを得ることを目的としている。
この発明に係わるデータベース管理システムは、データ
ベース中のクラスタードインデックスを有するリレーシ
ョンをタプル単位で分割し、その分割されたリレーショ
ンをページ単位で複数の記憶装置に分割格納し、複数の
データ処理装置が複数のディスク装置を同時にアクセス
するデータベースシステムにおいて、上記クラスタード
インデックスを有するリレーションにタプルを格納する
ときに、そのタプルを格納するページを決定するととも
に、その決定されたページの空き部分で上記格納するタ
プルを格納可能か否かを判定する判定手段と、この判定
手段により格納不可能と判定されたときに、上記決定さ
れたページのタプルを複数のグループに分割し、分割さ
れたうち一つのグループのタプルを、上記リレーション
に対応するタプルを格納しているページの格納数が少な
い記憶装置に格納する分割手段とを備えたものである。
ベース中のクラスタードインデックスを有するリレーシ
ョンをタプル単位で分割し、その分割されたリレーショ
ンをページ単位で複数の記憶装置に分割格納し、複数の
データ処理装置が複数のディスク装置を同時にアクセス
するデータベースシステムにおいて、上記クラスタード
インデックスを有するリレーションにタプルを格納する
ときに、そのタプルを格納するページを決定するととも
に、その決定されたページの空き部分で上記格納するタ
プルを格納可能か否かを判定する判定手段と、この判定
手段により格納不可能と判定されたときに、上記決定さ
れたページのタプルを複数のグループに分割し、分割さ
れたうち一つのグループのタプルを、上記リレーション
に対応するタプルを格納しているページの格納数が少な
い記憶装置に格納する分割手段とを備えたものである。
〔作用〕 この発明のデータベース管理システムにおいては、判定
手段は、クラスタードインデックスを有するリレーショ
ンにタプルを格納するときにそのタプルを格納するペー
ジを決定するとともに、その決定されたページの空き部
分で上記格納するタプルを格納可能か否かを判定し、こ
の判定手段が格納不可能と判定したときに、分割手段は
上記決定されたページのタプルを複数のグループに分割
し、分割されたうち一つのグループのタプルを、上記リ
レーションに対応するタプルを格納しているページの格
納数が少ない記憶装置に格納するので、リレーションの
タプルが複数の記憶装置にほぼ均等に分散して記憶され
ることになる。
手段は、クラスタードインデックスを有するリレーショ
ンにタプルを格納するときにそのタプルを格納するペー
ジを決定するとともに、その決定されたページの空き部
分で上記格納するタプルを格納可能か否かを判定し、こ
の判定手段が格納不可能と判定したときに、分割手段は
上記決定されたページのタプルを複数のグループに分割
し、分割されたうち一つのグループのタプルを、上記リ
レーションに対応するタプルを格納しているページの格
納数が少ない記憶装置に格納するので、リレーションの
タプルが複数の記憶装置にほぼ均等に分散して記憶され
ることになる。
以下,この発明の一実施例を図について説明する。第1
図において,(1)はクラスタードインデックスであ
る。クラスタードインデックスは,Computer Science Pr
ess Inc.社が版権を持つJ.D.Ullmanが著した“Principl
e of Database Systems"(邦訳 日本コンピュータ協会
版権,国井利泰訳「データベース・システムの原理」)
の第2.4節で説明されている,B−treeで構成されている
インデックスで,かつ,クラスタードインデックスを持
つリレーションの各タプルは,クラスタードインデック
スが指定されているアトリビュートの値に基いて,物理
的に格納されている状態においてもソートされている。
図において,(1)はクラスタードインデックスであ
る。クラスタードインデックスは,Computer Science Pr
ess Inc.社が版権を持つJ.D.Ullmanが著した“Principl
e of Database Systems"(邦訳 日本コンピュータ協会
版権,国井利泰訳「データベース・システムの原理」)
の第2.4節で説明されている,B−treeで構成されている
インデックスで,かつ,クラスタードインデックスを持
つリレーションの各タプルは,クラスタードインデック
スが指定されているアトリビュートの値に基いて,物理
的に格納されている状態においてもソートされている。
各タプルは,ディスク装置(2a)〜(2d)の物理的な記
憶単位であるページ(3a)〜(3e)の中に,ソートされ
た順番で格納されている。第1図では,1〜1000の範囲の
整数値を持つアトリビュートに,クラスタードインデッ
クスが付いているときの格納例を示したものであるが,
例えばキー値が73よりも小さい値を持つタプルは,ディ
スク装置(2a)のページ(3a)に,73から186の間のキー
値を持つタプルは,ディスク装置(2b)のページ(3b)
に格納されている。このように,タプルのキー値を指定
すれば,クラスタードインデックスの持つポインタ
(4)によって,ディスク装置とページが決定される。
憶単位であるページ(3a)〜(3e)の中に,ソートされ
た順番で格納されている。第1図では,1〜1000の範囲の
整数値を持つアトリビュートに,クラスタードインデッ
クスが付いているときの格納例を示したものであるが,
例えばキー値が73よりも小さい値を持つタプルは,ディ
スク装置(2a)のページ(3a)に,73から186の間のキー
値を持つタプルは,ディスク装置(2b)のページ(3b)
に格納されている。このように,タプルのキー値を指定
すれば,クラスタードインデックスの持つポインタ
(4)によって,ディスク装置とページが決定される。
クラスタードイッデックスを持つリレーションのタプル
をディスク装置に格納するときは,第5図のフローチャ
ートに示すように,タプルのキー値により,クラスター
ドイッデックスを参照して格納すべきディスク装置及び
ページを決め(101),決定されたページにそのタプル
を格納したら,ページがあふれるかどうかを調査する
(102),この調査により,あふれるようならぱページ
の内容を2分する。2分されたうちの片方のページは,
一番少ないタプル数を持つディスク装置へ転送される
(103)。第2図は,この様子を示したもので,ディス
ク装置(2e)中のページ(3c)の中に,整数値のキー値
が1〜100の間のタプルが格納されているとき,1〜100間
のキー値を持つタプルをこのページ(3c)に格納しよう
とした場合,ページが満杯なので,2分され,元のページ
(3c)には1〜50間のキー値を持つタプルが,もう一方
のページ(3d)には,51〜100間のキー値を持つタプルが
格納されるようになったことを示している。ディスク装
置(2f)は,ページ(3d)を格納するために選ばれた,
そのタプルが属するリレーションのタプルから構成され
るページの数が一番少ないものである。ページを分割後
は、クラスタードインデックスを再編成し(104),ス
テップ(101)からの動作を繰り返す。ステップ(102)
で,ページがあふれないという結果が検出されれば,タ
プルをステップ(105)において決定されたページに格
納する。
をディスク装置に格納するときは,第5図のフローチャ
ートに示すように,タプルのキー値により,クラスター
ドイッデックスを参照して格納すべきディスク装置及び
ページを決め(101),決定されたページにそのタプル
を格納したら,ページがあふれるかどうかを調査する
(102),この調査により,あふれるようならぱページ
の内容を2分する。2分されたうちの片方のページは,
一番少ないタプル数を持つディスク装置へ転送される
(103)。第2図は,この様子を示したもので,ディス
ク装置(2e)中のページ(3c)の中に,整数値のキー値
が1〜100の間のタプルが格納されているとき,1〜100間
のキー値を持つタプルをこのページ(3c)に格納しよう
とした場合,ページが満杯なので,2分され,元のページ
(3c)には1〜50間のキー値を持つタプルが,もう一方
のページ(3d)には,51〜100間のキー値を持つタプルが
格納されるようになったことを示している。ディスク装
置(2f)は,ページ(3d)を格納するために選ばれた,
そのタプルが属するリレーションのタプルから構成され
るページの数が一番少ないものである。ページを分割後
は、クラスタードインデックスを再編成し(104),ス
テップ(101)からの動作を繰り返す。ステップ(102)
で,ページがあふれないという結果が検出されれば,タ
プルをステップ(105)において決定されたページに格
納する。
なお,上記の実施例では,第4図に示す如くネットワー
ク(9)によって,ディスク装置(2g)〜(2j)とデー
タ処理装置(8a)〜(8d)を結んでいるというシステム
構成について説明したが,このネットワーク(9)の形
態は,例えばリンク型や単一バス型等でもよく,一般に
これらに類したものであれば上記実施例と同様の効果を
奏する。
ク(9)によって,ディスク装置(2g)〜(2j)とデー
タ処理装置(8a)〜(8d)を結んでいるというシステム
構成について説明したが,このネットワーク(9)の形
態は,例えばリンク型や単一バス型等でもよく,一般に
これらに類したものであれば上記実施例と同様の効果を
奏する。
以上のように、この発明によれば、クラスタードインデ
ックスを有するリレーションにタプルを格納するとき
に、そのタプルを格納するページの空き部分で上記格納
するタプルを格納可能か否かを判定し、格納不可能と判
定されたときにそのページのタプルを複数のグループに
分割して分割されたうち一つのグループのタプルを、そ
のリレーションに対応するタプルを格納しているページ
の格納数が少ない記憶装置に格納する構成としたので、
リレーションのタプルが複数の記憶装置にほぼ均等に分
散して記憶されるため、複数のデータ処理装置が複数の
ディスク装置を同時にアクセスできるようなシステムに
おいて,クラスタードインデックスを利用した高速処理
の他に,レコードの全件サーチ処理等においても各デー
タ処理装置が等しい時間でデータを読み込むことがで
き,全体として最小の時間でデータを読み込むことがで
きるという効果がある。
ックスを有するリレーションにタプルを格納するとき
に、そのタプルを格納するページの空き部分で上記格納
するタプルを格納可能か否かを判定し、格納不可能と判
定されたときにそのページのタプルを複数のグループに
分割して分割されたうち一つのグループのタプルを、そ
のリレーションに対応するタプルを格納しているページ
の格納数が少ない記憶装置に格納する構成としたので、
リレーションのタプルが複数の記憶装置にほぼ均等に分
散して記憶されるため、複数のデータ処理装置が複数の
ディスク装置を同時にアクセスできるようなシステムに
おいて,クラスタードインデックスを利用した高速処理
の他に,レコードの全件サーチ処理等においても各デー
タ処理装置が等しい時間でデータを読み込むことがで
き,全体として最小の時間でデータを読み込むことがで
きるという効果がある。
第1図はこの発明の一実施例によるクラスタードインデ
ックスを持つリレーションの分割状態の例を示す説明
図,第2図はこの発明の一実施例によるページの分割の
例を示す説明図,第3図はリレーショナルデータベース
におけるリレーションの例を示す説明図,第4図はこの
発明を実施するために必要なシステム構成の例を示す説
明図,第5図はこの発明の一実施例によるプログラムの
フローチャートを示す説明図である。(1)はクラスタ
ードインデックス,(2a)〜(2f)はディスク装置,
(3a)〜(3e)はページ,(4)はインデックスのポイ
ンタ,(5)はリレーション,(6)はアトリビュー
ト,(7)はタプル,(8a)〜(8d)はデータ処理装
置,(9)はネットワークである。 なお,図中同一符号は,各々同一又は相当部分を示す。
ックスを持つリレーションの分割状態の例を示す説明
図,第2図はこの発明の一実施例によるページの分割の
例を示す説明図,第3図はリレーショナルデータベース
におけるリレーションの例を示す説明図,第4図はこの
発明を実施するために必要なシステム構成の例を示す説
明図,第5図はこの発明の一実施例によるプログラムの
フローチャートを示す説明図である。(1)はクラスタ
ードインデックス,(2a)〜(2f)はディスク装置,
(3a)〜(3e)はページ,(4)はインデックスのポイ
ンタ,(5)はリレーション,(6)はアトリビュー
ト,(7)はタプル,(8a)〜(8d)はデータ処理装
置,(9)はネットワークである。 なお,図中同一符号は,各々同一又は相当部分を示す。
フロントページの続き (56)参考文献 「日経エレクトロニクス」No.378 (1985−9−23)P.235−279 「情報処理学会第31回(昭和60年後期) 全国大会講演論文集」P.645−650 「情報処理学会第32回(昭和61年前期) 全国大会講演論文集」P.927−932
Claims (1)
- 【請求項1】データベース中のクラスタードインデック
スを有するリレーションをタプル単位で分割し、その分
割されたリレーションをページ単位で複数の記憶装置に
分割格納し、複数のデータ処理装置が複数のディスク装
置を同時にアクセスするデータベースシステムにおい
て、上記クラスタードインデックスを有するリレーショ
ンにタプルを格納するときに、そのタプルを格納するペ
ージを決定するとともに、その決定されたページの空き
部分で上記格納するタプルを格納可能か否かを判定する
判定手段と、この判定手段により格納不可能と判定され
たときに、上記決定されたページのタプルを複数のグル
ープに分割し、分割されたうち一つのグループのタプル
を、上記リレーションに対応するタプルを格納している
ページの格納数が少ない記憶装置に格納する分割手段と
を備えたことを特徴とするデータベース管理システム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62155731A JPH0782451B2 (ja) | 1987-06-23 | 1987-06-23 | データベース管理システム |
US07/206,324 US5058002A (en) | 1987-06-23 | 1988-06-13 | Page splitting method and apparatus for a database stored in a plurality of memory storage units |
DE3821551A DE3821551C2 (de) | 1987-06-23 | 1988-06-22 | Datenverarbeitungsvorrichtung |
GB08814848A GB2207264A (en) | 1987-06-23 | 1988-06-22 | Data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62155731A JPH0782451B2 (ja) | 1987-06-23 | 1987-06-23 | データベース管理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63318628A JPS63318628A (ja) | 1988-12-27 |
JPH0782451B2 true JPH0782451B2 (ja) | 1995-09-06 |
Family
ID=15612220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62155731A Expired - Lifetime JPH0782451B2 (ja) | 1987-06-23 | 1987-06-23 | データベース管理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0782451B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3824091B2 (ja) * | 1992-10-09 | 2006-09-20 | 富士通株式会社 | リレーショナルデータベースシステム |
US7599910B1 (en) | 1993-11-16 | 2009-10-06 | Hitachi, Ltd. | Method and system of database divisional management for parallel database system |
US6101495A (en) | 1994-11-16 | 2000-08-08 | Hitachi, Ltd. | Method of executing partition operations in a parallel database system |
JP3024619B2 (ja) * | 1997-11-20 | 2000-03-21 | 三菱電機株式会社 | ファイル管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58217046A (ja) * | 1982-06-11 | 1983-12-16 | Hitachi Ltd | 用語編集装置 |
-
1987
- 1987-06-23 JP JP62155731A patent/JPH0782451B2/ja not_active Expired - Lifetime
Non-Patent Citations (3)
Title |
---|
「情報処理学会第31回(昭和60年後期)全国大会講演論文集」P.645−650 |
「情報処理学会第32回(昭和61年前期)全国大会講演論文集」P.927−932 |
「日経エレクトロニクス」No.378(1985−9−23)P.235−279 |
Also Published As
Publication number | Publication date |
---|---|
JPS63318628A (ja) | 1988-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7213025B2 (en) | Partitioned database system | |
US5745904A (en) | Buffered table user index | |
US5752243A (en) | Computer method and storage structure for storing and accessing multidimensional data | |
US6339777B1 (en) | Method and system for handling foreign key update in an object-oriented database environment | |
US5649181A (en) | Method and apparatus for indexing database columns with bit vectors | |
EP0520488B1 (en) | Method and apparatus for integrating a dynamic lexicon into a full-text information retrieval system | |
EP0644494B1 (en) | Computer method and system for b-tree optimization | |
EP1410214B1 (en) | Data processing method | |
US7650326B2 (en) | Fast aggregation of compressed data using full table scans | |
US5966704A (en) | Storage plane organization and storage systems based thereon using queries and subqueries for data searching | |
GB2207264A (en) | Data processing system | |
US6343286B1 (en) | Efficient technique to defer large object access with intermediate results | |
US6289355B1 (en) | Fast log apply | |
Berra et al. | The Role of Associative Array Processers in Data Base Machine Architecture | |
US6353819B1 (en) | Method and system for using dynamically generated code to perform record management layer functions in a relational database manager | |
Van den Bercken et al. | Query processing techniques for multiversion access methods | |
JPH0585932B2 (ja) | ||
JPH0782451B2 (ja) | データベース管理システム | |
Pramanik et al. | Parallel processing of large node b-trees | |
JPH0760406B2 (ja) | データ処理装置 | |
JP3180336B2 (ja) | 多層バッファを用いるデータアクセス方法 | |
Goldstein et al. | Database management with sequence trees and tokens | |
CN117520349A (zh) | 索引表创建方法、数据查询方法及装置 | |
JPH04101272A (ja) | データエレメント検索方法 | |
Pramanik et al. | HCB_tree: a height compressed B_tree for parallel processing |