JP2001350656A - 異種データソース統合アクセス方法 - Google Patents
異種データソース統合アクセス方法Info
- Publication number
- JP2001350656A JP2001350656A JP2000174201A JP2000174201A JP2001350656A JP 2001350656 A JP2001350656 A JP 2001350656A JP 2000174201 A JP2000174201 A JP 2000174201A JP 2000174201 A JP2000174201 A JP 2000174201A JP 2001350656 A JP2001350656 A JP 2001350656A
- Authority
- JP
- Japan
- Prior art keywords
- data
- distributed index
- program
- index
- column
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 72
- 239000000284 extract Substances 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 52
- 238000007726 management method Methods 0.000 description 44
- 238000004458 analytical method Methods 0.000 description 17
- 238000005457 optimization Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 230000003831 deregulation Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- BSFODEXXVBBYOC-UHFFFAOYSA-N 8-[4-(dimethylamino)butan-2-ylamino]quinolin-6-ol Chemical compound C1=CN=C2C(NC(CCN(C)C)C)=CC(O)=CC2=C1 BSFODEXXVBBYOC-UHFFFAOYSA-N 0.000 description 1
- 101100350427 Dictyostelium discoideum orcC gene Proteins 0.000 description 1
- 101000984533 Homo sapiens Ribosome biogenesis protein BMS1 homolog Proteins 0.000 description 1
- 101000818442 Homo sapiens Zinc finger protein 90 homolog Proteins 0.000 description 1
- 101150115825 ORC3 gene Proteins 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 101100121112 Oryza sativa subsp. indica 20ox2 gene Proteins 0.000 description 1
- 101100121113 Oryza sativa subsp. japonica GA20OX2 gene Proteins 0.000 description 1
- 101100219325 Phaseolus vulgaris BA13 gene Proteins 0.000 description 1
- 102100027057 Ribosome biogenesis protein BMS1 homolog Human genes 0.000 description 1
- 102100021137 Zinc finger protein 90 homolog Human genes 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 235000009566 rice Nutrition 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/25—Integrating or interfacing systems involving database management systems
- G06F16/256—Integrating or interfacing systems involving database management systems in federated or virtual databases
Abstract
納されたデータのみならず、レガシーAPや三次記憶
等、問合せを効率的に実行できないデータソースに格納
されたデータを統合し、かつ高速な問合せを実現する課
題。 【解決手段】データソースに対する分散インデックスを
データベースハブにあらかじめ生成しておき、分散イン
デックス適用部が分散インデックスを用いた問合せの変
形と分解を行う。 【効果】問合せを効率的に実行できないデータソースに
格納されたデータに対する高速な問合せを実現する。
Description
ムに関し、特に1つ以上のデータベースを用いてユーザ
の問合せを処理するデータ処理システムに関する。
のデータが存在している。これらのデータは、歴史的に
企業の発展とともに目的別に追加されてきたものであ
る。現在、業種間の規制緩和が急速に進展しており、こ
れに伴い各企業は新規業務を追加していく傾向が強い。
この際、新規業務の導入に伴って、さらに新たなデータ
が導入される場面が多くなっている。これらのデータ
は、格納方法、形式などがまちまちである。例えば、リ
レーショナルデータベース管理システム中のデータベー
ス、ファイルシステム中のフラットファイル、光磁気デ
ィスクアーカイブ、表計算ソフトウェアのデータファイ
ル等である。本明細書では、これらのデータ格納方法や
形式のことをデータソースと呼ぶ。
ない新たなサービスなどにより顧客によりよいサービス
を提供し、その結果優良な顧客をより多く獲得しようと
試みている。この際、多種のデータソース群に蓄積され
た過去の企業活動、顧客動向などを分析する必要性が高
まり、データウェアハウスやデータマートの構築を行う
企業が非常に多くなっている。
には、先に述べた多数のデータソースに蓄積されたデー
タを、ひとつの論理的に統合されたデータベースとする
ことが必要となる。また、データウェアハウスやデータ
マートのような分析処理の基盤となるデータベースを構
築する以外にも、新規業務を迅速に立ち上げる目的で、
従来のデータソース群を論理的に統合することが、企業
の競争力を高める目的で必要とされている。論理的に統
合したデータソース群を基盤とすることにより、新規業
務のための応用プログラム(アプリケーション)構築の
高速化を図ることが可能となるためである。
(DBMS)の場合、情報基盤の統合をする方法とし
て、データソース群とアプリケーション群の間に、DB
MS群への統一的なアクセスを提供する「データベース
ハブ」のシステムを置く方法がある。データベースハブ
は、アプリケーションからの問合せ(典型的には、St
ructured Query Language(S
QL)言語で記述された問合せ)を受けつけ、その問合
せをDBMS群への問合せへ分解・変換する。そしてデ
ータベースハブは、分解・変換した問合せをDBMS群
に発行し、DBMS群から問合せ結果を作成するための
データを収集し、アプリケーションの問合せに対する最
終的な結果を得て、アプリケーションにその結果を返
す。
は、以下の構成を取る。
P):データベースハブによって統合された情報を用い
て処理を行うプログラム。
タソースを統合し、1つのデータベースとしてUAPに
提供する。UAPからの問合せが複数のデータソースに
またがる場合、該複数のデータソースのデータを用い
て、UAPからの問合せの結果を生成する。
タを保持する。
は、多くの場合異なる計算機上に存在するが、同一の計
算機上に存在しても差し支えない。
は、リレーショナルデータベース管理システム(RDB
MS)であるが、その他のデータソースも用いられてい
る。例えば、階層型データベース、ファイルシステム中
のフラットファイル、光磁気ディスクアーカイブ中のフ
ァイル、表計算ソフトウェアのデータファイル等であ
る。
Sが登場する以前から存在していた基幹業務のデータで
あったり、データ量の問題でRDBMSに記録すること
が難しい(またはコストパフォーマンス上最適でない)
データがある。しかし、これらのデータが、RDBMS
中に格納されているデータに比しても、戦略的重要度の
高いデータである場合が少なくない。
へのアクセスに広く用いられているデータベース問合せ
言語SQLではアクセスできないデータソースがほとん
どである。また、上記のデータベースハブでは、データ
ソースがRDBMSであること、即ちデータソース自身
がSQLを効率的に処理できることを前提として、SQ
Lを分解・変換する。
けない場合、データベースハブからのアクセスでは、結
果の指定をするために特定の探索条件(結果レコード群
が満たすべき条件)を与える必要があるという制限があ
った。この特定の探索条件は、データソース中のデータ
を指定するためのキー情報である。このため、ユーザ
(アプリケーション)からみると、自由な検索が困難
で、アプリケーション開発時の負担が大きかった。ま
た、この制限のため、定型業務には適用可能でも、非定
型問合せが主体となる情報系業務への適用が困難だっ
た。
きてもアクセス効率が悪い場合、データベースハブを介
した情報基盤の統合も、日常業務で現実的に使用するこ
とが困難なほど効率が悪くなる恐れがあった。これは、
範囲検索等の多件数検索時に、データソースの全件検索
に近いアクセスを余儀なくされ、ごく小規模以外の構成
では現実的な性能を達成することが困難なためである。
ースが、RDBMSであっても、RDBMS以外でも、
情報基盤の統合を行うための技術を実現することを目的
とする。
課題は、非RDBMSのデータソースを、RDBMSの
データソースと同じインタフェース(SQL)でアクセ
スする際、非RDBMSのデータソースをRDBデータ
ソースと同等の高い効率でアクセスすることにある。
後で述べる通り、非RDBMSのデータソースから、該
データソース中に格納されているデータの一部をインデ
ックスとして取り出してデータベースハブに保持する。
このインデックスを、従来のRDBMS等で内部的に使
用されているインデックスと区別する意味で、「分散イ
ンデックス」と称する。
略的重要度の高いデータを格納しているデータソース
を、特に意識する。このようなデータソースの例として
は、レガシーアプリケーションプログラム(レガシーA
P)と、テープアーカイブや光磁気ディスクアーカイブ
等の三次記憶が挙げられる。これらのデータソースで
は、上記第1の課題の解決法である分散インデックスの
作成に多大な処理時間がかかることが予想される。
課題は、レガシーAPや三次記憶等、分散インデックス
作成に多大な時間を要する恐れのある非RDBMSデー
タソースにおいても、分散インデックスを効率よく作成
することにある。
の一部を取り出してデータベースハブ側に保持するデー
タであるため、データソース側のデータが更新された場
合、適切なタイミングでインデックスも更新する必要が
ある。
課題は、データベースハブに対して、一旦作成したイン
デックスを管理するための方法を、データベースハブの
管理者に提供することにある。
が莫大であるためにRDBMSに保持することが困難な
データも含まれる。このようなデータソースに対して
は、通常のRDBMSにおけるインデックスのように全
レコードに対する情報を保持することすら困難となる場
合が想定される。例えば、光磁気ディスクアーカイブに
格納されている数TB(テラバイト)オーダーのデータ
は、インデックスとして必要なカラムを抽出したとして
も数十GBから数百GB(ギガバイト)オーダーのデー
タになることも考えられる。一方で、このような大規模
なデータの利用場面では、すべてのレコードを探索対象
とするのではなく、特定の探索対象が設定されている場
合が少なくない。そこで、本発明が解決しようとする第
4の課題は、分散インデックスの対象レコードを利用場
面に応じて絞り込み、分散インデックスが使用するデー
タ量を削減することである。
るため、本発明のシステムは、非RDBMSのデータソ
ースから、該データソース中に格納されているデータの
一部をインデックスとして取り出してデータベースハブ
に保持する。このインデックスを、従来のRDBMS等
で内部的に使用されているインデックスと区別する意味
で、「分散インデックス」と称する。分散インデックス
は、データソースに対する探索条件を、データソースの
レコード指定に対応づけるデータである。
のキーとなる情報が存在する。キーは、データソース中
の、意味のあるひとかたまりのデータ(レコードと呼
ぶ)を指定することができる情報である。多くの場合、
キーによって、ただ1つのレコードを一意に指定するこ
とができる。また、多くの場合、キーによって指定した
レコードに対して高速にアクセスする手段がデータソー
ス側で提供されている。
管理する顧客管理アプリケーションというデータソース
があったとする。この場合、顧客IDをキーとして、顧
客データ中のレコード(顧客ID、氏名、住所、年齢、
電話番号、勤務先などの組)を特定することができる。
アーカイブに時系列で入っている場合を考える。ひとつ
ひとつの取引情報が、時刻印とともに入っているとする
と、時刻印をキーと考えることができる。この例では、
時刻印によって完全に一意にひとつの取引情報を指定で
きるかどうかは、時刻印の与え方によるが、少なくとも
時刻印をもちいることによって高速に1つの(またはた
またま同時刻に行われた少数の)取引情報を得ることが
できる。
る探索条件と、このようなデータソースのキーを対応づ
けるデータである。より具体的には、分散インデックス
は探索条件の対象となっているデータ群と、キーとを組
にして格納したデータである。探索条件を分散インデッ
クスに対して適用することによって、探索条件を満たす
キー群を得ることができる。このキー群を用いてデータ
ソースにアクセスすることによって、データソースに対
する高速なアクセスが実現できる。
プリケーションが、「顧客IDから顧客レコードを得
る」というインタフェースのみを提供している場合、U
APからデータベースハブに「年齢が30才以上40才
未満の顧客」という探索条件の問合せが発行されると、
データベースハブが全顧客IDを顧客管理アプリケーシ
ョンに与えて全顧客レコードを得て、そこから該探索条
件を全顧客レコードに適用して問合せの結果を得てい
た。このため、データベースハブはデータソースである
顧客管理アプリケーションから大量のレコードを入手す
る必要があり、問合せの実行時効率が極めて悪かった。
より、データベースハブは、まず分散インデックスに対
して、「年齢が30才以上40才未満の顧客」という探
索条件を適用して、この条件に合致する顧客ID群を
得、これらの顧客IDを顧客管理アプリケーションに発
行する、という方法で問合せの結果を得ることができ
る。この場合、「年齢が30才以上40才未満の顧客」
に合致する顧客IDのみをに顧客管理アプリケーション
対して発行すればよいので、顧客管理アプリケーション
の処理量、およびデータベースハブと顧客管理アプリケ
ーションとの通信が大幅に削減される。
ースハブがデータソースの全レコードをアクセスする
と、データベースハブとデータソースの間で大量の通信
が発生する。この結果、分散インデックス作成時にネッ
トワークおよびデータソースに多大な負荷がかかり、望
ましくない。このため、本発明のシステムでは、データ
ソースの存在する計算機に、インデックス作成プログラ
ムを置く。インデックス作成プログラムが、該データソ
ースの分散インデックスを一括して作成し、完成した分
散インデックスをデータベースハブに転送する。これに
より、分散インデックス作成時のデータベースハブとデ
ータソースとの通信が1回で済み、ネットワーク負荷が
大幅に軽減される。また、ネットワーク負荷の軽減にと
もない、データソースを保持する計算機のネットワーク
処理負荷も大幅に軽減される。
的に保持するインデックスと異なり、データソースに対
する更新と連動して更新されない。このため、データベ
ースハブのユーザおよび管理者が、分散インデックスを
適切に利用、管理、運用するための手段が必要となる。
このため、本発明のシステムでは、ユーザがどの分散イ
ンデックスを使用するか(もしくは使用しないか)を指
定するインタフェースと、分散インデックスを作成し、
最新のデータソースに合致させるインタフェースとを提
供する。
は、データ量が莫大であるためにRDBMSに保持する
ことが困難なデータも含まれる。このようなデータソー
スに対しては、通常のRDBMSにおけるインデックス
のように全レコードに対する情報を保持することすら困
難となる場合が想定される。例えば、光磁気ディスクア
ーカイブに格納されている数TB(テラバイト)オーダ
ーのデータは、インデックスとして必要なカラムを抽出
したとしても数十GBから数百GB(ギガバイト)オー
ダーのデータになることも考えられる。このため本発明
のシステムでは、分散インデックスとして、対象を全レ
コードではなく一部のレコードのみのキーを格納した分
散インデックスを用いる。一部のレコードの選択方法と
しては、特定の探索条件を用いる方法、ランダムに選択
によって選択を行う方法などを提供する。
ムはRDBMSのデータソースのみならず、レガシーA
Pや三次記憶等さまざまなデータソース中のデータを、
1つのデータベースに格納されているかのようにユーザ
に提供し、かつ高い問合せ実行性能を実現することを可
能にすることができる。
参照しながら説明する。
構成を説明する。
コンピュータシステムである。第1の実施例の全体は、
1つ以上のコンピュータ(データ処理システム100、
1つ以上のクライアントコンピュータ101、10
1’、…、管理用コンピュータ102、1つ以上のデー
タソース計算機105)が、クライアント側ネットワー
ク103およびサーバ側ネットワーク104で相互に接
続されたコンピュータシステムである。
バ側ネットワーク104はいずれも、ある団体(企業や
学校や類似の団体)の全体や位置部門でよく使用される
LANでもよく、また地理的に分散した複数の地点を結
合するWANの一部または全部でもよい。またこれらの
ネットワークは、計算機間結合網や並列計算機内部のプ
ロセッサ要素間の結合網でもよい。また、クライアント
側ネットワーク103とサーバ側ネットワーク104が
同一のネットワークであっても差し支えない。
コンピュータ101、101’,…,管理用コンピュー
タ102、データソース計算機105はいずれも、いわ
ゆるパーソナル・コンピュータ、ワークステーション、
並列計算機、大型計算機、小型携帯型コンピュータ等、
任意のコンピュータでよい。
1’,…では、ユーザの処理を行うプログラムであるア
プリケーション120、120’,…が動作する。アプ
リケーション120は、必要に応じてデータベースに対
する参照または更新を、問合せを発行する。本実施例で
は、問合せ言語SQLで記述された問合せとする。
ス中のデータを保持し、他のプログラムのアクセスに応
じてデータに対する参照または更新を行う計算機であ
る。データソース中のデータに対する参照および更新の
処理は、データソース入出力プログラム122が行う。
データソース入出力プログラム122は、いわゆるレガ
シーAPでよい。データソース計算機105は多くの場
合、その管理対象のデータを二次記憶装置106上に保
持する。データソース計算機105、二次記憶装置10
6、データソース入出力プログラム122、およびその
中に格納されているデータを総称して、データソース1
07と称する。なお、二次記憶装置106は、光磁気デ
ィスクアーカイブ等、一般には三次記憶と称される記憶
媒体でも差し支えない。
味のある塊をなしているものとする。この塊のひとつひ
とつを、RDBMSとの類似でレコードとよぶ。例え
ば、取引履歴というデータソースにおいて、1つの取引
をレコードとみなすことができる。レコードがさらに複
数のパーツからなる時、探索条件や出力項目として指定
可能なパーツを、RDBMSとの類似でカラムと呼ぶ。
例えば、1つの取引履歴レコードの中に「取引時刻」、
「取引品名」などがある場合、これらをカラムとみなす
ことができる。例えば、データソース入出力プログラム
122がいわゆるレガシーAPであっても、たとえば、
「顧客ID」と、「住所」、「氏名」、「年齢」、「職
業」とを関連づけて保持している場合、「顧客ID、住
所、氏名、年齢、職業」を1つのレコード、「顧客I
D」、「住所」、「氏名」、「年齢」、「職業」のそれ
ぞれをカラムと考えて、なんら差し支えない。
トコンピュータ101、101’、…の発行する第1の
問合せを受け取り、必要に応じてデータソース107へ
の1つ以上の第2の問合せを作成して発行し、第1の問
合せが指定した参照または更新を行い、結果のデータを
第1の問合せの発行元に返す。即ち、データ処理システ
ム100は、データソース107の保持するデータベー
ス群への統一的なアクセスを実現し、クライアントコン
ピュータ101,101’,…へ統合されたデータベー
スを提供するデータベースハブである。
ケーション121を実行する。管理アプリケーション1
21は、データ処理システム100の管理を行うための
プログラムであり、典型的には、データ処理システム1
00または図1のシステム全体の管理者が利用する。
1、分散インデックス適用部112、問合せ実行部11
3、分散インデックス管理部114、二次記憶装置11
5は、データ処理システム100を構成する構成要素で
ある。これらの構成要素については、ここでは概略を説
明するのに留め、動作の詳細については、あとで述べ
る。
ピュータ101,101’,…からの問合せ要求、管理
用コンピュータ102からの管理要求を受けつけるとと
もに、これらの要求に対する返答を行う。
0が受けつけた問合せ要求の字句解析、構文解析、意味
解析、を行い、必要に応じて問合せ条件の標準型変換を
行い、問合せから構文解析木(パーズツリー)を生成す
る。
解析部111が作成したパーズツリーを利用して、入力
された問合せを、分散インデックスを用いるように変形
する。この際、どの分散インデックスを利用するかを決
定する必要があるが、この決定は分散インデックス管理
部114が保持する個々の分散インデックスに関する管
理情報を用いて行う。そして、問合せの結果を得るため
の一連の操作の手順(実行プラン)を生成する。リレー
ショナルデータベースの場合、一連の操作とは、選択処
理、射影処理、ジョイン処理、グルーピング処理、ソー
ト処理などである。実行プランは、これらの操作を、ど
のデータソース107のどのデータに対し、どの順番で
適用するかを記述したデータ構造である。
適用部112が生成した実行プランを実行する。問合せ
実行部113はデータソース107への問合せを発行す
ることにより、問合せを発行して前記一連の操作の一部
または全部をデータソース107に依頼する場合もある
し、データソース107から取り寄せたデータに対し、
自ら前記一連の操作の一部または全部を実行する場合も
あってよい。
処理部110が受けつけた管理要求を解釈し、管理要求
に含まれる分散インデックスの操作を行い、必要に応じ
て二次記憶装置115に保存する。また、分散インデッ
クスに関する情報を保持し、分散インデックス適用部1
12がどの分散インデックスを適用するのが適当かを決
定するのを支援する。
構造について説明する。
理システム100が保持する分散インデックスに関する
情報を保持する。図2に示した分散インデックス情報2
10は、1つの分散インデックスに対して保持する情報
であり、データ処理システム100中に1つ以上存在す
る。
ックスの名前である。インデックスID 211によっ
て、各分散インデックスを一意に識別する。
ックスのもとになったデータソースである。後に述べる
データソース情報220のデータソース名221と対応
する。
デックスが保持するカラム群である。分散インデックス
適用部112は、このインデックスカラム213を用い
て、ある探索条件を分散インデックスを用いて評価可能
か否かを判定する。
の対象データソースのキーである。ある探索条件を該分
散インデックスを用いて評価した場合に、データソース
への問合せにおけるレコードの指定に用いるカラム群が
何かを示す。キーカラム214のカラム集合は、インデ
ックスカラム213のカラム集合に包含される。
記憶装置115中に存在する該分散インデックスの実体
の名前である。問合せ実行部113が分散インデックス
を用いて探索条件の評価を行う場合には、インデックス
格納テーブル214にアクセスする。
スが最後に更新(データソースから作成)された時刻で
ある。
107に関する情報を保持する。図2に示したデータソ
ース情報220は、1つのデータソースに対して保持す
る情報であり、データ処理システム100中に1つ以上
存在する。
ースを一意に識別する名前である。
を保持する。主キーとは、該データソースにアクセス可
能なカラム群を指す。データソースに対し、主キーを引
数として指定したレコード参照(ここではgetRec
ord(主キー)と呼ぶ)が可能である。主キーは、物
理的な格納順に対応したカラム群である場合が多い。主
キー情報は、分散インデックスを自動的に作成する際の
ヒント情報として用いる。
(パーティショニング)の情報を保持する。大規模なデ
ータソースの場合、物理的に複数の二次記憶装置に分割
してデータを格納することにより、二次記憶装置の並列
度を増したり、必要な容量を確保する。これがパーティ
ショニングである。データソースの分割方法を活用する
順序でアクセスを行うことにより、実行時間が大幅に改
善されることが知られている。分割方法の情報も、分散
インデックスを自動的に作成する際のヒント情報として
用いる。
ス内で、該データソースに定義しているインデックス群
に関する情報を保持する。該データソース内部にインデ
ックスがある場合、インデックスを利用した順序でアク
セスを行うことにより、実行時間が大幅に改善されるこ
とが知られている。内蔵インデックスに関する情報も、
分散インデックスを自動的に作成する際のヒント情報と
して用いる。
適用 図1と図3とを用いて、分散インデックス適用部112
が問合せに対して分散インデックスを適用する処理の流
れを説明する。
問合せは、クライアント側ネットワーク103を経由し
てデータ処理システム100の入出力処理部110に到
達する(150)。入出力処理部110は、入力がアプ
リケーションからの問合せ要求であるか、管理用アプリ
ケーションからの管理要求であるかを判定し、その結果
に応じて、要求を問合せ解析部111へ送るか(15
1)分散インデックス管理部114へ送る(160)。
取ると、第1の問合せの字句解析、構文解析、意味解析
を行う。この一連の処理により、第1の問合せから第1
のパーズツリーを生成する。なお、字句解析、構文解
析、意味解析の動作については、コンパイラ、データベ
ース管理システムなど多くの分野で用いられている技術
であるため、ここではこれ以上詳細には述べない。
ーを分散インデックス適用部112へ送る(152)。
のパーズツリーを検査し、分散インデックスが適用可能
かどうかを判定する。図3の処理である。
を処理する。探索条件とは、データソースの一群のレコ
ードを絞りこむための指定である。SQL言語では、W
HERE句やHAVING句などがこれにあたる。
する。CNF(Conjunctive Normal
Form)とは、探索条件の要素がまずORで連接さ
れ、それらの連接がANDで連接された形式である。例
えば、「(c1=10 and c2=20)or c3
=30」の CNF変換の結果は、「(c1=10or
c3=30)and(c2=20 or c3=30)」
となる。すべての結果レコードが、CNF変換後の探索
条件の各OR連接条件を満たすという性質がある(上記
の例では、「c1=10 or c3=30」と「c2=
20 orc3=30」がOR連接条件)。
ータ処理システム100が保持する各分散インデックス
を検査する。すべての分散インデックスを検査したら
(判定Y)、分散インデックス適用の処理を終了する。
つ取り出す。ここで、該分散インデックスをXと呼ぶ。
デックス情報210の対象データソース212を参照
((153))してXの対象データソースを得て、探索
条件を検査することにより、Xの対象データソースが探
索条件に含まれるか否かを判定する。含まれれば(判定
Y)ステップ305に制御を移し、含まれなければ(判
定N)、ステップ302に制御を移す。
Xの対象データソースから、対象データソースを1つ選
択する。選択したデータソースをYと呼ぶ。このステッ
プでは、1つの問合せ中で1つのデータソースが複数回
参照される可能性を考慮している。例えば、「SELE
CT×FROM T1 A、T1 B WHEREA.
C1=B.C2」という問合せでは、T1というデータソ
ースが2回、AとBという名前で登場している。
接条件に着目した場合に、該OR連接条件中で使用する
データソースYのカラム集合が分散インデックスXのカ
ラム集合によって包含されているか否かを検査する。包
含している場合(判定Y)、ステップ307に制御を移
し、包含していなければれば(判定N)、ステップ30
5に制御を移す。分散インデックスXのカラム集合は、
Xのインデックスカラム213に格納されている。
のカラム集合によって包含されているOR連接条件を、
Xを用いた探索条件に書換える。具体的には、もともと
T1にかかっていた探索条件を分散インデックスXに対
して適用してキー(X.key)を得、該キー集合を用
いてT1にアクセスし、結果レコードを得る、という問
合せに書換える。例えば、Xのインデックスカラム21
3がT1.C1を含む場合、「SELECT×FROM
T1,T2 WHERE T1.C1=10」を、「S
ELECT×FROM T1,T2 WHERE T
1.key in(SELECT X.key FROM
X WHERE X.C1=10)」とする。
たか否かによって、ステップ305またはステップ30
2に制御を移し、繰り返しを続ける。
せを、分散インデックスを利用した問合せに書換えるこ
とができる。
2の残りの部分の処理を説明する。分散インデックス適
用部112ではさらに、問合せ解析部111から得た第
1のパーズツリーを用いて、問合せ最適化を行い、第1
の問合せの実行プランを作成する。なお、場合によって
は、第1の問合せ動作指示以外に追加の問合せ動作指示
を得る必要がある場合がある。例えば、コストベース最
適化の中間段階で表のレコード数が判明し、このレコー
ド数をもちいて問合せ分類定義を検索し、新たな問合せ
動作指定を得る場合である。この場合の問合せ動作指定
の取得方法は、前記問合せ照合処理と同様であるため、
特に改めて説明はしない。
ス最適化により作成するが、コストベース最適化は文献
1等ですでに広く知られているため、コストベース最適
化の詳細についてはここでは述べない。
実行プラン(第1の実行プラン)の例をひとつ挙げる。
以下のリスト表現で表されるツリーである:(data
base―hub―join [left.c1=rig
ht.c2 and left.c3<10,outpu
t left.c1,right.c2,left.c1
+left.c3](join at DBMS1
[left.c1<10and left.c1=righ
t.c4,output left.c1,left.c
3](selection at DBMS1 Cus
tomerTable [1990<year and
year<1999,output c1,c3])
(selection at DBMS1 Produ
ctTable [1000<price and p
rice<2000,outputc4]))(sel
ection at DBMS2 OrderTabl
e[1990<year and year<1999,
outputc2]))この実行プランは、『(1)D
BMS1でCustomerTableに対し、探索条
件「1990<year and year<1999」
の選択処理を行い、射影処理によってカラムc1とc3
を出力し、(2)DBMS1でProductTabl
eに対し、探索条件「1000<price and
price<2000」の選択処理を行い、射影処理に
よってカラムc4を出力し、(3)DBMS2でOrd
erTableに対し探索条件「1990<year
andyear<1999」の選択処理を行い、射影処
理によってカラムc2を出力し、(4)DBMS1でジ
ョイン条件「left.c1<10 and left.
c1=right.c4」((1)の中間結果がlef
t、(2)の中間結果がrightとする)でジョイン
を行って、射影処理によってカラムc1、c3を出力
し、(5)データ処理システム100でジョイン条件
「left.c1=right.c2 and left.
c3<10」((4)の中間結果がleft、(5)の
中間結果がrightとする)のジョインを行い、射影
処理によりleft.c1,right.c2,lef
t.c1+left.c3を出力する』という一連の処理
を表現している。
た第1の実行プランを問合せ実行部113に送る(15
4)。
適用部112から得た第1の実行プランを用いて、第1
の問合せの実行を行う。問合せ実行部113は、上述の
例の第1の実行プランを、ボトムアップに、即ち上記
(1)、(2)、(3)、(4)、(5)の順に処理し
ていく(正確には、(1)、(2)、(3)は並列に実
行することが可能である)。問合せ実行部113が最終
的に実行プランに定められたすべてのステップを実行
し、第1の問合せに対する最終的な結果が得られると、
該結果は第1の問合せを発行したアプリケーション12
0へ入出力処理部110を経て返される(155、15
5’、156、156’および157)。
合せ処理の流れである。
の実行 分散インデックスを利用する問合せは、基本的には上記
の問合せ実行部113の処理で述べた通りであるが、1
つの分散インデックスが探索条件中に複数回登場する場
合には、より効率的な実行方法を取ることができる。こ
の手順を図4を用いて説明する。
スを用いた複数のOR連接条件(cond1,cond
2,...,condNとする)を得る。これらcond
1,cond2,...,condNを実行し、それぞれ
結果を得る。この結果を、K1,K2,...,Knとす
る。K1,K2,...,Knはそれぞれ、該分散インデ
ックスの対象データソースのキーの集まりである。
nの共通部分Kを得る。ただし、この共通部分は、SQ
Lにおける”INTERSECT ALL”である。
れぞれについて、該分散インデックスの対象データソー
スに対し、getRecord(key)を発行する。
ここで、getRecord(key)は、対象データ
ソース中でキー値がkeyのレコードを参照する、デー
タソース107への呼び出しである。この一連の呼び出
しで得たレコード群を結果表とする。
処理していない探索条件を実行する。
件にまたがった絞り込みを一括して分散インデックスで
処理し、しかるのちにデータソースにアクセスする、と
いうアクセス方法が実現できる。このアクセスは、各O
R連接条件を個々に処理する方法に比べ、データソース
へのアクセス回数を大幅に削減できる可能性がある。
順を説明する。
作成の3種のインタフェースである。これらのインタフ
ェースは、管理用アプリケーションが用いるインタフェ
ースであり、入出力処理部110が管理用アプリケーシ
ョンからの要求を受付け、要求を分散インデックス管理
部114へ送った場合(160)に起動される。なお、
本実施例ではアプリケーション120と管理アプリケー
ション121を区別しているが、これらを、双方の機能
をあわせ持ったアプリケーションプログラムとして実現
しても差し支えない。
ースは、createDistributedInde
x(対象データソース、キーカラム、インデックスカラ
ム)という形式である。第2のインタフェースは、キー
カラムを省略した、createDistribute
dIndex(対象データソース・インデックスカラ
ム)という形式である。第3の形式は、キーカラム、イ
ンデックスカラムともに省略したcreateDist
ributedIndex(対象データソース,インデ
ックスタイプ)という形式である。インデックスタイプ
は、「主キー優先」、「分割優先」、「内蔵インデック
ス優先(内蔵インデックス名)」の3種がある。これら
3種のインタフェースは、完全に管理者が指定した分散
インデックスを生成する方法から、データ処理システム
100が半自動で分散インデックスを生成する方法まで
をカバーする。
種のインタフェースをサポートする。まずステップ50
1で、キーカラムが指定されたか否かによって、ステッ
プ502またはステップ503に分岐する。
スに従って、指定されたキーカラムを用いて分散インデ
ックスの作成を進める。
ータソース情報220がデータ処理システム100中に
存在しているか否かによって、ステップ504またはス
テップ505に分岐する。データソース情報220が存
在している場合、504でデータソース情報220の主
キー222を新規に生成する分散インデックスのキーカ
ラムとする。
いない場合、分散インデックス管理部114が該データ
ソースに対しアクセスを行い、キーカラムの情報(およ
び分割およびインデックスが存在していればこれらの情
報)を取得する。取得できない場合はエラーとなる。そ
して、主キーをキーカラムに設定する。
ていない場合、インデックスカラムを決定する。インデ
ックスカラムの決定を要するのは、第3のインタフェー
スであるので、「主キー優先」、「分割優先」、「内蔵
インデックス優先(内蔵インデックス名)」のいずれか
によって、データソース情報220の主キー222、分
割223、内蔵インデックス224のいずれかを参照
し、分散インデックスのインデックスカラムを決定す
る。決定したキーカラム、インデックスカラムを、分散
インデックス作成対象のデータソースに存在する分散イ
ンデックス作成部123に送る(161)。なお、主キ
ー優先の場合、データソースの主キーのみで構成される
分散インデックスが生成される。
3が作成した分散インデックスを二次記憶装置115に
格納し、508で、分散インデックス情報210を更新
(なければ作成)を行う。特に、最終更新日付215を
現在時刻に設定する。
は、以下の処理を行う。601で、506で送られた分
散インデックス管理部114からの要求を受取り、イン
デックス作成対象のデータソースの各レコードに対し、
getRecord()を発行する(162)。得られ
たレコードのそれぞれから、インデックスカラムとキー
カラムのユニオンとなるカラム集合を得て、結果の分散
インデックスとして一時記憶領域に蓄積していく。そし
て、602で、できあがった分散インデックスを分散イ
ンデックス管理部114に送る(163)。
ースおよび処理手順である。
インデックス作成対象のデータソースの全レコードに対
するインデックスを作成する。しかし、常に全レコード
を対象にした分散インデックスを作成していると、デー
タソースのデータ量が莫大である場合、分散インデック
スのデータ量も大量となり、分散インデックスを保持す
るためのコスト、管理のためのコストが非常に大きくな
る恐れがある場合がある。
デックス作成のインタフェースのオプションとして、
「分散インデックス作成条件」を分散インデックス作成
時に用いる探索条件として管理アプリケーション121
が指定できる。
クス管理部114が分散インデックス作成条件を受取る
と、前記506で、該分散インデックス作成条件をキー
カラム、インデックスカラムとともに、分散インデック
ス作成対象のデータソースの分散インデックス作成部1
23に送る(161)。
散インデックス作成部123は、前記601で各レコー
ドに対し、getRecord()を発行する(16
2)。得られたレコードのそれぞれに対し、該分散イン
デックス作成条件に合致するレコードのみを抽出し、イ
ンデックスカラムとキーカラムのユニオンとなるカラム
集合を得て,結果の分散インデックスとして一時記憶領
域に蓄積していく。この処理によって、結果としてでき
あがる分散インデックスのデータ量を、管理アプリケー
ション121の指定した分散インデックス作成条件にし
たがって制御することが可能となる。
ば「住所=’東京’」のような指定のほか、「全体のX
%を選択」という条件を許す。「全体のX%を選択」が
指定された場合、分散インデックス作成部123はge
tRecord()で得られたレコード群のうち、全体
のX%を乱数発生により選択する。この方法により、デ
ータソースの全体傾向を統計的に分析するアプリケーシ
ョン等、すべてのレコードに対するインデックスが必ず
しも必要でない場合に好適な分散インデックスを作成す
ることが可能となる。
立にデータ処理システム100が保持されるので、分散
インデックスの内容とデータソース107中のデータと
が一時的に不一致を生じる場合がある。このため、アプ
リケーションによっては、分散インデックスを選択的に
利用して、最新データをアクセスする必要が生じる場合
がある。また、前述のように「全体のX%を選択」とい
う指定で作成した分散インデックスは、全体傾向を統計
的に分析する等、特定のアプリケーションに特に合致す
るが、他のアプリケーションには不適な場合もある。
デックスを選択的に使用する方法をアプリケーション1
20に提供する。
の方法として、分散インデックスの最終更新時刻等に関
する探索条件を指定する方法を提供する。この方法で
は、問合せ発行前または問合せ発行時に、分散インデッ
クスに対する探索条件を与えることによって、分散イン
デックスを選択する。例えば、「最終更新時刻が1週間
以内である分散インデックスを使用許可」、「最終更新
時刻が1週間以内で、対象データソースが取引履歴であ
る分散インデックスを使用」等である。この指定は、前
記ステップ303で、分散インデックスを選択する際に
分散インデックス適用部112が評価し、条件に合致す
る分散インデックスのみを前記ステップ304以降で処
理する。
の方法として、分散インデックスの名称を明示的に指定
する方法である。「インデックスID 211がIX1
1である分散インデックスの使用許可」等である。この
指定も、前記ステップ303で、分散インデックスを選
択する際に分散インデックス適用部112が評価し、条
件に合致する分散インデックスのみを前記ステップ30
4以降で処理する。
分散インデックスを選択的に利用することが可能とな
る。
インデックスをデータ処理システム100にあらかじめ
生成、分散インデックス適用部112が分散インデック
スを用いた問合せの変形と分解を行うことにより、レガ
シーAPや三次記憶などのデータソースに対する高速な
アクセスが実現できる。
ータソース107に配置することにより、分散インデッ
クス作成に際し、大量通信の発生を避ける。これによ
り、ネットワーク負荷が大幅に軽減される。また、ネッ
トワーク負荷の軽減にともない、データソースを保持す
る計算機のネットワーク処理負荷も大幅に軽減される。
データ処理システム100が提供し、インデックス更新
要求を受け取ったら分散インデックス作成部123が分
散インデックスを作成する。このインタフェースによ
り、適切なタイミングで分散インデックスの更新が実現
される。また、分散インデックスを使うか使わないか、
どれを使うかを指定するインタフェースを備えることに
より、適切な分散インデックスを選択的に利用すること
が可能となる。
デックス適用部112がデータソースの一部のレコード
を対象とした分散インデックスを用いる。これにより、
分散インデックスのデータ量を削減、大量のデータを保
持するデータソースに対する分散インデックス作成が可
能となる。
複数のDBMSを統合する情報基盤の統合に際し、リレ
ーショナルデータベース管理システムに格納されたデー
タのみならず、レガシーAPや三次記憶等、問合せを効
率的に実行できないデータソースに格納されたデータの
統合が可能となり、これらデータソースに対する高速な
問合せが実現できる。
ート。
を示すフローチャート。
クス管理部側の処理を示すフローチャート。
作成プログラム側の処理を示すフローチャート。
Claims (16)
- 【請求項1】第1のコンピュータと第2のコンピュータ
がネットワークで結合され、前記第2のコンピュータの
持つ二次記憶には、ぞれぞれが1つもしくは複数のカラ
ムからなる複数のレコードで構成された第1のデータが
保持され、該第1のデータに対してアプリケーションプ
ログラムから発行される問合せを受け付ける第1のプロ
グラムが前記第1のコンピュータに準備され、前記第1
のデータの入出力を行う第2のプログラムが前記第2の
コンピュータに準備されたコンピュータシステムにおけ
るデータアクセス方法であって、 前記第1のプログラムで受け付ける前記問合せは、前記
第1のデータに含まれる1つもしくは複数のカラムに関
する第1の探索条件を含み、 前記第1のプログラムは、 前記問合せの受付けに先立ち、前記第1のデータから該
第1のデータを構成するレコード群の一部をなすカラム
群であるインデックスカラムと前記第2のプログラムに
アクセスするための引数となるカラム群であるキーカラ
ムとの対応関係を示す分散インデックスを抽出して保持
し、 前記問合せを受け付けると、該問合せ中の前記第1の探
索条件を変形し、前記分散インデックスから前記第1の
探索条件に合致するレコード群のキーカラムを取得し、 該キーカラムを用いて前記第2のプログラム経由で前記
第1のデータにアクセスすることにより、前記第1の探
索条件に合致するレコードを得て前記問合せの結果とし
て前記アプリケーションプログラムに返答することを特
徴とするデータアクセス方法。 - 【請求項2】前記分散インデックスが、複数のレコード
からなり、該複数レコードの各々のカラムが、インデッ
クスカラムとキーカラムの和集合のカラムを含むことを
特徴とする請求項1に記載のデータアクセス方法。 - 【請求項3】前記第1の探索条件に合致するレコード群
のキーカラムの取得は、変形した前記第1の探索条件か
ら、分散インデックスのインデックスカラムとキーカラ
ムで評価することができる条件の抽出を行うことにより
実行することを特徴とする請求項1記載のデータアクセ
ス方法。 - 【請求項4】前記分散インデックスとして、前記第1の
データのうち、第2の探索条件に合致するレコードを対
象としたインデックスカラムとキーカラムとの対応関係
のデータを用いる請求項1記載のデータアクセス方法。 - 【請求項5】第1のコンピュータと第2のコンピュータ
がネットワークで結合され、前記第2のコンピュータの
持つ二次記憶には、ぞれぞれが1つもしくは複数のカラ
ムからなる複数のレコードで構成された第1のデータが
保持され、前記第1のデータに対してアプリケーション
プログラムから発行される問合せを受け付ける第1のプ
ログラムが前記第1のコンピュータに準備され、前記第
1のデータの入出力を行う第2のプログラムが前記第2
のコンピュータに準備されたコンピュータシステムにお
けるデータアクセス方法であって、 前記第1のプログラムは、前記第1のデータから該第1
のデータを構成するレコード群の一部をなすカラム群で
あるインデックスカラムと前記第2のプログラムにアク
セスするための引数となるカラム群であるキーカラムと
の対応関係を示す分散インデックスを複数抽出して保持
し、 前記アプリケーションプログラムは、前記データソース
に含まれる1つもしくは複数のカラムに関する第1の探
索条件を含む問合せを、前記複数の分散インデックスの
うちの該問合せで使用を許可する分散インデックスを指
定する情報とともに発行し、 前記第1のプログラムは、 前記問合せを受け付けると、該問合せ中の前記第1の探
索条件を変形し、許可された分散インデックスから前記
第1の探索条件に合致するレコード群のキーカラムを取
得し、 該キーカラムを用いて前記第2のプログラム経由で前記
第1のデータにアクセスすることにより、前記第1の探
索条件に合致するレコードを得て前記問い合わせの結果
として前記アプリケーションプログラムに返答すること
を特徴とするデータアクセス方法。 - 【請求項6】前記アプリケーションプログラムは、分散
インデックスの最終更新時刻の範囲を指定することによ
り前記問合せで使用を許可する分散インデックスを指定
することを特徴とするする請求項5記載のデータアクセ
ス方法。。 - 【請求項7】前記アプリケーションプログラムは、前記
分散インデックスを識別する識別子により前記問合せで
使用を許可する分散インデックスを指定することを特徴
とする請求項5記載のデータアクセス方法。 - 【請求項8】請求項1乃至請求項8のいずれかに記載の
データアクセス方法を実行するプログラムを記憶する記
憶媒体。 - 【請求項9】第1のコンピュータと第2のコンピュータ
がネットワークで結合され、前記第2のコンピュータの
持つ二次記憶には、ぞれぞれが1つもしくは複数のカラ
ムからなる複数のレコードで構成された第1のデータが
保持され、前記第1のソースについてアプリケーション
プログラムから発行される問合せを受け付ける第1のプ
ログラムが前記第1のコンピュータに準備され、前記第
1のデータの入出力を行う第2のプログラムが前記第2
のコンピュータに準備されたコンピュータシステムにお
いて、前記第1のデータのアクセスのために前記第1の
コンピュータ上に保持される分散インデックスの作成方
法であり、 前記第2のコンピュータに準備された分散インデクス作
成プログラムが前記第1のプログラムから前記分散イン
デックスの作成要求を受け、 前記第3のプログラムは、前記第1のデータの作成対象
のレコード群の一部を成すカラム群であるインデックス
カラムと、前記第2のプログラムによる該データソース
のアクセスの引数となるカラム群であるキーカラムとの
対応関係を該データソースから取り出し、 取り出した結果を前記第1のプログラムに返送すること
を特徴とする分散インデックスの作成方法。 - 【請求項10】前記分散インデックス作成プログラム
が、作成対象のデータソース、キーカラム、およびイン
デックスカラムを設定として受け取り、該データソース
から、該キーカラムおよび該インデックスカラムを含む
分散インデックスを作成することを特徴とする請求項9
記載の分散インデックス作成方法。 - 【請求項11】前記分散インデックス作成プログラム
が、分散インデックス作成条件を設定として受取り、前
記第1のデータに対して分散インデックス作成条件を適
用して分散インデックスの対象となるレコードを選択し
て分散インデックスを作成することを特徴とする請求項
9記載の分散インデックス作成方法。 - 【請求項12】前記分散インデックス作成プログラム、
前記第1のデータのレコードのうち分散インデックスに
含めるレコードの割合を設定として受取り、該第1のデ
ータに対して指定された割合でレコードを選択して分散
インデックスを作成することを特徴とする請求項8記載
の分散インデックス作成方法。 - 【請求項13】請求項9乃至11のいずれかに記載の分
散インデックス作成方法を実施するプログラムを記録す
る記録媒体。 - 【請求項14】前記第1のプログラムは、返送された分
散インデックスを更新日時とともに前記第1のコンピュ
ータの記憶装置に記録することを特徴とする請求項9記
載の分散インデックスの作成方法。 - 【請求項15】第1のコンピュータと第2のコンピュー
タがネットワークで結合され、前記第2のコンピュータ
の持つ二次記憶には、ぞれぞれが1つもしくは複数のカ
ラムからなる複数のレコードで構成された第1のデータ
が保持され、前記第1のデータに対してアプリケーショ
ンプログラムから発行される問合せを受け付ける第1の
プログラムが前記第1のコンピュータに準備され、前記
第1のデータの入出力を行う第2のプログラムが前記第
2のコンピュータに準備され、前記第1のコンピュータ
は、前記データのレコード群の一部をなす第1のカラム
群であるインデックスカラムと、前記第2のプログラム
にアクセスするための引数となる第2のカラム群である
キーカラムとの対応関係を示す分散インデックスを保持
し、前記第1のプログラムは、前記問い合わせを受け付
けると前記分散インデックスから該問い合わせに合致す
るレコード群のキーカラムを取得し、該キーカラムを用
いて前記第2のプログラム経由で前記第1のデータにア
クセスするように構成されたコンピュータシステムにお
ける前記分散インデックスの作成方法であり、 アプリケーションプログラムから前記分散インデックス
の作成要求が入力したとき、前記第1のプログラムは前
記第1のデータのデータソース情報を参照してインデッ
クスカラムとキーカラムと決定し、決定したインデック
スカラムとキーカラムを前記第2のコンピュータに準備
された分散インデックス作成プログラムに指定して前記
分散インデックスを作成させることを特徴とする分散イ
ンデックスの作成方法。 - 【請求項16】請求項15に記載の分散インデックス作
成方法を実施するプログラムを記録する記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000174201A JP4483034B2 (ja) | 2000-06-06 | 2000-06-06 | 異種データソース統合アクセス方法 |
US09/791,808 US20020049747A1 (en) | 2000-06-06 | 2001-02-26 | Method for integrating and accessing of heterogeneous data sources |
US11/010,266 US20050091210A1 (en) | 2000-06-06 | 2004-12-14 | Method for integrating and accessing of heterogeneous data sources |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000174201A JP4483034B2 (ja) | 2000-06-06 | 2000-06-06 | 異種データソース統合アクセス方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001350656A true JP2001350656A (ja) | 2001-12-21 |
JP2001350656A5 JP2001350656A5 (ja) | 2007-03-22 |
JP4483034B2 JP4483034B2 (ja) | 2010-06-16 |
Family
ID=18676280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000174201A Expired - Fee Related JP4483034B2 (ja) | 2000-06-06 | 2000-06-06 | 異種データソース統合アクセス方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20020049747A1 (ja) |
JP (1) | JP4483034B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005535947A (ja) * | 2002-05-31 | 2005-11-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 異なるタイプのバックエンド・データ・ストアにアクセスするためのシステムおよび方法 |
JP2009223512A (ja) * | 2008-03-14 | 2009-10-01 | Toshiba Corp | 情報処理システム及びその制御方法 |
US11093223B2 (en) | 2019-07-18 | 2021-08-17 | Ab Initio Technology Llc | Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods |
US11308161B2 (en) | 2015-02-18 | 2022-04-19 | Ab Initio Technology Llc | Querying a data source on a network |
US11593369B2 (en) | 2010-01-15 | 2023-02-28 | Ab Initio Technology Llc | Managing data queries |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668864B2 (en) * | 2003-01-17 | 2010-02-23 | International Business Machines Corporation | Digital library system with customizable workflow |
US20080033925A1 (en) * | 2006-08-07 | 2008-02-07 | Bea Systems, Inc. | Distributed search analysis |
US20080033964A1 (en) * | 2006-08-07 | 2008-02-07 | Bea Systems, Inc. | Failure recovery for distributed search |
US20080033910A1 (en) * | 2006-08-07 | 2008-02-07 | Bea Systems, Inc. | Dynamic checkpointing for distributed search |
US20080033943A1 (en) * | 2006-08-07 | 2008-02-07 | Bea Systems, Inc. | Distributed index search |
US9015197B2 (en) * | 2006-08-07 | 2015-04-21 | Oracle International Corporation | Dynamic repartitioning for changing a number of nodes or partitions in a distributed search system |
US7725470B2 (en) * | 2006-08-07 | 2010-05-25 | Bea Systems, Inc. | Distributed query search using partition nodes |
US20080033958A1 (en) * | 2006-08-07 | 2008-02-07 | Bea Systems, Inc. | Distributed search system with security |
AU2010263721A1 (en) * | 2009-06-25 | 2012-02-16 | Shuhei Nishiyama | Database management device using key-value store with attributes, and key-value-store structure caching-device therefor |
CN102129425B (zh) * | 2010-01-20 | 2016-08-03 | 阿里巴巴集团控股有限公司 | 数据仓库中大对象集合表的访问方法及装置 |
CN102737061B (zh) * | 2011-04-14 | 2015-06-03 | 中兴通讯股份有限公司 | 分布式话单查询管理系统及方法 |
US20140181438A1 (en) * | 2012-12-21 | 2014-06-26 | Commvault Systems, Inc. | Filtered reference copy of secondary storage data in a data storage system |
US9665662B1 (en) | 2013-06-13 | 2017-05-30 | DataRPM Corporation | Methods and system for providing real-time business intelligence using natural language queries |
CN105302896B (zh) * | 2015-10-22 | 2018-12-25 | 江苏国泰新点软件有限公司 | 一种电子评标系统中的数据存储方法和装置 |
CN108415964A (zh) * | 2018-02-07 | 2018-08-17 | 平安科技(深圳)有限公司 | 数据表查询方法、装置、终端设备及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555409A (en) * | 1990-12-04 | 1996-09-10 | Applied Technical Sysytem, Inc. | Data management systems and methods including creation of composite views of data |
US5379419A (en) * | 1990-12-07 | 1995-01-03 | Digital Equipment Corporation | Methods and apparatus for accesssing non-relational data files using relational queries |
US5737732A (en) * | 1992-07-06 | 1998-04-07 | 1St Desk Systems, Inc. | Enhanced metatree data structure for storage indexing and retrieval of information |
US5345586A (en) * | 1992-08-25 | 1994-09-06 | International Business Machines Corporation | Method and system for manipulation of distributed heterogeneous data in a data processing system |
US5542078A (en) * | 1994-09-29 | 1996-07-30 | Ontos, Inc. | Object oriented data store integration environment for integration of object oriented databases and non-object oriented data facilities |
US5974409A (en) * | 1995-08-23 | 1999-10-26 | Microsoft Corporation | System and method for locating information in an on-line network |
JPH10333953A (ja) * | 1997-04-01 | 1998-12-18 | Kokusai Zunou Sangyo Kk | 統合データベースシステムおよびそのデータベース構造を管理するプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6061677A (en) * | 1997-06-09 | 2000-05-09 | Microsoft Corporation | Database query system and method |
US6185552B1 (en) * | 1998-03-19 | 2001-02-06 | 3Com Corporation | Method and apparatus using a binary search engine for searching and maintaining a distributed data structure |
US6502088B1 (en) * | 1999-07-08 | 2002-12-31 | International Business Machines Corporation | Method and system for improved access to non-relational databases |
US6408300B1 (en) * | 1999-07-23 | 2002-06-18 | International Business Machines Corporation | Multidimensional indexing structure for use with linear optimization queries |
US6510434B1 (en) * | 1999-12-29 | 2003-01-21 | Bellsouth Intellectual Property Corporation | System and method for retrieving information from a database using an index of XML tags and metafiles |
US6704728B1 (en) * | 2000-05-02 | 2004-03-09 | Iphase.Com, Inc. | Accessing information from a collection of data |
-
2000
- 2000-06-06 JP JP2000174201A patent/JP4483034B2/ja not_active Expired - Fee Related
-
2001
- 2001-02-26 US US09/791,808 patent/US20020049747A1/en not_active Abandoned
-
2004
- 2004-12-14 US US11/010,266 patent/US20050091210A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005535947A (ja) * | 2002-05-31 | 2005-11-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 異なるタイプのバックエンド・データ・ストアにアクセスするためのシステムおよび方法 |
JP2009223512A (ja) * | 2008-03-14 | 2009-10-01 | Toshiba Corp | 情報処理システム及びその制御方法 |
US11593369B2 (en) | 2010-01-15 | 2023-02-28 | Ab Initio Technology Llc | Managing data queries |
US11308161B2 (en) | 2015-02-18 | 2022-04-19 | Ab Initio Technology Llc | Querying a data source on a network |
US11093223B2 (en) | 2019-07-18 | 2021-08-17 | Ab Initio Technology Llc | Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods |
Also Published As
Publication number | Publication date |
---|---|
US20020049747A1 (en) | 2002-04-25 |
JP4483034B2 (ja) | 2010-06-16 |
US20050091210A1 (en) | 2005-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755575B2 (en) | Processing database queries using format conversion | |
US11120042B2 (en) | Accelerator based data integration | |
JP4483034B2 (ja) | 異種データソース統合アクセス方法 | |
JP4552242B2 (ja) | 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法 | |
US6587854B1 (en) | Virtually partitioning user data in a database system | |
CN1705945B (zh) | 提供查询的属性的方法和系统 | |
US7373341B2 (en) | Computer readable medium, method and apparatus for preserving filtering conditions to query multilingual data sources at various locales when regenerating a report | |
US7464084B2 (en) | Method for performing an inexact query transformation in a heterogeneous environment | |
US6931390B1 (en) | Method and mechanism for database partitioning | |
US6502088B1 (en) | Method and system for improved access to non-relational databases | |
JP2001084257A (ja) | 問合せ処理方法及びシステム | |
US9747349B2 (en) | System and method for distributing queries to a group of databases and expediting data access | |
US9298829B2 (en) | Performing a function on rows of data determined from transitive relationships between columns | |
US20040015486A1 (en) | System and method for storing and retrieving data | |
US6850927B1 (en) | Evaluating queries with outer joins by categorizing and processing combinations of relationships between table records | |
JPH1125096A (ja) | データベースをサーチする方法およびコンピュータシステム | |
US9569485B2 (en) | Optimizing database query | |
US11354313B2 (en) | Transforming a user-defined table function to a derived table in a database management system | |
US20050102271A1 (en) | Indexes with embedded data | |
US7185004B1 (en) | System and method for reverse routing materialized query tables in a database | |
WO2008055202A2 (en) | System and method for distributing queries to a group of databases and expediting data access | |
US20100205197A1 (en) | Two-valued logic database management system with support for missing information | |
Crookshanks et al. | Just Enough SQL | |
Castrejon-Castillo | HAL Id: hal-01002695 | |
Büchi et al. | Relational Data Access on Big Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070202 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091006 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091013 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091214 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100302 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100315 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130402 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |