JP2755390B2 - データベース処理装置及びデータベース処理方法 - Google Patents
データベース処理装置及びデータベース処理方法Info
- Publication number
- JP2755390B2 JP2755390B2 JP63120478A JP12047888A JP2755390B2 JP 2755390 B2 JP2755390 B2 JP 2755390B2 JP 63120478 A JP63120478 A JP 63120478A JP 12047888 A JP12047888 A JP 12047888A JP 2755390 B2 JP2755390 B2 JP 2755390B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- record
- input
- database
- storage device
- 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
- 238000012545 processing Methods 0.000 title claims description 195
- 238000003672 processing method Methods 0.000 title description 6
- 238000000034 method Methods 0.000 claims description 42
- 230000014509 gene expression Effects 0.000 claims description 40
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 8
- 238000007726 management method Methods 0.000 description 15
- 238000013507 mapping Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 241001562081 Ikeda Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、電子計算機システムにおけるデータベース
処理装置及びデータベース処理方法に係り、特に、リレ
ーショナルデータベース管理システムに適した先読み処
理に好適なデータベース処理装置及びデータベース処理
方法に関する。
処理装置及びデータベース処理方法に係り、特に、リレ
ーショナルデータベース管理システムに適した先読み処
理に好適なデータベース処理装置及びデータベース処理
方法に関する。
データベースはユーザから2次元のテーブル形式で見
られるリレーシヨンから成るものとし、当該テーブルの
行に対応するものをタプルとするものである。また、タ
プルは、1つ以上の属性(これを「カラム」という)か
ら成つている。
られるリレーシヨンから成るものとし、当該テーブルの
行に対応するものをタプルとするものである。また、タ
プルは、1つ以上の属性(これを「カラム」という)か
ら成つている。
データベース処理において、例えば、リレーシヨナル
データベース処理においては、処理対象となるデータは
二次記憶装置(磁気デイスク装置等の外部記憶装置)上
に存在し、各データベース演算に対して大量データの読
み出し及び転送が必要となる。このようなデータベース
システムにおいて、転送するデータが大量となる場合、
データ転送時間がデータベースシステムの性能ネツクと
なる。
データベース処理においては、処理対象となるデータは
二次記憶装置(磁気デイスク装置等の外部記憶装置)上
に存在し、各データベース演算に対して大量データの読
み出し及び転送が必要となる。このようなデータベース
システムにおいて、転送するデータが大量となる場合、
データ転送時間がデータベースシステムの性能ネツクと
なる。
そこで、二次記憶装置からデータを転送する時間を有
効活用する方法が考えられている。これは、データの転
送時間と当該データに対するデータベース処理に要する
時間とをオーバラツプさせるものであり、従来技術とし
て良く知られている。一般に、計算機システムでは、プ
ログラム及びデータの容量が主記憶容量の伸びを大幅に
超えるので、現状の記憶装置階層の概念は必須である。
効活用する方法が考えられている。これは、データの転
送時間と当該データに対するデータベース処理に要する
時間とをオーバラツプさせるものであり、従来技術とし
て良く知られている。一般に、計算機システムでは、プ
ログラム及びデータの容量が主記憶容量の伸びを大幅に
超えるので、現状の記憶装置階層の概念は必須である。
また、多くのDBMS、特にリレーシヨナルデータベース
管理システム(以下では、データベース管理システムDa
ta Base Management SystemをDBMSと略記)において
も、入出力処理時間の低減効果を狙つて、二次記憶装置
に格納されたデータベースの部分的な写しを保持する主
記憶装置上のバツフア(データベースバツフア)を利用
している。処理対象として該主記憶装置(メインメモ
リ)上のデータベースバツフアに一旦取り出されたデー
タを、当処理終了後も残しておけば、再度そのデータが
必要となつた場合、高価なアクセスコストを伴う2次記
憶装置への入出力処理が不要となり、システム全体の性
能は向上する。しかし、データベースバツフアの容量に
は限りがあるので、その内容の置き換えが必要であり、
そのアルゴリズムがシステムの性能を左右する。したが
つて、置き換えに際して、どのようにデータを残すかを
決定する選定基準が重要である。この選定基準の一つと
して、たとえばLRUアルゴリズム(Least Recently Use
アルゴリズム)がある。このアルゴリズムは、最後のア
クセスから現在までの期間が長いデータ程、再びアクセ
スされる可能性が小さいという仮定を基にしてる。しか
し、データベース処理においては、データを逐次的にア
クセスする型の処理とランダムにアクセスする型の処理
とが混在し、その場合は、前記仮定はしばしば破られ
る。したがつて、データベースバツフアにおいては、単
純なLRUアルゴリズムに依存するのは得策ではない。リ
レーシヨナルDBMSでは、入力された問い合わせを解析し
て内部処理手順を作成するので、データベース参照特性
が明示的に把握可能である。これらの諸特性情報を用い
て、上記問題の解決を目指す従来技術として、DBMIN,HO
Tセツトモデル等の提案がある。
管理システム(以下では、データベース管理システムDa
ta Base Management SystemをDBMSと略記)において
も、入出力処理時間の低減効果を狙つて、二次記憶装置
に格納されたデータベースの部分的な写しを保持する主
記憶装置上のバツフア(データベースバツフア)を利用
している。処理対象として該主記憶装置(メインメモ
リ)上のデータベースバツフアに一旦取り出されたデー
タを、当処理終了後も残しておけば、再度そのデータが
必要となつた場合、高価なアクセスコストを伴う2次記
憶装置への入出力処理が不要となり、システム全体の性
能は向上する。しかし、データベースバツフアの容量に
は限りがあるので、その内容の置き換えが必要であり、
そのアルゴリズムがシステムの性能を左右する。したが
つて、置き換えに際して、どのようにデータを残すかを
決定する選定基準が重要である。この選定基準の一つと
して、たとえばLRUアルゴリズム(Least Recently Use
アルゴリズム)がある。このアルゴリズムは、最後のア
クセスから現在までの期間が長いデータ程、再びアクセ
スされる可能性が小さいという仮定を基にしてる。しか
し、データベース処理においては、データを逐次的にア
クセスする型の処理とランダムにアクセスする型の処理
とが混在し、その場合は、前記仮定はしばしば破られ
る。したがつて、データベースバツフアにおいては、単
純なLRUアルゴリズムに依存するのは得策ではない。リ
レーシヨナルDBMSでは、入力された問い合わせを解析し
て内部処理手順を作成するので、データベース参照特性
が明示的に把握可能である。これらの諸特性情報を用い
て、上記問題の解決を目指す従来技術として、DBMIN,HO
Tセツトモデル等の提案がある。
例えば、チヤウ,H.及び、デウイツト,D.J.による“リ
レーシヨナルデータベースシステムのバツフア管理戦
略”「プロシ.オブ.ザ.11ス・コンフ.オン.VLDB 198
5,第127−141頁」と、サコー,G.M.及びシユコルニツク,
M.による“ホツトセツトモデルを用いたリレーシヨナル
システムにおけるバツフアプール管理技術”「プロシ.
オブ.ザ.8ス.コンフ.オン.VLDB1982,第257−262頁
(Chou,H.,and DeWitt,D.J.“An Evaluation of Buffer
Management Startegies for Relational Database Sys
tem"Proc.of the 11th Conf.on VLDB 1985,pp.127−14
1.とSacco,G.M.,and Schkolnick,M.“A Technique for
Managing the Buffer Pool in a Relational System Us
ing the Hot Set Model"Proc.of the 8th Conf.on VLDB
1982,pp.257−262.)を参照されたい。
レーシヨナルデータベースシステムのバツフア管理戦
略”「プロシ.オブ.ザ.11ス・コンフ.オン.VLDB 198
5,第127−141頁」と、サコー,G.M.及びシユコルニツク,
M.による“ホツトセツトモデルを用いたリレーシヨナル
システムにおけるバツフアプール管理技術”「プロシ.
オブ.ザ.8ス.コンフ.オン.VLDB1982,第257−262頁
(Chou,H.,and DeWitt,D.J.“An Evaluation of Buffer
Management Startegies for Relational Database Sys
tem"Proc.of the 11th Conf.on VLDB 1985,pp.127−14
1.とSacco,G.M.,and Schkolnick,M.“A Technique for
Managing the Buffer Pool in a Relational System Us
ing the Hot Set Model"Proc.of the 8th Conf.on VLDB
1982,pp.257−262.)を参照されたい。
さらに、主記憶装置と二次記憶装置との間にキヤツシ
ユ記憶装置を含む入出力装置を配置して、入出力処理時
間を短縮する効果を狙うアプローチが良く知られてい
る。このキヤツシユ記憶装置は、複数のレコード単位で
入出力対象となつたレコードに物理的に近い記憶装置の
データを一括して読み込むものである。すると、直後に
アクセス要求のあつたレコードがキヤツシユ記憶装置に
統計的に高確率で存在することが仮定できる処理の型で
あれば、入出力処理時間が飛躍的に短縮できる。すなわ
ち、中央処理装置上のDBMSで、アクセスされると予測で
きるデータを予めキヤツシユ記憶装置に先読みして記憶
することが可能となればより有効である。しかし、上記
で述べたように、データベース処理は、逐次的にアクセ
スする型の処理とランダムにアクセスする型の処理とが
混在するので、従来までのキヤツシユ記憶装置の制御方
法では、逆に、リードミス多発等の現象で、入出力処理
時間が長くなることが分かつた。
ユ記憶装置を含む入出力装置を配置して、入出力処理時
間を短縮する効果を狙うアプローチが良く知られてい
る。このキヤツシユ記憶装置は、複数のレコード単位で
入出力対象となつたレコードに物理的に近い記憶装置の
データを一括して読み込むものである。すると、直後に
アクセス要求のあつたレコードがキヤツシユ記憶装置に
統計的に高確率で存在することが仮定できる処理の型で
あれば、入出力処理時間が飛躍的に短縮できる。すなわ
ち、中央処理装置上のDBMSで、アクセスされると予測で
きるデータを予めキヤツシユ記憶装置に先読みして記憶
することが可能となればより有効である。しかし、上記
で述べたように、データベース処理は、逐次的にアクセ
スする型の処理とランダムにアクセスする型の処理とが
混在するので、従来までのキヤツシユ記憶装置の制御方
法では、逆に、リードミス多発等の現象で、入出力処理
時間が長くなることが分かつた。
上記従来技術では、予めDBMSで予測できるアクセス特
性を利用して、キヤツシユ記憶装置を積極的にスケジユ
ールし、入出力処理時間を短縮する制御方法については
何も明らかにしていない。
性を利用して、キヤツシユ記憶装置を積極的にスケジユ
ールし、入出力処理時間を短縮する制御方法については
何も明らかにしていない。
また、複数ユーザが同時にデータベースを参照するシ
ステムにおいて、予め参照されることが期待できるデー
タを、データ転送時間(二次記憶装置のシーク時間,読
出し時間等を含む)と当該データに対する中央処理装置
(CPU)上でのデータベース処理に要する時間とをオー
バラツプさせてキヤツシユ記憶装置に入力処理させるこ
とで、実質的に入出力処理時間を低減することが可能で
ある。しかし、ユーザからの問い合わせによつては高速
なレスポンスを要求するものが存在し、しかも問い合わ
せより作成された内部処理手順によつては、当内部処理
手順のアクセス特性により予測され得る先読み処理のた
めの入出力処理時間が大幅に異なるため、従来技術のよ
うに一律に決められた先読みレコード単位による方法で
は、必要でないものを無駄に先読みしたり、必要なもの
を先読みしなかつたりするなど、十分に対処できない問
題があつた。さらにはキヤツシユ記憶装置のサイズ・多
重度、CPU性能、各入出力処理装置のトラフイツク等で
代表されるシステム特性に応じて入出力処理要求単位で
ある先読みレコード数又はページ数を決定しないとシス
テム全体のスループツトが保証できないことが分かつ
た。
ステムにおいて、予め参照されることが期待できるデー
タを、データ転送時間(二次記憶装置のシーク時間,読
出し時間等を含む)と当該データに対する中央処理装置
(CPU)上でのデータベース処理に要する時間とをオー
バラツプさせてキヤツシユ記憶装置に入力処理させるこ
とで、実質的に入出力処理時間を低減することが可能で
ある。しかし、ユーザからの問い合わせによつては高速
なレスポンスを要求するものが存在し、しかも問い合わ
せより作成された内部処理手順によつては、当内部処理
手順のアクセス特性により予測され得る先読み処理のた
めの入出力処理時間が大幅に異なるため、従来技術のよ
うに一律に決められた先読みレコード単位による方法で
は、必要でないものを無駄に先読みしたり、必要なもの
を先読みしなかつたりするなど、十分に対処できない問
題があつた。さらにはキヤツシユ記憶装置のサイズ・多
重度、CPU性能、各入出力処理装置のトラフイツク等で
代表されるシステム特性に応じて入出力処理要求単位で
ある先読みレコード数又はページ数を決定しないとシス
テム全体のスループツトが保証できないことが分かつ
た。
本発明の目的は、ユーザからの問い合わせを解析し
て、作成された内部処理手順より、データベースに対す
るアクセス特性を把握し、キヤツシユ記憶装置のサイズ
・多重度をスケジユールし、入出力処理起動時に先読み
動作を伴うか否かを判断し、先読み処理単位をシステム
特性等より総合的に決定することにより、無駄な先読み
を省き必要なデータの先読みを必ず行い、入出力処理時
間を削減し、システム全体としての性能を向上させるこ
とにある。
て、作成された内部処理手順より、データベースに対す
るアクセス特性を把握し、キヤツシユ記憶装置のサイズ
・多重度をスケジユールし、入出力処理起動時に先読み
動作を伴うか否かを判断し、先読み処理単位をシステム
特性等より総合的に決定することにより、無駄な先読み
を省き必要なデータの先読みを必ず行い、入出力処理時
間を削減し、システム全体としての性能を向上させるこ
とにある。
上記目的を達成するため、本発明のデータベース処理
装置は、以下の(1)〜(6)のように構成する。
装置は、以下の(1)〜(6)のように構成する。
(1)基本発明として、データベースに対する複数のユ
ーザからの問い合わせを解析して対応する内部処理手順
を決定し、それを実行する中央処理装置と、各ユーザで
共用され得るデータを格納する二次記憶装置と、少なく
とも1つのキヤツシユ記憶装置を含み前記中央処理装置
と前記二次記憶装置との間で入出力処理要求のあつた複
数のレコードの転送を制御する入出力制御装置とを含む
計算機システムのデータ処理装置において、入力された
問い合わせより作成された内部処理手順から判断して入
出力処理起動時に先読み動作を行うか否かを決定する手
段と、前記先読み動作を行う場合、読み込み対象となる
レコードが格納されている検索範囲を作成する手段と、
前記内部処理手順のアクセス特性と、前記キヤツシユ記
憶装置のサイズや中央処理装置の性能(処理速度など)
や各入出力制御装置のトラフイツク(混み具合)等シス
テム特性とを考慮して入出力装置要求単位である先読み
レコード数を決定する手段とを備える。例えば、先読み
動作を伴わせるか否かを決定する手段として、混雑がは
げしいときや、データ処理が特定のユーザのみに集中し
ているとき、あるいは、後行の問い合わせ、要求が先行
の問い合わせ、要求によるレコードの一部を利用すると
きには、先読み動作を中止する処置をとるものなどが考
えられる。先読みを行うと決定した場合、前記入出力処
理要求単位である先読みレコード数は、通常は12ページ
程度(1ページが4Kバイトとして、48Kバイト程度)を
単位としているが、キヤツシユ記憶装置のサイズが大き
くなつたり、中央処理装置の性能が向上したり、入出力
装置のトラフイツクが低下したり、又、ユーザの問い合
わせ内容に対応するデータ格納条件に従つて、所要デー
タの格納範囲が広がつたりする程、1回の先読み単位
(ページ数)は増える。又、逆の場合には、先読み単位
は減少される。キヤツシユ記憶装置上には、この先読み
単位に対応した広さのレコード格納領域が確保(獲得)
される。
ーザからの問い合わせを解析して対応する内部処理手順
を決定し、それを実行する中央処理装置と、各ユーザで
共用され得るデータを格納する二次記憶装置と、少なく
とも1つのキヤツシユ記憶装置を含み前記中央処理装置
と前記二次記憶装置との間で入出力処理要求のあつた複
数のレコードの転送を制御する入出力制御装置とを含む
計算機システムのデータ処理装置において、入力された
問い合わせより作成された内部処理手順から判断して入
出力処理起動時に先読み動作を行うか否かを決定する手
段と、前記先読み動作を行う場合、読み込み対象となる
レコードが格納されている検索範囲を作成する手段と、
前記内部処理手順のアクセス特性と、前記キヤツシユ記
憶装置のサイズや中央処理装置の性能(処理速度など)
や各入出力制御装置のトラフイツク(混み具合)等シス
テム特性とを考慮して入出力装置要求単位である先読み
レコード数を決定する手段とを備える。例えば、先読み
動作を伴わせるか否かを決定する手段として、混雑がは
げしいときや、データ処理が特定のユーザのみに集中し
ているとき、あるいは、後行の問い合わせ、要求が先行
の問い合わせ、要求によるレコードの一部を利用すると
きには、先読み動作を中止する処置をとるものなどが考
えられる。先読みを行うと決定した場合、前記入出力処
理要求単位である先読みレコード数は、通常は12ページ
程度(1ページが4Kバイトとして、48Kバイト程度)を
単位としているが、キヤツシユ記憶装置のサイズが大き
くなつたり、中央処理装置の性能が向上したり、入出力
装置のトラフイツクが低下したり、又、ユーザの問い合
わせ内容に対応するデータ格納条件に従つて、所要デー
タの格納範囲が広がつたりする程、1回の先読み単位
(ページ数)は増える。又、逆の場合には、先読み単位
は減少される。キヤツシユ記憶装置上には、この先読み
単位に対応した広さのレコード格納領域が確保(獲得)
される。
(2)具体的な発明として、キヤツシユ記憶装置には、
ユーザの問い合わせ毎に、それぞれレコード格納領域を
確保して、そこに、指定された検索範囲に基づいて先読
み動作を行う手段を備える。
ユーザの問い合わせ毎に、それぞれレコード格納領域を
確保して、そこに、指定された検索範囲に基づいて先読
み動作を行う手段を備える。
(3)また、キヤツシユ記憶装置上に先読みした複数の
レコードに対し、予めロツク処理によつて排他制御を行
う手段を備える。該手段により、あるユーザに対する読
み出しが行われている間、他からのアクセスはできない
ようにされる。
レコードに対し、予めロツク処理によつて排他制御を行
う手段を備える。該手段により、あるユーザに対する読
み出しが行われている間、他からのアクセスはできない
ようにされる。
(4)主記憶装置上のデータベースバツフアに少なくと
も先読みする複数のレコードを読み込む領域を確保する
手段と、該領域のレコードの読み出し後、該領域の不要
レコードを次の先読みレコードにシーケンシヤルに書き
換え制御し管理する手段とを備える。
も先読みする複数のレコードを読み込む領域を確保する
手段と、該領域のレコードの読み出し後、該領域の不要
レコードを次の先読みレコードにシーケンシヤルに書き
換え制御し管理する手段とを備える。
(5)キヤツシユ記憶装置に、与えられた検索条件式を
満足するレコードを格納するアドレス列を格納する手段
と、与えられた検索条件式を満足しないレコードだけを
含むページを格納するアドレス列を格納する手段と、与
えられた検索条件式をレコードのオーバフロー等で評価
できなかつたレコードを格納するアドレス列を格納する
手段と、与えられた検索条件式を満足するレコードを少
なくとも一つ以上含むページを格納するアドレス列を格
納する手段と、与えられた検索条件式を満足するレコー
ドを指定されたフイールドだけページ形式に編集した結
果を格納する手段と、与えられた検索条件式を満足する
ページだけ格納する手段とを備える。ここで、オーバフ
ローは、デイスク装置の所定のページに収容できなかつ
たため、別のページに収容したレコード部分であり、そ
のページのアドレスはローカルメモリ(キヤツシユ記憶
装置)に格納されている。CPUは、オーバフローの報告
を受けると、前記所定のページを読み込んだ後に、前記
オーバフローのレコードを読み込んで、叙上の解析を行
う。条件式を満足しないレコードはアンロツク(解放)
されて、他のユーザ(入出力要求)によりアクセス可能
となる。
満足するレコードを格納するアドレス列を格納する手段
と、与えられた検索条件式を満足しないレコードだけを
含むページを格納するアドレス列を格納する手段と、与
えられた検索条件式をレコードのオーバフロー等で評価
できなかつたレコードを格納するアドレス列を格納する
手段と、与えられた検索条件式を満足するレコードを少
なくとも一つ以上含むページを格納するアドレス列を格
納する手段と、与えられた検索条件式を満足するレコー
ドを指定されたフイールドだけページ形式に編集した結
果を格納する手段と、与えられた検索条件式を満足する
ページだけ格納する手段とを備える。ここで、オーバフ
ローは、デイスク装置の所定のページに収容できなかつ
たため、別のページに収容したレコード部分であり、そ
のページのアドレスはローカルメモリ(キヤツシユ記憶
装置)に格納されている。CPUは、オーバフローの報告
を受けると、前記所定のページを読み込んだ後に、前記
オーバフローのレコードを読み込んで、叙上の解析を行
う。条件式を満足しないレコードはアンロツク(解放)
されて、他のユーザ(入出力要求)によりアクセス可能
となる。
(6)又、予めレコードをキー値範囲あるいはハツシユ
評価値によつてクラスタ化し格納する手段と、前記キー
値範囲あるいはハツシユ評価値によつてクラスタ化され
て格納する各領域をアドレス付けし、各キー値範囲ある
いはハツシユ値をキーとするインデクス等のメタデータ
を維持管理する手段と、当該メタデータを用いて、検索
すべきレコード格納範囲を絞り込む手段とを備える。こ
こで、クラスタは、後述の第1図で示すように、複数ペ
ージの集合であつて、格納条件インデクスで指示される
単位のものである。
評価値によつてクラスタ化し格納する手段と、前記キー
値範囲あるいはハツシユ評価値によつてクラスタ化され
て格納する各領域をアドレス付けし、各キー値範囲ある
いはハツシユ値をキーとするインデクス等のメタデータ
を維持管理する手段と、当該メタデータを用いて、検索
すべきレコード格納範囲を絞り込む手段とを備える。こ
こで、クラスタは、後述の第1図で示すように、複数ペ
ージの集合であつて、格納条件インデクスで指示される
単位のものである。
(7)更に、検索すべきレコード格納範囲を表わすアド
レスを並列にアクセス可能なレコードアドレス列に分割
する手段と、該レコードアドレス列を用いて入出力処理
要求を発行する手段とを備える。
レスを並列にアクセス可能なレコードアドレス列に分割
する手段と、該レコードアドレス列を用いて入出力処理
要求を発行する手段とを備える。
上記構成に基づく作用を説明する。
本発明の上記(1)のデータベース処理方式によれ
ば、DBMSが予測したアクセス特性や、キヤツシユ記憶装
置のサイズ,中央処理装置の性能,入出力処理装置のト
ラフイツク等のシステム特性に従つて、キヤツシユ記憶
装置上にユーザの問い合わせ毎に一つあるいは複数のレ
コード格納領域を獲得し、データの入出力処理時間と該
データのデータベース処理に要する処理時間とをオーバ
ラツプさせる(CPUによるデータベース処理と入出力装
置乃至入出力制御装置による入出力処理との両処理時間
がバランスし、両処理が並行して行われ、次々の入出力
処理の間や次々のデータベース処理の間に遊び時間がな
いようにする)ことが可能なように先読みレコード数を
決定し、効率よく先読み処理を行うことによつて、入出
力処理時間が大幅に削減でき、システム全体でスループ
ツトが向上する。
ば、DBMSが予測したアクセス特性や、キヤツシユ記憶装
置のサイズ,中央処理装置の性能,入出力処理装置のト
ラフイツク等のシステム特性に従つて、キヤツシユ記憶
装置上にユーザの問い合わせ毎に一つあるいは複数のレ
コード格納領域を獲得し、データの入出力処理時間と該
データのデータベース処理に要する処理時間とをオーバ
ラツプさせる(CPUによるデータベース処理と入出力装
置乃至入出力制御装置による入出力処理との両処理時間
がバランスし、両処理が並行して行われ、次々の入出力
処理の間や次々のデータベース処理の間に遊び時間がな
いようにする)ことが可能なように先読みレコード数を
決定し、効率よく先読み処理を行うことによつて、入出
力処理時間が大幅に削減でき、システム全体でスループ
ツトが向上する。
以下、本発明の一実施例を図面に基づいて詳細に説明
する。
する。
第1図は、本発明が適用されたDBMSのデータベース格
納例を示す。ただし、第1図の説明は、後述する。
納例を示す。ただし、第1図の説明は、後述する。
第2図は、本発明が適用されたデータベースシステム
の構成例である。
の構成例である。
データベースシステムは、ユーザが作成したアプリケ
ーシヨンプログラム(以下、APと略記する)40,41と、
問い合わせ処理、リソース管理等データベースシステム
全体の管理を行うDBMS50と、データベース処理におい
て、入出力処理対象となるデータの読み書きを行う入出
力管理プログラム61等システム全体の管理を受け持つオ
ペレーテイングシステム(以下では、オペレーテイング
システムをOSと略記する)60と、データベース処理対象
となるデータを格納するデータベース70とから構成され
る。
ーシヨンプログラム(以下、APと略記する)40,41と、
問い合わせ処理、リソース管理等データベースシステム
全体の管理を行うDBMS50と、データベース処理におい
て、入出力処理対象となるデータの読み書きを行う入出
力管理プログラム61等システム全体の管理を受け持つオ
ペレーテイングシステム(以下では、オペレーテイング
システムをOSと略記する)60と、データベース処理対象
となるデータを格納するデータベース70とから構成され
る。
上記DBMS50は、システム全体の管理、制御に加えて、
入出力の管理等を行うシステム制御部51と、問い合わせ
の構文解析、意味解析を行う問い合わせ解析部520、適
切な処理手順を生成する最適化部521、及び、内部コー
ドの生成、当コードの解釈実行を行うコード生成論理処
理実行部522から成る論理処理部52と、当DBMS50で処理
対象となるデータを格納するデータベースバツフア58
(主記憶装置上にある)の管理を行うデータベースバツ
フア制御部57、アクセスしたデータの条件判定、編集等
を実現するデータアクセス処理部54、システムで共用す
るリソースの排他制御を実現する排他制御部55、及び、
論理的なデータベース空間(ページアクセス空間)から
物理的なデータベース空間(デイスクアクセス空間)へ
のマツピングを行うマツピング処理部56とから成るデー
タベースの物理処理を実行する物理処理部53とから構成
されている。
入出力の管理等を行うシステム制御部51と、問い合わせ
の構文解析、意味解析を行う問い合わせ解析部520、適
切な処理手順を生成する最適化部521、及び、内部コー
ドの生成、当コードの解釈実行を行うコード生成論理処
理実行部522から成る論理処理部52と、当DBMS50で処理
対象となるデータを格納するデータベースバツフア58
(主記憶装置上にある)の管理を行うデータベースバツ
フア制御部57、アクセスしたデータの条件判定、編集等
を実現するデータアクセス処理部54、システムで共用す
るリソースの排他制御を実現する排他制御部55、及び、
論理的なデータベース空間(ページアクセス空間)から
物理的なデータベース空間(デイスクアクセス空間)へ
のマツピングを行うマツピング処理部56とから成るデー
タベースの物理処理を実行する物理処理部53とから構成
されている。
第3図は、本発明が適用されるハードウエア構成の一
例を示すものである。具体的には、主記憶装置(MM)80
0を保持する中央処理装置(CPU)80と、入出力制御を行
うチヤネル装置(CHU)81と、データベース処理におい
て選択、制約、射影(各レコードの中から特定のフイー
ルドだけを抽出すること。例えば、収入、氏名、住所、
年令のフイールドを持つ各レコードから、住所だけを抽
出すること。)、結合等の対象となるデータを設定する
ローカル記憶(LM)820(このローカル記憶820は、前記
のキヤツシユ記憶に相当する)を保持するインテリジエ
ントフアイル制御装置(IFC)82(このインデリジエン
トフアイル制御装置82は、前記の入出力制御装置に相当
する)、及びデイスク(83)(このデイスク83は、前記
の二次記憶装置に相当する)とから成る。
例を示すものである。具体的には、主記憶装置(MM)80
0を保持する中央処理装置(CPU)80と、入出力制御を行
うチヤネル装置(CHU)81と、データベース処理におい
て選択、制約、射影(各レコードの中から特定のフイー
ルドだけを抽出すること。例えば、収入、氏名、住所、
年令のフイールドを持つ各レコードから、住所だけを抽
出すること。)、結合等の対象となるデータを設定する
ローカル記憶(LM)820(このローカル記憶820は、前記
のキヤツシユ記憶に相当する)を保持するインテリジエ
ントフアイル制御装置(IFC)82(このインデリジエン
トフアイル制御装置82は、前記の入出力制御装置に相当
する)、及びデイスク(83)(このデイスク83は、前記
の二次記憶装置に相当する)とから成る。
上記インテリジエントフアイル制御装置82とデイスク
83との間では、相対ブロツクアドレス及び入出力データ
等が転送され、経路87が用いられる。また、上記チヤネ
ル装置81とインテリジエントフアイル制御装置(IFC)8
2との間では、フイルタリング処理結果及び検索条件等
が転送され、経路85,86が用いられる。さらに、中央処
理装置80とチヤネル装置81との間では、データ転送、制
御データ交換のために経路84が用いられる。経路84及び
経路86とも、それぞれ複数のチヤネル装置81及びインテ
リジエントフアイル制御装置82が接続されていても構わ
ない。経路85は、他システムとインテリジエントフアイ
ル制御装置82とを共用するために用いられてもよいこと
を示す。
83との間では、相対ブロツクアドレス及び入出力データ
等が転送され、経路87が用いられる。また、上記チヤネ
ル装置81とインテリジエントフアイル制御装置(IFC)8
2との間では、フイルタリング処理結果及び検索条件等
が転送され、経路85,86が用いられる。さらに、中央処
理装置80とチヤネル装置81との間では、データ転送、制
御データ交換のために経路84が用いられる。経路84及び
経路86とも、それぞれ複数のチヤネル装置81及びインテ
リジエントフアイル制御装置82が接続されていても構わ
ない。経路85は、他システムとインテリジエントフアイ
ル制御装置82とを共用するために用いられてもよいこと
を示す。
本構成による方式は、すべてのデータベース処理を、
中央処理装置80上で実現されているDBMS50が実行する方
式とは異なる。すなわち、データベース処理のうち、DB
MS50のコード生成論理処理実行部522で生成する内部処
理コードに対応する関係代数演算、すなわち選択、制
約、射影、結合等の諸演算をインテリジエントフアイル
制御装置で機能分担するものである。これは、いわゆる
入出力装置に各種演算機能(例えば、フイルタリング処
理装置)を付加するものに相当する。この基本的動作を
以下に示す。
中央処理装置80上で実現されているDBMS50が実行する方
式とは異なる。すなわち、データベース処理のうち、DB
MS50のコード生成論理処理実行部522で生成する内部処
理コードに対応する関係代数演算、すなわち選択、制
約、射影、結合等の諸演算をインテリジエントフアイル
制御装置で機能分担するものである。これは、いわゆる
入出力装置に各種演算機能(例えば、フイルタリング処
理装置)を付加するものに相当する。この基本的動作を
以下に示す。
(1)アプリケーシヨンプログラムから入力した問い合
わせをDBMS50で解析し、処理手順を決定する。
わせをDBMS50で解析し、処理手順を決定する。
(2)上記処理手順に従つて、関係代数演算を切り出
し、インテリジエントフアイル制御装置82に処理要求を
発行する。
し、インテリジエントフアイル制御装置82に処理要求を
発行する。
(3)インテリジエントフアイル制御装置82は、処理要
求を解釈し、デイスク83に対して物理入出力要求を発行
する。データベース70は、リレーシヨン形式で格納さ
れ、当データベースの管理単位であるページがデイスク
83からのデータ転送に同期して読み込まれ、ローカル記
憶820に設定される。
求を解釈し、デイスク83に対して物理入出力要求を発行
する。データベース70は、リレーシヨン形式で格納さ
れ、当データベースの管理単位であるページがデイスク
83からのデータ転送に同期して読み込まれ、ローカル記
憶820に設定される。
(4)ローカル記憶820のデータに対して、選択、制
約、射影、結合等演算を行い、フイルタリング処理を行
う。
約、射影、結合等演算を行い、フイルタリング処理を行
う。
(5)この処理結果を、DBMS50のデータベースバツフア
58に設定する。
58に設定する。
(6)DBMS50は、当処理結果を編集して、アプリケーシ
ヨンプログラムに問い合わせ結果を出力する。
ヨンプログラムに問い合わせ結果を出力する。
次に、第1図の説明を行う。これは、本発明が適用さ
れたデータベースシステムにおけるDBMSのデータベース
格納例であり、データベースを構成する各レコードの格
納位置を制御する格納条件指定20と、データデイクシヨ
ナリ31、デイレクトリ32等DBMSの管理情報30と、データ
ベース70を蓄積する格納エクステント110,120,130,140
と、レコードの追加例である挿入レコード100とから成
る。また、デイレクトリ32は、格納条件指定20の設定に
従つて、各格納エクステント110,120,130,140に蓄積さ
れる単位であるクラスタを指すポインタを管理するプラ
イマリ格納条件インデクス321、二次格納条件インデク
ス322等から成る格納条件インデクス320を含む。さら
に、格納条件指定20に従つて、格納エクステント110に
はクラスタ111,112,113,114が設定され、格納エクステ
ント120にはクラスタ121,122,123,124が設定され、格納
エクステント130にはクラスタ131,132,133,134が設定さ
れ、格納エクステント140にはクラスタ141,142,143,144
が設定される。これら格納エクステント、クラスタと
も、アクセスすべきデータの読み込み範囲を限定する手
段として用いられる。すなわち、問い合わせコマンドで
指定された条件式に基づいて、格納条件インデクス320
が適用できるか否か判断し、可能な場合は、プライマリ
格納条件インデクス321、二次格納条件インデクス322等
を用い、読み込み範囲に当たる各格納エクステント、ク
ラスタを決定する。
れたデータベースシステムにおけるDBMSのデータベース
格納例であり、データベースを構成する各レコードの格
納位置を制御する格納条件指定20と、データデイクシヨ
ナリ31、デイレクトリ32等DBMSの管理情報30と、データ
ベース70を蓄積する格納エクステント110,120,130,140
と、レコードの追加例である挿入レコード100とから成
る。また、デイレクトリ32は、格納条件指定20の設定に
従つて、各格納エクステント110,120,130,140に蓄積さ
れる単位であるクラスタを指すポインタを管理するプラ
イマリ格納条件インデクス321、二次格納条件インデク
ス322等から成る格納条件インデクス320を含む。さら
に、格納条件指定20に従つて、格納エクステント110に
はクラスタ111,112,113,114が設定され、格納エクステ
ント120にはクラスタ121,122,123,124が設定され、格納
エクステント130にはクラスタ131,132,133,134が設定さ
れ、格納エクステント140にはクラスタ141,142,143,144
が設定される。これら格納エクステント、クラスタと
も、アクセスすべきデータの読み込み範囲を限定する手
段として用いられる。すなわち、問い合わせコマンドで
指定された条件式に基づいて、格納条件インデクス320
が適用できるか否か判断し、可能な場合は、プライマリ
格納条件インデクス321、二次格納条件インデクス322等
を用い、読み込み範囲に当たる各格納エクステント、ク
ラスタを決定する。
具体的な例で示す。格納条件指定20では、テーブルT1
が3つのカラムa1,a2,a3から成り立つことを示す。ま
た、カラムa1は年収とか年令とかいつた数値データで、
カラムa1が、0≦a1≦10であれば格納エクステント110
に、10<a1≦100であれば格納エクステント120に、100
<a1≦1000であれば格納エクステント130に、a1>1000
であれば格納エクステント140に、それぞれ蓄積される
ことを示す。さらに、カラムa2が、a2=‘東京’であれ
ばクラスタ111,121,131,141に、a2=‘大阪’であれば
グラスタ112,122,132,142に、a2=‘神奈川’であれば
クラスタ113,123,133,143に、a2が上記以外の値を取れ
ばクラスタ114,124,134,144に、それぞれ蓄積されるこ
とを示す。ここで、挿入レコード100に示すデータを追
加することを想定する。このレコードは、a1が20、a2が
‘神奈川’、a3が‘鴬沼1−3−1'である。格納条件イ
ンデクス320のプライマリ格納条件インデクス321、二次
格納条件インデクス322を用い、格納条件指定20に従う
と、格納エクステント120のクラスタ123に蓄積するべき
ことが分かるので、その位置に挿入処理されて終わる。
同様に、レコードの更新処理、削除処理も実行される。
が3つのカラムa1,a2,a3から成り立つことを示す。ま
た、カラムa1は年収とか年令とかいつた数値データで、
カラムa1が、0≦a1≦10であれば格納エクステント110
に、10<a1≦100であれば格納エクステント120に、100
<a1≦1000であれば格納エクステント130に、a1>1000
であれば格納エクステント140に、それぞれ蓄積される
ことを示す。さらに、カラムa2が、a2=‘東京’であれ
ばクラスタ111,121,131,141に、a2=‘大阪’であれば
グラスタ112,122,132,142に、a2=‘神奈川’であれば
クラスタ113,123,133,143に、a2が上記以外の値を取れ
ばクラスタ114,124,134,144に、それぞれ蓄積されるこ
とを示す。ここで、挿入レコード100に示すデータを追
加することを想定する。このレコードは、a1が20、a2が
‘神奈川’、a3が‘鴬沼1−3−1'である。格納条件イ
ンデクス320のプライマリ格納条件インデクス321、二次
格納条件インデクス322を用い、格納条件指定20に従う
と、格納エクステント120のクラスタ123に蓄積するべき
ことが分かるので、その位置に挿入処理されて終わる。
同様に、レコードの更新処理、削除処理も実行される。
次に、検索処理を例に説明する。
case1:a1=20のデータをアクセス (i)プライマリ格納インデクス321を、a1=20をキー
にして、アクセスする。
にして、アクセスする。
(ii)検索対象データが、格納エクステント120に蓄積
されていることを取得する。
されていることを取得する。
(iii)格納エクステント120のクラスタ121,122,123,12
4をアクセスする。
4をアクセスする。
case2:a2=‘神奈川’のデータをアクセス (i)二次格納インデクス322を、a2=‘神奈川’をキ
ーにして、アクセスする。
ーにして、アクセスする。
(ii)検索対象データが、クラスタ113,123,133,143に
蓄積されていることを取得する。
蓄積されていることを取得する。
(iii)格納エクステント110のクラスタ113、格納エク
ステント120のクラスタ123、格納エクステント130のク
ラスタ133、格納エクステント140のクラスタ143をアク
セスする。
ステント120のクラスタ123、格納エクステント130のク
ラスタ133、格納エクステント140のクラスタ143をアク
セスする。
case3:a1=20かつa2=‘神奈川’のデータをアクセス (i)プライマリ格納インデクス321を、a1=20をキー
にして、アクセスする。
にして、アクセスする。
(ii)二次格納インデクス322を、a2=‘神奈川’をキ
ーにして、アクセスする。
ーにして、アクセスする。
(iii)(i)、(ii)の結果をアンド条件でマージ
し、検索対象データが、クラスタ123に蓄積されている
ことを取得する。
し、検索対象データが、クラスタ123に蓄積されている
ことを取得する。
(iv)格納エクステント120のクラスタ123をアクセスす
る。
る。
この実施例での特徴は、格納条件インデクス320で読
み込むべきデータの範囲が局所化でき、また読み込むべ
きデータの範囲が複数エクステントに渡れば、並列にデ
ータをアクセス可能であることが分かり、さらに各格納
エクステントは、クラスタ単位でデータを蓄積するの
で、一回の入出力要求で複数ページをアクセス可能であ
ることである。この特徴を実現したDBMSの総合的な説明
を行う。
み込むべきデータの範囲が局所化でき、また読み込むべ
きデータの範囲が複数エクステントに渡れば、並列にデ
ータをアクセス可能であることが分かり、さらに各格納
エクステントは、クラスタ単位でデータを蓄積するの
で、一回の入出力要求で複数ページをアクセス可能であ
ることである。この特徴を実現したDBMSの総合的な説明
を行う。
第4図は、本発明を適用したDBMSの処理のフローチヤ
ートである。以下では、各処理部の詳細なフローチヤー
トの説明を行う。なお、図中明示はしてないが、基本的
には、先読みは第4図における全ステツプに対して適用
されるものである。
ートである。以下では、各処理部の詳細なフローチヤー
トの説明を行う。なお、図中明示はしてないが、基本的
には、先読みは第4図における全ステツプに対して適用
されるものである。
システム制御部51は、アプリケーシヨンプログラムか
ら受け取つた処理要求が、オープン要求であれば、当コ
マンド実行に必要な制御ブロツク類等を割り当て(5100
→5101)、クローズ要求であれば、当コマンド実行に必
要な制御ブロツク類等の解放を行い(5102→5103)、コ
ミツト要求であれば、当トランザクシヨンでロツク中の
全ページをアンロツク処理し(5104→5105)、フエツチ
要求であれば、コード生成論理処理実行部522を呼び出
し(5106→5107)、セツトアツプ要求であれば、論理処
理部52を呼び出し(5108→5109)、それぞれ終了する。
ら受け取つた処理要求が、オープン要求であれば、当コ
マンド実行に必要な制御ブロツク類等を割り当て(5100
→5101)、クローズ要求であれば、当コマンド実行に必
要な制御ブロツク類等の解放を行い(5102→5103)、コ
ミツト要求であれば、当トランザクシヨンでロツク中の
全ページをアンロツク処理し(5104→5105)、フエツチ
要求であれば、コード生成論理処理実行部522を呼び出
し(5106→5107)、セツトアツプ要求であれば、論理処
理部52を呼び出し(5108→5109)、それぞれ終了する。
論理処理部52は、問い合わせコマンドの構文解析、意
味解析を実行し(520)、最適なデータアクセス処理手
順を決定し(521)、当処理手順を実行形式に展開し、
解釈、実行して(522)、終了する。
味解析を実行し(520)、最適なデータアクセス処理手
順を決定し(521)、当処理手順を実行形式に展開し、
解釈、実行して(522)、終了する。
物理処理部53は、データアクセス処理部54と、データ
ベースバツフア制御部57と、マツピング処理部56と、排
他制御部55とから成る。
ベースバツフア制御部57と、マツピング処理部56と、排
他制御部55とから成る。
データアクセス処理部54は、読み込むべきデータの検
索範囲情報が作成済みであれば、5406へ進む。それ以外
であれば、格納条件インデクス320で検索範囲が絞り込
み可能か否かチエツクし(5401)、可能であれば、当格
納条件インデクス320で検索範囲を絞り込む(5401→540
22→5403)。なお図示されていないが、予めレコードを
キー値範囲あるいはハツシユ評価値によつてクラスタ化
し格納し、このクラスタ化された各格納領域をアドレス
付けし、このキー値範囲あるいはハツシユ評価値をキー
とするインンデクス等のメタデータを維持・管理してお
り、ステツプ5402では、前記のメタデータを用いて検索
すべきレコード格納範囲を絞り込むようにする。該格納
条件インデクスにより、当検索範囲が複数クラスタに渡
ることが指示されれば、すなわち並列にデータをアクセ
ス可能か否かチエツクし(5403)、可能であれば、当格
納条件インデクス320のクラスタ情報(アドレス)を基
に、並列アクセス可能なデイスクボリユーム単位に検索
範囲を作成する(レコードアドレスを分割する)(5403
→5404→5406)。それ以外であれば、検索範囲を作成す
る(5403→5405→5406)。なお、ステツプ5405,5404
(並列アクセス可のケース)において、システム特性に
従つて、先読みしコード数が決定される。アクセス特
性,CPUの性能,キヤツシユ・サイズ,入出力装置のトラ
フイツク等のシステム特性をパラメータとして事前に解
析評価した結果がシステムに組込まれており、この結果
を用いて、実行時にレコード数を決定する。例えば、ト
ラフイツクが上がると、オンライン処理への影響が小と
なるようにレコード数を小とする。又、CPUの性能(一
定時間当り実行できるCPUステツプ数、通常106命令/秒
が用いられる)が上がると、レコード数を大とする。
又、アクセス特性が向上する程(アクセス時間の短い
程)、キヤツシユ・サイズの大きい程、レコード数を大
とする。次に、入力処理の対象と成るページ集合をロツ
ク処理し(5406)、入力処理要求で先読み処理指定があ
れば、先読み処理の対象と成るページ集合もロツク処理
する(5407→5408→5409)。さらに、入力処理の対象と
成るページ集合を読み込み、入力処理要求で指定された
データ形式、演算結果情報等を作成し、先読み処理の対
象と成るページ集合も通知して、以下の処理に従う(54
09)。
索範囲情報が作成済みであれば、5406へ進む。それ以外
であれば、格納条件インデクス320で検索範囲が絞り込
み可能か否かチエツクし(5401)、可能であれば、当格
納条件インデクス320で検索範囲を絞り込む(5401→540
22→5403)。なお図示されていないが、予めレコードを
キー値範囲あるいはハツシユ評価値によつてクラスタ化
し格納し、このクラスタ化された各格納領域をアドレス
付けし、このキー値範囲あるいはハツシユ評価値をキー
とするインンデクス等のメタデータを維持・管理してお
り、ステツプ5402では、前記のメタデータを用いて検索
すべきレコード格納範囲を絞り込むようにする。該格納
条件インデクスにより、当検索範囲が複数クラスタに渡
ることが指示されれば、すなわち並列にデータをアクセ
ス可能か否かチエツクし(5403)、可能であれば、当格
納条件インデクス320のクラスタ情報(アドレス)を基
に、並列アクセス可能なデイスクボリユーム単位に検索
範囲を作成する(レコードアドレスを分割する)(5403
→5404→5406)。それ以外であれば、検索範囲を作成す
る(5403→5405→5406)。なお、ステツプ5405,5404
(並列アクセス可のケース)において、システム特性に
従つて、先読みしコード数が決定される。アクセス特
性,CPUの性能,キヤツシユ・サイズ,入出力装置のトラ
フイツク等のシステム特性をパラメータとして事前に解
析評価した結果がシステムに組込まれており、この結果
を用いて、実行時にレコード数を決定する。例えば、ト
ラフイツクが上がると、オンライン処理への影響が小と
なるようにレコード数を小とする。又、CPUの性能(一
定時間当り実行できるCPUステツプ数、通常106命令/秒
が用いられる)が上がると、レコード数を大とする。
又、アクセス特性が向上する程(アクセス時間の短い
程)、キヤツシユ・サイズの大きい程、レコード数を大
とする。次に、入力処理の対象と成るページ集合をロツ
ク処理し(5406)、入力処理要求で先読み処理指定があ
れば、先読み処理の対象と成るページ集合もロツク処理
する(5407→5408→5409)。さらに、入力処理の対象と
成るページ集合を読み込み、入力処理要求で指定された
データ形式、演算結果情報等を作成し、先読み処理の対
象と成るページ集合も通知して、以下の処理に従う(54
09)。
case1:入力処理要求で指定されたデータ形式が元のペー
ジ集合の一部あるいは全部(5410→5411) case1.1:問い合わせコマンドが検索(5411→5412) 入力処理の対象と成るページ集合で、条件式を満足し
ないレコードだけでページが構成されていると、当ペー
ジ集合は、アンロツク処理する(5412→5413→5414)。
一方、条件式を満足するレコード集合を指すレコードア
ドレス列を用いて、各レコードをアクセスし、アプリケ
ーシヨンプログラムにデータを受け渡す(5414)。入力
処理の対象と成るページ集合を読み込み、入力処理要求
の指定された条件式評価がレコードのオーバフロー等で
できないものがあれば(5415)、条件式評価ができない
レコード集合を指すレコードアドレス列を用いて、当レ
コード集合を格納するページ集合をロツク処理し(541
6)、当ページ集合を格納するデイスク格納アドレスを
作成し(5417)、当データをアクセスし、検索条件式を
評価し、入力処理要求で指定されたデータ形式、演算結
果情報等を作成し(5418)、条件式を満足しないレコー
ドだけでページが構成されていると(5419)、当ページ
集合は、アンロツク処理される(5419→5412→5422)。
また、条件式を満足するレコード集合をアクセスし、ア
プリケーシヨンプログラムにデータを受け渡す(5420→
5421)。入力処理の対象と成るページ集合がバツフアに
ヒツトしなければ、上記処理でアクセス済みページ集合
を格納するバツフアをアンロツク処理し(5422→542
7)、終了する。それ以外であれば、バツフアにヒツト
したページ集合をアクセスし、検索条件式評価し、入力
処理要求で指定されたデータ形式、演算結果情報等を作
成し(5423)、条件式を満足しないレコードだけでペー
ジが構成されていると(5424)、当ページ集合は、アン
ロツク処理する(5424→5426→5427)。また、条件式を
満足するレコード集合をアクセスし、アプリケーシヨン
プログラムにデータを受け渡す(5425→5426)。最後
に、上記処理でアクセス済みページ集合を格納するバツ
フアをアンロツク処理し(5427)、終了する。
ジ集合の一部あるいは全部(5410→5411) case1.1:問い合わせコマンドが検索(5411→5412) 入力処理の対象と成るページ集合で、条件式を満足し
ないレコードだけでページが構成されていると、当ペー
ジ集合は、アンロツク処理する(5412→5413→5414)。
一方、条件式を満足するレコード集合を指すレコードア
ドレス列を用いて、各レコードをアクセスし、アプリケ
ーシヨンプログラムにデータを受け渡す(5414)。入力
処理の対象と成るページ集合を読み込み、入力処理要求
の指定された条件式評価がレコードのオーバフロー等で
できないものがあれば(5415)、条件式評価ができない
レコード集合を指すレコードアドレス列を用いて、当レ
コード集合を格納するページ集合をロツク処理し(541
6)、当ページ集合を格納するデイスク格納アドレスを
作成し(5417)、当データをアクセスし、検索条件式を
評価し、入力処理要求で指定されたデータ形式、演算結
果情報等を作成し(5418)、条件式を満足しないレコー
ドだけでページが構成されていると(5419)、当ページ
集合は、アンロツク処理される(5419→5412→5422)。
また、条件式を満足するレコード集合をアクセスし、ア
プリケーシヨンプログラムにデータを受け渡す(5420→
5421)。入力処理の対象と成るページ集合がバツフアに
ヒツトしなければ、上記処理でアクセス済みページ集合
を格納するバツフアをアンロツク処理し(5422→542
7)、終了する。それ以外であれば、バツフアにヒツト
したページ集合をアクセスし、検索条件式評価し、入力
処理要求で指定されたデータ形式、演算結果情報等を作
成し(5423)、条件式を満足しないレコードだけでペー
ジが構成されていると(5424)、当ページ集合は、アン
ロツク処理する(5424→5426→5427)。また、条件式を
満足するレコード集合をアクセスし、アプリケーシヨン
プログラムにデータを受け渡す(5425→5426)。最後
に、上記処理でアクセス済みページ集合を格納するバツ
フアをアンロツク処理し(5427)、終了する。
case1.2:問い合わせコマンドが更新(5411→5428) 入力処理の対象と成るページ集合で、条件式を満足し
ないレコードだけでページが構成されていると、当ペー
ジ集合は、アンロツク処理する(5428→5429→5430)。
条件式を満足するレコード集合を指すレコードアドレス
列を用いて、各レコードをアクセスし、レコード更新処
理を行う(5430)。入力処理の対象と成るページ集合を
読み込み、入力処理要求で指定された条件式評価がレコ
ードのオーバフロー等でできないものがあれば(543
1)、条件式評価ができないレコード集合を指すレコー
ドアドレス列を用いて、当レコード集合を格納するペー
ジ集合をロツク処理し(5432)、当ページ集合を格納す
るデイスク格納アドレス列を作成し(5433)、当データ
をアクセスし、検索条件式を評価し、入力処理要求で指
定されたデータ形式、演算結果情報等を作成し(543
4)、条件式を満足しないレコードだけでページが構成
されていると(5435)、当ページ集合は、アンロツク処
理する(5435→5437→5438)。また、条件式を満足する
レコード集合をアクセスし、レコード更新処理を行う
(5436→5438)。入力処理の対象と成るページ集合がバ
ツフアにヒツトしなければ、上記処理でアクセス済みペ
ージ集合を格納するバツフアをアンロツク処理し(5488
→5443)、終了する。それ以外であれば、バツフアにヒ
ツトしたページ集合をアクセスし、検索条件式を評価
し、入力処理要求で指定されたデータ形式、演算結果情
報を作成し(5439)、条件式を満足しないレコードだけ
でページが構成されていると(5440)、当ページ集合
は、アンロツク処理する(5440→5442→5443)。また、
条件式を満足するレコード集合をアクセスし、レコード
更新処理を行う(5441→5442)。最後に、上記処理でア
クセス済みページ集合を格納するバツフアをアンロツク
処理し(5443)、終了する。
ないレコードだけでページが構成されていると、当ペー
ジ集合は、アンロツク処理する(5428→5429→5430)。
条件式を満足するレコード集合を指すレコードアドレス
列を用いて、各レコードをアクセスし、レコード更新処
理を行う(5430)。入力処理の対象と成るページ集合を
読み込み、入力処理要求で指定された条件式評価がレコ
ードのオーバフロー等でできないものがあれば(543
1)、条件式評価ができないレコード集合を指すレコー
ドアドレス列を用いて、当レコード集合を格納するペー
ジ集合をロツク処理し(5432)、当ページ集合を格納す
るデイスク格納アドレス列を作成し(5433)、当データ
をアクセスし、検索条件式を評価し、入力処理要求で指
定されたデータ形式、演算結果情報等を作成し(543
4)、条件式を満足しないレコードだけでページが構成
されていると(5435)、当ページ集合は、アンロツク処
理する(5435→5437→5438)。また、条件式を満足する
レコード集合をアクセスし、レコード更新処理を行う
(5436→5438)。入力処理の対象と成るページ集合がバ
ツフアにヒツトしなければ、上記処理でアクセス済みペ
ージ集合を格納するバツフアをアンロツク処理し(5488
→5443)、終了する。それ以外であれば、バツフアにヒ
ツトしたページ集合をアクセスし、検索条件式を評価
し、入力処理要求で指定されたデータ形式、演算結果情
報を作成し(5439)、条件式を満足しないレコードだけ
でページが構成されていると(5440)、当ページ集合
は、アンロツク処理する(5440→5442→5443)。また、
条件式を満足するレコード集合をアクセスし、レコード
更新処理を行う(5441→5442)。最後に、上記処理でア
クセス済みページ集合を格納するバツフアをアンロツク
処理し(5443)、終了する。
case2:入力処理要求で指定されたデータ形式が元のペー
ジ集合を編集している(5410→5444) 入力処理の対象と成るページ集合で、条件式を満足し
ないレコードだけでページが構成されていると、当ペー
ジ集合は、アンロツク処理する(5444→5445→5446)。
条件式を満足するレコード集合だけをページ形式で格納
したデータを用いて、各レコードをアクセスし、アプリ
ケーシヨンプログラムにデータを受け渡す(5446)。入
力処理の対象と成るページ集合を読み込み、入力処理要
求で指定された条件式評価がレコードのオーバフロー等
でできないものがあれば(5447)、条件式評価ができな
いレコード集合を指すレコードアドレス列を用いて、当
レコード集合を格納するページ集合をロツク処理し(54
48)、当ページ集合を格納するデイスク格納アドレス列
を作成し(5449)、当データをアクセスし、検索条件式
を評価し、入力処理要求で指定されたデータ形式、演算
結果情報等を作成し(5450)、条件式を満足しないレコ
ードだけでページが構成されていると(5451)、当ペー
ジ集合は、アンロツク処理される(5451→5453→545
4)。また、条件式を満足するレコード集合をアクセス
し、アプリケーシヨンプログラムにデータを受け渡す
(5452→5453)。入力処理の対象と成るページ集合がバ
ツフアにヒツトしなければ、上記処理でアクセス済みペ
ージ集合を格納するバツフアをアンロツク処理し(5454
→5459)、終了する。それ以外であれば、バツフアにヒ
ツトしたページ集合をアクセスし、検索条件式評価し、
入力処理要求で指定されたデータ形式、演算結果情報等
を作成し(5455)、条件式を満足しないレコードだけで
ページが構成されていると(5456)、当ページ集合は、
アンロツク処理される(5456→5458→5459)。また、条
件式を満足するレコード集合をアクセスし、アプリケー
シヨンプログラムにデータを受け渡す(5457→5458)。
最後に、上記処理でアクセス済みページ集合を格納する
バツフアをアンロツク処理し(5459)、終了する。
ジ集合を編集している(5410→5444) 入力処理の対象と成るページ集合で、条件式を満足し
ないレコードだけでページが構成されていると、当ペー
ジ集合は、アンロツク処理する(5444→5445→5446)。
条件式を満足するレコード集合だけをページ形式で格納
したデータを用いて、各レコードをアクセスし、アプリ
ケーシヨンプログラムにデータを受け渡す(5446)。入
力処理の対象と成るページ集合を読み込み、入力処理要
求で指定された条件式評価がレコードのオーバフロー等
でできないものがあれば(5447)、条件式評価ができな
いレコード集合を指すレコードアドレス列を用いて、当
レコード集合を格納するページ集合をロツク処理し(54
48)、当ページ集合を格納するデイスク格納アドレス列
を作成し(5449)、当データをアクセスし、検索条件式
を評価し、入力処理要求で指定されたデータ形式、演算
結果情報等を作成し(5450)、条件式を満足しないレコ
ードだけでページが構成されていると(5451)、当ペー
ジ集合は、アンロツク処理される(5451→5453→545
4)。また、条件式を満足するレコード集合をアクセス
し、アプリケーシヨンプログラムにデータを受け渡す
(5452→5453)。入力処理の対象と成るページ集合がバ
ツフアにヒツトしなければ、上記処理でアクセス済みペ
ージ集合を格納するバツフアをアンロツク処理し(5454
→5459)、終了する。それ以外であれば、バツフアにヒ
ツトしたページ集合をアクセスし、検索条件式評価し、
入力処理要求で指定されたデータ形式、演算結果情報等
を作成し(5455)、条件式を満足しないレコードだけで
ページが構成されていると(5456)、当ページ集合は、
アンロツク処理される(5456→5458→5459)。また、条
件式を満足するレコード集合をアクセスし、アプリケー
シヨンプログラムにデータを受け渡す(5457→5458)。
最後に、上記処理でアクセス済みページ集合を格納する
バツフアをアンロツク処理し(5459)、終了する。
データベースバツフア制御部57は、データベースバツ
フア58をサーチし、入力処理対象と成るページ集合を探
す(570)。入力処理対象と成るページ集合が全部見つ
かれば、当ページ集合を格納するバツフアをロツク処理
し(571→576)、終了する。それ以外であれば、データ
ベースバツフア58をサーチした結果、見つかつたページ
集合を格納するバツフアだけをロツク処理し(572)、
上記サーチの結果、見つからなかつたページ集合をデイ
スク格納アドレス列に変換し(573)、入力処理要求で
指定されたデータ形式、演算結果情報等を格納するバツ
フアを獲得し、当バツフアのロツク処理をし(574)、O
S60の入出力管理プログラム61に対して、入出力処理要
求を発行し、入力処理要求で指定されたデータ形式、演
算結果情報等の演算処理結果を受け取り(575)、終了
する。なお、ステツプ574では、主記憶装置上のデータ
ベースバツフアに少なくとも先読みする複数のレコード
を読み込む領域を確保し、ステツプ570では、この領域
のレコードの読出し後、この領域の不要となつた部分を
別の先読みレコードにシーケンシヤルに置き換える制御
をする。又、ステツプ575では、入力処理発行により、
キヤツシユ記憶装置上にユーザの問合わせ毎に一又は複
数のレコード格納領域が確保される。更に、ステツプ57
5では、演算処理結果の一部として(与えられた検索条
件式を満足するレコード、満足しないレコード、評価で
きなかつたレコード、満足するレコードを1つ以上含む
ページ、満足するレコードを指定されたフイールドだけ
ページ形式に編集した結果等等の)各アドレス列及びペ
ージがIFC82より転送されて来て格納が行なわれる。
フア58をサーチし、入力処理対象と成るページ集合を探
す(570)。入力処理対象と成るページ集合が全部見つ
かれば、当ページ集合を格納するバツフアをロツク処理
し(571→576)、終了する。それ以外であれば、データ
ベースバツフア58をサーチした結果、見つかつたページ
集合を格納するバツフアだけをロツク処理し(572)、
上記サーチの結果、見つからなかつたページ集合をデイ
スク格納アドレス列に変換し(573)、入力処理要求で
指定されたデータ形式、演算結果情報等を格納するバツ
フアを獲得し、当バツフアのロツク処理をし(574)、O
S60の入出力管理プログラム61に対して、入出力処理要
求を発行し、入力処理要求で指定されたデータ形式、演
算結果情報等の演算処理結果を受け取り(575)、終了
する。なお、ステツプ574では、主記憶装置上のデータ
ベースバツフアに少なくとも先読みする複数のレコード
を読み込む領域を確保し、ステツプ570では、この領域
のレコードの読出し後、この領域の不要となつた部分を
別の先読みレコードにシーケンシヤルに置き換える制御
をする。又、ステツプ575では、入力処理発行により、
キヤツシユ記憶装置上にユーザの問合わせ毎に一又は複
数のレコード格納領域が確保される。更に、ステツプ57
5では、演算処理結果の一部として(与えられた検索条
件式を満足するレコード、満足しないレコード、評価で
きなかつたレコード、満足するレコードを1つ以上含む
ページ、満足するレコードを指定されたフイールドだけ
ページ形式に編集した結果等等の)各アドレス列及びペ
ージがIFC82より転送されて来て格納が行なわれる。
マツピング処理部56は、ページ集合で与えられた検索
範囲を基にして、デイスク格納アドレス列に変換し(56
0)、当ページ集合から得られたデイスク格納アドレス
列から、ボリユーム情報を取得し(561)、当デイスク
格納アドレス列が複数ボリユームに渡れば、各ボリユー
ム単位にデイスク格納アドレス列を作成し(562→56
3)、終了する。
範囲を基にして、デイスク格納アドレス列に変換し(56
0)、当ページ集合から得られたデイスク格納アドレス
列から、ボリユーム情報を取得し(561)、当デイスク
格納アドレス列が複数ボリユームに渡れば、各ボリユー
ム単位にデイスク格納アドレス列を作成し(562→56
3)、終了する。
排他制御部55は、アンロツク処理であれば、アンロツ
ク処理対象のリソースに識別子を割当て、DEQ処理(ア
ンロツク処理)を行う(550→552)。ロツク処理であれ
ば、ロツク処理対象のリソースに識別子を割当て、ENQ
処理(エンロツク、ロツクをかける処理)を行う(550
→551)。ただし、デツドロツクを検出した場合、デツ
ドロツク処理対象となるリソースを解放する(551→553
→554)。
ク処理対象のリソースに識別子を割当て、DEQ処理(ア
ンロツク処理)を行う(550→552)。ロツク処理であれ
ば、ロツク処理対象のリソースに識別子を割当て、ENQ
処理(エンロツク、ロツクをかける処理)を行う(550
→551)。ただし、デツドロツクを検出した場合、デツ
ドロツク処理対象となるリソースを解放する(551→553
→554)。
以上は、本実施例の処理フローである。
本発明は、大型計算機のソフトウエアシステムを介し
て実現することも、また各処理部のために専用プロセツ
サが用意された複合プロセツサシステムを介して実現す
ることも可能である。
て実現することも、また各処理部のために専用プロセツ
サが用意された複合プロセツサシステムを介して実現す
ることも可能である。
本発明のデータベース処理方式及びデータベース処理
方法によれば、ユーザからの問い合わせのアクセス特
性、キヤツシユ記憶装置のサイズ、多重度をスケジユー
ルし、入出力処理起動時に先読み動作を供うか否かを判
断し、先読み処理単位をシステム特性等により総合的に
決定することにより、CPU処理及び入出力処理をオーバ
ラツプさせて、データを並列的にステージングするの
で、結果的に外部二次記憶装置(デイスク装置)のアク
セス時間ではなくて、キヤツシユ記憶装置アクセス時間
で入出力処理が実現でき、システム全体としての性能を
向上させることができる等、効果を奏する。また、複数
の入出力装置の入出力処理動作が、並列に動作可能であ
ることがデータの蓄積状態から判断できれば、並列に入
出力処理を行うので、なお入出力処理時間の削減効果が
ある。
方法によれば、ユーザからの問い合わせのアクセス特
性、キヤツシユ記憶装置のサイズ、多重度をスケジユー
ルし、入出力処理起動時に先読み動作を供うか否かを判
断し、先読み処理単位をシステム特性等により総合的に
決定することにより、CPU処理及び入出力処理をオーバ
ラツプさせて、データを並列的にステージングするの
で、結果的に外部二次記憶装置(デイスク装置)のアク
セス時間ではなくて、キヤツシユ記憶装置アクセス時間
で入出力処理が実現でき、システム全体としての性能を
向上させることができる等、効果を奏する。また、複数
の入出力装置の入出力処理動作が、並列に動作可能であ
ることがデータの蓄積状態から判断できれば、並列に入
出力処理を行うので、なお入出力処理時間の削減効果が
ある。
第1図は本発明が適用されたDBMSのデータベース格納例
を示す図、第2図は本発明が適用されたデータベースシ
ステムの一実施例の構成図、第3図は本発明が適用され
るハードウエアの構成図、第4図(a)〜(i)は本発
明を適用したDBMSの処理のフローチヤートである。 20……格納条件指定、30……DBMS管理情報、31……デー
タデイクシヨナリ、32……デイレクトリ、40,41……ア
プリケイシヨンプログラム1〜n、50……データベース
管理システム(DBMS)、51……システム制御部、52……
論理処理部、53……物理処理部、54……データアクセス
処理部、55……排他制御部、56……マツピング処理部、
57……データベースバツフア制御部、58……データベー
スバツフア、60……オペレーシヨンシステム、61……入
出力管理プログラム、70……データベース、80……CP
U、81……CHU(チヤネル装置)、82……インテリジエン
トフアイル制御装置(入出力制御装置)、83……磁気デ
イスク装置(二次記憶装置)、100……レコード追加
例、110,120,130,140……データベース格納エクステン
ト、111〜114,121〜124,131〜134,141〜144……クラス
タ、320……格納条件インデクス、321……プライマリ格
納条件インデクス、322……二次格納条件インデクス。
を示す図、第2図は本発明が適用されたデータベースシ
ステムの一実施例の構成図、第3図は本発明が適用され
るハードウエアの構成図、第4図(a)〜(i)は本発
明を適用したDBMSの処理のフローチヤートである。 20……格納条件指定、30……DBMS管理情報、31……デー
タデイクシヨナリ、32……デイレクトリ、40,41……ア
プリケイシヨンプログラム1〜n、50……データベース
管理システム(DBMS)、51……システム制御部、52……
論理処理部、53……物理処理部、54……データアクセス
処理部、55……排他制御部、56……マツピング処理部、
57……データベースバツフア制御部、58……データベー
スバツフア、60……オペレーシヨンシステム、61……入
出力管理プログラム、70……データベース、80……CP
U、81……CHU(チヤネル装置)、82……インテリジエン
トフアイル制御装置(入出力制御装置)、83……磁気デ
イスク装置(二次記憶装置)、100……レコード追加
例、110,120,130,140……データベース格納エクステン
ト、111〜114,121〜124,131〜134,141〜144……クラス
タ、320……格納条件インデクス、321……プライマリ格
納条件インデクス、322……二次格納条件インデクス。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大町 一彦 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 本間 敏夫 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株 式会社内 (72)発明者 今井 康裕 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (56)参考文献 特開 昭59−180761(JP,A) 特開 昭62−182849(JP,A) 池田.田中.戸田「リレーショナル演 算処理におけるディスクキャッシュメモ リに関する一考察」、情報処理学会第27 回全国大会講演論文集(▲II▼).P 721−722 西垣.山本.木下.大田「順次アクセ ス読み込み動作におけるディスクキャッ シュの効果解析」、情報第26回全国大会 講演論文集(▲I▼)P181−182 万仲.本間.宮崎.「データベースマ ネジメントシステム XDM(9)−X DM/RDにおけるデ−タベ−スアクセ ス−],情報処理学会第36回全国大会講 演論文集(▲I▼),P433−434 鈴木.田中.村田.岸本.伊藤.「分 散型データベース管理システムDEIM S−3」,情報処理学会論文誌,Vo l.26,No.6,1985,p1023−1032 (58)調査した分野(Int.Cl.6,DB名) G06F 17/30 G06F 12/00 JICST科学技術文献ファイル
Claims (8)
- 【請求項1】データベースに対する複数のユーザからの
問い合わせを解析して対応する内部処理手順を決定し、
それを実行する中央処理装置と、各ユーザで共用され得
るデータを格納する二次記憶装置と、少なくとも1つの
キャッシュ記憶装置を含み前記中央処理装置と前記二次
記憶装置との間で入出力処理要求のあった複数のレコー
ドの転送を制御する入出力制御装置とを含むデータベー
ス処理装置において、前記問い合わせにより作成された
内部処理手順から判断して入出力処理起動時に先読み動
作を行うか否かを決定する手段と、前記先読み動作を行
う場合、読み込み対象となるレコードが格納されている
検索範囲を作成する手段と、前記内部処理手順のアクセ
ス特性と前記キャッシュ記憶装置のサイズ、中央処理装
置の性能、入出力制御装置のトラフィック等のシステム
特性とを考慮して入出力処理要求単位である先読みレコ
ード数を決定する手段とを備えたことを特徴とするデー
タベース処理装置。 - 【請求項2】前記キャッシュ記憶装置上にユーザの問い
合わせ毎に一又は複数のレコード格納領域を確保し、指
定された検索範囲に基づいて該キャッシュ記憶装置のレ
コード格納領域上に先読み動作を行う手段を備えたこと
を特徴とする請求項1記載のデータベース処理装置。 - 【請求項3】前記キャッシュ記憶装置上に先読みした複
数のレコードに対し、予めロック処理によって排他制御
を行う手段を備えたことを特徴とする請求項1記載のデ
ータベース処理装置。 - 【請求項4】主記憶装置上のデータベースバッファに少
なくとも先読みする複数のレコードを読み込む領域を確
保する手段と、該領域のレコードの読み出し後、該領域
の不要となった部分を別の先読みレコードにシーケンシ
ャルに書き換え制御し管理する手段とを含むことを特徴
とする請求項1記載のデータベース処理装置。 - 【請求項5】与えられた検索条件式を満足するレコード
を格納するアドレス列を格納する手段と、与えられた検
索条件式を満足しないレコードだけを含むページを格納
するアドレス列を格納する手段と、与えられた検索条件
式をレコードのオーバフロー等で評価できなかったレコ
ードを格納するアドレス列を格納する手段と、与えられ
た検索条件式を満足するレコードを少なくとも一つ以上
含むページを格納するアドレス列を格納する手段と、与
えられた検索条件式を満足するレコードを指定されたフ
ィールドだけページ形式に編集した結果を格納する手段
と、与えられた検索条件式を満足するページだけ格納す
る手段とを備えたことを特徴とする請求項1記載のデー
ターベース処理装置。 - 【請求項6】予めレコードをキー値範囲あるいはハッシ
ュ評価値によってクラスタ化し格納する手段と、前期キ
ー値範囲あるいはハッシュ評価値によってクラスタ化さ
れて格納する各領域をアドレス付けし、各キー値範囲あ
るいはハッシュ評価値をキーとするインデクス等のメタ
データを維持管理する手段と、前期メタデータを用いて
検索すべきレコード格納範囲を絞り込む手段とを備えた
ことを特徴とする請求項1記載のデータベース処理装
置。 - 【請求項7】検索すべきレコード格納範囲を表わすアド
レスを並列にアクセス可能なレコードアドレス列に分割
する手段と、当レコードアドレス列を用いて入出力処理
要求を発行する手段とを備えたことを特徴とする請求項
1記載のデータベース処理装置。 - 【請求項8】データベースに対する複数のユーザからの
問い合わせを解析して対応する内部処理手順を決定し、
それを実行する中央処理装置と、各ユーザで共用され得
るデータを格納する二次記憶装置と、少なくとも1つの
キャッシュ記憶装置を含み前記中央処理装置と前記二次
記憶装置との間で入出力処理要求のあった複数のレコー
ドの転送を制御する入出力制御装置とを含むデータベー
ス処理装置において、前記問い合わせにより作成された
内部処理手順から判断して入出力処理起動時に先読み動
作を行うか否かを決定し、前記先読み動作を行う場合、
読み込み対象となるレコードが格納されている検索範囲
を作成し、前記内部処理手順のアクセス特性と前記キャ
ッシュ記憶装置のサイズ、中央処理装置の性能、入出力
制御装置のトラフィック等のシステム特性とを考慮して
入出力処理要求単位である先読みレコード数を決定する
ことを特徴とするデータベース処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63120478A JP2755390B2 (ja) | 1988-05-19 | 1988-05-19 | データベース処理装置及びデータベース処理方法 |
US07/353,698 US5317727A (en) | 1988-05-19 | 1989-05-17 | Method apparatus for determining prefetch operating for a data base |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63120478A JP2755390B2 (ja) | 1988-05-19 | 1988-05-19 | データベース処理装置及びデータベース処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02230373A JPH02230373A (ja) | 1990-09-12 |
JP2755390B2 true JP2755390B2 (ja) | 1998-05-20 |
Family
ID=14787169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63120478A Expired - Lifetime JP2755390B2 (ja) | 1988-05-19 | 1988-05-19 | データベース処理装置及びデータベース処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5317727A (ja) |
JP (1) | JP2755390B2 (ja) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0535844A (ja) * | 1991-07-30 | 1993-02-12 | Matsushita Graphic Commun Syst Inc | 電子フアイル装置 |
JPH04256041A (ja) * | 1991-02-07 | 1992-09-10 | Oki Electric Ind Co Ltd | データベース検索装置 |
JPH05233720A (ja) * | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | Dbにおけるデータベースアシスト方法 |
US6026452A (en) | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
JP2927325B2 (ja) * | 1994-06-29 | 1999-07-28 | 富士ゼロックス株式会社 | データ管理システム |
JP3699733B2 (ja) * | 1994-08-10 | 2005-09-28 | 株式会社日立製作所 | タプル単位排他制御方式 |
JP3593366B2 (ja) * | 1994-09-19 | 2004-11-24 | 株式会社日立製作所 | デ−タベ−ス管理方法 |
JPH08115306A (ja) * | 1994-10-13 | 1996-05-07 | Matsushita Electric Ind Co Ltd | データ転送制御方法 |
US5687347A (en) * | 1994-09-19 | 1997-11-11 | Matsushita Electric Industrial Co., Ltd. | Data providing device, file server device, and data transfer control method |
US6085234A (en) * | 1994-11-28 | 2000-07-04 | Inca Technology, Inc. | Remote file services network-infrastructure cache |
US5832231A (en) * | 1995-01-13 | 1998-11-03 | U S West, Inc. | Method and system for preloading interactive multimedia applications |
US5758149A (en) * | 1995-03-17 | 1998-05-26 | Unisys Corporation | System for optimally processing a transaction and a query to the same database concurrently |
US20010002851A1 (en) * | 1995-04-14 | 2001-06-07 | Takao Shimada | Multimedia data processing system in network |
JPH08305621A (ja) * | 1995-05-02 | 1996-11-22 | Nippon Telegr & Teleph Corp <Ntt> | データベースアクセス共有方式 |
US5649153A (en) * | 1995-06-19 | 1997-07-15 | International Business Machines Corporation | Aggressive adaption algorithm for selective record caching |
US5881232A (en) * | 1996-07-23 | 1999-03-09 | International Business Machines Corporation | Generic SQL query agent |
US6195735B1 (en) * | 1996-12-31 | 2001-02-27 | Texas Instruments Incorporated | Prefetch circuity for prefetching variable size data |
US6339774B1 (en) * | 1997-01-29 | 2002-01-15 | Kabushiki Kaisha Toshiba | Information sharing system and computer program product for causing computer to support the information sharing system |
US6341281B1 (en) | 1998-04-14 | 2002-01-22 | Sybase, Inc. | Database system with methods for optimizing performance of correlated subqueries by reusing invariant results of operator tree |
US6260116B1 (en) | 1998-07-01 | 2001-07-10 | International Business Machines Corporation | System and method for prefetching data |
JP2000020362A (ja) * | 1998-07-01 | 2000-01-21 | Nec Corp | データベース管理装置およびデータベース管理方法 |
US6728726B1 (en) * | 1999-03-05 | 2004-04-27 | Microsoft Corporation | Prefetching and caching persistent objects |
US6848029B2 (en) | 2000-01-03 | 2005-01-25 | Dirk Coldewey | Method and apparatus for prefetching recursive data structures |
US6615317B2 (en) * | 2000-07-07 | 2003-09-02 | Fitech Laboratories, Inc. | Methods and systems for providing a highly scalable synchronous data cache |
JP4087097B2 (ja) * | 2001-11-12 | 2008-05-14 | 株式会社日立製作所 | データベース管理システム情報を考慮したデータ再配置方法およびデータ再配置を行う計算機システム |
JP4162183B2 (ja) * | 2001-11-12 | 2008-10-08 | 株式会社日立製作所 | データベース管理システムの静的な情報を取得する手段を有する記憶装置 |
JP4162184B2 (ja) * | 2001-11-14 | 2008-10-08 | 株式会社日立製作所 | データベース管理システムの実行情報を取得する手段を有する記憶装置 |
JP4116413B2 (ja) | 2002-12-11 | 2008-07-09 | 株式会社日立製作所 | プリフェッチアプライアンスサーバ |
US20050055304A1 (en) * | 2003-09-10 | 2005-03-10 | Lutnick Howard W. | Trading application program interface |
US7844586B2 (en) * | 2004-03-31 | 2010-11-30 | Sap | Methods and systems in monitoring tools for effective data retrieval |
US7587804B2 (en) * | 2004-12-20 | 2009-09-15 | General Motors Corporation | System and method for optimization of product throughput |
US7853585B2 (en) | 2005-03-17 | 2010-12-14 | International Business Machines Corporation | Monitoring performance of a data processing system |
JP5261809B2 (ja) * | 2005-08-31 | 2013-08-14 | 株式会社日立製作所 | 計算機システム及びデータベース管理システムプログラム |
US7814095B2 (en) * | 2006-12-27 | 2010-10-12 | Sybase, Inc. | Optimizing the navigation of one-to-one and one-to-many relationships using query batching in named transactions |
JP5042647B2 (ja) * | 2007-01-26 | 2012-10-03 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | 検索システムおよびその方法 |
US8145614B1 (en) * | 2007-12-28 | 2012-03-27 | Emc Corporation | Selection of a data path based on the likelihood that requested information is in a cache |
WO2010089802A1 (en) * | 2009-02-06 | 2010-08-12 | Hitachi, Ltd. | Information processing system and program for controlling the information processing system |
JP5098120B2 (ja) * | 2011-10-12 | 2012-12-12 | 株式会社日立製作所 | 計算機システム及びデータベース管理システムプログラム |
JP2015179949A (ja) * | 2014-03-19 | 2015-10-08 | コニカミノルタ株式会社 | 画像形成装置、制御方法、および制御プログラム |
US10268745B2 (en) | 2015-05-29 | 2019-04-23 | Oracle International Corporation | Inherited dimensions |
CA3113291C (en) * | 2019-02-14 | 2023-08-15 | Huawei Technologies Co., Ltd. | System and method for enhancing processing of a query to a relational database with software-based near-data processing (ndp) technology |
EP3964959A1 (en) * | 2020-09-03 | 2022-03-09 | ARM Limited | Data processing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3898624A (en) * | 1973-06-14 | 1975-08-05 | Amdahl Corp | Data processing system with variable prefetch and replacement algorithms |
US4422145A (en) * | 1981-10-26 | 1983-12-20 | International Business Machines Corporation | Thrashing reduction in demand accessing of a data base through an LRU paging buffer pool |
US4509119A (en) * | 1982-06-24 | 1985-04-02 | International Business Machines Corporation | Method for managing a buffer pool referenced by batch and interactive processes |
JPS5918076A (ja) * | 1982-07-19 | 1984-01-30 | 本田技研工業株式会社 | 自動二輪車のアンチリフト装置 |
JPS62182849A (ja) * | 1986-02-06 | 1987-08-11 | Nec Corp | デ−タ管理方式 |
-
1988
- 1988-05-19 JP JP63120478A patent/JP2755390B2/ja not_active Expired - Lifetime
-
1989
- 1989-05-17 US US07/353,698 patent/US5317727A/en not_active Expired - Lifetime
Non-Patent Citations (4)
Title |
---|
万仲.本間.宮崎.「データベースマネジメントシステム XDM(9)−XDM/RDにおけるデ−タベ−スアクセス−],情報処理学会第36回全国大会講演論文集(▲I▼),P433−434 |
池田.田中.戸田「リレーショナル演算処理におけるディスクキャッシュメモリに関する一考察」、情報処理学会第27回全国大会講演論文集(▲II▼).P721−722 |
西垣.山本.木下.大田「順次アクセス読み込み動作におけるディスクキャッシュの効果解析」、情報第26回全国大会講演論文集(▲I▼)P181−182 |
鈴木.田中.村田.岸本.伊藤.「分散型データベース管理システムDEIMS−3」,情報処理学会論文誌,Vol.26,No.6,1985,p1023−1032 |
Also Published As
Publication number | Publication date |
---|---|
JPH02230373A (ja) | 1990-09-12 |
US5317727A (en) | 1994-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2755390B2 (ja) | データベース処理装置及びデータベース処理方法 | |
Huang et al. | X-Engine: An optimized storage engine for large-scale E-commerce transaction processing | |
Larson et al. | Real-time analytical processing with SQL server | |
US7991794B2 (en) | Pipelining operations involving DML and query | |
US5758149A (en) | System for optimally processing a transaction and a query to the same database concurrently | |
Stonebraker et al. | Mariposa: A new architecture for distributed data | |
US7917502B2 (en) | Optimized collection of just-in-time statistics for database query optimization | |
EP1723566B1 (en) | System and method for efficient file content searching within a file system | |
CN108536692B (zh) | 一种执行计划的生成方法、装置及数据库服务器 | |
US6557082B1 (en) | Method and apparatus for ensuring cache coherency for spawned dependent transactions in a multi-system environment with shared data storage devices | |
US6353819B1 (en) | Method and system for using dynamically generated code to perform record management layer functions in a relational database manager | |
JP2781092B2 (ja) | システム間排他制御方式 | |
JP3808941B2 (ja) | 並列データベースシステム通信回数削減方法 | |
KR102389609B1 (ko) | 쓰기 최적화 데이터베이스에서의 디스크 스캔 연산 gpu 오프로딩 방법 | |
Zhang et al. | A prefetching indexing scheme for in-memory database systems | |
Kalita et al. | Durablefs: A file system for persistent memory | |
JP3538322B2 (ja) | データベース管理システムおよび問合せの処理方法 | |
US6438536B1 (en) | Method and system for dynamically generating code to enhance the performance of a relational database manager that provides access to a relational database | |
JP3599055B2 (ja) | 記憶装置管理方法およびシステム | |
JP3060225B2 (ja) | デ―タベ―ス管理方法およびシステム | |
JP4422697B2 (ja) | データベース管理システムおよび問合せの処理方法 | |
Kvet et al. | Flower Master Index for Relational Database Selection and Joining | |
JP3732655B2 (ja) | データベース管理システム、データベース管理装置および問い合わせ処理方法 | |
JP3668243B2 (ja) | データベース管理システム | |
Mejia Alvarez et al. | Database Systems: Real Examples |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090306 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090306 Year of fee payment: 11 |