JP5068062B2 - データベースを統合するためのシステム、方法、およびプログラム - Google Patents

データベースを統合するためのシステム、方法、およびプログラム Download PDF

Info

Publication number
JP5068062B2
JP5068062B2 JP2006294295A JP2006294295A JP5068062B2 JP 5068062 B2 JP5068062 B2 JP 5068062B2 JP 2006294295 A JP2006294295 A JP 2006294295A JP 2006294295 A JP2006294295 A JP 2006294295A JP 5068062 B2 JP5068062 B2 JP 5068062B2
Authority
JP
Japan
Prior art keywords
data
database
access plan
virtual
access
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 - Fee Related
Application number
JP2006294295A
Other languages
English (en)
Other versions
JP2008112289A (ja
Inventor
昌弘 大川
亮二 黒澤
剛志 福田
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006294295A priority Critical patent/JP5068062B2/ja
Priority to CNA2007101483146A priority patent/CN101174267A/zh
Priority to US11/926,504 priority patent/US8965912B2/en
Publication of JP2008112289A publication Critical patent/JP2008112289A/ja
Application granted granted Critical
Publication of JP5068062B2 publication Critical patent/JP5068062B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/25Integrating or interfacing systems involving database management systems
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

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

Description

本発明は、データベース技術に関する。より特定的には、本発明は、複数のデータベースを統合的に扱うためのシステム、方法、およびプログラムに関する。
近年、コンピュータを用いた大規模なデータベースシステムを構築することが広く行われている。大規模データベースシステムにおいて、複数の種類の分散されたデータベースに散在するデータを統合して使用する必要が生じることがある。
例えば、様々な研究員が取得した様々な研究データを管理する複数種類のデータベースを含む研究所の情報システムにおいて、散在するデータの中から埋もれた情報・知見を見つけ出すために、それらのデータを統合する必要が生じることがあるだろう。また、他の例として、会社合併等によって、元々別の会社で運用されていた別のデータベースを統合する必要が生じることがあるだろう。
このようなネットワーク上に分散する複数種類のデータベースを統合的に扱うために、統合データベースという仕組みが用いられている。この仕組みは、集約されたデータベースではなく分散して存在しているデータベース群にアクセスして、ひとまとまりのデータベースイメージを提供する技術である。この仕組みは個々のデータベースに直接アクセスするものであるため、新規データ項目が追加された場合にも容易に対応が可能であり、再設計や再構築にかかる時間、コストを低減することができる。
以上の背景のもと、業界の各社は、分散された複数種類のデータベースを扱うための製品を研究し、開発している。
そのような製品の一例として、インターナショナル・ビジネス・マシーンズ・コーポレーションは、WebSphere(R) Information Integrator製品(以下、「II製品」と称する)を提供する。II製品は、インターナショナル・ビジネス・マシーンズ・コーポレーションのデータベース管理ソフトウェアであるDB2(R)製品に組み込まれる。II製品は、DB2(R)製品のデータベースに他のデータベースのテーブルを関連付けた仮想的なデータベーステーブル(II製品においては、「ニックネーム」と称される)を定義し、分散するデータベースをあたかもDB2(R)で管理されているかのように扱うことによって、データベース構造やベンダの異なる様々な種類の分散されたデータベースの統合を可能とする(非特許文献1参照)。
また、特開平11−213014号公報(特許文献1)は、ユーザにDBサーバが分散していることを意識させずに容易に検索を行える仕組みを開示している。具体的には、1つ以上のDBに格納されている実データに関するメタデータがメタDBサーバに収集して管理され、メタDBサーバに対して検索をかけることによって検索要求に合致するメタデータを全て取得するようにされる。DBおよびそれを管理するDBサーバがネットワーク上に複数存在し、それらがどこにあるか分からなくても、検索要求にマッチするデータを全て1箇所から得ることができる。
特表2003−505766号公報(特許文献2)は、SQLステートメント等のデータベース・クエリに対する最適化プランに関するデータベーステーブルに対するインデックスに対する変化の影響を観察するための方法及び装置を開示する。オリジナルのテーブルをコピーし、オリジナルのテーブル内のデータを排除することによって仮想テーブルが作成される。オリジナルのテーブルと関連する既存のオリジナルのインデックスがコピーされて仮想テーブルと関連する仮想インデックスを定義する。オリジナルのテーブルに対するクエリにおける参照は仮想テーブルへの参照で置換される。次いで、データベース管理システムがそのクエリに対する新たな最適化プランを決定する。
"IBM DB2 Information Integrator, Federated Systems Guide, Version 8.2"、[online]、2004年12 月16日、インターナショナル・ビジネス・マシーンズ・コーポレーション、[2006 年10月23日検索]、インターネット< ftp:/ftp.software.ibm.com/ps/products/db2/info/vr82/pdf/ja_JP/iiyfpj81.pdf > 特開平11−213014号公報 特表2003−505766号公報
例えば、II製品を使用して構築された統合データベースサーバに対してSQL(Structured Query Language)形式に従うデータベース・クエリが発行されると、コスト(例えば、応答時間や必要な計算機資源量など)が最適になるように、統合データベース内でどのようなローカル処理を行うか、また統合データベースと分散されたデータベースとの間でリモート処理を行うか等のデータへのアクセス手順を定義するアクセスプランが生成される。
一般的に、統合サーバと分散されたデータベースとの間でネットワーク通信するデータ量が増加するとパフォーマンスが低下する。例えば、互いに異なるサーバに存在するデータベースについて、データベーステーブルを結合する処理(「JOIN処理」と称されることがある)を実施する場合、統合データベースシステムは、テーブル結合処理を実行するために必要なデータをそれぞれ分散しているデータベースシステムから取得しなければならないので、統合データベースシステムと分散データベースシステムの間で比較的大きいトラフィックが発生し、データベース処理が非効率だった。
そこで本発明は、上記の課題に鑑み、分散データベースシステムを統合するデータベースシステムにおける、データベース・クエリの処理の改善を実現することを目的とする。
上記の目的を達成するために、第1のデータを含む第1のデータベースおよび第1のデータの複製である第2のデータを含む第2のデータベースを統合するシステムが提供される。システムは、第1のデータに対応する第1の仮想テーブルと、第2のデータに対応する第2の仮想テーブルと、第1および第2の仮想テーブルに共通して設けられた共通テーブルと、第1および第2の仮想テーブルと共通テーブルの関係を記録するリストを備える。システムは、リストに基づいて、共通テーブルに対するデータベース・クエリから、第1または第2の仮想テーブルのうちの少なくとも1つを用いる2以上のアクセスプランを生成する生成部と、2以上のアクセスプランから、データベース・クエリを実行するために使用するアクセスプランを選択する選択部をさらに備える。
システムは、2以上のアクセスプランそれぞれのコスト見積もりを実行する見積部をさらに備え、選択部は、見積部によって生成されたアクセスプランのコストに基づいて、2以上のアクセスプランからアクセスプランを選択することが好ましい。
以上、本発明の概要を、システムとして説明したが、本発明は、方法、プログラム、またはプログラム製品として把握することもできる。プログラム製品は、例えば、前述のプログラムを格納した記憶媒体を含め、あるいはプログラムを伝送する媒体を含めることができる。
上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの構成要素のコンビネーションまたはサブコンビネーションもまた、発明となり得ることに留意すべきである。
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
また、本発明は多くの異なる態様で実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。また、実施の形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須とは限らないことに留意されたい。実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
図1は、本発明の実施形態のシステム100を図示した高水準の全体概要図である。本発明の実施形態のシステム100は、それぞれがネットワーク150を介して接続された、クライアント110、統合データベースサーバ120、および分散データベースサーバ130、140を含む。
本発明の実施形態のクライアント110は、データベースを照会するためのSQL(Structured Query Language)形式に従うデータベース・クエリをユーザの操作に従って生成し、統合データベースサーバ120に送信する。SQLは、データベース技術においてよく知られたものであるので、ここでは詳細には説明しない。
統合データベースサーバ120は、分散データベースサーバ130、140のそれぞれに備えられたデータベースシステムを統合することによって、クライアント110からのデータベース・クエリを処理する。分散データベースサーバ130、140は、それぞれが備える磁気ディスク等の記憶装置においていわゆるデータベースシステムを構築したサーバである。
ネットワーク150は、クライアント110、統合データベースサーバ120、および分散データベースサーバ130、140を接続する通信経路であり、一例としてインターネットにより実現することができる。インターネットであるネットワーク110は、よく知られた通信プロトコルであるTCP/IPを用いてシステム間を接続する。
図2は、本発明の実施形態によるシステムの一部の論理的な構成を図示する概要図である。図2は、図1で示した本発明の実施形態の構成要素のうち、統合データベースサーバ120、および分散データベースサーバ130、140を図示している。
本発明の実施形態の分散データベースサーバ130、140は、それぞれ分散データベースシステム230、240を備える。本発明の実施形態では、分散データベースシステム230、240が備えるデータベースは、それぞれ異なるデータベース構造を有するものとする。また、分散データベースシステム230、240は、それぞれ異なるデータベースのベンダが提供するデータベース管理ソフトウェア(DBMS)を構築してもよい。例えば、当業者は、分散データベースシステム230をインターナショナル・ビジネス・マシーンズ・コーポレーションが提供するDBMSであるDB2(R)を使用して構築し、分散データベースシステム240をオラクル・コーポレーションが提供するDBMSであるOracle Database 10gを使用して構築することができる。
さらに、本発明の実施形態の分散データベースシステム230は、その一部のデータ(「第1のデータ」と称する)および第1のデータに対応するデータベーステーブル(「データベーステーブル232」と称する)を含むものとする。また、分散データベースシステム240は、第1のデータの複製であるデータ(「第2のデータ」)および第2のデータに対応するデータベーステーブル(「データベーステーブル242」と称する)を含むものとする。なお、かかる複製の生成は、よく知られたデータベース複製技術を参照することによって、当業者は適宜実現することができるので、ここでは説明の簡単のために詳細には説明されない。
本発明の実施形態の統合データベースサーバ120は、統合データベースシステム220を含む。統合データベースシステム220は、上述のデータベーステーブル232、242にそれぞれ関連付けられた仮想的なデータベーステーブル222、224(それぞれ「第1の仮想テーブル222」、「第2の仮想テーブル224」と称する)を備える。かかる仮想テーブルを設けることによって、統合データベースシステム220は、分散データベースシステム230、240を、あたかも統合データベースシステム220によって管理されているかのように扱うことができる。なお、統合データベースシステム技術分野の当業者は、かかる仮想テーブルを適宜実現することができるので、ここでは詳細には言及しない(例えば、非特許文献1の「ニックネーム」に関連する部分を参照されたい)。
本発明の実施形態においては、統合データベースシステム220は、第1の仮想テーブル222および第2の仮想テーブル224に共通して設けられた仮想的なデータベーステーブル(「共通テーブル226」と称する)を含むことに留意されたい。本発明の実施形態においては、クライアント110は、共通テーブル226に対するデータベース・クエリを統合データベースサーバ120に送信することによって、適切な仮想テーブルを使用して統合的にデータベース・クエリを処理することができる。統合データベースシステム220における、データベース・クエリの処理については、図6等を使用して後で詳述する。
図3は、統合データベースシステム220の機能ブロック図である。なお、図3の機能ブロック図に示す各要素は、図8を用いて後述するハードウェア構成を有する情報処理装置において、ハードディスク装置13などに格納されたオペレーティング・システムやコンピュータ・プログラムをメインメモリ4にロードした上でCPU1に読み込ませ、ハードウェア資源とソフトウェアを協働させることによって実現することができる。
本発明の実施形態においては、統合データベースサーバ120は、データベース・クエリ受信部310、アクセスプラン生成部320、アクセスプラン見積部330、アクセスプラン選択部340、アクセスプラン記憶部350、ディペンデンシ・リスト360、アクセスプラン実行部370、アクセスプラン管理部380、およびリモートデータベース監視部390を備える。また、統合データベースサーバ120は、第1の仮想テーブル222、第2の仮想テーブル224、および共通テーブル226をさらに備える。
本発明の実施形態のデータベース・クエリ受信部310は、クライアント110からネットワーク150を通じて送信されたデータベース・クエリを受信する機能を有する。本発明の実施形態におけるデータベース・クエリは、共通テーブル226に対するもの(すなわち、そのSQL文の中に共通テーブル226のテーブル名の指定を含むもの)であることに留意されたい。
本発明の実施形態のアクセスプラン生成部320は、後述するディペンデンシ・リスト360の内容に基づいて、データベース・クエリ受信部310が受信したデータベース・クエリから第1の仮想テーブル222または第2の仮想テーブル224を用いる1以上のアクセスプラン(どのようにして分散されたデータベースにアクセスするのかの具体的な手順)を生成する。
具体的には、本発明の実施形態においては、アクセスプラン生成部320は、データベース・クエリ受信部310によって受信されたデータベース・クエリから共通テーブル226のテーブル名を取得し、ディペンデンシ・リスト360を使用して、取得されたテーブル名から第1の仮想テーブル222のテーブル名を取得する。
そして、アクセスプラン生成部320は、データベース・クエリ内の共通テーブル226のテーブル名を第1の仮想テーブル222のテーブル名に書き換え、書き換えられたデータベース・クエリをコンパイルすることによって、第1の仮想テーブル222を使用するアクセスプランを生成する。
また、本発明の実施形態では、アクセスプラン生成部320は、第2の仮想テーブル224について上記と同様の処理をすることによって、第2の仮想テーブルを使用するアクセスプランを生成するものとする。生成されたアクセスプランの少なくとも一部は、後述するアクセスプラン記憶部にキャッシュされる。
なお、本発明の実施形態においては、後述するアクセスプラン記憶部にキャッシュされたアクセスプランを効果的に再利用するために、アクセスプラン生成部320は、アクセスプラン記憶部350にアクセスプランがキャッシュされていない場合のみ、上述のアクセスプランの生成処理を実行するものとする。
本発明の実施形態のアクセスプラン見積部330は、アクセスプラン生成部320によって生成された複数のアクセスプランそれぞれのコストの見積もりを実行する機能を有する。具体的には、本発明の実施形態においては、応答時間、使用計算機資源量の推定量が計算される。かかる応答時間、使用計算機資源量の推定量の計算は、当業者は適宜実現することができるので、ここでは詳細には説明されない。生成されたアクセスプランのコストの少なくとも一部は、後述するアクセスプラン記憶部にキャッシュされる。
本発明の実施形態のアクセスプラン選択部340は、アクセスプラン見積部330によって生成されたコストに基づいて、アクセスプラン生成部320によって生成されたアクセスプランから1のアクセスプランを選択する機能を有する。
本発明の実施形態のアクセスプラン記憶部350は、アクセスプラン生成部320によって生成された1以上のアクセスプランおよびアクセスプラン見積部330によって生成されたコストをキャッシュする。
本発明の実施形態のディペンデンシ・リスト360は、仮想テーブル222、224、共通テーブル226その他の統合データベースシステム220において使用される共通テーブルおよび仮想テーブルのテーブル名や相互の依存関係乃至関連付けに関する情報が格納されたリストである。
本発明の実施形態のアクセスプラン実行部370は、アクセスプラン選択部340が選択したアクセスプランをアクセスプラン記憶部350から入手し、入手したアクセスプランを使用して前記データベース・クエリを実行する。
本発明の実施形態のアクセスプラン管理部380は、前記第1または第2のデータが使用不能となったことに応じて、使用不能となったデータに対応する仮想テーブルを使用するアクセスプランのキャッシュを使用不能とし、さらに使用不能となった第1または第2のデータが再び使用可能となったことに応じて、前記使用不能としたアクセスプランを使用可能に変更する機能を有するものとする。
また、本発明の実施形態のアクセスプラン管理部380は、さらに第1のデータの複製であるデータが別のデータベースシステム(図示せず)に新たに生成された場合、共通テーブル226を使用するアクセスプランに、新たな複製が生成されたことを示す情報を付加する。アクセスプラン生成部320は、かかる情報が存在する場合は、アクセスプラン記憶部350にアクセスプランが記憶されている場合であっても、新たな複製に関する追加のアクセスプランを生成するものとする。
本発明の実施形態では、アクセスプラン選択部340はアクセスプランを選択しようとするときにかかる情報が付加されていることを検出する。アクセスプラン生成部320は、アクセスプラン選択部340の検出に応じて、追加のアクセスプランを生成する。生成された追加のアクセスプランは、アクセスプラン記憶部350に記憶される。
本発明の実施形態のリモートデータベース監視部390は、統合データベースシステム220からリモートに配置された第1のデータベース230および第2のデータベース240が使用可能かどうかを監視する機能を有する。リモートデータベース監視部390は、監視対象のデータベースが使用不能となったことに応じて、アクセスプラン管理部380にその旨を通知する機能をも有する。また、いったん使用不能となった監視対象のデータベースが復帰し、使用可能となったことに応じて、アクセスプラン管理部にその旨を通知する機能をも有する。
なお、本発明の実施形態のアクセスプラン管理部380は、リモートデータベース監視部390からデータベースが使用不能となったことを通知されたことに応じて、使用不能となったデータベースを使用するアクセスプランの状態(ステータス)を使用不能に変更する。アクセスプラン管理部380は、リモートデータベース監視部390からデータベースが使用可能となったことを通知されたことに応じて、使用可能となったデータベースを使用するアクセスプランのステータスを使用可能に変更する。本発明の実施形態のアクセスプラン選択部340は、かかるステータスに基づいてそれぞれのアクセスプランの使用の可否を判断し、実行すべきアクセスプランを選択するものとする。
図4は、本発明の実施形態におけるシステム100の初期化動作を表現するフローチャートである。初期化動作が開始されるときに、システム100は、第1および第2のデータベースシステム230、240を含み、第1のデータベースシステム230は、第1のデータおよびそれに対応する第1のデータベーステーブル232を含んでおり、またリモートデータベース監視部390によるリモートデータベースの監視プロセスが既に起動されているものとする。なお、かかる監視プロセスの動作は、図5等を使用して後で詳述される。
処理はステップ405でスタートし、ステップ410において第1のデータの複製である第2のデータが第2のデータベースシステム240内に生成されるものとする。また、ステップ410においては、第2のデータベースシステム240内に第2のデータに対応する第2のデータベーステーブル242が形成されるものとする。
処理はステップ415へ進み、第1および第2のデータベーステーブル232、242に対応する仮想テーブル222、224が統合データベースシステム220内に形成される。なお、これらの仮想テーブルの形成については、統合データベース技術の当業者であれば適宜実現できるものであるので、ここでは詳細には言及しない。
処理はさらにステップ420へ進み、ステップ415において形成された仮想テーブル222および224に共通して設けられる共通テーブル226が統合データベースシステム220内に形成される。ステップ420においては、仮想テーブル222および224それぞれと共通テーブル226とが関連付けられ、かかる関連付けの情報を記憶するディペンデンシ・リスト350が統合データベースシステム220内に形成されたのち、処理はステップ425に進み、終了する。
なお、上記の仮想テーブル、共通テーブルの形成およびそれらの間の関連付け、およびディペンデンシ・リスト350の形成は、統合データベースシステム220の管理者の明示的な入力に応じて実行されてもよいし、その一部または全部は、第1のデータの複製として第2のデータが生成されたことを統合データベースシステム220が検出できるようにし、かかる検出に応じて統合データベースシステム220が自動的に実行するようにしてもよいことは勿論である。
図5は、本発明の実施形態における統合データベースシステム220に常駐するリモートデータベース監視部390によるリモートデータベースの監視プロセスの動作を表現するフローチャートである。処理はステップ505でスタートし、ステップ510において、リモートデータベース監視部390は、統合データベースシステム220によって統合されているリモートの分散データベースシステム(本発明の実施形態では、分散データベースシステム230、240)が使用可能かどうかを監視する。具体的には、リモートデータベース監視部390が定期的に確認要求を監視対象のデータベースシステムに送信することによって、かかる監視が実現される。
次に、ステップ515において、それまで使用可能であったリモートの分散データベースシステムが使用不能になったことが検出されたかどうかが判定される。ステップ515において、リモートデータベースが使用不能になったことが検出されたと判定された場合、処理はYESの矢印を通じてステップ520へ進む。
ステップ520においては、リモートデータベース監視部390は、ステップ515で使用可能であったリモートの分散データベースシステムが使用不能になったことが検出されたと判定されたことに応じて、その旨をアクセスプラン管理部380へ通知し、アクセスプラン管理部380は、使用不能とされたリモートの分散データベースシステムへのアクセスが必要となるアクセスプランのステータスを使用可能から使用不能に変更する。その後、処理は、ステップ510へ戻り、監視が継続される。
ステップ515において、リモートデータベースが使用不能になったことが検出されたと判定されなかった場合、処理はNOの矢印を通じてステップ525へ進む。ステップ525においては、それまで使用不能であったリモートの分散データベースシステムが使用可能になったことが検出されたかどうかが判定される。ステップ525において、リモートデータベースが使用可能になったことが検出されたと判定された場合、処理はYESの矢印を通じてステップ530へ進む。
ステップ530においては、リモートデータベース監視部390は、ステップ525で使用不能であったリモートの分散データベースシステムが使用可能となったことが検出されたことに応じて、その旨をアクセスプラン管理部380へ通知し、アクセスプラン管理部380は、使用可能とされたリモートの分散データベースシステムへのアクセスが必要となるアクセスプランのステータスを使用不能から使用可能に変更する。その後、処理は、ステップ510へ戻り、監視が継続される。
ステップ515において、リモートデータベースが使用可能になったことが検出されたと判定されなかった場合、処理はNOの矢印を通じてステップ510へ戻り、監視が継続される。
図6は、本発明の実施形態におけるデータベース・クエリに対するシステムの動作を表現するフローチャートである。処理はステップ605でスタートし、ステップ610においてクライアント110は、初期化動作において形成された共通テーブル226に対するデータベース・クエリ(具体的にはSQL文)を統合データベースサーバ120に対して送信する。
処理はステップ615へ進み、統合データベースサーバ120のデータベース・クエリ受信部310は、ステップ610においてクライアントが送信したデータベース・クエリを受信する。処理はステップ620へ進み、統合データベースサーバ120は、アクセスプランをアクセスプラン選択部340に受信したクエリの処理をリクエストする。
次に、ステップ625において、アクセスプラン選択部340は、アクセスプラン記憶部350に既にアクセスプランがキャッシュされているかどうか、およびキャッシュされているアクセスプランに新たな複製であるデータが生成されたことを示す情報があるかどうかを判定する。アクセスプランがキャッシュされていないか、またはキャッシュされているアクセスプランに新たな複製であるデータが生成されたことを示す情報があると判定された場合、処理はNOの矢印を通じてステップ630へ進む。アクセスプランがキャッシュされており、かつキャッシュされているアクセスプランに新たな複製であるデータが生成されたことを示す情報が存在しないと判定された場合、処理はYESの矢印を通じてステップ665へ進む。
ステップ630においては、アクセスプラン選択部340は、アクセスプラン生成部320にクエリをコンパイルし、アクセスプランの生成することをリクエストする。次に、ステップ635において、ディペンデンシ・リスト360を使用して、ステップ615において受信したデータベース・クエリ内に記述された共通テーブルに対応する仮想テーブルのテーブル名が取得される。本発明の実施形態では、データベース・クエリ内には、共通テーブル226が記述されており、ディペンデンシ・リスト360には、第1および第2の仮想テーブル222、224が共通テーブル226に対応するものとして記述されている。従って、ステップ635においては、第1および第2の仮想テーブル222、224のテーブル名が取得されることとなる。
なお、SQL文の内容がINSERT(データの挿入)/UPDATE(データの更新)/DELETE(データの削除)のような、単にデータを参照するのではなく実際のデータ変更を必要とする処理を実施するものである場合は、特定の仮想テーブルに対してクエリを実行する必要がある場合がある。例えば、本発明の実施形態の第1のデータの複製の設定によって、複製データである第2のデータではなく、オリジナルデータである第1のデータを変更することが必要な場合があるからである。そのような場合、特定の仮想テーブル(第1の仮想テーブル)のみ変更ができるとの情報を共通テーブル226に記憶するようにし、ステップ630において、第1の仮想テーブル名のみが取得されるようにするとよい。
また、ステップ625において、アクセスプラン選択部340は、キャッシュされているアクセスプランに新たな複製であるデータが生成されたことを示す情報があると判定した場合は、新たな複製であるデータについてのみ追加のアクセスプランを生成すればよいので、新たな複製であるデータに関連する仮想テーブル名のみが取得されるようにすることができる。
次に、ステップ640乃至660のループにおいて、ステップ635において取得された仮想テーブルのそれぞれ(本発明の実施形態では、第1および第2の仮想テーブル)について、アクセスプランの生成、コスト見積もり等が実行される。
具体的には、ステップ640において、アクセスプラン生成部320は、データベース・クエリ(SQL文)内の共通テーブルのテーブル名を取得された仮想テーブルのテーブル名に書き換える。次に、ステップ645において、アクセスプラン生成部320は、書き換えられたSQL文に基づいてアクセスプランを生成する。ステップ650において、アクセスプラン見積部330は、生成されたアクセスプランのコストの見積もり(応答時間、使用計算機資源量等の推定)を実施する。そして、ステップ655において、ステップ645、650で生成されたアクセスプランおよびそのコストをアクセスプラン記憶部350にキャッシュする。これらの一連の処理は、ステップ635で取得されたすべての仮想テーブル名について実行される。
ステップ635で取得されたすべての仮想テーブル名について、アクセスプランの生成(ステップ645)、コスト見積もり(ステップ650)、それらのキャッシュ(ステップ655)が完了したことに応じて、処理はステップ660からNOの矢印を通じてステップ665へ進む。
ステップ665においては、アクセスプラン選択部340はアクセスプラン記憶部350にキャッシュされた1以上のアクセスプランのうちステータスが使用可能であるものから、あらかじめ定められたポリシ(例えば、最も応答時間が短い)に従って、アクセスプラン選択部340はアクセスプラン記憶部350にキャッシュされたコストに基づいて、最適と判定されるものを選択する。
なお、キャッシュされたアクセスプランのステータスがすべて使用不能である場合は、データベース・クエリを発信したクライアント110にその旨のエラーメッセージを返したのちに、処理が終了するものとする。
処理はステップ670へ進み、アクセスプラン実行部370は、ステップ665において選択されたアクセスプランが実行される。なお、ステップ670において、アクセスプランの実行が成功した場合、SQL文であるデータベース・クエリを発信したクライアント110にその結果が返されることに留意されたい。次に、処理はステップ675へ進み、ステップ670で実行されたアクセスプランの実行結果からリモートデータベースが障害等の理由により使用不能であることが検出されたかどうかが判定される。
ステップ675において使用不能であることが検出されたと判定された場合、処理はNOの矢印からステップ680へ進む。ステップ680では、ステップ675で使用不能であることが検出された判定したリモートのデータベースについて、使用不能であることをアクセスプラン管理部380へ通知し、アクセスプラン管理部380は、ステップ675において使用不能とされたリモートの分散データベースシステムへのアクセスが必要となるアクセスプラン(ステップ665において選択されたものに限らない)のステータスを使用不能に変更する。
処理はステップ680からステップ665に戻り、そのステータスが使用不能であるアクセスプランを除く、残りのアクセスプランの中から最適なアクセスプランを選択する。このループを最適かつ使用可能なアクセスプランを見つけるまで繰り返す。見つかった場合、処理はステップ675からNOの矢印を通じてステップ685へ進み終了する。
図7は、本発明の実施形態の統合データベースシステムにおいてデータベーステーブルの結合処理がいかに実現されるかの具体例を説明するための図である。図7の具体例は、統合データベースシステム710および分散データベースシステム720、730を含む。分散データベースシステム730は、製品番号(PRODUCTKEY)ごとに製品名(PRODUCTNAME)、価格(PRICE)を含む製品テーブル732(テーブル名:“PRODUCT”)を含む。製品テーブル732の具体例を表1に示す。
Figure 0005068062
分散データベースシステム720は、製品テーブル732の複製である製品テーブル722を含む。分散データベースシステム720は、発注番号(ORDERKEY)ごとに、製品番号(PRODUCTKEY)、顧客番号(CUSTOMERKEY)、発注量(AMOUNT)を含む発注テーブル736(テーブル名:“ORDER”)をさらに含む。発注テーブル724の具体例を表2に示す。
Figure 0005068062
統合データベースシステム710は、製品テーブル732、722、発注テーブル724にそれぞれ対応する仮想テーブル714、712、および718を含む。仮想テーブル714、712、および718のテーブル名は、それぞれ“N2_PRODUCT”、“N1_PRODUCT”、および“N_ORDER”であるものとする。さらに、統合データベースシステム710は、仮想テーブル714、712に共通して設けられた共通テーブル716を含む。共通テーブル716のテーブル名は、“N_PRODUCT”であるとする。
上記のシステムにおいて、統合データベースシステム710は、共通テーブル716の指定を含む、表3に示すSQL文からなるデータベース・クエリを受信するものとする。
なお、表3に示すSQL文は、テーブル名が“N_ORDER”のテーブルと、テーブル名が“N_PRODUCT”のテーブルから発注量(AMOUNT)と価格(PRICE)を乗じて総購入額(TOTAL_PRICE)とし、顧客番号ごとの総購入額を示すテーブルを生成することを命令するものである。なお、表3に示すSQL文は、生成されるテーブルが顧客番号について昇順で出力されるべきことも命令している。
Figure 0005068062
本発明の実施形態では、表3に示すSQL文の中の共通テーブル716のテーブル名である“N_PRODUCT”が、“N_PRODUCT”と関連付けられている”N1_PRODUCT“および”N2_PRODUCT“に置き換えられる。その結果、表4および表5に示すSQL文が生成される。そして、生成されたSQL文について、アクセスプランとコストの見積もりが実行される。
Figure 0005068062
Figure 0005068062
ここで、表4に示す“N1_PRODUCT”を使用するSQL文をコンパイルして生成されるアクセスプランは、分散データベースシステム720においてテーブル722および724のテーブル結合処理を実施し、結合されたテーブルのみを統合データベースシステム710に返す。したがって、統合データベースシステムと分散データベースシステムの間でのデータ・トラフィックは、比較的サイズの小さい結合されたテーブルのデータを含むものになる。
これに対して、表5に示す“N2_PRODUCT”を使用するSQL文をコンパイルして生成されるアクセスプランは、テーブル結合処理を行うために必要な”ORDER“に関するすべてのデータを分散データベースシステム720から受け、テーブル結合処理を行うために必要な”PRODUCT“に関するすべてのデータを分散データベースシステム730から受けた上で、統合データベースシステム710内でテーブル結合処理を実施する必要がある。すなわち、統合データベースシステムと分散データベースシステムの間でのデータ・トラフィックは、比較的サイズの大きい結合処理前のデータを含むものとなってしまう。
したがって、この場合のアクセスプランのコストである応答時間の見積もりは、表4に示す“N1_PRODUCT”を使用するSQL文をコンパイルして生成されるアクセスプランのものよりも大きいものとなる。その結果、表4に示すデータベース・クエリを受けた統合データベース710は、表2に示す“N1_PRODUCT”を使用するSQL文をコンパイルして生成されるアクセスプランを選択し使用して、クエリを実行することになる。そして、その実行結果として、表6に示すテーブルが得られることとなる。
Figure 0005068062
以上より、本発明の実施形態によれば、最適なアクセスプランを使用したデータベース・クエリの実行が実現されることが理解される。
図8は、本発明の実施の形態によるシステムを実現するのに好適な情報処理装置のハードウェア構成の一例を示した図である。情報処理装置は、バス2に接続されたCPU(中央処理装置)1とメインメモリ4を含んでいる。ハードディスク装置13、30、およびCD−ROM装置26、29、フレキシブル・ディスク装置20、MO装置28、DVD装置31のようなリムーバブル・ストレージ(記録メディアを交換可能な外部記憶システム)がフロッピーディスクコントローラ19、IDEコントローラ25、SCSIコントローラ27などを経由してバス2へ接続されている。
フレキシブル・ディスク、MO、CD−ROM、DVD−ROMのような記憶メディアが、リムーバブル・ストレージに挿入される。これらの記憶メディアやハードディスク装置13、30、ROM14には、オペレーティング・システムと協働してCPU等に命令を与え、本発明を実施するためのコンピュータ・プログラムのコードを記録することができる。メインメモリ4にロードされることによってコンピュータ・プログラムは実行される。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
情報処理装置は、キーボード/マウス・コントローラ5を経由して、キーボード6やマウス7のような入力デバイスからの入力を受ける。情報処理装置は、視覚データをユーザに提示するための表示装置11にDAC/LCDC10を経由して接続される。
情報処理装置は、ネットワーク・アダプタ18(イーサネット(R)・カードやトークンリング・カード)等を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。図示はされていないが、パラレルポートを介してプリンタと接続することや、シリアルポートを介してモデムを接続することも可能である。
以上の説明により、本発明の実施の形態によるシステムを実現するのに好適な情報処理装置は、通常のパーソナルコンピュータ、ワークステーション、メインフレームなどの情報処理装置、または、これらの組み合わせによって実現されることが容易に理解されるであろう。ただし、これらの構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。
本発明の実施の形態において使用される情報処理装置の各ハードウェア構成要素を、複数のマシンを組み合わせ、それらに機能を配分し実施する等の種々の変更は当業者によって容易に想定され得ることは勿論である。それらの変更は、当然に本発明の思想に包含される概念である。
本発明の実施形態によるシステムは、マイクロソフト・コーポレーションが提供するWindows(R)オペレーティング・システム、アップル・コンピュータ・インコーポレイテッド提供するMacOS(R)、X Window Systemを備えるUNIX(R)系システム(例えば、インターナショナル・ビジネス・マシーンズ・コーポレーションが提供するAIX(R)など)のような、GUI(グラフィカル・ユーザー・インターフェース)マルチウインドウ環境をサポートするオペレーティング・システムを採用することができる。
以上から、本発明の実施の形態において使用されるシステムは、特定のオペレーティング・システム環境に限定されるものではないことを理解することができる。すなわち、オペレーティング・システムは、アプリケーション・ソフトウェアなどがデータ処理システムの資源を利用できるようにする資源管理機能を提供することができるものであれば、いかなるものをも採用することができる。なお、資源管理機能には、ハードウェア資源管理機能、ファイルハンドル機能、スプール機能、ジョブ管理機能、記憶保護機能、仮想記憶管理機能などが含まれ得るが、これらの機能については、当業者によく知られたものであるので詳細な説明は省略する。
また、本発明は、ハードウェア、ソフトウェア、またはハードウェア及びソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実行において、所定のプログラムを有するデータ処理システムにおける実行が典型的な例として挙げられる。かかる場合、該所定プログラムが該データ処理システムにロードされ実行されることにより、該プログラムは、データ処理システムを制御し、本発明にかかる処理を実行させる。このプログラムは、任意の言語・コード・表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接、または1.他の言語・コード・表記への変換、2.他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。
もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、MO、CD−ROM、DVD、ハードディスク装置、ROM、MRAM、RAM等の任意のコンピュータ読み取り可能な記録媒体に格納することができる。かかるプログラムは、記録媒体への格納のために、通信回線で接続する他のデータ処理システムからダウンロードしたり、他の記録媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。また、様々な形態で、本発明を実施するプログラム製品を提供することも勿論可能であることにも留意されたい。
以上、本発明の実施形態によれば、より少ないコストで、効率よくデータベース・クエリ処理を実行することができる統合データベースシステムを構築することができることが理解される。
上記の実施の形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。例えば、本発明の実施形態においては、統合データベースシステム220、分散データベースシステム230、240が複数のハードウェア(サーバマシン)において実現されるものとして説明をした。しかし、本発明は、どのようなハードウェア構成を取るかに限定されない。すなわち、統合データベースシステム220と分散データベースシステム230、240が同一のハードウェア(コンピュータ装置)上で動作しても良いし、異なるハードウェア上で動作しても良い。そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれることに留意されたい。
本発明の実施形態のシステムを図示した高水準の全体概要図である。 本発明の実施形態によるシステムの論理的な構成の概要図である。 本発明の実施形態における統合データベースシステムの機能ブロック図である。 本発明の実施形態におけるシステムの初期化動作を表現するフローチャートである。 本発明の実施形態における分散データベースシステムの監視動作を表現するフローチャートである。 本発明の実施形態におけるデータベース・クエリに対するシステムの動作を表現するフローチャートである。 本発明の実施形態の統合データベースシステムにおいてデータベーステーブルの結合処理がいかに実現されるかの具体例を説明するための図である。 本発明の実施形態の統合データベースサーバを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。

Claims (11)

  1. 第1のデータを含む第1のデータベースおよび前記第1のデータの複製である第2のデータを含む第2のデータベースを統合するシステムであって、
    前記第1のデータに対応する第1の仮想テーブルと、
    前記第2のデータに対応する第2の仮想テーブルと、
    前記第1および第2の仮想テーブルに共通して設けられた仮想テーブルである共通テーブルと、
    前記1および第2の仮想テーブルと前記共通テーブルの関係を記録するリストと、
    前記リストに基づいて、前記共通テーブルに対するデータベース・クエリから、前記第1または第2の仮想テーブルのうちの少なくとも1つを用いる2以上のアクセスプランを生成する生成部と、
    前記2以上のアクセスプランから、前記データベース・クエリを実行するために使用するアクセスプランを選択する選択部と、
    前記第1のデータの複製が新たに生成されたことに応じて、前記共通テーブルを使用するアクセスプランに、前記新たな複製の生成を示す情報を与える管理部と、
    を備える、システム。
  2. 前記2以上のアクセスプランそれぞれのコスト見積もりを実行する見積部をさらに備え、前記選択部は、前記見積部によって生成されたアクセスプランのコストに基づいて、前記2以上のアクセスプランからアクセスプランを選択する、請求項1に記載のシステム。
  3. 前記生成部は、前記データベース・クエリから前記共通テーブル名を取得し、前記リストを使用して、前記共通テーブル名から前記第1および前記第2の仮想テーブル名を取得し、前記データベース・クエリ内の前記共通テーブル名を前記第1または前記第2の仮想テーブル名に書き換え、前記書き換えられたクエリをコンパイルして、アクセスプランを生成する、請求項1に記載のシステム。
  4. 前記生成部によって生成された2以上のアクセスプランをキャッシュする記憶部をさらに備える、請求項1に記載のシステム。
  5. 前記2以上のアクセスプランそれぞれのコスト見積もりを実行する見積部をさらに備え、前記記憶部は、前記見積部によって生成されたアクセスプランのコストをさらにキャッシュする、請求項4に記載のシステム。
  6. 前記生成部は、前記記憶部にアクセスプランがキャッシュされていないことを条件にアクセスプランの生成を実行する、請求項4に記載のシステム。
  7. 前記選択部は、前記記憶部にアクセスプランがキャッシュされていることを条件に、当該キャッシュされた1以上のアクセスプランから1のアクセスプランを選択する、請求項4に記載のシステム。
  8. 前記生成部は、前記新たな複製の生成を示す情報が存在することを条件に、前記新たな複製に関する追加のアクセスプランを生成する、請求項に記載のシステム。
  9. 前記追加のアクセスプランをキャッシュする記憶部をさらに備える、請求項に記載のシステム。
  10. コンピュータ・システムにおいて、第1のデータを含む第1のデータベースおよび前記第1のデータの複製である第2のデータを含む第2のデータベースを統合するための方法であって、前記コンピュータ・システムは、
    前記第1のデータに対応する第1の仮想テーブルと、
    前記第2のデータに対応する第2の仮想テーブルと、
    前記第1および第2の仮想テーブルに共通して設けられた仮想テーブルである共通テーブルと、
    前記1および第2の仮想テーブルと前記共通テーブルの関係を記録するリストを備え、
    前記コンピュータ・システムが、前記リストに基づいて、前記共通テーブルに対するデータベース・クエリから、前記第1または第2の仮想テーブルのうちの少なくとも1つを用いる2以上のアクセスプランを生成するステップと、
    前記コンピュータ・システムが、前記2以上のアクセスプランから、前記データベース・クエリを実行するために使用するアクセスプランを選択するステップと、
    前記コンピュータ・システムが、前記第1のデータの複製が新たに生成されたことに応じて、前記共通テーブルを使用するアクセスプランに、前記新たな複製の生成を示す情報を与えるステップと、
    を含む、方法。
  11. 第1のデータを含む第1のデータベースおよび前記第1のデータの複製である第2のデータを含む第2のデータベースを統合するためのプログラムであって、
    前記第1のデータに対応する第1の仮想テーブルと、
    前記第2のデータに対応する第2の仮想テーブルと、
    前記第1および第2の仮想テーブルに共通して設けられた仮想テーブルである共通テーブルと、
    前記1および第2の仮想テーブルと前記共通テーブルの関係を記録するリストを備えるコンピュータ・システムに、
    前記リストに基づいて、前記共通テーブルに対するデータベース・クエリから、前記第1または第2の仮想テーブルのうちの少なくとも1つを用いる2以上のアクセスプランを生成するステップと、
    前記2以上のアクセスプランから、前記データベース・クエリを実行するために使用するアクセスプランを選択するステップと、
    前記第1のデータの複製が新たに生成されたことに応じて、前記共通テーブルを使用するアクセスプランに、前記新たな複製の生成を示す情報を与えるステップと、
    を実行させる、プログラム。
JP2006294295A 2006-10-30 2006-10-30 データベースを統合するためのシステム、方法、およびプログラム Expired - Fee Related JP5068062B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006294295A JP5068062B2 (ja) 2006-10-30 2006-10-30 データベースを統合するためのシステム、方法、およびプログラム
CNA2007101483146A CN101174267A (zh) 2006-10-30 2007-08-31 集成数据库的系统、方法和程序产品
US11/926,504 US8965912B2 (en) 2006-10-30 2007-10-29 Integrating databases

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006294295A JP5068062B2 (ja) 2006-10-30 2006-10-30 データベースを統合するためのシステム、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2008112289A JP2008112289A (ja) 2008-05-15
JP5068062B2 true JP5068062B2 (ja) 2012-11-07

Family

ID=39422784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006294295A Expired - Fee Related JP5068062B2 (ja) 2006-10-30 2006-10-30 データベースを統合するためのシステム、方法、およびプログラム

Country Status (3)

Country Link
US (1) US8965912B2 (ja)
JP (1) JP5068062B2 (ja)
CN (1) CN101174267A (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9095685B2 (en) 2008-01-23 2015-08-04 Mediguide Ltd. Sensor mounted flexible guidewire
US8108382B1 (en) * 2008-12-29 2012-01-31 Teradata Us, Inc. Optimizing the execution of a query in a multi-database system
US8150808B2 (en) 2009-10-21 2012-04-03 Delphix Corp. Virtual database system
US8161077B2 (en) 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
JP5061173B2 (ja) * 2009-11-13 2012-10-31 株式会社日立製作所 データベース管理方法、データベース管理装置及びデータベース管理プログラム
US9106591B2 (en) * 2009-12-24 2015-08-11 Delphix Corporation Adaptive resource management using survival minimum resources for low priority consumers
JP5357068B2 (ja) * 2010-01-20 2013-12-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、情報処理システム、データ・アーカイブ方法およびデータ削除方法
CN102314381A (zh) * 2010-07-02 2012-01-11 上海宝信软件股份有限公司 一种提高信息系统可用性的集成设备及其方法
US8548944B2 (en) 2010-07-15 2013-10-01 Delphix Corp. De-duplication based backup of file systems
JP5598177B2 (ja) * 2010-08-31 2014-10-01 富士通株式会社 情報検索装置、情報検索プログラム、及び情報検索方法
US8468174B1 (en) 2010-11-30 2013-06-18 Jedidiah Yueh Interfacing with a virtual database system
CN103514229A (zh) 2012-06-29 2014-01-15 国际商业机器公司 用于在分布式数据库系统中处理数据库数据的方法和装置
US9229983B2 (en) 2012-11-30 2016-01-05 Amazon Technologies, Inc. System-wide query optimization
CN103049521B (zh) * 2012-12-19 2015-11-11 广东电子工业研究院有限公司 可实现多属性复合条件查询的虚拟表索引系统及方法
EP2800013B1 (en) 2013-04-30 2015-09-09 Systemite AB Integration database framework
WO2016092604A1 (ja) * 2014-12-08 2016-06-16 株式会社日立製作所 データ処理システムおよびデータアクセス方法
US9934278B2 (en) * 2015-05-04 2018-04-03 Quest Software Inc. Method of optimizing complex SQL statements using a region divided preferential SQL rewrite operation
JP6531587B2 (ja) * 2015-09-16 2019-06-19 富士通株式会社 データベースシステム、データベースアクセス方法、データベースアクセスプログラム、及び、情報処理装置
CN107305581B (zh) 2016-04-25 2020-06-16 华为技术有限公司 分布式数据库系统中的表连接方法及分布式数据库系统
CN108664516A (zh) * 2017-03-31 2018-10-16 华为技术有限公司 查询优化方法及相关装置
US11321344B2 (en) 2019-09-20 2022-05-03 Sap Se Virtual database tables with updatable logical table pointers
US11379486B2 (en) 2019-09-20 2022-07-05 Sap Se Virtual database tables with updatable logical table pointers
CN111046066B (zh) * 2019-12-09 2023-05-12 上海达梦数据库有限公司 远程数据库对象的优化方法、装置、设备及存储介质
JP7472078B2 (ja) 2021-05-20 2024-04-22 株式会社東芝 データ仮想化装置及び方法

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0320266A3 (en) * 1987-12-11 1992-03-11 Hewlett-Packard Company View composition in a data base management system
US5675785A (en) * 1994-10-04 1997-10-07 Hewlett-Packard Company Data warehouse which is accessed by a user using a schema of virtual tables
US5897632A (en) * 1996-08-27 1999-04-27 At&T Corp Method and system for using materialized views to evaluate queries involving aggregation
US5926819A (en) * 1997-05-30 1999-07-20 Oracle Corporation In-line triggers
US5864840A (en) * 1997-06-30 1999-01-26 International Business Machines Corporation Evaluation of existential and universal subquery in a relational database management system for increased efficiency
JPH11126209A (ja) * 1997-10-23 1999-05-11 Toshiba Corp 情報処理装置及び方法並びに情報処理プログラムを記録した記録媒体
JPH11213014A (ja) 1997-11-19 1999-08-06 Nippon Steel Corp データベースシステム、データベース検索方法及び記録媒体
US6199063B1 (en) * 1998-03-27 2001-03-06 Red Brick Systems, Inc. System and method for rewriting relational database queries
US6205451B1 (en) * 1998-05-22 2001-03-20 Oracle Corporation Method and apparatus for incremental refresh of summary tables in a database system
US6353818B1 (en) * 1998-08-19 2002-03-05 Ncr Corporation Plan-per-tuple optimizing of database queries with user-defined functions
US6546381B1 (en) * 1998-11-02 2003-04-08 International Business Machines Corporation Query optimization system and method
US5991754A (en) * 1998-12-28 1999-11-23 Oracle Corporation Rewriting a query in terms of a summary based on aggregate computability and canonical format, and when a dimension table is on the child side of an outer join
US6618719B1 (en) * 1999-05-19 2003-09-09 Sybase, Inc. Database system with methodology for reusing cost-based optimization decisions
US7167853B2 (en) * 1999-05-20 2007-01-23 International Business Machines Corporation Matching and compensation tests for optimizing correlated subqueries within query using automatic summary tables
US6560593B1 (en) 1999-07-20 2003-05-06 Computer Associates Think, Inc. Method and apparatus for viewing the effect of changes to an index for a database table on an optimization plan for a database query
US6345272B1 (en) * 1999-07-27 2002-02-05 Oracle Corporation Rewriting queries to access materialized views that group along an ordered dimension
JP2001084257A (ja) * 1999-09-13 2001-03-30 Hitachi Ltd 問合せ処理方法及びシステム
JP4552242B2 (ja) * 1999-10-06 2010-09-29 株式会社日立製作所 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法
US6526403B1 (en) * 1999-12-17 2003-02-25 International Business Machines Corporation Method, computer program product, and system for rewriting database queries in a heterogenous environment
US6496828B1 (en) * 1999-12-17 2002-12-17 International Business Machines Corporation Support for summary tables in a heterogeneous database environment
US6738756B1 (en) * 2000-06-30 2004-05-18 Ncr Corporation Analysis method and apparatus for a parallel system
US6567802B1 (en) * 2000-09-06 2003-05-20 The Trustees Of The University Of Pennsylvania Systematic approach to query optimization
US6581055B1 (en) * 2000-09-11 2003-06-17 Oracle International Corporation Query optimization with switch predicates
US7133876B2 (en) * 2001-06-12 2006-11-07 The University Of Maryland College Park Dwarf cube architecture for reducing storage sizes of multidimensional data
US6708179B1 (en) * 2001-09-28 2004-03-16 Oracle International Corporation Incremental refresh of materialized views for many-to-many relationships
US7111020B1 (en) * 2002-03-26 2006-09-19 Oracle International Corporation Incremental refresh of materialized views containing rank function, and rewrite of queries containing rank or rownumber or min/max aggregate functions using such a materialized view
US7440963B1 (en) * 2002-05-08 2008-10-21 Oracle International Corporation Rewriting a query to use a set of materialized views and database objects
US7181450B2 (en) * 2002-12-18 2007-02-20 International Business Machines Corporation Method, system, and program for use of metadata to create multidimensional cubes in a relational database
CA2414980A1 (en) * 2002-12-23 2004-06-23 Ibm Canada Limited-Ibm Canada Limitee Deferred incremental integrity maintenance of base tables having contiguous data blocks
CA2414983A1 (en) 2002-12-23 2004-06-23 Ibm Canada Limited-Ibm Canada Limitee Independent deferred incremental refresh of materialized views
US7165072B2 (en) * 2003-03-26 2007-01-16 Taiwan Semiconductor Manufacturing Company, Ltd. Method for merging information from effective dated base tables
US7472112B2 (en) * 2003-06-23 2008-12-30 Microsoft Corporation Distributed query engine pipeline method and system
US7383246B2 (en) * 2003-10-31 2008-06-03 International Business Machines Corporation System, method, and computer program product for progressive query processing
US7089225B2 (en) * 2003-11-25 2006-08-08 International Business Machines Corporation Efficient heuristic approach in selection of materialized views when there are multiple matchings to an SQL query
US7240078B2 (en) * 2003-11-25 2007-07-03 International Business Machines Corporation Method, system, and program for query optimization with algebraic rules
US20050125325A1 (en) * 2003-12-08 2005-06-09 Chai Zhong H. Efficient aggregate summary views of massive numbers of items in highly concurrent update environments
US7376638B2 (en) * 2003-12-24 2008-05-20 International Business Machines Corporation System and method for addressing inefficient query processing
US7287048B2 (en) * 2004-01-07 2007-10-23 International Business Machines Corporation Transparent archiving
US7739262B2 (en) * 2004-03-19 2010-06-15 Microsoft Corporation Enforcing currency and consistency constraints in database query processing
US7734602B2 (en) * 2004-04-14 2010-06-08 Oracle International Corporation Choosing whether to use a delayed index maintenance depending on the portion of the materialized view (MV) changed
US20070094237A1 (en) * 2004-12-30 2007-04-26 Ncr Corporation Multiple active database systems
US7599925B2 (en) * 2005-03-31 2009-10-06 Microsoft Corporation Using query expression signatures in view matching
US7895186B2 (en) * 2005-03-31 2011-02-22 Oracle International Corp. Method and mechanism of materialized view mix incremental refresh
US7890508B2 (en) * 2005-08-19 2011-02-15 Microsoft Corporation Database fragment cloning and management
US7702619B2 (en) * 2005-09-23 2010-04-20 Alan El-Sabbagh Methods and systems for joining database tables using indexing data structures
US8204876B2 (en) * 2006-03-13 2012-06-19 Oracle International Corporation Dynamic materialized view ranging

Also Published As

Publication number Publication date
CN101174267A (zh) 2008-05-07
US8965912B2 (en) 2015-02-24
US20080306904A1 (en) 2008-12-11
JP2008112289A (ja) 2008-05-15

Similar Documents

Publication Publication Date Title
JP5068062B2 (ja) データベースを統合するためのシステム、方法、およびプログラム
US10528585B2 (en) ETL tool interface for remote mainframes
US8645323B2 (en) Large volume data replication using job replication
US7937410B2 (en) Generic archiving of enterprise service oriented architecture data
US7610314B2 (en) Online tablespace recovery for export
JP5137476B2 (ja) 連携して動作する複数のアプリケーションが使用するデータのバックアップ環境の設定を行う計算機及び方法
JP5698429B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US8260813B2 (en) Flexible data archival using a model-driven approach
JP5263696B2 (ja) ソフトウェア構成要素をバックアップするためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US20070266029A1 (en) Recovery segment identification in a computing infrastructure
US20110320394A1 (en) Creation and Revision of Network Object Graph Topology for a Network Performance Management System
JP6412924B2 (ja) Etlマップ設計のためのプロジェクタおよびセレクタコンポーネントタイプの使用
US8738585B2 (en) Restore software with aggregated view of site collections
JP2008009809A (ja) データベース同期処理プログラム
US7720884B1 (en) Automatic generation of routines and/or schemas for database management
KR20010109090A (ko) 작업 모니터를 제공하는 방법과 시스템과 컴퓨터 프로그램제품
EP1480130A2 (en) Method and apparatus for moving data between storage devices
US20070245112A1 (en) Mapping between a file system and logical log volume
US8712971B2 (en) Restore software with aggregated view of content databases
US11232002B2 (en) Method and system for seamless database backup live-mounting using self-contained database backups
US20200349035A1 (en) Method and system for minimizing rolling database recovery downtime
JP5239072B2 (ja) 構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US7752169B2 (en) Method, system and program product for centrally managing computer backups
JP2010061460A (ja) ワークフロー管理システム、ワークフロー管理方法、及びワークフロー管理プログラム
US20080313235A1 (en) Program, apparatus, and method for managing services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120131

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: 20120731

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: 20120814

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150824

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5068062

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees