JP4784974B2 - 計算機システム、管理計算機及びデータベース管理システムの制御方法 - Google Patents

計算機システム、管理計算機及びデータベース管理システムの制御方法 Download PDF

Info

Publication number
JP4784974B2
JP4784974B2 JP2005207019A JP2005207019A JP4784974B2 JP 4784974 B2 JP4784974 B2 JP 4784974B2 JP 2005207019 A JP2005207019 A JP 2005207019A JP 2005207019 A JP2005207019 A JP 2005207019A JP 4784974 B2 JP4784974 B2 JP 4784974B2
Authority
JP
Japan
Prior art keywords
database
cache memory
computer
management system
dbms
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
JP2005207019A
Other languages
English (en)
Other versions
JP2007026064A (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.)
Hitachi Ltd
University of Tokyo NUC
Original Assignee
Hitachi Ltd
University of Tokyo NUC
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 Hitachi Ltd, University of Tokyo NUC filed Critical Hitachi Ltd
Priority to JP2005207019A priority Critical patent/JP4784974B2/ja
Priority to US11/259,894 priority patent/US7395371B2/en
Publication of JP2007026064A publication Critical patent/JP2007026064A/ja
Application granted granted Critical
Publication of JP4784974B2 publication Critical patent/JP4784974B2/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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/21Design, administration or maintenance of databases
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/465Structured object, e.g. database record
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory
    • 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/99932Access augmentation or optimizing
    • 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/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、データベースを操作するデータベース管理システムを有する計算機システムに関し、特に、最適なアクセスプランを選択する技術に関する。
