JPH05233720A - Dbにおけるデータベースアシスト方法 - Google Patents

Dbにおけるデータベースアシスト方法

Info

Publication number
JPH05233720A
JPH05233720A JP4032403A JP3240392A JPH05233720A JP H05233720 A JPH05233720 A JP H05233720A JP 4032403 A JP4032403 A JP 4032403A JP 3240392 A JP3240392 A JP 3240392A JP H05233720 A JPH05233720 A JP H05233720A
Authority
JP
Japan
Prior art keywords
database
processing
item
assist
record
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
JP4032403A
Other languages
English (en)
Inventor
Takayuki Nakazawa
孝之 仲澤
Takashi Kizuka
隆史 起塚
Nobuyuki Takebe
信幸 武部
Hitoshi Annen
仁志 安念
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP4032403A priority Critical patent/JPH05233720A/ja
Priority to US08/019,882 priority patent/US5465352A/en
Publication of JPH05233720A publication Critical patent/JPH05233720A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 本発明は、データベースアシスト方法に関
し、依頼元とデータベースとの間にデータベースアシス
トDBAを新たに設け、データベースのレコードに対し
て選択、射影、集計などを高速処理し、その処理結果を
一括して依頼元に返却し、チャネル装置を経由してホス
ト内に取り込むデータ量を削減して負荷の軽減およびホ
ストの処理の一部の負担を図ると共に、インデックスの
簡易化や、データベースの表の更新処理の高速化を図る
ことを目的とする。 【構成】 依頼元とデータベースとの間に設け、処理依
頼に対応してデータベースの該当ブロック群をメモリに
格納して指示された項目について指示された処理(例え
ば取り出し、集計など)を行うデータベースアシスト3
1を備え、このデータベースアシスト31が指示された
処理を繰り返し行い、その結果を依頼元に一括して返却
するように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データベースのレコー
ドの項目の選択などの処理を行うデータベースアシスト
方法に関するものである。
【0002】
【従来の技術】リレーショナルデータベース(RDBと
いう)の代表的な機能には、選択、射影、結合、集計、
グルーピング、ソーティングなどがある。これを処理す
るために、RDBMS(リレーショナルデータベース・
マネージャー)がデータベースに格納されたレコードを
ホスト内のメモリに一旦読み込んで加工を行う。データ
ベースに書き込まれた全レコードを取り出してホスト内
のメモリに格納して1つ1つ加工処理を行うと、ホスト
のCPUおよびチャネル装置に大きな負荷がかかる。こ
れを解決するために、一般にRDBの処理の技術とし
て、図10に示すように、インデックスを利用する方法
がある。この図10のインデックスを使用する方法によ
り、特定のレコードを決定してこれのみをデータベース
からホスト内のメモリに読み込んで加工処理することが
できるので、ホストに読み込むレコード数を減らすこと
ができ、CPUおよびチャネル装置の負荷を軽減するよ
うにしていた。以下図10の構成および動作を簡単に説
明する。
【0003】図10は、従来のインデックスを利用する
方法の説明図を示す。ここで、インデックスA、B、
C、D、Eは、それぞれ異なる項目に対するインデック
を設定したものであって、それぞれからRDBの該当す
るレコードを図示矢印を用いて示すようにポイントして
いる。
【0004】RDBは、複数の項目(例えば従業員番
号、氏名、部課係名、生年月日など)の内容を設定した
レコードの群からなるものである。例えば検索する場
合、インデックスA、B、C、D、E、Fのうちから該
当する項目(例えば従業員番号)のインデックスを参照
して該当するRDBのレコードを読み出す。これら読み
出したレコードを加工(例えば昇順にソート)して出力
する。
【0005】
【発明が解決しようとする課題】しかし、上述した図1
0のインデックスを利用した方法は、特に同一の表に多
用な検索処理を行う業務では、複数の項目についてイン
デックスを設定してこれらを保存する必要があり、以下
の問題が生じる。
【0006】(1) 多数の項目のイッデクスを作成す
るために、多くの時間が必要になってしまう問題があ
る。 (2) RDBの行の更新を行うと、インデックスも更
新しなければならず、更新系の処理時間が多く必要にな
ってしまう問題がある。
【0007】(3) インデックスの定義に対する設計
およびメンテナンスに多大の手間が必要になってしまう
問題がある。本発明は、これらの問題を解決するため
に、依頼元とデータベースとの間にデータベースアシス
ト(DBA)を新たに設け、データベースのレコードに
対して選択、射影、集計などを高速処理し、その処理結
果を一括して依頼元に返却し、チャネル装置を経由して
ホスト内に取り込むデータ量を削減して負荷の軽減およ
びホストの処理の一部の負担を図ると共に、インデック
スの簡易化や、データベースの表の更新処理の高速化を
図ったり、更にデータデースアシストが利用できないと
きに実行手順表に従って処理を続行可能にすることを目
的としている。
【0008】
【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。図1において、最適化処
理21は、依頼元からの処理依頼に対応して、実行手順
表22を作成したりなどするものである。
【0009】実行制御23は、実行手順表22からレコ
ード内の項目構成を設定した項目情報テーブルCITお
よび抽出する項目、抽出条件を設定した選択・射影テー
ブルSPTを生成するものである。
【0010】データベースアシスト31は、処理依頼に
対応してデータベース32の該当ブロック群をメモリ
(例えばディスクキャッシュ33)に格納して指示され
た項目について指示された処理(例えば取り出し、集計
など)を行うものである。
【0011】データベース32は、レコードに項目の内
容を設定して保存したものである。ディスクキャッシュ
メモリ33は、ここでは、データベース32から取り出
したブロック群を格納し、指示された処理を行ったりな
どするものである。
【0012】
【作用】本発明は、図1に示すように、データベースア
シスト31を依頼元とデータベース32との間に設け、
このデータベースアシスト31が処理依頼に対応してデ
ータベース32の該当ブロック群をメモリに格納して指
示された項目について指示された処理(例えば取り出
し、集計など)を繰り返し行い、その結果を依頼元に一
括して返却するようにしている。
【0013】また、最適化処理21が依頼元からの処理
依頼に対応して、実行手順表22を作成し、実行制御2
3がこの実行手順表22からレコード内の項目構成を定
義した項目情報テーブルCITおよび抽出する項目、抽
出条件を定義した選択・射影テーブルSPTを生成し、
データベースアシスト31がこれら項目情報テーブルC
ITおよび選択・射影テーブルSPTをもとに、データ
ベース32の該当ブロック群をメモリに格納して指示さ
れた項目について指示された処理(例えば取り出し、集
計など)を繰り返し行い、処理結果をまとめて一括して
依頼元に返却するようにしている。
【0014】また、データベースアシスト31から一括
して返却された処理結果を受け取った実行制御23が依
頼元から指示された加工(例えばソート、集計結果の総
和算出など)を行い、その結果を依頼元に返却する(渡
す)ようにしている。
【0015】また、データベース32のディスクキャッ
シュメモリ33に対してデータベース32の該当ブロッ
ク群を格納し、指示された項目について指示された処理
を行うようにしている。
【0016】また、データベースアシスト31が未装
着、あるいはデータベースアシスト31に対して処理指
示したことに対応してエラー応答があったりなどして利
用不可と判明したときに、実行制御23が実行手順表2
2に従ってデータベースから該当レコードを取り込んで
処理を続行するようにしている。
【0017】従って、依頼元とデータベース32との間
にデータベースアシスト(DBA)31を新たに設け、
データベース32のレコードに対して選択、射影、集計
などを高速処理し、その処理結果を一括して依頼元に返
却したりすることにより、チャネル装置を経由してホス
ト内に取り込むデータ量を削減して負荷の軽減およびホ
ストの処理の一部を負担を図ると共に、インデックスの
簡易化や、データベースの表の更新処理の高速化を図る
ことが可能となる。また、データデースアシスト31が
利用できないときに実行手順表に従って処理を続行する
ことも可能となる。
【0018】
【実施例】次に、図1から図9を用いて本発明の実施例
の構成および動作を順次詳細に説明する。
【0019】図1は、本発明の1実施例構成図を示す。
図1において、アプリケーション1は、アプリケーショ
ンプログラム(業務プログラム)であって、データベー
ス32、例えばRDB(リレーショナル・データベー
ス)をアクセスして各種処理を行うものである。このア
プリケーション1は、後述するように、SQL文を用い
て処理依頼するようにしている(後述する図2のS1、
図6のS21の説明を参照)。
【0020】RDBMS2は、リレーショナル・データ
ベース・マネージャーであって、アプリケーション1か
らのSQL文によるデータベースの処理依頼を受け付
け、これを解析して実行手順表を作成し、更に項目情報
テーブルCITおよび選択・射影情報テーブルSPTを
作成してデータベースアシスト31に依頼し、データベ
ース32から取り出したり、集計したりした処理結果を
受け取り、必要に応じて更に処理(集計、ソートなど)
を行い、アプリケーション1に返却するものである。ま
た、実行手順表をもとに従来のようにインデックスを参
照して該当するレコードをデータベース32から順次取
り込んで指示された項目のみを取り出したり、集計した
りし、その処理結果をアプリケーション1に返却するこ
ともできる。RDBMS2は、ここでは、最適化処理2
1、実行制御23、レコード制御24、およびバッファ
25などから構成される。
【0021】最適化処理21は、アプリケーション1か
らの処理依頼に対応して、実行手順表22を作成するも
のである。詳述すれば、RDBMS2の機能構成の中に
インデックスの有無やレコード長などの定義情報、実際
のデータベースに格納されているレコード件数や使用ペ
ージ数などの統計情報を格納したディクショナリを持っ
ているので、最適化処理21は、SQL文をもとにこの
ディクショナリを参照し、SQL文に記述されている検
索条件にインデックスを利用できるパスがあるか判定
し、実行手順表22を作成する(図3参照、後述す
る)。
【0022】実行手順表22は、後述する図3に示すよ
うに、SQL文をもとにデータベースを検索する手順を
設定した表である。実行制御23は、実行手順表22か
らレコード内の項目構成を定義した項目情報テーブルC
ITおよび抽出する項目、抽出条件を定義した選択・射
影テーブルSPTを生成したりなどするものである。
尚、実行手順表22に、従来のインデックスを利用した
アクセスの指定があった場合には、レコード制御24に
対してインデックスを利用したレコードアクセスを依頼
する。レコード制御24は、インデックスを利用してデ
ータベース32をアクセスし、読み込んだレコードを実
行制御23に返却する。実行制御23は、このレコード
から該当する項目を取り出したりなどの処理を行う。そ
して、その処理結果をアプリケーション1に返却し(渡
し)たりなどする。
【0023】レコード制御24は、実行制御23からの
アクセス依頼に対応して、項目情報テーブルCITおよ
び選択・射影テーブルSPTをデータベースアシスト3
1に通知し、処理依頼したりなどするものである。
【0024】バッファ25は、データベースアシスト3
1からの処理結果などを格納するものである。ディスク
装置3は、データベース32を格納し、任意の項目を選
択したりなどするための外部記憶装置であって、ここで
は、データベースアシスト31、データベース32、デ
ィスクキャッシュ33などから構成されるものである。
【0025】データベースアシスト31は、処理依頼に
対応してデータベース32の該当ブロック群をディスク
キャッシュ33に格納して指示された項目について指示
された処理(例えば取り出し、集計など)を行い、その
処理結果を一括してRDBMS2に返却したりするもの
である。
【0026】データベース32は、レコードに項目の内
容を設定して保存したものである。ディスクキャッシュ
メモリ33は、データベース32の一部のレコードを保
存し、ヒットしたときにこれからアクセス元に返却し、
データベース32のアクセスを高速化するものであっ
て、ここでは、その一部をデータベース32から取り出
したブロック群を格納するために使用するものである。
【0027】次に、図2のデータベースの選択・射影フ
ローチャートの順序に従い、図1の構成の動作を詳細に
説明する。図2において、S1は、アプリケーション1
がSQL文の発行を行い、データベース(RDB)32
の選択・射影を依頼する。ここでは、例えばSQL文と
して、下記を発行し、RDBMS2に処理依頼する。
【0028】 SELECT COLA FROM TABA WHERE COLB=100 ORDER BY COLA ここで、SELCT COLA FROM TABA
は、“表TABAのレコードから項目COLAを選択し
て出力する”を表す。WHERE COLB=100
は、“項目COLBのキー値は100である”を表す。
ORDER BYCOLAは“項目COLAでソート
(並べる)しなさい”を表す。これらをまとめれば、 ・項目COLBをキーにしてその値が100のレコード
を表TABAから検索して取り出し、取り出したレコー
ドから項目COLAを出力する。そして、これら出力し
た項目COLAをソートして返却する、となる。
【0029】S2は、最適化処理21が、SQL文をも
とに実行手順表を作成する。これは、上記SQL文を解
析し、図3の(A)の実行手順表22を作成する。ここ
で、 項目COLBをキーにして表TABAを検索する。項
目COLBのキー値は100である。
【0030】検索結果が無くなるまで繰り返す。表T
ABAのレコードから項目COLAを出力する。尚、上
述のSQL文の最後のORDER BY COLAは、
データベースアシスト31が実行できないので、図3の
(A)の実行手順表22に記載を省略したものであっ
て、実際は作成しておき、データベースアシスト31か
ら返却された処理結果をもとに実行制御23が実行する
(図2のS11でソート処理を実行する)。
【0031】S3は、実行制御23が実行手順表からC
IT及びSPTを作成する。これは、最適化処理21か
ら渡された図3の(A)の実行手順表22をもとに、実
行制御23が図4の項目情報テーブルCIT及び図5の
選択・射影情報テーブルSPTを作成する。ここで、項
目情報テーブルCITは、レコード内の項目構成(項目
の属性、精度、位取りなど)を設定したものであって、
具体的には図4に示すように、 ・固定長項目情報アドレス、固定長項目数に対応して、
項目Aの情報(項目番号、項目長、データ属性、精度、
位取りなど)というように項目数だけ設定 ・可変長項目情報アドレス、可変長項目数に対応して、
項目Aの情報(項目番号、項目長、データ属性、精度、
位取りなど)というように項目数だけ設定したものであ
る。
【0032】また、選択・射影情報テーブルSPTは、
抽出する項目、抽出条件などを設定したものであって、
具体的には図5に示すように、 ・結果情報:結果としてどの項目を出力するなどの情報
である。
【0033】・条件式個数 ・項目のレコード内位置 ・項目内の条件式数 ・比較式 ・データ属性 ・比較データ ・長さ/位取り などのうち必要なものを設定したものである。
【0034】S4は、レコード制御24にCIT及びS
PTを使ってDBAを利用するアクセス依頼を指示す
る。S5は、S4からの依頼に対応して、レコード制御
24がCIT及びSPTをDBA31に送る為に、ST
ART I/O(スタートI/O命令)を発行する。
【0035】S6は、S5で発行されたSTART I
/Oを受け取ったDBA31がCIT及びSPTを取り
出し、データベース32から取り出したブロック群をメ
モリ(ディスクキャッシュ33のうちのメモリとして使
用する部分)に格納する。
【0036】S7は、CIT及びSPTを利用して該当
レコードを検索し、該当項目を取り出す。S8は、該当
項目を取り出す対象のレコードが終了か判別する。YE
Sの場合には、CIT及びSPTで指示された処理を終
了したので、S9で結果の項目群をレコード制御24を
介して実行制御23に返す。NOの場合には、次のレコ
ードについてS7を繰り返し行う。
【0037】S10は、実行制御23が表全体の処理が
終わりか判別する。YESの場合には、S11で結果の
加工としてSQL文の ORDER BY COLA で指示されたソートの加工、即ちDBA31がデータベ
ース32から取り出して返した項目群を昇順に並べる加
工を実行し、その加工結果をアプリケーション1に送
る。一方、NOの場合には、次のボリュームについてS
4以降を繰り返し行う。
【0038】S12は、アプリケーション1が実行制御
23から送られた結果を受け取る。以上によって、アプ
リケーション1がSQL文で指示したデータベースの選
択・射影指示およびソート指示に対応して、最適化処理
21が実行手順表22を作成し、実行制御23がこの実
行手順表22から項目情報テーブルCITおよび選択・
射影情報テーブルSPTを作成し、DBA31がこれら
項目情報テーブルCITおよび選択・射影情報テーブル
SPTをもとにデータベース32からブロック群をディ
スクキャッシュ33中のメモリとして使用する部分に格
納し、該当する項目を取り出し、その結果を一括して実
行制御23に返却し、実行制御23が必要に応じて加工
処理(ここでは指示されたソート)を行い、その結果を
アプリケーション1に渡す。これらにより、従来のイン
デックスを使用することなく、DBA31がデータベー
ス32から高速に該当項目を取り出して一括して必要な
データのみを実行制御23(RDBMS2)に返却で
き、従来のディスク装置3に格納されているデータベー
ス32から検索対象の多量のレコードをRDBMS2に
転送する必要がなくなり、転送量を大幅に削減すること
が可能となる。
【0039】図3は、本発明の実行手順表例を示す。図
3の(A)は、図2のS1のSQL文の実行手順表を示
す。この図2のS1のSQL文のうち ORDER BY COLA は、DBA31が実行できない機能であるので、記載し
ないで省略してあるが実際には記載し、図2のS11で
実行制御23が実行、ここではソートする。
【0040】図3の(B)は、後述する図6のS21の
SQL文の実行手順表を示す。この図6のS21のSQ
L文のうち総和はDBA31が実行できない機能である
ので、記載しないで省略してあるが実際には記載し、図
6のS31で実行制御23が実行、ここでは集計結果の
総和を求める。
【0041】図4は、本発明の項目情報テーブルCIT
の例を示す。これは、最適化処理21がSQL文から作
成するものである。これは、既述したように、データベ
ース32のレコード内の項目構成(項目属性、精度、位
取りなど)を設定したものであって、固定長項目、可変
長項目毎に、項目Aの情報・・・項目Xの情報というよ
うに、図示のように設定する。
【0042】図5は、本発明の選択・射影情報テーブル
SPTの例を示す。これは、最適化処理21がSQL文
から作成するものである。これは、既述したように、デ
ータベース32から抽出する項目、抽出条件を設定(定
義)したものであって、結果情報、条件式個数、項目の
レコード内位置、項目内の条件式数、比較式、データ属
性、比較データ、長さ/位取りなどのうちの必要なもの
を設定する。
【0043】図6は、本発明の選択・集計フローチャー
トを示す。図6において、S21は、アプリケーション
1がSQL文の発行を行い、データベース(RDB)3
2の選択・集計を依頼する。ここでは、例えばSQL文
として、下記を発行し、RDBMS2に処理依頼する。
【0044】SELECT SUM(COLA) RR
OM TABA WHERE COLB=100 ここで、SELCT SUM(COLA) FROM
TABAは、“表TABAのレコードから項目COLA
を取り出して総和を求める”を表す。WHERE CO
LB=100は、“項目COLBのキー値は100であ
る”を表す。これらをまとめれば、 ・項目COLBをキーにしてその値が100のレコード
を表TABAから検索して取り出し、取り出したレコー
ドから項目COLAの総和を求める。
【0045】S22は、最適化処理21が、SQL文を
もとに実行手順表を作成する。これは、上記SQL文を
解析し、図3の(B)の実行手順表22を作成する。こ
こで、 項目COLBをキーにして表TABAを検索する。項
目COLBのキー値は100である。
【0046】検索結果が無くなるまで繰り返す。表T
ABAのレコードから項目COLAを取り出して総和を
求める。S23は、実行制御23が実行手順表からCI
T及びSPTを作成する。これは、最適化処理21から
渡された図3の(B)の実行手順表22をもとに、実行
制御23が図4の項目情報テーブルCIT及び図5の選
択・射影情報テーブルSPTを作成する。ここで、項目
情報テーブルCITは、レコード内の項目構成(項目の
属性、精度、位取りなど)を設定したものである。ま
た、選択・射影情報テーブルSPTは、抽出する項目、
抽出条件などを設定したものである。
【0047】S24は、レコード制御24にCIT及び
SPTを使ってDBAを利用するアクセス依頼を指示す
る。S25は、S24からの依頼に対応して、レコード
制御24がCIT及びSPTをDBA31に送る為に、
START I/O(スタートI/O命令)を発行す
る。
【0048】S26は、S25で発行されたSTART
I/Oを受け取ったDBA31がCIT及びSPTを
取り出し、データベース32から取り出したブロック群
をメモリ(ディスクキャッシュ33のうちのメモリとし
て使用する部分)に格納する。
【0049】S27は、CIT及びSPTを利用して該
当レコードを検索し、該当項目を検索し、総和を求め
る。S28は、該当項目を検索して総和を求める対象の
レコードが終りか判別する。YESの場合には、CIT
及びSPTで指示された処理を終了したので、S29で
集計結果をレコード制御24を介して実行制御23に返
す。NOの場合には、次のレコードについてS27を繰
り返し行う。
【0050】S30は、実行制御23が表全体の処理が
終わりか判別する。YESの場合には、S31で結果の
加工として全ての集計結果の総和を求め、この求めた集
計結果の総和をアプリケーション1に送る。NOの場合
には、次のボリュームについて、S24以降を繰り返し
行う。
【0051】S32は、アプリケーション1が実行制御
23から送られた結果を受け取る。以上によって、アプ
リケーション1がSQL文で指示したデータベースの選
択・集計指示に対応して、最適化処理21が実行手順表
22を作成し、実行制御23がこの実行手順表22から
項目情報テーブルCITおよび選択・射影情報テーブル
SPTを作成し、DBA31がこれら項目情報テーブル
CITおよび選択・射影情報テーブルSPTをもとにデ
ータベース32からブロック群をディスクキャッシュ3
3中のメモリとして使用する部分に格納し、該当する項
目を検索して総和を求め、この総和の集計結果を一括し
て実行制御23に返却し、実行制御23が必要に応じて
結果の加工処理を行い(ここでは集計結果の総和を求
め)、その集計結果の総和をアプリケーション1に渡
す。これらにより、従来のインデックスを使用すること
なく、DBA31がデータベース32から高速に該当項
目を検索して総和を求め、この総和の集計結果を一括し
て実行制御23(RDBMS2)に返却でき、従来のデ
ィスク装置3に格納されているデータベース32から検
索対象の多量のレコードをRDBMS2に転送する必要
がなくなり、転送量を大幅に削減することが可能とな
る。ここでは、図7は、本発明のDBAの集計機能例を
示す。これは、図1のDB31が実行できる集計機能例
を示したものである。
【0052】・レコード件数は、DBA31が集計対象
のレコード件数が返却されるので、これをレコード件数
とする。 ・項目値の合計、項目値の件数:NULL値(ナル値)
を除いた項目が持つ値の合計及び件数が項目毎に返却さ
れるので、これらから算出できる。
【0053】尚、DBA31が持つ集計機能は、ページ
群単位で行うため、DBAが返却した集計結果を、図2
のS11や図6のS31で実行制御23がこれらページ
群の結果をまとめて集計する必要がある。
【0054】図8は、本発明のDBAの利用範囲及び返
却情報の再集計例を示す。ここで、集合関数は、図示の
ようにSUM(和)、AVG(平均)、MAX(最
大)、MIN(最小)、COUNT(項目)、COUN
T(*)である。DBA機能の欄は、集合関数の機能の
有無を示す。再集計の内容は、図示のように、再集計す
るときに行う内容を示す。例えば集合関数のAVG(平
均)は、DBA31からの項目値の合計及び件数の合計
から平均値を取ることによって算出する。
【0055】図9は、本発明のDBAで処理を行う条件
式の例を示す。ここに記述した条件式は、DBA31で
処理可能なものである。 ・項目演算子 定数は、比較述語であって、例えば“項
目B=100”である。
【0056】・LIKE述語は、例えば文字の部分一致
である。 ・IN述語は、例えば“項目B IN (100、20
0、300)”である。
【0057】従って、SQL文で処理指示された条件の
うち、これらDBA31で処理可能な条件式をSPTに
変換して実行する。処理不可能は条件式は、DBA31
によって抽出されたレコードに対してRDBMS2の実
行制御23で評価する。
【0058】
【発明の効果】以上説明したように、本発明によれば、
依頼元とデータベース32との間にデータベースアシス
ト(DBA)31を新たに設け、データベース32のレ
コードに対して選択、射影、集計などを高速処理し、そ
の処理結果を一括して依頼元に返却したり、必要に応じ
て更にRDBMS2で再集計などして依頼元に渡したり
する構成を採用しているため、チャネル装置を経由して
ホスト内に取り込むデータ量を削減して負荷の軽減およ
びホストの処理の一部を負担を図ると共に、インデック
スの簡易化や、データベースの表の更新処理の高速化を
図ることができる。
【0059】また、本発明に係わるデータベースアシス
トDBAの採用によって、ハードウェアを利用するため
の情報(項目情報テーブルCIT、選択・射影テーブル
SPT)をデータベースの定義情報から切り離している
ため、データベースの作成と非同期に当該データベース
アシストDBAを導入することができると共に、当該デ
ータベースアシストDBAの未装着や故障したりなどし
て利用不可と判明したときに、実行制御23が自動的に
実行手順表22に従ってデータベースから該当レコード
を取り込んで処理を行ったり、処理を続行したりするこ
とができる。
【図面の簡単な説明】
【図1】本発明の1実施例構成図である。
【図2】本発明のデータベースの選択・射影フローチャ
ートである。
【図3】本発明の実行手順表例である。
【図4】本発明の項目情報テーブルCITの例である。
【図5】本発明の選択・射影情報テーブルSPTの例で
ある。
【図6】本発明の選択・集計フローチャートである。
【図7】本発明のDBAの集計機能例である。
【図8】本発明のDBAの利用範囲及び返却情報の再集
計例である。
【図9】本発明のDBAで処理を行う条件式の例であ
る。
【図10】従来のインデックスを利用する方法の説明図
である。
【符号の説明】
1:アプリケーション 2:RDBMS 21:最適化処理 22:実行手順表 23:実行制御 24:レコード制御 25:バッファ 3:ディスク装置 31:データベースアシスト(DBA) 32:データベース 33:ディスクキャッシュ CIT:項目情報テーブル SPT:選択・射影情報テーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 安念 仁志 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】データベースのレコードの項目の選択など
    の処理を行うデータベースアシスト方法において、 依頼元とデータベースとの間に設け、処理依頼に対応し
    てデータベースの該当ブロック群をメモリに格納して指
    示された項目について指示された処理(例えば取り出
    し、集計など)を行うデータベースアシスト(31)を
    備え、 このデータベースアシスト(31)が指示された処理を
    繰り返し行い、その結果を依頼元に一括して返却するよ
    うに構成したことを特徴とするDBにおけるデータベー
    スアシスト方法。
  2. 【請求項2】データベースのレコードの項目の選択など
    の処理を行うデータベースアシスト方法において、 依頼元からの処理依頼に対応して、実行手順表(22)
    を作成する最適化処理(21)と、 この実行手順表(22)からレコード内の項目構成を設
    定した項目情報テーブルCITおよび抽出する項目、抽
    出条件を設定した選択・射影テーブルSPTを生成する
    実行制御(23)と、 これら項目情報テーブルCITおよび選択・射影テーブ
    ルSPTをもとに、データベースの該当ブロック群をメ
    モリに格納して指示された項目について指示された処理
    (例えば取り出し、集計など)を行うデータベースアシ
    スト(31)とを備え、 このデータベースアシスト(31)が指示された処理の
    結果をまとめて一括して依頼元に返却するように構成し
    たことを特徴とするDBにおけるデータベースアシスト
    方法。
  3. 【請求項3】上記データベースアシスト(31)から一
    括して返却された処理の結果を受け取った実行制御(2
    3)が依頼元から指示された加工(例えばソート、集計
    結果の総和算出など)を行い、その結果を依頼元に返却
    するように構成したことを特徴とする請求項第2項記載
    のDBにおけるデータベースアシスト方法。
  4. 【請求項4】上記データベースの該当ブロック群を格納
    するメモリとして、当該データベースを格納したディス
    ク装置のディスクキャッシュメモリ(33)を使用した
    ことを特徴とする請求項第1項から第3項記載のDBに
    おけるデータベースアシスト方法。
  5. 【請求項5】上記データベースアシスト(31)が未装
    着、あるいはデータベースアシスト(31)に対して処
    理指示したことに対応してエラー応答があったりなどし
    て利用不可と判明したときに、上記実行制御(23)が
    上記実行手順表(22)に従ってデータベースから該当
    レコードを取り込んで処理を行うように構成したことを
    特徴とする請求項第1項から第4項記載のDBにおける
    データベースアシスト方法。
JP4032403A 1992-02-20 1992-02-20 Dbにおけるデータベースアシスト方法 Pending JPH05233720A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4032403A JPH05233720A (ja) 1992-02-20 1992-02-20 Dbにおけるデータベースアシスト方法
US08/019,882 US5465352A (en) 1992-02-20 1993-02-19 Table-and-cache-based database assist method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4032403A JPH05233720A (ja) 1992-02-20 1992-02-20 Dbにおけるデータベースアシスト方法

Publications (1)

Publication Number Publication Date
JPH05233720A true JPH05233720A (ja) 1993-09-10

Family

ID=12357994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4032403A Pending JPH05233720A (ja) 1992-02-20 1992-02-20 Dbにおけるデータベースアシスト方法

Country Status (2)

Country Link
US (1) US5465352A (ja)
JP (1) JPH05233720A (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717950A (en) * 1994-01-11 1998-02-10 Hitachi, Ltd. Input/output device information management system for multi-computer system
US5717918A (en) * 1994-06-17 1998-02-10 Hitachi, Ltd. Method for concurrently performing a physical sequential scan of a database into a database buffer which is queued until a preceding scan is completed
US5860022A (en) * 1994-07-26 1999-01-12 Hitachi, Ltd. Computer system and method of issuing input/output commands therefrom
US5778383A (en) * 1995-08-08 1998-07-07 Apple Computer, Inc. System for dynamically caching and constructing software resource tables
US5668987A (en) * 1995-08-31 1997-09-16 Sybase, Inc. Database system with subquery optimizer
JP3549035B2 (ja) * 1995-11-24 2004-08-04 シャープ株式会社 情報管理装置
US5937401A (en) * 1996-11-27 1999-08-10 Sybase, Inc. Database system with improved methods for filtering duplicates from a tuple stream
US5860141A (en) * 1996-12-11 1999-01-12 Ncr Corporation Method and apparatus for enabling physical memory larger than corresponding virtual memory
US5787431A (en) * 1996-12-16 1998-07-28 Borland International, Inc. Database development system with methods for java-string reference lookups of column names
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
GB2383152A (en) * 2001-12-17 2003-06-18 Oracle Corp Storing object versions in a database with delta files
US7146371B2 (en) * 2002-12-05 2006-12-05 International Business Machines Corporation Performance and memory bandwidth utilization for tree searches using tree fragmentation
US7409379B1 (en) * 2003-07-28 2008-08-05 Sprint Communications Company L.P. Application cache management
US7222117B1 (en) 2003-11-14 2007-05-22 Advent Software, Inc. Segmented global area database
JPWO2005086003A1 (ja) * 2004-03-08 2008-01-24 アネックスシステムズ株式会社 データベース・システム
JP2006163596A (ja) * 2004-12-03 2006-06-22 Internatl Business Mach Corp <Ibm> 情報処理システム、制御方法、及びプログラム
US8244718B2 (en) * 2006-08-25 2012-08-14 Teradata Us, Inc. Methods and systems for hardware acceleration of database operations and queries
US20080222080A1 (en) * 2007-03-06 2008-09-11 Nitrosecurity, Inc. Inferred index of circular tables in a database
US8458217B1 (en) 2009-08-24 2013-06-04 Advent Software, Inc. Instantly built information space (IBIS)
WO2011145046A2 (en) 2010-05-17 2011-11-24 Green Sql Ltd Smart database caching
US8769350B1 (en) 2011-09-20 2014-07-01 Advent Software, Inc. Multi-writer in-memory non-copying database (MIND) system and method
US8332349B1 (en) 2012-01-06 2012-12-11 Advent Software, Inc. Asynchronous acid event-driven data processing using audit trail tools for transaction systems
US8886671B1 (en) 2013-08-14 2014-11-11 Advent Software, Inc. Multi-tenant in-memory database (MUTED) system and method
WO2015191032A1 (en) 2014-06-09 2015-12-17 Hewlett-Packard Development Company, L.P. Aggregate projection

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2760794B2 (ja) * 1988-01-29 1998-06-04 株式会社日立製作所 データベース処理方法および装置
JP2755390B2 (ja) * 1988-05-19 1998-05-20 株式会社日立製作所 データベース処理装置及びデータベース処理方法
JP2570853B2 (ja) * 1989-03-13 1997-01-16 富士通株式会社 データベース処理システム
JPH04123265A (ja) * 1990-09-14 1992-04-23 Fujitsu Ltd データベースアシスト装置
US5317731A (en) * 1991-02-25 1994-05-31 International Business Machines Corporation Intelligent page store for concurrent and consistent access to a database by a transaction processor and a query processor

Also Published As

Publication number Publication date
US5465352A (en) 1995-11-07

Similar Documents

Publication Publication Date Title
JPH05233720A (ja) Dbにおけるデータベースアシスト方法
US5089985A (en) System and method for performing a sort operation in a relational database manager to pass results directly to a user without writing to disk
O'Neil et al. Multi-table joins through bitmapped join indices
US6598038B1 (en) Workload reduction mechanism for index tuning
US5987453A (en) Method and apparatus for performing a join query in a database system
US9208180B2 (en) Determination of database statistics using application logic
US20030061244A1 (en) System and method for database query optimization
US6343286B1 (en) Efficient technique to defer large object access with intermediate results
US6748377B1 (en) Facilitating query pushdown in a multi-tiered database environment
US20040220908A1 (en) Information retrieval system and method for optimizing queries having maximum or minimum function aggregation predicates
CN110008448B (zh) 将SQL代码自动转换为Java代码的方法和装置
JP3653333B2 (ja) データベース管理方法およびシステム
JPH05204983A (ja) リレーショナルデータベース処理装置および処理方法
JPH10269225A (ja) データベース分割方法
JPH08255170A (ja) ソート付き検索処理装置
KR100333682B1 (ko) 객체-관계 데이터베이스 관리 시스템에서의 역 포인터를이용한 그루핑 연산 방법 및 그 방법에서 생성된 그룹테이블을 이용한 집계 함수 획득 방법
JPS59188765A (ja) デ−タベ−ス問合せ処理装置
JPH03129570A (ja) データベース検索方式
JPS6318777B2 (ja)
JP2001155028A (ja) リレーショナルデータベースにおける集約演算処理方法、その装置及び集約演算処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH0795300B2 (ja) データベースにおける名称管理方式
JPH04337867A (ja) データベース検索システム
JPH0512739B2 (ja)
Schmidt et al. Basic Building Blocks for Column-Stores
JPH043235A (ja) データベースシステム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980609