現在、企業等の組織では、データベース(DB)に膨大な量のデータが格納されている。そのため、DBからデータを収集するデータベース管理システム(DBMS)が重要になっている。
一般的には、DBMSはサーバ上で動作する。そして、当該サーバは、ストレージ装置に接続され、接続されているストレージ装置にDBデータを格納する。
ここで、DBMSの処理について説明する。
まず、DBMSは、クライアントから問合せを受けると、最適化処理を行う。最適化処理は、クライアントからの問合せを実行するのに最も効率が良いアクセスプランを選択する処理である。そして、DBMSは、選択したアクセスプランによって、DBへアクセスする。
なお、最適化処理として、ルールベース又はコストベースが知られている。
ルールベースの最適化処理は、クライアントから問合せを行うコード(SQL文)の記載方法等に基づいて、アクセスプランを決定する。一方、コストベースの最適化処理は、DBMSが動作しているサーバのCPU速度(CPUコスト)等の情報に基づいて、アクセスプランを決定する。
DBMSにルールベースの最適化処理を採用するためには、クライアントに相当の知識が必要とされる。このため、一般的なDBMSには、コストベースの最適化処理が採用されている。
DBMSは、アクセスプランを実行中に、実行可能且つ低コストな他のアクセスプランを発見すると、アクセスプランを変更する技術が知られている(例えば、非特許文献1参照。)。
ストレージ装置は、接続されているサーバからの要求(書き込み要求又は読み出し要求)を受けると、以下のように処理する。
ストレージ装置は、ディスク装置及びキャッシュメモリを備える。ディスク装置は、データを記憶する不揮発性記憶媒体(例えば、ハードディスクドライブ等。)である。キャッシュメモリは、データを一時的に記憶する揮発性記憶媒体(例えば、半導体メモリ等。)である。
ストレージ装置は、サーバから読み出し要求を受けると、要求されたデータがキャッシュメモリに格納されているか否かを判定する。
キャッシュメモリに格納されていると、キャッシュメモリからデータを読み出す。そして、読み出したデータをサーバへ応答し、処理を終了する。
一般的に、キャッシュメモリは、データ読み出し速度がディスク装置より速い。よって、ストレージ装置は、ディスク装置でなくキャッシュメモリからデータを読み出すことによって、サーバへの応答を高速化できる。
通常、ストレージ装置は、一つのキャッシュメモリを備える。また、ストレージ装置は、複数のサーバに接続されている。この場合、キャッシュメモリは、当該ストレージ装置に接続されている複数のサーバで共用される。そして、それぞれのサーバは、キャッシュメモリの使用量を規制されていない。
このため、一つのサーバが大量のデータの読み出し要求を行うと、キャッシュメモリが当該サーバによって占有されてしまう。このため、キャッシュメモリを共用する他のサーバのアプリケーションの性能が劣化するという問題があった。
この問題を解決するために、キャッシュメモリ上の記憶領域をサーバごとに割り当てる技術が知られている(例えば、非特許文献2参照。)。この技術では、それぞれのサーバは、割り当てられた記憶領域を占有する。
また、キャッシュメモリ上の記憶領域をサーバごとに割り当てた後、割り当てを変更する技術が知られている(例えば、特許文献1参照。)。この技術では、サーバは、アプリケーションの性能要求を満たさなくなると、他のサーバに割り当てられているキャッシュメモリ上の記憶領域を供出してもらう。そして、サーバは、他のサーバから供出してもらった記憶領域を使用することによって、アプリケーションの性能要求を満たす。
特開2004−295790号公報 Volker Markl、Vijayshankar Raman、David Simmen、Guy Lohman、Hamid Pirahes、Miso Cilimdzic:「Robust query processing through progressive optimization」、Proc. of the 2004 ACM SIGMOD International Conference on Management of Data、2004年、p.659-670 Hitachi TagmaStore Universal Storage Platform、インターネット(URL:http://www.hds.com/pdf/wp168_tagmastore_virtualization.pdf)
しかし、従来技術(特許文献1)によると、DBMSは、自身が動作しているサーバに割り当てられているキャッシュメモリの記憶領域の容量(キャッシュ割当量)の変更を認識できなかった。そのため、DBMSは、キャッシュ割当量の変更を考慮せずに、DBへアクセスするアクセスプランを作成していた。よって、DBMSは、キャッシュ割当量を有効に利用できず、性能を向上できなかった。
本発明は、前述した問題点に鑑みてなされたものであり、DBMSがキャッシュ割当量を有効に利用する計算機システムを提供することを目的とする。
本発明は、データベース管理システムが動作する一又は複数のデータベース計算機と、前記データベース管理システムによって操作されるデータベースを格納する記憶装置と、前記データベース計算機及び前記記憶装置を管理する管理計算機と、を有する計算機システムであって、前記記憶装置は、データを一時的に格納するキャッシュメモリ及び前記データベースを格納する物理ディスク装置を有し、前記管理計算機は、当該データベース管理システムが動作するデータベース計算機へ割り当てられている前記キャッシュメモリの割当量を変更し、前記変更したキャッシュメモリの割当量に応じて、前記データベースに対するクエリに応じた前記データベースへのアクセス方法を示すアクセスプランの変更を前記データベース管理システムへ指示することを特徴とする。
本発明のDBMSは、ストレージ装置のキャッシュメモリの記憶領域を有効に利用できる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の実施の形態の計算機システムのブロック図である。
計算機システムは、DBMSサーバ2000、ストレージ装置3000及び管理サーバ1030を備える。
DBMSサーバ2000、ストレージ装置3000及び管理サーバ1030は、ネットワーク1020を介して、相互に接続されている。ネットワーク1020は、例えば、ローカルエリアネットワーク(LAN)である。また、ネットワーク1020には、ルータ等のネットワーク機器が備えられていてもよい。
また、DMMSサーバ2000とストレージ装置3000とは、ネットワーク1000を介して、相互に接続されている。ネットワーク1000は、例えば、ファイバチャネル(FC)である。また、ネットワーク1000には、FCスイッチ等のネットワーク機器が備えられていてもよい。
ストレージ装置3000は、図3で後述するが、データベース(DB)が格納される物理ディスクを備える。なお、ストレージ装置3000は、二台を図示しているが、何台備えられていてもよい。
DBMSサーバ2000は、図2で後述するが、データベース管理システム(DBMS)を実行する。DBMSは、DBMSサーバ2000で実行されるプログラムであり、ストレージ装置3000に格納されているDBを制御する。DBの制御には、DBの更新、DBの検索、テーブルの作成及びテーブルの定義等が含まれる。なお、DBMSサーバ2000は、二台を図示しているが、何台備えられていてもよい。
管理サーバ1030は、図4で後述するが、DBMSサーバ2000及びストレージ装置3000を管理する。
具体的には、管理サーバ1030は、ストレージ装置3000のキャッシュメモリの割り当ての変更を検知すると、キャッシュ割当量が変更されたDBMSサーバ2000からアクセスプランを取得する。次に、管理サーバ1030は、取得したアクセスプランを参照して、変更されたキャッシュ割当量に応じたアクセスプランを作成する。そして、管理サーバ1030は、作成したアクセスプランへの変更をDBMSサーバ2000に指示する。すると、DBMSサーバ2000は、指示されたアクセスプランに変更する。これによって、DBMSサーバ2000は、高速に処理できるアクセスプランを選択できる。
なお、管理サーバ1030は、独立した計算機であってもよいし、DBMSサーバ2000又はストレージ装置3000に含まれていてもよい。
計算機システムには、DBMSサーバ2000へアクセスする計算機(クライアント)が備えられていてもよい。
図2は、本発明の実施の形態のDBMSサーバ2000のブロック図である。
DBMSサーバ2000は、プロセッサ2012、記憶領域2016、Ether I/F2015、FC I/F2014及び出力装置2013を備える。
DBMSサーバ2000を構成するこれらの装置は、内部バス等の通信路2011を介して相互に接続されている。Ether I/F2015及びFC I/F2014は、一つずつを図示しているが、複数備えられていてもよい。
プロセッサ2012は、記憶領域2016に記憶されているプログラムを実行することによって、各種処理を行う。
Ether I/F2015は、ネットワーク1020を介して、外部の装置と接続するインタフェースである。Ether I/F2015は、イーサネットプロトコルを用いて通信する。Ether I/F2015が接続する外部の装置には、管理サーバ1030、ストレージ装置3000及びクライアント等が含まれる。
FC I/F2014は、ネットワーク1000を介して、外部の装置と接続するインタフェースである。FC I/F2014は、ファイバチャネルプロトコルを用いて通信する。FC I/F2014が接続する外部の装置には、ストレージ装置3000等が含まれる。
出力装置2013は、例えば、ディスプレイ等であり、各種情報を出力する。
記憶領域2016には、オペレーティングシステム(OS)2007、DBMS2008、クライアントプログラム2006、DBスキーマ情報テーブル5100、データ領域情報テーブル5200、DBファイルシステム情報テーブル5300及びDBMS領域情報テーブル5400等が記憶されている。
OS2007は、DBMSサーバ2000の全体を管理する。また、OS2007は、DBファイルシステムを含む。DBファイルシステムは、ストレージ装置3000に格納されているDBからファイルを取得し、取得したファイルを他のプログラムに提供する。
クライアントプログラム2006は、クライアントからデータを要求されると、要求されたデータをDBMS2008へ問い合わせる。
DBMS2008は、プラン作成マネージャ2009を含み、ストレージ装置3000に格納されているDBを制御する。プラン作成マネージャ2009は、クライアントプログラム2006から問い合せを受けると、アクセスプランを作成する。
なお、記憶領域2016には、DBMS2008が複数記憶されていてもよい。この場合、それぞれのDBMS2008には、一意な識別子が付与される。
DBスキーマ情報テーブル5100は、図5Aで後述するが、DBMS2008が管理するDBの論理的構造(DBスキーマ)に関する情報を示す。
データ領域情報テーブル5200は、図5Bで後述するが、OS2007が管理するデータ領域に関する情報を示す。
DBファイルシステム情報テーブル5300は、図5Cで後述するが、OS2007がDBにアクセスする際に必要な情報を示す。
DBMS領域情報テーブル5400は、図5Dで後述するが、DBMS2008がアクセスするストレージ装置3000の物理ディスクに関する情報を示す。
図3は、本発明の実施の形態のストレージ装置3000のブロック図である。
ストレージ装置3000は、コントローラ3005、記憶領域3004、物理ディスク3006、Ether I/F3007及びFC I/F3008を備える。
なお、Ether I/F3007及びFC I/F3008は、それぞれ一つを図示するが、複数備えられていてもよい。また、物理ディスク3006は、四台を図示しているが、いくつ備えられていてもよい。
コントローラ3005は、ストレージ装置3000の全体を制御する。また、コントローラ3005は、CPU等を備え、記憶領域3004に記憶されているプログラムを実行することによって、各種処理を行う。
Ether I/F3007は、ネットワーク1020を介して、外部の装置と接続するインタフェースである。Ether I/F3007が接続する外部の装置には、管理サーバ1030及びDBMSサーバ2000等が含まれる。
FC I/F3008は、ネットワーク1000を介して、外部の装置と接続するインタフェースである。FC I/F3008が接続する外部の装置には、DBMSサーバ2000等が含まれる。
物理ディスク3006には、DBを含む情報が記憶されている。なお、DBMSサーバ2000は、物理ディスク3006を論理ユニットとして認識する。つまり、DBMSサーバ2000は、論理ユニット番号及びオフセットアドレスを使って、物理ディスク3006に格納されているデータにアクセスする。オフセットアドレスは、当該論理ユニット内の相対的なアドレスである。
なお、物理ディスク3006は、RAID構成であってもよい。この場合、DBMSサーバ2000は、論理ユニット番号及び論理アドレスを使って、物理ディスク3006に格納されているデータにアクセスする。
記憶領域3004は、不揮発性のメモリ装置である。記憶領域3004には、キャッシュメモリ3003として使用される領域が含まれる。また、記憶領域3004には、キャッシュ割当管理テーブル8400、キャッシュデータ管理テーブル8500及び制御マネージャ3001等が記憶されている。
キャッシュ割当管理テーブル8400は、図6Aで後述するが、キャッシュメモリ3003の割り当ての状況に関する情報を示す。
キャッシュデータ管理テーブル8500は、図6Bで後述するが、キャッシュメモリ3003が記憶しているデータに関する情報を示す。
制御マネージャ3001は、管理サーバ1030からの要求に応じて物理ディスク3006に格納されているデータを呼び出し、呼び出したデータをキャッシュメモリ3003に格納する。
図4は、本発明の実施の形態の管理サーバ1030のブロック図である。
管理サーバ1030は、プロセッサ1031、記憶領域1034、Ether I/F1033及び出力装置1032を備える。管理サーバ1030を構成するこれらの装置は、内部バス等の通信路1035を介して相互に接続されている。
なお、Ether I/F1033は、一つを図示しているが、複数備えられていてもよい。
Ether I/F1033は、ネットワーク1020を介して、外部の装置と接続するインタフェースである。Ether I/F1033が接続する外部の装置には、DBMSサーバ2000及びストレージ装置3000等が含まれる。
出力装置1032は、例えば、ディスプレイ等であり、各種情報を出力する。
記憶領域1034には、管理マネージャ1050、アクセスプラン情報テーブル7200、ストレージキャッシュ管理テーブル7300、ストレージキャッシュ割当管理テーブル7400、DBMS統計情報テーブル7500、構成情報テーブル7600及びDBMS性能情報テーブル7700等が記憶されている。
管理マネージャ1050は、ストレージ装置3000のキャッシュメモリ3003の割り当ての変更を検知すると、DBMS2008へアクセスプランの変更を指示する。管理マネージャ1050の処理の詳細は、図12及び図13で後述する。
アクセスプラン情報テーブル7200は、図7Aで後述するが、DBMSサーバ2000が作成したアクセスプランに関する情報を示す。
ストレージキャッシュ管理テーブル7300は、図7Bで後述するが、ストレージ装置3000のキャッシュメモリ3003に格納されているデータに関する情報を示す。
ストレージキャッシュ割当管理テーブル7400は、図7Cで後述するが、ストレージ装置3000のキャッシュメモリ3003の割り当ての変更履歴を示す。
DBMS統計情報テーブル7500は、図7Dで後述するが、ストレージ装置3000に格納されているDBに含まれる表及び索引に関する情報を示す。
構成情報テーブル7600は、図7Eで後述するが、ストレージ装置3000に格納されているDBに関する情報を示す。
DBMS性能情報テーブル7700は、図7Fで後述するが、DBMSサーバ2000のDBMS2008の性能に関する情報を示す。
図5Aは、本発明の実施の形態のDBMSサーバ2000が有するDBスキーマ情報テーブル5100の構成図である。
DBスキーマ情報テーブル5100は、DBMS2008が管理するDBスキーマに関する情報である。DBスキーマ情報テーブル5100は、スキーマID5101、スキーマ名5102、スキーマ種別5103、データ領域ID5104、スキーマサイズ5105及び先頭オフセットアドレス5106を含む。
スキーマID5101は、DBMS2008が管理するDBスキーマの一意な識別子である。スキーマ名5102は、当該DBスキーマの名称である。スキーマ種別5103は、当該DBスキーマの種別であり、「表」又は「索引」等が格納される。
データ領域ID5104は、当該DBスキーマが格納されているデータ領域の一意な識別子である。スキーマサイズ5105は、当該DBスキーマの大きさである。先頭オフセットアドレス5106は、当該DBスキーマが格納されている物理ディスク3006上の記憶領域のオフセットアドレスの先頭の値である。なお、DBスキーマは、ストレージ装置3000の物理ディスク3006上の記憶領域に格納されている。
図5Bは、本発明の実施の形態のDBMSサーバ2000が有するデータ領域情報テーブル5200の構成図である。
データ領域情報テーブル5200は、OS2007が管理するデータ領域に関する情報である。
データ領域情報テーブル5200は、データ領域ID5201、領域名5202、DBファイルシステム名5203及び領域サイズ5204を含む。データ領域情報テーブル5200は、DBMSサーバ2000のOS2007に含まれるDBファイルシステムの数と同数のレコードを有する。
データ領域ID5201は、DBMS2008がデータ領域を一意に識別する識別子である。領域名5202は、当該データ領域の名称である。DBファイルシステム名5203は、当該データ領域を管理するDBファイルシステムの名称である。領域サイズ5204は、当該データ領域の大きさである。
図5Cは、本発明の実施の形態のDBMSサーバ2000が有するDBファイルシステム情報テーブル5300の構成図である。
DBファイルシステム情報テーブル5300は、DBMSサーバ2000のOS2007がデータを読み書きする際に用いる情報である。DBファイルシステム情報テーブル5300は、DBファイルシステム名5301、論理ユニット番号5302及びストレージID5303を含む。
DBファイルシステム名5301は、DBMSサーバ2000のOS2007に含まれるDBファイルシステムの名称である。
論理ユニット番号5302は、当該DBファイルシステムが管理する論理ユニットの一意な識別子である。
ストレージID5303は、当該DBファイルシステムが管理する論理ユニットが属するストレージ装置の一意な識別子である。例えば、ストレージID5303には、World Wide Name(WWN))が格納されてもよい。
図5Dは、本発明の実施の形態のDBMSサーバ2000が有するDBMS領域情報テーブル5400の構成図である。
DBMS領域情報テーブル5400は、DBMS ID5401、ストレージID5402、論理ユニット番号5403及びオフセットアドレス5404を含む。
DBMS ID5401は、DBMSサーバ2000で動作するDBMS2008の一意な識別子である。
ストレージID5402は、当該DBMS2008が使用する物理ディスク3006上の記憶領域を有するストレージ装置3000の一意な識別子である。論理ユニット番号5403は、当該DBMS2008が使用する論理ユニットの一意な識別子である。オフセットアドレス5404は、当該DBMS2008が使用する物理ディスク3006上の記憶領域のオフセットアドレスである。
図6Aは、本発明の実施の形態のストレージ装置3000が有するキャッシュ割当管理テーブル8400の構成図である。
キャッシュ割当管理テーブル8400は、ストレージ装置3000のキャッシュメモリ3003の割り当ての状況を示す。
キャッシュ割当管理テーブル8400は、キャッシュ割当ホストID8401及びキャッシュアドレス8402を含む。
キャッシュ割当ホストID8401は、ストレージ装置3000のキャッシュメモリ3003上の記憶領域(キャッシュ領域)が割り当てられているDBMSサーバ2000の一意な識別子である。
キャッシュアドレス8402は、当該DBMSサーバ2000に割り当てられているキャッシュ領域のアドレス(キャッシュアドレス)である。
図6Bは、本発明の実施の形態のストレージ装置3000が有するキャッシュデータ管理テーブル8500の構成図である。
キャッシュデータ管理テーブル8500は、キャッシュメモリ3003に記憶されているデータと物理ディスク3006に記憶されているデータとの関係を示す。
キャッシュデータ管理テーブル8500は、キャッシュアドレス8501、論理ユニット番号8502及びオフセットアドレス8503を含む。
キャッシュアドレス8501は、データが記憶されているキャッシュ領域のアドレスである。
論理ユニット番号8502は、当該キャッシュ領域に記憶されているデータと同一のデータが記憶されている論理ユニットの一意な識別子である。オフセットアドレス8503は、当該キャッシュ領域に記憶されているデータと同一のデータが記憶されている物理ディスク上3006の記憶領域のオフセットアドレスである。
図7Aは、本発明の実施の形態の管理サーバ1030が有するアクセスプラン情報テーブル7200の構成図である。
アクセスプラン情報テーブル7200は、ノードプラン名7201、プラン親ノード名7202、ノード処理7203、アクセスデータ構造7204、処理順番7205及びノード処理詳細7206を含む。
ノードプラン名7201は、アクセスプランに含まれるノードプランの名称である。
プラン親ノード名7202は、当該ノードプランに対応する親ノードプランの名称である。ノード処理7203は、当該ノードプランの処理内容である。アクセスデータ構造7204は、当該ノードプランがアクセスするデータ構造の名称である。
処理順番7205は、当該ノードプランが処理される順番である。ノード処理詳細欄7206は、当該ノードプランの詳細な処理内容である。
図7Bは、本発明の実施の形態の管理サーバ1030が有するストレージキャッシュ管理テーブル7300の構成図である。
ストレージキャッシュ管理テーブル7300は、ストレージID7301、キャッシュアドレス7302、ホストID7303、DBMS ID7304、ヒット回数7305、論理ユニット番号7306及びオフセットアドレス7307を含む。
ストレージID7301は、キャッシュメモリ3003にデータが記憶されているストレージ装置3000の一意な識別子である。キャッシュアドレス7302は、データが記憶されているキャッシュ領域のアドレスである。
ホストID7303は、当該キャッシュ領域を使用するDBMSサーバ2000の一意な識別子である。DBMS ID7304は、当該キャッシュ領域を使用するDBMS2008の一意な識別子である。
ヒット回数7305は、当該キャッシュ領域にDBMS2008がアクセスした回数である。
論理ユニット番号7306は、当該キャッシュ領域に記憶されているデータと同一のデータが記憶されている論理ユニットの一意な識別子である。オフセットアドレス7307は、当該キャッシュ領域に記憶されているデータと同一のデータが記憶されている物理ディスク3006上の記憶領域のオフセットアドレスである。
図7Cは、本発明の実施の形態の管理サーバ1030が有するストレージキャッシュ割当管理テーブル7400の構成図である。
ストレージキャッシュ割当管理テーブル7400は、ストレージID7401、キャッシュアドレス7402及び割当ホストID7403を含む。
ストレージID7401は、キャッシュ領域の割り当てが変更されたキャッシュメモリ3003を備えるストレージ装置3000の一意な識別子である。
キャッシュアドレス7402は、割り当てが変更されたキャッシュ領域のアドレスである。
割当ホストID7403は、割り当ての変更によって、当該キャッシュ領域が割り当てられたDBMSサーバ2000の一意な識別子である。
図7Dは、本発明の実施の形態の管理サーバ1030が有するDBMS統計情報テーブル7500の構成図である。
DBMS統計情報テーブル7500は、表・索引名7501、列名7502、長さ7503及びエントリ数7504を含む。
表・索引名7501は、ストレージ装置3000に格納されているDBに含まれる表又は索引の名称である。
列名7502は、当該表又は索引のキー値の列の名称である。
長さ7503は、当該列のデータ長である。エントリ数7504は、当該列のエントリの数である。
図7Eは、本発明の実施の形態の管理サーバ1030が有する構成情報テーブル7600の構成図である。
構成情報テーブル7600は、ホストID7601、DBMS ID7602、スキーマ名7603、スキーマ種別7604、スキーマサイズ7605、データ領域ID7606、先頭オフセットアドレス7607、論理ユニット番号7608及びストレージID7609を含む。
ホストID7601は、DBMSサーバ2000の一意な識別子である。DBMS ID7602は、DBMSサーバ2000で動作するDBMS2008の一意な識別子である。
スキーマ名7603は、当該DBMS2008がアクセスするスキーマの名称である。スキーマ種別7604は、当該スキーマの種別であり、「表」又は「索引」等が格納される。サイズ7605は、当該スキーマの大きさである。
データ領域ID7606は、当該スキーマが格納されているデータ領域の一意な識別子である。先頭オフセットアドレス7607は、当該スキーマが格納されている物理ディスク上3006上の記憶領域のオフセットアドレスの先頭の値である。
論理ユニット番号7608は、当該スキーマが格納されている論理ユニットの一意な識別子である。ストレージID7609は、当該スキーマが格納されているストレージ装置3000の一意な識別子である。
図7Fは、本発明の実施の形態の管理サーバ1030が有するDBMS性能情報テーブル7700の構成図である。
DBMS性能情報テーブル7700は、DBMS ID7701、ホストID7702、スループット情報7703及び最大ディスクキュー長7704を含む。
DBMS ID7701は、DBMSサーバ2000で動作するDBMS2008の一意な識別子である。ホストID7702は、当該DBMSが動作するDBMSサーバ2000の一意な識別子である。
スループット7703は、当該DBMS2008の処理速度である。最大ディスクキュー長7704は、当該DBMS2008のキューの長さの最大値である。キューの長さは、DBにアクセスする順番を待っている処理の数である。
図8Aは、本発明の実施の形態のDBMSサーバ2000のDBMS2008が実行するクエリ98の説明図である。
クエリ98は、データをDBに要求する情報である。
DBMS2008は、クエリ98をクライアントプログラム2006から受けると、当該クエリ98を解析する。そして、解析した結果に基づいて、アクセスプランを作成する。
図8Bは、本発明の実施の形態のDBMS2008が作成したアクセスプランの説明図である。
アクセスプランは、複数のノードプラン90〜97で構成される。ノードプラン90〜97には、ノード番号、処理内容及びアクセスデータ構造が含まれる。
複数の表を結合する処理には、ネストループ結合、ソートマージ結合及びハッシュ結合などがある。
当該アクセスプランでは、表T2と表T3は、ハッシュ結合によって結合される(ノードプラン94)。また、ハッシュ結合の結果と表T1は、ネストループ結合によって結合される(ノードプラン91)。
図9は、本発明の実施の形態の管理サーバ1030が行う構成情報テーブル7600及びDBMS統計情報テーブル7500の更新処理のフローチャートである。
管理サーバ1030の管理マネージャ1050は、構成情報テーブル7600を更新するための情報をDBMSサーバ2000から取得する。
具体的には、DBMSサーバ2000のDBスキーマ情報テーブル5100に格納されている情報をDBMSサーバ2000から取得する。次に、取得したDBスキーマ情報テーブル5100の先頭オフセットアドレス5106とDBMS領域情報テーブル5400のオフセットアドレス5404の先頭の値とが一致するレコードに格納されている情報を、DBMSサーバ2000のDBMS領域情報テーブル5400から取得する。
次に、取得した情報に基づいて、構成情報テーブル7600を更新する(101)。
具体的には、これらの情報を取得したDBMSサーバ2000を特定する。次に、特定したDBMSサーバ2000の識別子を、構成情報テーブル7600のホストID7601に格納する。
次に、取得したDBMS領域情報テーブル5400のDBMS ID5401を、構成情報テーブル7600のDBMS ID7602に格納する。次に、取得したDBスキーマ情報テーブル5100のスキーマ名5102を、構成情報テーブル7600のスキーマ名7603に格納する。
次に、取得したDBスキーマ情報テーブル5100のスキーマ種別5103を、構成情報テーブル7600のスキーマ種別7604に格納する。次に、取得したDBスキーマ情報テーブル5100のスキーマサイズ5105を、構成情報テーブル7600のスキーマサイズ7605に格納する。
次に、取得したDBスキーマ情報テーブル5100のデータ領域ID5104を、構成情報テーブル7600のデータ領域ID7606に格納する。次に、取得したDBスキーマ情報テーブル5100の先頭オフセットアドレス5106を、構成情報テーブル7600の先頭オフセットアドレス7607に格納する。
次に、取得したDBMS領域情報テーブル5400の論理ユニット番号5403を、構成情報テーブル7600の論理ユニット番号7608に格納する。次に、取得したDBMS領域情報テーブル5400のストレージID5402を、構成情報テーブル7600のストレージID7609に格納する。
以上のように、構成情報テーブル7600を更新する。
次に、DBMS統計情報テーブル7500を行進するための情報をDBMSサーバ2000から取得する。
具体的には、当該DBMSサーバ2000が管理する表又は索引に関する情報を取得する。表又は索引に関する情報は、表名又は索引名、キー値の列名、列の長さ及び列のエントリ数を含む。
次に、取得した情報に基づいて、DBMS統計情報テーブル7500を更新する(102)。
そして、構成情報テーブル7600及びDBMS統計情報テーブル7500の更新処理を終了する。
図10は、本発明の実施の形態のストレージ装置3000のキャッシュアクセス状況通知処理のフローチャートである。
ストレージ装置3000の制御マネージャ3001は、所定の時間内におけるキャッシュメモリ3003へのアクセスを監視し、当該アクセスの状況(キャッシュアクセス状況)を収集する(131)。所定の時間は、予め設定されていてもよいし、管理者から指定されてもよい。
キャッシュアクセス状況は、キャッシュアドレス、キャッシュヒット回数、ホストID、論理ユニット番号及びオフセットアドレスを含む。
キャッシュアドレスは、DBMSサーバ2000に使用されているキャッシュ領域のアドレスである。キャッシュヒット回数は、当該キャッシュ領域がDBMSサーバ2000にアクセスされた回数(カウンタ値情報)である。ホストIDは、当該キャッシュ領域に使用しているDBMSサーバ2000の一意な識別子である。
論理ユニット番号は、当該キャッシュ領域に記憶されているデータと同一のデータが記憶されている論理ユニットの一意な識別子である。オフセットアドレスは、当該キャッシュ領域に記憶されているデータと同一のデータが記憶されている物理ディスク3006上の記憶領域のオフセットアドレスである。
具体的には、制御マネージャ3001は、アクセスを監視することによって、キャッシュアドレス及びキャッシュヒット回数を収集する。次に、収集したキャッシュアドレスとキャッシュ割当管理テーブル8400のキャッシュアドレス8402とが一致するレコードを、キャッシュ割当管理テーブル8400から選択する。次に、選択したレコードから、キャッシュ割当ホストID8401を取得する。そして、取得したホストID8401を、キャッシュアクセス状況のホストIDとする。
次に、収集したキャッシュアドレスとキャッシュデータ管理テーブル8500のキャッシュアドレス8501とが一致するレコードを、キャッシュデータ管理テーブル8500から選択する。選択したレコードから、論理ユニット番号8502及びオフセットアドレス8503を取得する。そして、取得した論理ユニット番号8502及びオフセットアドレス8503を、キャッシュアクセス状況の論理ユニット番号及びオフセットアドレスとする。このようにキャッシュアクセス状況を収集する。
次に、制御マネージャ3001は、収集したキャッシュアクセス状況を、管理サーバ1030へ通知する(132)。そして、キャッシュアクセス状況通知処理を終了する。
図11は、本発明の実施の形態の管理サーバ1030のストレージキャッシュ管理テーブル7300の更新処理のフローチャートである。
まず、管理マネージャ1050は、ストレージ装置3000からキャッシュアクセス状況の通知を受ける(135)。
そして、通知を受けたキャッシュアクセス状況に基づいて、ストレージキャッシュ管理テーブル7300を更新する(136)。
具体的には、キャッシュアクセス状況を通知したストレージ装置3000を特定する。そして、特定したストレージ装置3000の識別子を、ストレージキャッシュ管理テーブル7300のストレージID7301に格納する。
次に、キャッシュアクセス状況に含まれるキャッシュアドレスを、ストレージキャッシュ管理テーブル7300のキャッシュアドレス7302に格納する。次に、キャッシュアクセス状況に含まれるホストIDを、ストレージキャッシュ管理テーブル7300のホストID7303に格納する。
次に、キャッシュアクセス状況に含まれるキャッシュメモリ情報の先頭の値と構成情報テーブル7600の先頭オフセットアドレス7607とが一致するレコードを、構成情報テーブル7600から選択する。次に、選択したレコードから、DBMS ID7602を取得する。そして、取得したDBMS ID7602を、ストレージキャッシュ管理テーブル7300のDBMS ID7304に格納する。
次に、キャッシュアクセス状況に含まれるキャッシュヒット回数を、ストレージキャッシュ管理テーブル7300のヒット回数7305に格納する。次に、キャッシュアクセス状況に含まれる論理ユニット番号を、ストレージキャッシュ管理テーブル7300の論理ユニット番号7306に格納する。次に、キャッシュアクセス状況に含まれるオフセットアドレスを、ストレージキャッシュ管理テーブル7300のオフセットアドレス7307に格納する。
以上のように、ストレージキャッシュ管理テーブル7300を更新する。そして、処理を終了する。
図12は、本発明の実施の形態の管理サーバ1030のキャッシュメモリ割当変更処理の説明図である。
管理サーバ1030の管理マネージャ1050は、DBMS2008の性能に関する情報をDBMSサーバ2000から定期的に取得する(140)。
次に、取得したDBMS2008の性能に関する情報に基づいて、DBMS性能情報テーブル7700を更新する。そして、更新したDBMS性能情報テーブル7700を参照することによって、DBMS2008に性能問題が発生しているか否かを判断する(141)。例えば、管理マネージャ1050は、問題の発生回数が閾値を超えると、DBMS2008に性能問題が発生していると判定する。
性能問題は、DBMS2008に割り当てられているキャッシュメモリ3003の不足により発生することがある。具体的には、DBMS2008がアクセスするデータがストレージ装置3000のキャッシュメモリ3003に載りきらない場合には、LRUアルゴリズム等に基づき、キャッシュメモリ3003上のデータを削除して新たにキャッシュメモリ3003の空き領域を作成しデータを記憶する。この時、DBMS2008がアクセスするデータがストレージ装置3000のキャッシュメモリ3003に記憶されていないならば、物理ディスク3006に記憶されているデータへアクセスするためアクセス時間がかかることになり、DBMS2008が実行する処理が遅延することがある。
DBMS2008に性能問題が発生していないと、キャッシュメモリ3003の割り当てを変更する必要がないので、ステップ140に戻る。
一方、DBMS2008に性能問題が発生していると、キャッシュメモリ3003の割り当てを変更する必要があると判定する。そこで、DBMS2008の性能問題を解決するために必要なキャッシュメモリ3003の容量を算出する(142)。
例えば、特許文献1に記載された方法で、DBMS2008の性能問題を解決するために必要なキャッシュメモリ3003の容量を算出する。具体的には、DBMS2008の過去の性能情報に基づいて、性能問題を解決するためにDBMS2008がアクセスするデータを判断する。次に、判断したデータへのアクセスに必要なキャッシュメモリ3003の容量を算出する。そして、算出した容量を、性能問題を解決するために必要なキャッシュメモリ3003の容量とする。
次に、管理マネージャ1050は、ストレージキャッシュ管理テーブル7300を参照して、キャッシュメモリ3003の割り当てを決定する(143)。このとき、算出したキャッシュメモリ3003の容量を問題が発生したDBMS2008に割り当てるように、キャッシュメモリ3003の割り当てを決定する。
例えば、管理マネージャ1050は、DBMS2008が既にアクセスして不要になったデータを記憶しているキャッシュ領域を、問題が発生したDBMS2008に割り当てるように、キャッシュメモリ3003の割り当てを決定する。
具体的には、管理マネージャ1050は、ストレージID7301、キャッシュアドレス7302、論理ユニット番号7306及びオフセットアドレス7307を、ストレージキャッシュ管理テーブル7300のレコード順に抽出する。
次に、抽出した論理ユニット番号7306と構成情報テーブル7600の論理ユニット番号7608とが一致し、且つ、抽出したオフセットアドレス7307の先頭の値と構成情報テーブル7600の先頭オフセットアドレス7607とが一致するレコードを、構成情報テーブル7600から選択する。次に、選択したレコードから、スキーマ名7603を抽出する。
これによって、抽出したストレージID7301及びキャッシュアドレス7302に対応するキャッシュ領域に記憶されているデータのスキーマ名を取得する。
次に、DBMS2008のアクセス情報を取得する。アクセス情報は、DBMS2008がアクセスした物理ディスク3006上の記憶領域のストレージID、論理ユニット番号及びオフセットアドレスを含む。
次に、取得したアクセス情報及びアクセスプラン情報テーブル7200を参照することによって、DBMS2008が現在アクセスしている場所をアクセスプランから特定する。
そして、特定した場所に基づいて、抽出したストレージID7301及びキャッシュアドレス7302に対応するキャッシュ領域に記憶されているデータが、DBMS2008に既にアクセスされたか否かを判定する。ここでは、DBMS2008に既にアクセスされたデータを不要になったデータと判定する。
そして、不要になったデータが記憶されているキャッシュ領域を、問題が発生したDBMS2008に優先的に割り当てるように、キャッシュメモリ3003の割り当てを決定する。つまり、当該ストレージID及びキャッシュアドレス7302に対応するキャッシュ領域を、性能問題が発生したDBMS2008に優先的に割り当てる。
また、管理マネージャ1050は、キャッシュ領域のアクセス回数に基づいて、キャッシュメモリ3003の割り当てを決定してもよい。
具体的には、性能問題を解決するために必要な容量を、DBMS2008に割り当てるまで以下の処理を繰り返す。
まず、ストレージキャッシュ管理テーブル7300のヒット回数7305の小さいレコードをストレージキャッシュ管理テーブル7300から順に選択する。次に、選択したレコードから、ストレージID7301及びキャッシュアドレス7302を抽出する。
そして、抽出したストレージID7301及びキャッシュアドレス7302に対応するキャッシュ領域を、性能問題が発生したDBMS2008に割り当てる。
例えば、性能問題を解決するために必要なキャッシュメモリ3003の容量が「100MB」であるで説明する。この場合、管理マネージャ1050は、ストレージキャッシュ管理テーブル7300のヒット回数7305が「1回」のキャッシュ領域を割り当てる。次に、ストレージキャッシュ管理テーブル7300のヒット回数7305が「1回」のキャッシュ領域のすべてを合わせた容量が「100MB」以下であるかを判定する。容量が「100MB」以下であると、ストレージキャッシュ管理テーブル7300のヒット回数7305が「2回」のキャッシュ領域を割り当てる。このように、割り当てるキャッシュ領域のヒット回数7305を徐々に増やす。これによって、管理マネージャ1050は、アクセス頻度の低いデータが記憶されているキャッシュ領域を、性能問題が発生したDBMS2008に割り当てることができる。
ここでは、アクセス頻度の低いデータが記憶されているキャッシュ領域から順に、DBMS2008に割り当てている。しかし、アクセス頻度が閾値以上であるデータが記憶されているキャッシュ領域をDBMS2008に割り当てないように、キャッシュメモリ3003の割り当てを決定してもよい。
以上のように、キャッシュメモリ3003の割り当てを決定すると、決定した割り当てへの変更をストレージ装置3000へ指示する(144)。そして、ステップ140へ戻り、本処理を繰り返す。
図13は、本発明の実施の形態の管理サーバ1030のアクセスプラン変更処理の説明図である。
管理サーバ1030の管理マネージャ1050は、DBMSサーバ2000のDBMS2008からアクセスプランの通知を受けるまで、待機する(111)。
DBMS2008は、アクセスプランを作成すると、実行する前に当該アクセスプランを管理サーバ1030へ通知する。
そして、管理マネージャ1050は、DBMS2008からアクセスプランの通知を受けると(112)、キャッシュメモリ3003の割り当てが変更されたか否かを判定する(113)。具体的には、ストレージキャッシュ割当管理テーブル7400に新たなレコードが追加されると、キャッシュメモリ3003の割り当てが変更されたと判定する。
キャッシュメモリ3003の割り当てが変更されていないと判定すると、アクセスプランを変更する必要がないので、ステップ111に戻る。
一方、キャッシュメモリ3003の割り当てが変更されたと判定すると、ストレージキャッシュ管理テーブル7300を参照して、当該DBMS2008へ現在割り当てられているキャッシュメモリ3003の容量(現在割当量)を求める。同様に、キャッシュメモリ3003の割り当て変更前に、当該DBMS2008へ割り当てられてたキャッシュメモリ3003の容量(過去割当量)を求める。
そして、管理マネージャ1050は、求めた現在割当量と過去割当量とを比較することによって、当該DBMS2008のキャッシュ割当量が増加したのか又は減少したのかを判定する(114)。
キャッシュ割当量が増加したと判定すると、通知されたアクセスプランを解析する。そして、解析することによって、当該アクセスプランに含まれる結合処理がワークファイルを使用する処理方式であるか否かを判定する(115)。
具体的には、管理マネージャ1050は、アクセスプラン情報テーブル7200のノード処理7203に、ワークファイルを使用する処理の内容が格納されているか否かを判定する。例えば、ハッシュ結合又はソートマージ結合がワークファイルを使用する処理とする。この場合、管理マネージャ1050は、アクセスプラン情報テーブル7200のノード処理7203に、ハッシュ結合又はソートマージ結合が格納されているか否かを判定する。
アクセスプランに含まれる結合処理がワークファイルを使用する処理方式であると、アクセスプランを変更する必要がないので、ステップ111に戻る。
一方、アクセスプランに含まれる結合処理がワークファイルを使用しない処理方式であると、ワークファイルを使用する結合処理を実行した場合に必要なキャッシュメモリ3003の容量を求める。
具体的には、それぞれの結合処理の特徴に基づいて、必要な容量を求める。例えば、ワークファイルを使用するハッシュ結合の特徴は、結合対象となる表の該当レコードをすべて読み込み、読み込んだデータからハッシュ表をワークファイルを使用して作成し、結合処理を行う。
管理マネージャ1050は、求めた必要な容量と現在割当量とを比較することによって、ワークファイルを使用する結合処理をDBMS2008が実行できるか否かを判定する(116)。具体的には、必要な記憶容量が現在割当量以上であると、ワークファイルを使用する結合処理をDBMS2008が実行できると判定する。
ワークファイルを使用する結合処理をDBMS2008が実行できないと判定すると、アクセスプランを変更する必要できないので、ステップ111に戻る。
一方、ワークファイルを使用する結合処理をDBMS2008が実行できると判定すると、アクセスプランの変更を指示する。具体的には、ステップ112で通知を受けたアクセスプランに含まれる結合処理を、ワークファイルを使用する結合処理へ変更するように指示する(117)。
次に、管理マネージャ1050は、アクセスプランの変更を管理者に通知する。具体的には、管理サーバ1030の出力装置1032に、アクセスプラン変更通知画面を表示させる。そして、ステップ111に戻る。
図14は、本発明の実施の形態の管理サーバ1030の出力装置1032が表示するアクセスプラン変更通知画面の説明図である。
アクセスプラン変更通知画面は、DBMSサーバ2000のアクセスプランが変更されたことを管理者に通知する。この画面によって、管理者は、DBMSサーバ2000のアクセスプランの変更を認識できる。
ここで、図13に戻る。
管理マネージャ1050は、ステップ114でキャッシュ割当量が減少したと判定すると、通知されたアクセスプランを解析する。そして、解析することによって、当該アクセスプランに含まれる結合処理がワークファイルを使用する処理方式であるか否かを判定する(118)。
アクセスプランに含まれる結合処理がワークファイルを使用しない処理方式であると、アクセスプランを変更する必要がないので、ステップ111に戻る。
一方、アクセスプランに含まれる結合処理がワークファイルを使用する処理方式であると、当該結合処理をDBMS2008が実行できるか否かを判定する(119)。
ワークファイルを使用する結合処理をDBMS2008が実行できると判定すると、アクセスプランを変更する必要がないので、ステップ111に戻る。
一方、ワークファイルを使用する結合処理をDBMS2008が実行できないと判定すると、アクセスプランの変更を指示する。具体的には、ステップ112で通知を受けたアクセスプランに含まれる結合処理を、ワークファイルを使用しない結合処理へ変更するように指示する(120)。
次に、管理マネージャ1050は、アクセスプランの変更を管理者に通知する。具体的には、管理サーバ1030の出力装置1032に、アクセスプラン変更通知画面(図14)を表示させる。そして、ステップ111に戻る。
本実施の形態では、DBMS2008は、アクセスプランを実行する前に、当該アクセスプランを管理マネージャ1050に通知する。そして、アクセスプランの通知を受けた管理マネージャ1050は、キャッシュ割当量の変化に応じて、アクセスプランの変更をDBMS2008に指示する。
他にも、管理マネージャ1050は、DBMS2008が実行中のアクセスプランを取得し、取得したアクセスプランの変更をDBMS2008に指示してもよい。
本実施の形態によれば、管理サーバ1030は、DBMS2008の性能問題を検知すると、ストレージ装置3000のキャッシュメモリ3003の割り当てを変更する。そして、管理サーバ1030は、変更した割当量に応じて、DBMS2008が実行するアクセスプランの変更を指示する。これによって、DBMS2008は、高速に処理するアクセスプランに変更できる。
本発明の実施の形態の計算機システムのブロック図である。 本発明の実施の形態のDBMSサーバのブロック図である。 本発明の実施の形態のストレージ装置のブロック図である。 本発明の実施の形態の管理サーバのブロック図である。 本発明の実施の形態のDBMSサーバが有するDBスキーマ情報テーブルの構成図である。 本発明の実施の形態のDBMSサーバが有するデータ領域情報テーブルの構成図である。 本発明の実施の形態のDBMSサーバが有するDBファイルシステム情報テーブルの構成図である。 本発明の実施の形態のDBMSサーバが有するDBMS領域情報テーブルの構成図である。 本発明の実施の形態のストレージ装置が有するキャッシュ割当管理テーブルの構成図である。 本発明の実施の形態のストレージ装置が有するキャッシュデータ管理テーブルの構成図である。 本発明の実施の形態の管理サーバが有するアクセスプラン情報テーブルの構成図である。 本発明の実施の形態の管理サーバが有するストレージキャッシュ管理テーブルの構成図である。 本発明の実施の形態の管理サーバが有するストレージキャッシュ割当管理テーブルの構成図である。 本発明の実施の形態の管理サーバが有するDBMS統計情報テーブルの構成図である。 本発明の実施の形態の管理サーバが有する構成情報テーブルの構成図である。 本発明の実施の形態の管理サーバが有するDBMS性能情報テーブルの構成図である。 本発明の実施の形態のDBMSサーバのDBMSが実行するクエリの説明図である。 本発明の実施の形態のDBMSが作成したアクセスプランの説明図である。 本発明の実施の形態の管理サーバが行う構成情報テーブル及びDBMS統計情報テーブルの更新処理のフローチャートである。 本発明の実施の形態のストレージ装置のキャッシュアクセス状況通知処理のフローチャートである。 本発明の実施の形態の管理サーバのストレージキャッシュ管理テーブルの更新処理のフローチャートである。 本発明の実施の形態の管理サーバのキャッシュメモリ割当変更処理の説明図である。 本発明の実施の形態の管理サーバのアクセスプラン変更処理の説明図である。 本発明の実施の形態の管理サーバの出力装置が表示するアクセスプラン変更通知画面の説明図である。
符号の説明
1000、1020 ネットワーク
1030 管理サーバ
1031 プロセッサ
1032 出力装置
1033 Ether I/F
1034 記憶領域
1050 管理マネージャ
2000 DBMSサーバ
2006 クライアントプログラム
2007 OS
2008 DBMS
2009 プラン作成マネージャ
2012 プロセッサ
2013 出力装置
2014 FC I/F
2015 Ether I/F
2016 記憶領域
3000 ストレージ装置
3001 制御マネージャ
3003 キャッシュメモリ
3004 記憶領域
3005 コントローラ
3006 物理ディスク
3007 Ether I/F
3008 FC I/F

Claims (15)

  1. データベース管理システムが動作する一又は複数のデータベース計算機と、前記データベース管理システムによって操作されるデータベースを格納する記憶装置と、前記データベース計算機及び前記記憶装置を管理する管理計算機と、を有する計算機システムであって、
    前記記憶装置は、データを一時的に格納するキャッシュメモリ及び前記データベースを格納する物理ディスク装置を有し、
    前記管理計算機は、
    当該データベース管理システムが動作するデータベース計算機へ割り当てられている前記キャッシュメモリの割当量を変更し、
    前記変更したキャッシュメモリの割当量に応じて、前記データベースに対するクエリに応じた前記データベースへのアクセス方法を示すアクセスプランの変更を前記データベース管理システムへ指示することを特徴とする計算機システム。
  2. 前記管理計算機は、
    前記データベース計算機へ割り当てられている前記キャッシュメモリの割当量が増加すると、前記キャッシュメモリの使用量が多いアクセスプランへの変更を前記データベース管理システムへ指示し、
    前記データベース計算機へ割り当てられている前記キャッシュメモリの割当量が減少すると、前記キャッシュメモリの使用量が少ないアクセスプランへの変更を前記データベース管理システムへ指示することを特徴とする請求項1に記載の計算機システム。
  3. 記管理計算機は、前記一又は複数のデータベース計算機の一つで動作するデータベース管理システムが使い終わったデータを格納しているキャッシュメモリ上の領域を、他のデータベース管理システムが動作するデータベース計算機に割り当てることによって、前記キャッシュメモリの割当量を変更することを特徴とする請求項1に記載の計算機システム。
  4. 記管理計算機は、前記キャッシュメモリの割当量の変更において、前記キャッシュメモリ上の複数領域における一部の領域の割り当てを維持しながら、アクセス頻度が前記一部の領域のデータよりも低いデータが記憶されている領域の割り当てを変更することを特徴とする請求項1に記載の計算機システム。
  5. 前記管理計算機は、
    前記データベース管理システムが前記キャッシュメモリへアクセスする頻度を監視し、
    前記監視したアクセス頻度を記憶し、
    前記記憶したアクセス頻度に基づいて、前記キャッシュメモリの割当量を変更することを特徴とする請求項4に記載の計算機システム。
  6. データベース管理システムが動作する一又は複数のデータベース計算機と、データを一時的に格納するキャッシュメモリ及び前記データベース管理システムによって操作されるデータベースを格納する物理ディスク装置を有する記憶装置と、を管理する管理計算機であって、
    当該データベース管理システムが動作するデータベース計算機へ割り当てられている前記キャッシュメモリの割当量を変更し、
    前記変更したキャッシュメモリの割当量に応じて、前記データベースに対するクエリに応じた前記データベースへのアクセス方法を示すアクセスプランの変更を前記データベース管理システムへ指示することを特徴とする管理計算機。
  7. 前記データベース計算機へ割り当てられている前記キャッシュメモリの割当量が増加すると、前記キャッシュメモリの使用量が多いアクセスプランへの変更を前記データベース管理システムへ指示し、
    前記データベース計算機へ割り当てられている前記キャッシュメモリの割当量が減少すると、前記キャッシュメモリの使用量が少ないアクセスプランへの変更を前記データベース管理システムへ指示することを特徴とする請求項6に記載の管理計算機。
  8. 前記一又は複数のデータベース計算機の一つで動作するデータベース管理システムが使い終わったデータを格納しているキャッシュメモリ上の領域を、他のデータベース管理システムが動作するデータベース計算機に割り当てることによって、前記キャッシュメモリの割当量を変更することを特徴とする請求項6に記載の管理計算機。
  9. 前記キャッシュメモリの割当量の変更において、前記キャッシュメモリ上の複数領域における一部の領域の割り当てを維持しながら、アクセス頻度が前記一部の領域のデータよりも低いデータが記憶されている領域の割り当てを変更することを特徴とする請求項6に記載の管理計算機。
  10. 前記データベース管理システムが前記キャッシュメモリへアクセスする頻度を監視し、
    前記監視したアクセス頻度を記憶し、
    前記記憶したアクセス頻度に基づいて、前記キャッシュメモリの割当量を変更することを特徴とする請求項9に記載の管理計算機。
  11. データベース管理システムが動作する一又は複数のデータベース計算機と、前記データベース管理システムによって操作されるデータベースを格納する記憶装置と、前記データベース計算機及び前記記憶装置を管理する管理計算機と、を有する計算機システムにおけるデータベース管理システムの制御方法であって、
    前記記憶装置は、データを一時的に格納するキャッシュメモリ及び前記データベースを格納する物理ディスク装置を有し、
    前記管理計算機は、
    当該データベース管理システムが動作するデータベース計算機へ割り当てられている前記キャッシュメモリの割当量を変更し、
    前記変更したキャッシュメモリの割当量に応じて、前記データベースに対するクエリに応じた前記データベースへのアクセス方法を示すアクセスプランの変更を前記データベース管理システムへ指示することを特徴とするデータベース管理システムの制御方法。
  12. 前記管理計算機は、
    前記データベース計算機へ割り当てられている前記キャッシュメモリの割当量が増加すると、前記キャッシュメモリの使用量が多いアクセスプランへの変更を前記データベース管理システムへ指示し、
    前記データベース計算機へ割り当てられている前記キャッシュメモリの割当量が減少すると、前記キャッシュメモリの使用量が少ないアクセスプランへの変更を前記データベース管理システムへ指示することを特徴とする請求項11に記載のデータベース管理システムの制御方法。
  13. 記管理計算機は、前記一又は複数のデータベース計算機の一つで動作するデータベース管理システムが使い終わったデータを格納しているキャッシュメモリ上の領域を、他のデータベース管理システムが動作するデータベース計算機に割り当てることによって、前記キャッシュメモリの割当量を変更することを特徴とする請求項11に記載のデータベース管理システムの制御方法。
  14. 記管理計算機は、前記キャッシュメモリの割当量の変更において、前記キャッシュメモリ上の複数領域における一部の領域の割り当てを維持しながら、アクセス頻度が前記一部の領域のデータよりも低いデータが記憶されている領域の割り当てを変更することを特徴とする請求項11に記載のデータベース管理システムの制御方法。
  15. 前記管理計算機は、
    前記データベース管理システムが前記キャッシュメモリへアクセスする頻度を監視し、
    前記監視したアクセス頻度を記憶し、
    前記記憶したアクセス頻度に基づいて、前記キャッシュメモリの割当量を変更することを特徴とする請求項14に記載のデータベース管理システムの制御方法。
JP2005207019A 2005-07-15 2005-07-15 計算機システム、管理計算機及びデータベース管理システムの制御方法 Expired - Fee Related JP4784974B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005207019A JP4784974B2 (ja) 2005-07-15 2005-07-15 計算機システム、管理計算機及びデータベース管理システムの制御方法
US11/259,894 US7395371B2 (en) 2005-07-15 2005-10-26 Method of controlling a database management system by changing allocation of cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005207019A JP4784974B2 (ja) 2005-07-15 2005-07-15 計算機システム、管理計算機及びデータベース管理システムの制御方法

Publications (2)

Publication Number Publication Date
JP2007026064A JP2007026064A (ja) 2007-02-01
JP4784974B2 true JP4784974B2 (ja) 2011-10-05

Family

ID=37662930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005207019A Expired - Fee Related JP4784974B2 (ja) 2005-07-15 2005-07-15 計算機システム、管理計算機及びデータベース管理システムの制御方法

Country Status (2)

Country Link
US (1) US7395371B2 (ja)
JP (1) JP4784974B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7757009B2 (en) * 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
JP2008217575A (ja) * 2007-03-06 2008-09-18 Nec Corp ストレージ装置及びその構成最適化方法
US8818989B2 (en) * 2010-11-30 2014-08-26 International Business Machines Corporation Memory usage query governor
JP5996390B2 (ja) * 2012-11-19 2016-09-21 株式会社三菱東京Ufj銀行 データベース管理装置
US9213644B2 (en) * 2013-03-07 2015-12-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Allocating enclosure cache in a computing system
US9898411B2 (en) * 2014-12-14 2018-02-20 Via Alliance Semiconductor Co., Ltd. Cache memory budgeted by chunks based on memory access type
US10262015B2 (en) * 2015-05-29 2019-04-16 Microsoft Technology Licensing, Llc Storage and access time for records
US9996293B1 (en) 2016-12-12 2018-06-12 International Business Machines Corporation Dynamic management of memory allocation in a database
CN112328461A (zh) * 2020-10-29 2021-02-05 无锡先进技术研究院 基于分布式存储的性能瓶颈预测方法、设备及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822749A (en) * 1994-07-12 1998-10-13 Sybase, Inc. Database system with methods for improving query performance with cache optimization strategies
US5812996A (en) * 1994-07-12 1998-09-22 Sybase, Inc. Database system with methods for optimizing query performance with a buffer manager
US6604096B1 (en) * 1997-10-14 2003-08-05 International Business Machines Corporation Apparatus and method for locally caching query explain data
US7010493B2 (en) * 2001-03-21 2006-03-07 Hitachi, Ltd. Method and system for time-based storage access services
JP4087097B2 (ja) 2001-11-12 2008-05-14 株式会社日立製作所 データベース管理システム情報を考慮したデータ再配置方法およびデータ再配置を行う計算機システム
JP4162183B2 (ja) 2001-11-12 2008-10-08 株式会社日立製作所 データベース管理システムの静的な情報を取得する手段を有する記憶装置
JP4162184B2 (ja) 2001-11-14 2008-10-08 株式会社日立製作所 データベース管理システムの実行情報を取得する手段を有する記憶装置
JP4220724B2 (ja) * 2002-05-21 2009-02-04 株式会社日立製作所 ストレージ装置
US6996556B2 (en) * 2002-08-20 2006-02-07 International Business Machines Corporation Metadata manager for database query optimizer
JP4124331B2 (ja) 2002-09-17 2008-07-23 株式会社日立製作所 Dbms向け仮想ボリューム作成・管理方法
JP4288978B2 (ja) 2003-03-27 2009-07-01 株式会社日立製作所 データ先読み方法
JP4313068B2 (ja) 2003-03-28 2009-08-12 株式会社日立製作所 記憶装置のキャッシュ管理方法
JP2004302751A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム
JP4631301B2 (ja) 2004-03-31 2011-02-16 株式会社日立製作所 記憶装置のキャッシュ管理方法
US20060236033A1 (en) * 2005-04-18 2006-10-19 Dell Products L.P. System and method for the implementation of an adaptive cache policy in a storage controller
US7493306B2 (en) * 2005-05-19 2009-02-17 International Business Machines Corporation Tracking premature termination of a database query

Also Published As

Publication number Publication date
US7395371B2 (en) 2008-07-01
US20070016716A1 (en) 2007-01-18
JP2007026064A (ja) 2007-02-01

Similar Documents

Publication Publication Date Title
JP4784974B2 (ja) 計算機システム、管理計算機及びデータベース管理システムの制御方法
US7574443B2 (en) Scalable clustered storage system
JP4416821B2 (ja) ネットワーク上でクライアントからアクセス可能なファイルセットの名前空間を維持する分散ファイル・システム
US9990265B2 (en) Diagnosing causes of performance issues of virtual machines
US7689573B2 (en) Prefetch appliance server
JP4162184B2 (ja) データベース管理システムの実行情報を取得する手段を有する記憶装置
US7415490B2 (en) Data storage system
US6748491B2 (en) Designing a cache using an LRU-LFU array
US7801848B2 (en) Redistributing a distributed database
JP2005228278A (ja) 記憶領域の管理方法、管理装置及び管理プログラム
JP4801761B2 (ja) データベース管理方法およびシステム並びにその処理プログラム
US7409514B2 (en) Method and apparatus for data migration based on a comparison of storage device state information
US11928108B2 (en) Object dependency status tracking in a cloud system
Cao et al. Is-hbase: An in-storage computing optimized hbase with i/o offloading and self-adaptive caching in compute-storage disaggregated infrastructure
JP5978297B2 (ja) 管理システム及び管理方法
JP7458610B2 (ja) データベースシステム、及びクエリ実行方法
JP5673224B2 (ja) 情報管理装置、情報管理方法、及びプログラム
US20230222121A1 (en) Clustering and compaction of materialized views on a database system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110406

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4784974

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees