JP4824458B2 - ストレージシステムの消費電力を低減する計算機システム及び方法 - Google Patents

ストレージシステムの消費電力を低減する計算機システム及び方法 Download PDF

Info

Publication number
JP4824458B2
JP4824458B2 JP2006118870A JP2006118870A JP4824458B2 JP 4824458 B2 JP4824458 B2 JP 4824458B2 JP 2006118870 A JP2006118870 A JP 2006118870A JP 2006118870 A JP2006118870 A JP 2006118870A JP 4824458 B2 JP4824458 B2 JP 4824458B2
Authority
JP
Japan
Prior art keywords
disk
query
schema
dbms
control unit
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.)
Active
Application number
JP2006118870A
Other languages
English (en)
Other versions
JP2007293479A (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
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006118870A priority Critical patent/JP4824458B2/ja
Priority to US11/482,337 priority patent/US7475347B2/en
Priority to EP06255774A priority patent/EP1850219A3/en
Publication of JP2007293479A publication Critical patent/JP2007293479A/ja
Priority to US12/327,593 priority patent/US8196034B2/en
Application granted granted Critical
Publication of JP4824458B2 publication Critical patent/JP4824458B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/20Driving; Starting; Stopping; Control thereof
    • G11B19/209Driving; Starting; Stopping; Control thereof in multiple disk arrays, e.g. spindle synchronisation in RAID systems
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • 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

Description

本発明は、データベース(以下「DB」)を記憶するストレージシステムの消費電力を低減するための技術に関する。
現在、DBを基盤とする多くのアプリケーションが存在し、DBに関する一連の処理/管理を行うデータベースマネージメントシステム(以下「DBMS」)は極めて重要なものとなっている。DBの特徴の一つは、膨大な量のデータを扱うことである。そのため、DBMSが稼動する計算機システム(以下、DBシステムとも言う)の多くにおいては、DBMSが動作する計算機(以下、DBサーバ)に、複数台の記憶装置を備えた(つまり大容量の)ストレージシステムを接続し、そのストレージシステムにDBのデータを記憶させるシステム形態が一般的である。
DBのデータは増加傾向にあり、それに伴ってストレージシステムの更なる大容量化が進んでいる。また、ストレージシステムに搭載される記憶装置としては、例えば、磁気テープ装置、或いは、ディスク(例えば、ハードディスク或いはDVD(Digital Versatile Disk)を搭載できる記憶装置(以下、「ディスク装置」と略記)がある。アクセス頻度の低いデータ(例えばアーカイブデータ)は、ディスク装置よりも価格の安い磁気テープ装置に記憶されることがあるが、ディスク装置の低価格化に伴い、ディスク装置に記憶されるケースが増えつつある。
ストレージシステムの大容量化の方法の一つとして、搭載するディスク装置の台数を増やす方法がある。しかし、ディスクの回転には多くの電力が消費されるため、ディスク装置の台数の増加によって、ストレージシステム全体の消費電力が増大する。消費電力を制御するための技術として、例えば、特開平9−282057号公報(以下、文献1)及び特開2000−293314号公報(以下、文献2)が知られている。
文献1に開示の技術は、ディスクアレイ装置において、上位装置からアクセスが無くなり予め定めた時間経過後、ディスク装置の節電(電源オンオフや節電モードの選択)を制御する。また、上位装置からアクセスがあった場合、アクセス先のディスク装置の電源がオフになっていれば、そのディスク装置の電源を投入した後、アクセスを実行する。
文献2に開示の技術は、周辺装置を含むコンピュータシステムを構成する電源制御対象装置の電源を制御するための技術である。コンピュータシステムにおいてジョブが実行され、システム電源制御装置が、ジョブの実行計画や稼動実績に基づいて、各電源制御対象装置毎に、電源制御計画を作成し、作成した電源制御計画に従って、その電源制御計画に対応する電源制御対象装置の電源を制御する。
特開2000−293314号公報 特開平9−282057号公報
前述したように、DBのデータを記憶するためのストレージシステムのディスク装置の搭載台数は、増加傾向にあるため、そのようなストレージシステムの消費電力の低減のための技術が望まれる。
ストレージシステムの消費電力を低減するための技術として、文献1に開示の技術を利用する技術、例えば、ディスク装置の電源をオフにしておき、アクセスがあった場合に、そのアクセス先のディスク装置の電源を投入する技術が考えられる。しかし、この技術では、例えば、ストレージシステムが上位装置からリード要求を受信した場合に、ディスク装置の電源を投入してからデータを読み出すことになるため、上位装置に対する読出しの応答が遅くなるという課題がある。
一方、文献2に開示の技術によれば、文献2で言うコンピュータシステムは、DBサーバとストレージシステムとを含んだDBシステムに相当するため、電源制御対象装置は、DBサーバやストレージシステムとなる。このため、文献2に開示の技術では、ストレージシステム内のディスク装置の電源制御はできない。
仮に、文献1の技術と文献2の技術を組み合わせることができたとしても、ストレージシステム内のディスク装置を制御することによりストレージシステム全体の消費電力を低減することと、ストレージシステムの応答速度の劣化を抑えることの両方を実現することはできない。なぜなら、文献1と文献2の組み合わせから導き出せるのは、ストレージシステム本体の電源を投入し、ストレージシステムにアクセスが発生した場合に、アクセス先のディスク装置の電源がオフになっていればその電源を投入することにすぎないためである。
従って、本発明の目的は、DBのデータを記憶するストレージシステム内のディスク装置を制御することによりストレージシステム全体の消費電力を低減することと、ストレージシステムの応答速度の劣化を抑えることの両方を実現することにある。
本発明に従う計算機システムは、ストレージシステムと、計算機と、ディスク回転制御部とを備える。ストレージシステムは、記憶メディアとしてのディスクを備えたディスク装置を複数台と、前記複数のディスク装置へのアクセスを制御するディスクアクセス制御部とを備え、前記複数のディスク装置にデータベース(DB)を記憶する。計算機は、前記DBを管理するためのDB管理情報を記憶したDB管理情報記憶域を備え、前記DBを操作するデータベース管理システム(DBMS)を実行する。ディスク回転制御部は、前記複数のディスク装置の回転を制御する。この計算機システムは、アクセスが発生しないディスク装置のディスクを、0以上であって、アクセス時の回転速度である第一の速度よりも遅い第二の速度で回転させるようになっている。これは、ディスク回転制御部からの命令によりされても良いし、ストレージシステム内ので制御により実現されても良い。前記DBは、前記DBMSにアクセスされる要素であるDBスキーマを複数個含んでいる。前記DB管理情報は、どのDBスキーマがどの位置に記憶されているかを表す情報を含んでいる。前記DBMSは、クエリを受け付け、受け付けたクエリのクエリプランを作成し、該クエリプランに従って、前記DB管理情報から特定されるDBスキーマに対するアクセス要求を発行するようになっている。前記ディスク回転制御部が、前記DBMSがクエリを受け付けた場合に、該クエリのクエリプランと前記DB管理情報とから、該クエリの処理の際にアクセスされるDBスキーマの記憶位置を特定し、該特定された記憶位置を備えたディスク装置のディスクを前記第一の速度で回転させる。
第一の実施態様では、前記ディスク回転制御部が、前記DBMSがクエリを受け付けた場合に、該クエリのクエリプランと前記DB管理情報とから、該クエリの処理の際にアクセスされる全てのDBスキーマにそれぞれ対応した全ての記憶位置を特定し、該特定された全ての記憶位置をそれぞれ備える全てのディスク装置のディスクを前記第一の速度で回転させることができる。
第二の実施態様では、前記ディスク回転制御部が、前記DBMSがクエリの処理を終了した場合に、該クエリの処理でアクセスされた全てのディスク装置のディスクを前記第二の速度で回転させることができる。
第三の実施態様では、前記ディスク回転制御部が、前記DBMSから発行されるアクセス要求を基に、該クエリの処理進行状況を把握し、該把握された処理進行状況から、次段階でアクセスされるDBスキーマの記憶位置を特定し、該記憶位置を備えたディスク装置のディスクを前記第一の速度で回転させることができる。
第四の実施態様では、前記第三の実施態様において、前記DB管理情報には、各DBスキーマ毎にアクセスサイズが含まれていてもよい。前記ディスク回転制御部は、前記DBMSから発行されるアクセス要求を用いて、該アクセス要求に従ってアクセスされるDBスキーマに対応したアクセスサイズを前記DB管理情報から特定し、特定されたアクセスサイズと、前記把握された処理進行状況とに基づいて、前記次段階でアクセスされるDBスキーマを記憶したディスク装置のディスクを前記第一の速度で回転させる開始タイミングを制御することができる。
第五の実施態様では、前記第四の実施態様において、前記ディスク回転制御部が、前記次段階でアクセスされるDBスキーマを記憶したディスク装置について、単位時間当たりのデータ転送量と、ディスクの回転速度が前記第一の速度になるのに要するディスク回転開始時間長とを取得することができる。また、前記ディスク回転制御部は、前記アクセス要求と、現段階でアクセスされるDBスキーマに対応したアクセスサイズとを基に、現段階の進捗を特定し、該特定された進捗と、前記取得した単位時間当たりのデータ転送量とに基づいて、現段階の処理に要する残り時間長を推測することができる。さらに、前記ディスク回転制御部は、該推測された残り時間長が、前記取得されたディスク回転開始時間以下の場合に、前記次段階でアクセスされるDBスキーマを記憶したディスク装置のディスクを前記第一の速度で回転させることができる。
第六の実施態様では、前記第三の実施態様において、前記第二の速度は、0とすることができる。前記ディスク回転制御部が、前記把握された処理進行状況から、次々段階でアクセスされるDBスキーマの記憶位置を特定し、該記憶位置を備えたディスク装置のディスクを、前記第二の速度よりも速く前記第一の速度よりも遅い第三の速度で回転させることができる。
第七の実施態様では、前記第六の実施態様において、前記DB管理情報には、各DBスキーマ毎にアクセスサイズが含まれていてもよい。前記ディスク回転制御部が、前記次段階でアクセスされるDBスキーマのアクセスサイズを前記DB管理情報から特定し、該特定されたアクセスサイズが所定値以上の場合には、前記次々段階でアクセスされるDBスキーマを記憶したディスク装置のディスクを回転させないようにすることができる。
第八の実施態様では、前記ストレージシステムが、前記複数のディスク装置にそれぞれ対応したカウント値を記憶する記憶域を備えることができる。前記ディスク回転制御部が、ディスク装置のディスクを前記第一の速度で回転させる場合に、第一の回転制御命令を発行することができる。前記ディスクアクセス制御部が、前記ディスク回転制御部から前記第一の回転制御命令を受けた場合に、該第一の回転制御命令に従うディスク装置のディスクを回転させ、且つ、該第一の回転制御命令に対応するカウント値を増やし、所定のタイミングで、該カウント値を減らし、更新後のカウント値が所定値になった場合に、該更新後のカウント値に対応するディスク装置のディスクを第二の速度で回転させることができる。
第九の実施態様では、前記第八の実施態様において、前記ディスク回転制御部が、ディスク装置のディスクを前記第二の速度で回転させる場合に、第二の回転制御命令を発行することができる。前記所定のタイミングは、前記ディスクアクセス制御部が前記ディスク回転制御部から前記第二の回転制御命令を受けたときとすることができる。
第十の実施態様では、前記ディスク回転制御部が、クエリプランを構成するステップ単位ではなく、スキャン単位で、ディスク装置のディスクを前記第一の速度で回転させることができる。
第十一の実施態様では、前記ディスク回転制御部が、クエリプランを構成するステップ単位ではなく、スキャン単位で、ディスク装置のディスクを前記第二の速度で回転させることができる。
第十二の実施態様では、前記ディスク回転制御部は、DB情報取得部と、ディスク回転指示部とを備えることができる。前記DB情報取得部は、前記DBMSが受け付けたクエリのクエリプランに関する情報と、前記DB管理情報とを取得し、それらの情報を基に、該クエリでのスキャンの手順と、各スキャンでアクセスするDBスキーマとその記憶位置とを特定し、特定した内容を表す情報であるDB処理管理情報をディスク回転指示部に送信することができる。前記ディスク回転指示部が、前記DB情報取得部からDB処理管理情報を受信し、該DB処理管理情報を用いて、前記受けたクエリの処理の際のスキャンでアクセスされるDBスキーマの記憶位置を特定し、該特定された記憶位置を備えたディスク装置のディスクを前記第一の速度で回転させることができる。
第十三の実施態様では、前記第十二の実施態様において、前記DB処理管理情報には、各DBスキーマのIDと各DBスキーマの記憶位置とを表したDBスキーマ位置情報と、どんな順番でスキャンし且つどのスキャン段階でどのDBスキーマにアクセスするかを表したDB処理情報とが含まれる。前記DB情報取得部は、前記DBMSが起動した場合或いは前記DBに変更があった場合に、前記DBスキーマ位置情報を作成して前記ディスク回転指示部に送信し、前記DBMSがクエリを受け付けた場合に、前記DB処理情報を作成して前記ディスク回転指示部に送信することができる。
第十四の実施態様では、前記複数のディスク装置には、二以上の論理ユニットが構築される。前記ストレージシステムは、論理ユニットIDとディスク装置IDとの対応を表す記憶領域管理情報を記憶した記憶域を備えることができる。前記DB管理情報には、各DBスキーマのIDと各DBスキーマの記憶位置とを表し前記DBMSが管理するDBMS管理情報と、前記記憶位置と論理ユニットIDとの対応を表し前記計算機のオペレーティングシステム(OS)が管理するOS管理情報とが含まれる。前記ディスク回転制御部は、前記DBMSがクエリを受け付けた場合に、該クエリの処理の際にアクセスされるDBスキーマの記憶位置を前記DBMSから取得し、該特定された記憶位置に対応する論理ユニットIDを前記OSから取得し、前記取得した論理ユニットIDを含んだ第一の回転制御命令を発行することができる。前記ディスクアクセス制御部が、前記発行された第一の回転制御命令を受信し、該受信した第一の回転制御命令中の論理ユニットIDに対応したディスク装置IDを前記記憶領域管理情報から特定し、特定されたディスク装置IDに対応したディスク装置のディスクを前記第一の速度で回転させることができる。
第十五の実施態様では、前記ディスク回転制御部が、前記DBMSから発行されるアクセス要求を基に、該クエリの処理進行状況を把握し、該把握された処理進行状況から、現段階の処理を終了したことを特定した場合に、該現段階の処理でアクセスされたディスク装置のディスクを前記第二の速度で回転させることができる。
第十六の実施態様では、前記第十五の実施態様において、前記ディスク回転制御部が、前記現段階の処理が終了して次段階の処理が現段階の処理となる場合に、該終了した現段階の処理が次段階の処理となる場合には、該現段階の処理でアクセスされたディスク装置のディスクの回転速度を前記第二の速度としないようにすることができる。
上述した各部は、各手段と言い換えてもよい。各部は、ハードウェア(例えば回路)、コンピュータプログラム、或いはそれらの組み合わせ(例えば、コンピュータプログラムを読み込んで実行する一又は複数のCPU)によって実現することもできる。各コンピュータプログラムは、コンピュータマシンに備えられる記憶資源(例えばメモリ)から読み込むことができる。その記憶資源には、CD−ROMやDVD(Digital Versatile Disk)等の記録媒体を介してインストールすることもできるし、インターネットやLAN等の通信ネットワークを介してダウンロードすることもできる。
本発明によれば、DBのデータを記憶するストレージシステム内のディスク装置を制御することによりストレージシステム全体の消費電力を低減することと、ストレージシステムの応答速度の劣化を抑えることの両方を実現することができる。
以下、本発明の実施の形態を説明する。まず、実施の形態の概要を説明する。
本実施形態に係るDBシステムは、一種の計算機システムであり、DBMSが稼動する計算機(以下、DBサーバ)と、DBのデータを記憶するストレージシステムとが備えられる。また、ストレージシステムにディスクの回転に関する指示を与えるディスク回転指示プログラムが備えられる。ストレージシステムは、ディスク回転プログラムからの指示に従って、ディスクの回転制御を行う。
本実施形態の特徴の一つとして、DBMSが受け付けたクエリに従う処理(以下、DB処理)が、そのクエリのプラン(以下、クエリプラン)に沿って進められる点に着目している。DB処理では、クエリプランに従う順番で、表或いは索引といったDBスキーマにアクセスが行われるが、本実施形態では、各DBスキーマと各DBスキーマの記憶位置との対応付けを表す情報(以下、DBスキーマ位置情報)が構築される。
ディスク回転指示プログラムは、DBMSが受け付けたクエリのクエリプランに関する情報と、DBスキーマ位置情報とに基づいて、やがてアクセスされるDBスキーマとその記憶位置とを特定し、特定された記憶位置に該当するディスク装置のディスクの回転開始命令をストレージシステムに発行する。また、ディスク回転指示プログラムは、一つのクエリについてのDB処理が終了した時点で、そのDB処理で回転させたディスクの回転停止命令をストレージシステムに発行する。
以下、本実施形態について詳細に説明する。尚、本実施形態に本発明が限定されるものではない。
図1は、本発明の一実施形態に係るDBシステムの構成例を示した図である。
このDBシステム(計算機システム)では、通信ネットワーク130を介してDBサーバ100とストレージシステム140とが接続される。DBサーバ100は、ストレージシステム140に格納されているDBを管理するDBMS118を実行する。ストレージシステム150は、DB等、DBサーバ100が使用するデータを格納する。通信ネットワーク130は、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)等のネットワークでも、ファイバチャネル等で構成されるネットワーク(ストレージエリアネットワーク:SAN)でも良い。尚、図1において、DBサーバ100、ストレージシステム140はそれぞれ1台のみ記載しているが、複数台でも良い。
DBサーバ100は、例えば一般的な計算機とすることができる。具体的には、例えば、DBサーバ100は、内部バス102で接続されたCPU(制御プロセッサ)104、入出力装置106、記憶装置108、メモリ110及びI/F112(通信ネットワーク130とのインタフェース)を有する。メモリ110及び記憶装置108の少なくとも一方には、オペレーティングシステム(以下「OS」)114、DBMS118、DB情報取得プログラム122及びディスク回転指示プログラム124が格納される。
OS114、DBMS118、DB情報取得プログラム122、及びディスク回転指示プログラム124は、CPU104によって実行される。OS110は、ローデバイスとストレージシステム140上の論理的な記憶領域とを対応付けるローデバイス情報116を保持する。尚、ローデバイスとは、OSで管理する論理的な記憶装置単位である。DBMS118は、DBの運用管理に必要となるDB管理情報120を保持する。DBMS118は、図示しないアプリケーションからクエリを受け付け、受け付けたクエリのクエリプランを作成し、そのクエリプランに従って、DBMS管理情報120から特定されるアクセス先に対するアクセス要求(I/O要求とも言う)を発行する。DB情報取得プログラム122は、DBに関する種々の情報を取得するための処理を実行する。ディスク回転指示プログラム124は、ディスク回転の指示に必要となるDB処理管理情報126や、ストレージシステム140のディスクに関するディスク情報128を保持する。
ストレージシステム140は、複数のディスク装置152と、それらディスク装置152に接続されたコントローラ851とを備える。コントローラ851は、例えば、内部バス142で接続されたI/F144(通信ネットワーク130とのインタフェース)、CPU(制御プロセッサ)146、キャッシュメモリ148及びメモリ150を有する。メモリ150には、ストレージシステム140を制御する制御プログラム154が格納され、CPU146によって実行される。また、制御プログラム154は、ストレージシステム150の論理的な記憶領域とディスク装置152が有する物理的な記憶領域を対応付ける記憶領域管理情報156と、ディスク装置152の回転状態を管理するためのディスク回転管理情報158とを保持する。尚、ディスク装置152は、例えば、ハードディスクドライブであり、ストレージシステム150は、複数のディスク装置をRAID(Redundant Array of Independent (or Inexpensive) Disks)構成にしていても良い。尚、上述した各種プログラムは、可搬記憶媒体あるいは通信ネットワークを介して各装置にインストールされても良い。
ストレージシステム140がDBサーバ100からライト要求及びデータを受信した場合、制御プログラム154は、受信したデータをキャッシュメモリ148に一時的に記憶させ、その後、キャッシュメモリ148からそのデータを読み出して、ライト要求に従うアクセス先となるディスク装置152にそのデータを書込む。ストレージシステム140がDBサーバ100からリード要求を受信した場合、制御プログラム154は、リード要求に従うアクセス先となるディスク装置152からデータを読み出してキャッシュメモリ148に一時的に記憶させ、その後、キャッシュメモリ148からそのデータを読み出してDBサーバ100に送信する。
以上が、本実施形態に係るDBシステムの構成についての説明である。
なお、本実施形態において、ディスク回転指示プログラム124はDBサーバ100上で動作するが、ディスク回転指示プログラム124は、DBサーバ及びストレージシステムと接続された別の計算機上、または、ストレージシステム上で動作しても良い。また、メモリ150とキャッシュメモリ148は、一体であっても良い。
また、DBサーバ100とストレージシステム140は、一つの筐体に搭載されても良い。具体的には、例えば、DBサーバ100は、いわゆるブレードサーバとして、ストレージシステム140のコントローラ851或いはディスク装置152が搭載される筐体に搭載されても良い。
また、コントローラ851の上述した構成は一例であり、他の構成を採用することもできる。例えば、コントローラ851は、上記の構成に代えて、外部の装置(例えばDBサーバ100)との通信を制御する一以上の第一の制御部(例えば制御回路基板)と、ディスク装置152との通信を制御する一以上の第二の制御部(例えば制御回路基板)と、外部の装置とディスク装置152との間で授受されるデータを記憶することができるキャッシュメモリと、ストレージシステム140を制御するためのデータを記憶することができる制御メモリと、各第一の制御部、各第二の制御部、キャッシュメモリ及び制御メモリを接続する接続部(例えば、クロスバスイッチなどのスイッチ)とを備えることができる。この場合、第一の制御部と第二の制御部の一方が、又は双方が協働して、コントローラ851としての処理を行うことができる。制御メモリは無くても良く、その場合、キャッシュメモリに、制御メモリが記憶する情報を記憶する領域が設けられても良い。
さて、以下、前述した各種情報について詳細に説明する。
図2(a)は、ストレージシステム140の制御プログラム154が保持する記憶領域管理情報156の構成例を示した図である。
記憶領域情報156は、ストレージシステム140が有する論理的な記憶領域(以下「論理ユニット」)と、実際にデータが記憶される物理的な記憶領域を対応付ける情報であり、論理ユニット毎にエントリを有する。各エントリは、論理ユニットを識別するための論理ユニット番号を登録するフィールド200と、論理ユニット内における論理ブロックの番号(以下「論理ブロックアドレス」)を登録するフィールド202と、論理ブロックと対応する物理ブロックが存在するディスク装置の番号(物理ディスク番号)を登録するフィールド204と、論理ブロックと対応する物理ブロックの番号(以下「物理ブロックアドレス」)を登録するフィールド206とを有する。
尚、ブロックとは、記憶領域を扱う際の単位を示すものであり、一般的に512バイトであることが多い。また、論理ブロックは物理ブロックと一対一で対応している必要があるが、全ての論理ブロックが同一のディスク上にある必要はない。ストレージシステム140は、DBサーバ100から論理ユニット及び論理ブロックアドレスによるアクセスを受け付ける。そして、ストレージシステム140は、論理ユニット及び論理ブロックに対応する物理ブロックの物理ディスク番号と物理ブロックアドレスを記憶領域情報156から割り出し、実際にアクセスを行う。
図2(b)は、ストレージシステム140の制御プログラム154が保持するディスク回転管理情報158の構成例を示した図である。
ディスク回転管理情報158は、ストレージシステム140が有するディスク装置152の回転状態を個別(物理ディスク単位)に管理する情報であり、ディスク装置152毎に対応するエントリを有する。各エントリは、個々のディスク装置を識別するための物理ディスク番号を登録するフィールド220と、ディスク装置の回転状態を示すためのカウント値(以下、回転状態カウント値)を登録するフィールド222とを有する。
図3は、DBサーバ100のOS114が保持するローデバイス情報116の構成例を示した図である。
ローデバイス情報116は、OS114が持つローデバイスと、そのローデバイスに割り当てられたストレージシステム140上の記憶領域とを対応付ける情報である。ローデバイス情報116は、ローデバイス毎に対応するエントリを有する。各エントリは、ローデバイスのファイル名を登録するフィールド300と、ローデバイスに対して割り当てられた記憶領域が存在するストレージシステムのアドレスを登録するフィールド302と、割り当てられた記憶領域が存在する論理ユニットの論理ユニット番号を登録するフィールド304と、割り当てられた記憶領域の論理ユニット上での先頭論理ブロックアドレスを登録するフィールド306と、割り当てられた記憶領域の論理ブロック数を登録するフィールド308とを有する。
図4(a)は、DBMS118が保持するDB管理情報120の構成例を示した図である。尚、DBMS管理情報120は、DBの初期設定時や運用時などに、管理者等によって設定される。
DBMS管理情報120は、DBシステムファイルの設定情報であるDBシステムファイル情報400と、データ領域の設定情報であるデータ領域情報420と、テーブルやインデックスといったDBスキーマの設定情報であるDBスキーマ情報440とを有する。
図4(b)は、DBシステムファイル情報400の構成例を示した図である。
DBシステムファイル情報400は、DBシステムファイルと、前述のローデバイスとを対応付ける情報である。DBシステムファイル情報400は、DBシステムファイル毎にエントリを有する。各エントリは、DBシステムファイルのファイル名を登録するフィールド402と、DBシステムファイルが登録されるローデバイスのファイル名を登録するフィールド404とを有する。尚、DBシステムファイルは、ローデバイスに作られる一つの大きなファイルである。DBMS118は、このDBシステムファイルにDBのデータを書き込むことでDBを構築する。また、DBシステムファイルに書き込まれたDBのデータについて、OS114が、実際にデータを書き込むストレージシステム140の論理的な記憶領域を前述のローデバイス情報116から割り出す。そして割り出した記憶領域に対するデータの書込み命令をOS114がストレージシステム150に発行する。
図4(c)は、データ領域情報420の構成例を示した図である。
データ領域情報420は、DBMS118が管理するデータ領域の設定情報である。データ領域情報420は、データ領域毎にエントリを有する。各エントリは、データ領域を識別するためのデータ領域IDを登録するフィールド422と、データ領域の名前を登録するフィールド424と、データ領域が作られるDBシステムファイルのファイル名を登録するフィールド426と、データ領域に割り当てた領域サイズを登録するフィールド428とを有する。尚、データ領域とは、DBのデータを記憶するデータ領域であり、DBシステムファイル上に作成される。
図4(d)は、DBスキーマ情報440の構成例を示した図である。
DBスキーマ情報440は、DBMS114が管理する表(テーブル)や索引(インデックス)といったDBスキーマに関する設定情報である。DBスキーマ情報440は、DBスキーマ毎にエントリを有する。各エントリは、DBスキーマを識別するためのDBスキーマIDを登録するフィールド442と、DBスキーマの名前を登録するフィールド444と、DBスキーマの種別を登録するフィールド446と、DBスキーマが書き込まれるデータ領域のIDを登録するフィールド448と、DBスキーマのサイズを登録するフィールド450と、DBスキーマが書き込まれるデータ領域上のオフセットを登録するフィールド452とを有する。
図5(a)は、ディスク回転指示プログラム124が保持するDB処理管理情報126の構成例を示した図である。尚、DB処理管理情報126は、DB情報取得プログラム122がDBMS118やOS114から必要な情報を取得し、ディスク回転指示プログラム124に送信することによって自動的に作成される。
DB処理管理情報126は、各DBスキーマの論理的な位置情報であるDBスキーマ位置情報500と、DB処理に関する情報であるDB処理情報520とを有する。
図5(b)は、DBスキーマ位置情報500の構成例を示した図である。
DBスキーマ位置情報500は、前述のDBスキーマとその記憶位置を示す情報である。DBスキーマ位置情報500は、DBスキーマ毎にエントリを有する。各エントリは、DBスキーマを識別するためのスキーマIDを登録するフィールド502と、DBスキーマを有するDBMSを識別するためのDBMS IDを登録するフィールド504と、DBスキーマの種別を登録するフィールド506と、DBスキーマが書き込まれたストレージシステムのアドレスを登録するフィールド508と、DBスキーマが書き込まれたストレージシステム140の論理ユニット番号を登録するフィールド510とを有する。尚、DBMS IDは管理者等によってあらかじめ各DBMSに一意の値として割り当てられている値である。
図5(c)は、DB処理情報520の構成例を示した図である。
DB処理情報520は、DBMSが実行するクエリ、及びそのクエリ内で実行される検索(テーブルスキャンやインデックススキャン等。以下「スキャン」ともいう)に関する情報である。DB処理情報520は、クエリのステップ毎にエントリを有する。各エントリは、クエリを実行するDBMSを識別するためのDBMS IDを登録するフィールド522と、実行するクエリを識別するためのクエリIDを登録するフィールド524と、クエリ内で実行されるスキャンを識別するためのスキャンIDを登録するフィールド526と、そのスキャンでアクセスされるDBスキーマのIDを登録するフィールド528と、アクセスされるDBスキーマのサイズを登録するフィールド530と、スキャンの種別を登録するフィールド532とを有する。尚、スキャンIDは、そのクエリの中で実行されるスキャンを一意の値として割り当てられ、その値が小さいものから順番に実行される。
図5(d)は、ディスク回転指示プログラム124が保持するディスク情報128の構成例を示した図である。尚、ディスク情報128は、ディスク回転指示プログラム124の起動時などに管理者などが設定する。
ディスク情報128は、DBのデータを記憶しているストレージシステム140のディスク装置152の回転開始時間、及び1秒辺りの平均データ転送量に関する情報である。一台のストレージシステムに搭載される複数のディスクは、同一のディスクが搭載されることがほとんどである。そこで、ディスク情報128は、DBサーバ100に接続されるストレージシステム140毎にエントリを有する。各エントリは、ストレージシステム140のアドレスを登録するフィールド540と、ストレージシステム140に搭載されているディスク装置152のディスク回転開始時間を登録するフィールド542と、ストレージシステム140の1秒辺りの平均データ転送量を登録するフィールド544とを有する。尚、ディスク回転開始時間とは、ディスクの回転が停止している状態から回転を始め、回転が安定するまでの時間(換言すれば、実際にアクセスされる時の回転速度になるまでの時間)である。なお、一台のストレージシステムに異なる種類(例えばI/F種類)のディスク装置が混在する場合には(例えば、SCSI I/Fを有するディスク装置とATA I/Fを有するディスク装置とが混在する場合には)、ディスク装置毎にエントリが設けられても良い。
図6(a)は、DB処理実行情報600の構成例を示した図である。
DB処理実行情報600は、クエリに従うDB処理の実行中にDBデータへのアクセス要求をDBMS118が発行する際に、DB情報取得プログラム122がディスク回転指示プログラム124に送信する情報である。DB処理実行情報600は、アクセスの要求元となったクエリを実行しているDBMSのIDを登録するフィールド602と、アクセスの要求元になったクエリのクエリIDを登録するフィールド604と、アクセスの要求元になったスキャンのスキャンIDを登録するフィールド606と、そのアクセスの時点における該当スキャンの進捗を示す進捗情報を登録するフィールド608とを有する。尚、進捗の示し方は種々の方法を採用できる。具体的には、例えば、進捗情報は、そのスキャンで読み出したデータ量のスキーマサイズ合計(そのスキャンのIDに属するDBスキーマのサイズの和)に対する割り合いでも良いし、そのスキャンでアクセスする全体の行のうち、どれだけの行の検索が終わったかを示す値でも良い。
図6(b)は、DB処理終了情報620の構成例を示した図である。
DB処理終了情報620は、DBMS118がクエリを終了する際に、DB情報取得プログラム122がディスク回転指示プログラム124に送信する情報である。DB処理終了情報620は、終了するクエリを実行していたDBMSのDBMS IDを登録するフィールド622と、終了するクエリのクエリIDを登録するフィールド624とを有する。
図7(a)は、ディスク回転指示プログラム124がストレージシステム140に対して発行するディスク回転開始命令700の構成例を示した図である。
ディスク回転開始命令700は、ディスクの回転を開始させたい論理ユニット番号のリスト702を有する。
図7(b)は、ディスク回転指示プログラム124がストレージシステム140に対して発行するディスク回転停止命令710の構成例を示した図である。
ディスク回転開停止令710は、ディスクの回転を停止させたい論理ユニット番号のリスト712を有する。
以下、DB情報取得プログラム122が実行する各種情報の取得送信処理(以下「DB情報取得送信処理」)、ディスク回転指示プログラム124が実行するディスクの回転指示に関する処理(以下「ディスク回転指示処理」)、ストレージ140の制御プログラムが実行するディスク回転の制御に関する処理(以下「ディスク回転制御処理」)の手順について説明する。尚、DBは構築済み(DBMS管理情報120は作成済み)であるものとする。
図8は、DB情報取得送信処理の手順例を示したフロー図である。以下、プログラムが主語になる場合は、実際にはそのプログラムを実行するCPUによって処理が行われるものとする。
システム管理者は、DBサーバ100上でDB情報取得プログラム122を起動し、DB情報取得送信処理を開始する(ステップ800)。
DB情報取得プログラム122は、起動直後、スリープ状態(待機状態)に入り、以下に説明する割り込みを待ち続ける(ステップ802)。
DBMS118が起動した場合(ステップ804でYes)、又はDBに変更があった場合(ステップ804でNo、ステップ806でYes)、DB情報取得プログラム122は、DBMS118が保持するDBMS管理情報120や、OS114が保持するローデバイス情報116から、DBスキーマに関する情報を取得する(ステップ808)。具体的には、例えば、スキーマID、スキーマ種別及びデータ領域IDがDBスキーマ情報440から取得され、そのデータ領域IDに対応するDBシステムファイル名がデータ領域情報420から取得され、そのDBシステムファイル名に対応するローデバイスファイル名がDBシステムファイル情報400から取得され、そのローデバイスファイル名に対応するストレージシステムアドレス及び論理ユニット番号がローデバイス情報116から取得される。
DB情報取得プログラム122は、取得した情報と、DBMS管理情報120を保持するDBMS118のIDとを含んだDBスキーマ位置情報500を作成し、作成したDBスキーマ位置情報500をディスク回転指示プログラムに送信する(ステップ810)。尚、DB情報取得プログラム122が起動した時点でDBMS118が動作している場合、DB情報取得プログラム122は、起動後すぐにステップ808及びステップ810の処理を実行する。
DBMS118がクエリを受け付けた場合(ステップ812でYes)、DBMS118によって、そのクエリのクエリプランが作成される。DB情報取得プログラム122は、そのクエリプランに関する情報をDBMS118から取得し(ステップ814)、その情報を用いてDB処理情報520を作成して、作成したDB処理情報520をディスク回転指示プログラムに送信する(ステップ816)。以下、これについて、図11に例示するクエリプランの場合を例に採り説明する。図11に例示するクエリプランは、複数のステップが木構造で構成される。このクエリプランによれば、3つのスキャン処理、具体的には、スキーマ名「T1」のテーブルをスキャンする処理、スキーマ名「I2」の索引を使ってスキーマ名「T2」のテーブルをスキャンする処理、及び、スキーマ名「I2」の索引を使ってスキーマ名「T3」のテーブルをスキャンする処理が行われる。DB情報取得プログラム122は、各スキャン処理毎に固有のIDを付与する。また、DB情報取得プログラム122は、各スキーマ名に対応するスキーマID及びスキーマサイズをDBスキーマ情報440から取得する。また、DB情報取得プログラム122は、取得したスキーマIDに対応するDBMS IDをDBスキーマ位置情報500から取得する。そして、DB情報取得プログラム122は、取得したDBMS ID、DBMS118が受けたクエリのID、上記付与したスキャンID、上記取得されたスキーマID及びスキーマサイズ、各スキャン処理のスキャン種別を含んだDB処理情報520を作成し、作成したDB処理情報520をディスク回転指示プログラム124に送信する。DB処理情報520がディスク回転指示プログラム124に入力された場合、ディスク回転指示プログラム124によって、初めのスキャンでのアクセスされるDBスキーマを記憶した論理ユニットが特定され、その論理ユニットの番号を含んだディスク回転開始命令700が、ストレージシステム140に発行される。それにより、初めのスキャンのためのアクセス要求がDBサーバ100からストレージシステム140に届いてディスク装置152にアクセスが発生するよりも前に、そのディスク装置152のディスクを回転させておくことが期待できる。
クエリ実行中(つまりDB処理中)、DBMS118がDBのデータにアクセスする場合、DBMS118から、アクセス要求が発行される。そのアクセス要求には、例えば、スキーマIDや、そのスキーマIDに対応するDBスキーマのどこにアクセスするか(例えばページ番号や行番号)などの情報が含まれている。DBサーバ100では、OS114が、DBMS118からアクセス要求を受け、そのアクセス要求に含まれている情報要素を検索キーにローデバイス情報116から必要な情報を取得し、取得した情報を含んだアクセス要求(例えば論理ユニット番号を含んだアクセス要求)をストレージシステム140に発行する。一つのスキャン処理において、DBMS118からアクセス要求が複数回発行されることがある。DBMS118から発行されるアクセス要求に含まれている情報要素(例えば、DBスキーマIDや、DBスキーマのどこにアクセスするか)を参照することにより、一つのスキャン処理における進捗状況を特定したり、別のスキャン処理が開始されることを特定したりすることができる。
DBMS118からアクセス要求が発行される場合(ステップ818でYes)、DB情報取得プログラム122は、そのアクセス要求中の情報要素を取得し(ステップ820)、その情報要素を基にDB処理実行情報600を作成し、そのDB処理実行情報600をディスク回転指示プログラム124に送信する(ステップ822)。DBMS ID、クエリID及ぶスキャンIDは、例えば、アクセス要求中のスキーマIDを検索キーにDB処理情報520から取得することができる。進捗情報は、例えば、アクセス要求中のスキーマIDを検索キーに取得できるスキーマサイズと、アクセス要求中の所定の情報要素(例えばDBスキーマのどこにアクセスするか)とに基づいて、特定することができる。
DBMS118がクエリの実行を終了した場合(ステップ824でYes)、DB情報取得プログラム122は、終了したクエリに関する情報をDBMS118から取得し(ステップ826)、DB処理終了情報640を作成してディスク回転指示プログラム124に送信する(ステップ828)。
以上が、DB情報取得送信処理の手順例についての説明である。なお、DBMS118が受け付けたクエリが複数個ある場合には、それら複数のクエリの各々について、上述した処理が行われる。
また、DB情報取得プログラム122が、ステップ804でYes、ステップ806でYes、ステップ812でYes、ステップ818でYes、及びステップ824でYesとなったことを検知できるようにするための方法として、種々の方法を採用することができる。具体的には、例えば、DBMS118内部に、下記の(1)乃至(5)のタイミングで、DB情報取得プログラム122に情報を通知するインタフェースを設け、そのインタフェースを通じて、DB情報取得プログラム122は検知することができる。
(1)DBMS起動後(この場合、例えば、DBMS118がDB情報取得プログラム122に対し、起動したことの通知を、起動と同時に送信する。)
(2)DBに変更があった時(この場合、例えば、DBMS118がDB情報取得プログラム122に対し、DBを変更したことの通知を、変更と同時に送信する。)
(3)クエリ受付時(この場合、例えば、DBMS118がDB情報取得プログラム122に対し、受付けられたクエリのクエリプランに関する情報を、クエリプランの作成と同時に通知する。)
(4)DBMSのアクセス要求発行時(この場合、例えば、DBMS118がDB情報取得プログラム122に対し、アクセス先に関する情報を、アクセス要求発行と同時に送信する。)
(5)クエリ終了時(この場合、例えば、DBMS118がDB情報取得プログラム122に対し、終了したクエリに関する情報を、クエリの処理の終了と同時に送信する。)
尚、DB情報取得プログラム122は、上記(1)及び(2)を受け付けた場合、前述したように、DBスキーマ位置に関する情報をOS114やDBMS118から取得し、DBスキーマ位置情報500を作成してディスク回転指示プログラム124に送信する。また、DB情報取得プログラム122は、上記(3)、(4)及び(5)を受け付けた場合は、DBMS118から受けた情報を基に、ディスク回転指示プログラム124に送信する情報を作成して送信する。
さて、次に、ディスク回転指示処理の手順例について説明する。
図9は、ディスク回転指示処理の手順例を示したフロー図である。
システム管理者は、ディスク回転指示プログラム124を起動し、ディスク回転指示処理を開始する(ステップ900)。尚、ディスク回転指示プログラム124は、前述のDB情報取得プログラム122より先に起動しておく必要がある。
ディスク回転指示プログラム124は、起動直後、スリープ状態(待機状態)に入り、DB情報取得プログラム122からDBスキーマ位置情報500、DB処理情報520、DB処理実行情報600、或いはDB処理終了情報620が送られてくるのを待つ(ステップ902)。尚、初期の状態として、ストレージシステム140内の全てのディスク装置152の回転は、停止状態(つまり全く回転していない状態)にある。
DBスキーマ位置情報500を受信した場合(ステップ904でYes)、ディスク回転指示プログラム124は、受信したDBスキーマ位置情報500をDB処理管理情報126の一部としてメモリ110上に格納する(ステップ906)。
DB処理情報520を受信した場合(ステップ908)、ディスク回転指示プログラム124は、受信したDB処理情報520をDB処理管理情報126の一部としてメモリ110上に格納する(ステップ910)。ディスク回転指示プログラム124は、ステップ910で格納したDB処理情報520を参照して、スキャンID「0」のエントリを検索することで、同エントリのアクセス対象スキーマIDを特定し、そのアクセス対象スキーマIDから、スキャンID「0」に対応するスキャンでアクセスするDBスキーマを識別する。尚、スキャンID「0」のスキャンは、そのスキャンが実行されるクエリの中で最初に実行されるスキャンを意味する(別の言い方をすれば、スキャンIDが若い順に、スキャンが実行される)。ディスク回転指示プログラム124は、その最初のスキャンでアクセスされるディスク装置の回転開始の指示を行う。具体的には、ディスク回転指示プログラム124は、特定されたアクセス対象スキーマIDをキーにしてDBスキーマ位置情報500を検索し、該当のDBスキーマが記憶されているストレージシステム140のアドレスと、論理ユニット番号とを特定する(ステップ912)。ディスク回転指示プログラム124は、ステップ912で特定したアドレスに対応するストレージシステム140に、ステップ912で特定した論理ユニット番号を含むディスク回転開始命令700を発行する(ステップ914)。尚、ディスク回転指示プログラム124は、DB処理情報520を受信した場合に、そのDB処理情報520に対応するクエリのDB処理においてアクセスするDBスキーマを全て特定し、特定されたDBスキーマを記憶する論理ユニット番号を全て特定し、特定された論理ユニット番号を含んだディスク回転開始命令700を、ストレージシステム140に発行しても良い。これにより、そのDB処理においてアクセスされる全てのディスク装置のディスクを予め回転させておくことができる。この場合、ステップ916及びステップ918の処理は不要となり、DB処理実行情報600の送受信処理も不要となるため、その分のオーバヘッドが削減され性能向上が見込める。但し、クエリ内のスキャン毎のディスク回転制御ができないため、一つのDB処理の際の消費電力は、DB処理の進行に伴って順次にディスク装置を回転させていく場合に比して大きくなる。
DB処理実行情報600を受信した場合(ステップ916でYes)、ディスク回転指示プログラム124は、受信したDB処理実行情報600のDBMS ID、クエリID、スキャンIDと同じ値を持つDB処理情報520のエントリを検索し、同エントリのスキーマサイズ、ディスク情報128の1秒辺りの平均データ転送量、及び、DB処理実行情報600の進捗情報から、そのスキャンIDに対応するスキャンが終わるまでの残り時間長を推測する。その結果、推測された残り時間長が、アクセス先となるストレージシステム(検索キーとされたスキャンIDに紐付けられたスキーマIDに対応したストレージシステム)140のディスク回転開始時間(ディスク情報128に書かれている時間)よりも短ければ(又は以下であれば)、ディスク回転指示プログラム124は、次のスキャンでアクセスされるDBスキーマの論理ユニット番号を特定し、特定された論理ユニット番号を含んだディスク回転開始命令700を、そのストレージシステム140に発行する(ステップ918)。これにより、次のスキャンでアクセスされるディスク装置152のディスクを、DBサーバ100からそのディスク装置152に対するアクセス要求が発行される前に、回転させておくことができる。
DB処理終了情報620を受信した場合(ステップ920でYes)、ディスク回転指示プログラム124は、受信したDB処理終了情報620のDBMS IDとクエリIDの値を持つDB処理情報520のエントリを検索し、同エントリのアクセス対象スキーマIDを特定する。ディスク回転指示プログラム124は、特定されたスキーマIDをキーにしてDBスキーマ位置情報500を検索し、そのスキーマIDに対応するストレージシステムアドレスと論理ユニット番号とを特定する(ステップ922)。ディスク回転指示プログラム124は、ステップ922で特定されたアドレスに対応するストレージシステム140に対して、ステップ922で特定された論理ユニット番号を含んだディスク回転停止命令を発行する(ステップ924)。尚、ステップ922において、条件に合致する全てのエントリに対して、ステップ922、及びステップ924を繰り返す。
図10は、ディスク回転制御処理の手順例を示すフロー図である。尚、制御プログラム154はストレージシステム140の制御を行うプログラムであるが、このフロー図ではディスクの回転制御に関する部分だけを示している。
ディスク回転指示プログラム124からディスク回転開始命令700を受信した場合(ステップ1002でYes)、制御プログラム154は、記憶領域管理情報156を参照し、当該命令700に含まれている対象論理ユニット番号に対応する物理ディスク番号を特定する(ステップ1004)。制御プログラム154は、ステップ1004で特定した物理ディスク番号をキーに、ディスク回転管理情報158を参照して対応するエントリを検索する。該当エントリの回転状態カウント値が0の場合、制御プログラム154は、対応するディスク装置に対して所定の命令を発行することで、そのディスク装置のディスクの回転を開始させる(ステップ1006)。制御プログラム154は、ステップ1006で検索したエントリの回転状態カウント値に1を加算する(ステップ1008)。尚、1つの論理ユニットに対して複数のディスク装置が割り当てられている場合は、そのディスク装置の数だけ、ステップ1006とステップ1008が繰り返し実行される。また、ステップ1006において、回転状態カウント値が0でない場合(つまり1以上の場合)、該当するディスク装置は回転中なので、回転を開始する処理は不要となり、回転状態カウント値が加算されれば良い。
ディスク回転指示プログラム124からディスク回転停止命令710を受信した場合(ステップ1002でNo、ステップ1010でYes)、制御プログラム154は、記憶領域管理情報156を参照し、当該命令710の対象論理ユニット番号に対応する物理ディスク番号を特定する(ステップ1012)。制御プログラム154は、ステップ1012で特定された物理ディスク番号をキーに、ディスク回転管理情報158を参照し対応するエントリを検索し、該当エントリの回転状態カウント値から1を減算する(ステップ1014)。制御プログラム154は、ステップ1006の減算によって回転状態カウント値が0になった場合、対応するディスク装置に所定の命令を発行することで、そのディスク装置のディスクの回転を停止させる(ステップ1016)。尚、1つの論理ユニットに対して複数のディスク装置が割り当てられている場合は、そのディスク装置の数だけ、ステップ1014とステップ1016が繰り返し実行される。
以上が、ディスク回転指示処理の手順例及びディスク回転制御処理の手順例についての説明である。なお、DBMS118が複数のクエリを受け付けた場合には、DB処理情報の受信が複数回行われる。具体的には、例えば、DBMS118が或るクエリの実行中に、新たにクエリを受け付けた場合には、新たにDB処理情報の受信が行われる。この場合、或る論理ユニットに対するディスク回転開始命令700は、一つのクエリのDB処理では一回しか発生しなくても、別のクエリのDB処理の際に一回以上発行される場合がある。別の言い方をすれば、或る論理ユニットを構築する或るディスク装置152の回転状態カウント値(図2(b)参照)は、一つのクエリが終了したことによってディスク回転停止命令710が発行されても、別のクエリのDB処理情報を基にディスク回転開始命令が発行されたことによってカウント値が加算されていたために、「0」にならない場合がある。この場合、一つのクエリの処理が終了しても、次のクエリの処理でやがてそのディスク装置152にアクセスが発生するので、その或るディスク装置152のディスクの回転が継続されることになる。このようにして、複数のクエリにも対処することができる。なお、ディスク回転指示プログラム124は、一つのクエリ毎に、DB処理管理情報126を保持し、一つのクエリの処理が終了した場合に(例えば、DB処理終了情報620を受けたときに)、その終了したクエリに対応するDB処理管理情報126を破棄してもよい。また、各クエリ或いは各スキャン処理に優先順位が付与される場合には、その優先順位に従ってディスク回転開始命令が発行されても良い。
以上、上述した実施形態によれば、DBMS118がクエリに従うDB処理を実行していない場合には、ストレージシステム140のディスク装置152が停止状態となっている。そして、DBMS118がクエリを受け付け、そのクエリのクエリプランを基に作成されたDB処理情報520がディスク回転指示プログラム124に入力された場合に、ディスク回転指示プログラム124が、そのDB処理情報520から、やがてアクセスされる論理ユニットを特定し、特定された論理ユニットに対するディスク回転開始命令が発行され、それにより、その論理ユニットを構築するディスク装置152のディスクが回転させられる。そして、そのディスク装置152に対してアクセスが発生しないとわかった場合、具体的には、クエリに従うDB処理が終了した場合に、そのディスク装置152により構築された論理ユニットに対するディスク回転停止命令が発行され、それにより、その論理ユニットを構築するディスク装置152のディスクの回転が停止させられる。
つまり、この実施形態によれば、ディスク装置152に対してアクセスの発生しない状態では、ディスク装置152のディスクの回転は停止状態とされ、クエリプランに基づくDB処理情報520から、やがてアクセスされる論理ユニットが特定された場合に、その論理ユニットを構築するディスク装置152が回転させられる。これにより、ストレージシステム140全体の消費電力を低減することができる。
また、ディスク装置152のディスクの回転は、そのディスク装置152に対して実際にアクセスが発生するよりも前に行われる。具体的には、ディスク装置152のディスクに実際にアクセスが行われる頃には、そのディスクの回転が安定した状態になっているようなタイミングで、そのディスク装置152により構築された論理ユニットに対するディスク回転開始命令700が発行される。これにより、ストレージシステム140の応答速度の劣化を抑えることができる。
従って、本実施形態によれば、ストレージシステム140全体の消費電力を低減することと、ストレージシステム140の応答速度の劣化を抑えることの両方を実現することができる。
また、本実施形態によれば、ストレージシステム140の応答速度の劣化が抑えられるものの、ディスク装置152を常時回転させておくストレージシステムに比べれば、応答速度が遅くなり得る。このため、本実施形態に係るDBシステムは、頻繁にアクセスが生じる故に応答速度(例えばデータの読出しの速度)が最優先されるようなオンライン系のシステムよりも、あまり頻繁にアクセスが生じないようないわゆるアーカイブシステムに適用することが好ましいと考えられる。
さて、上述した実施形態には、幾つかの変形例が考えられる。以下、各変形例について説明する。
第一の変形例では、各ディスク装置152が、複数種類の回転速度でディスクを回転することができるようになっている。具体的には、例えば、各ディスク装置152が、アクセス時の回転速度である高速回転と、それよりも低速である低速回転の2種類の回転を行うことができるようになっている。ディスク回転指示プログラム124は、図12のステップ2000に例示するように、次段階のスキャンでアクセスされるDBスキーマを記憶した論理ユニットに対しては、高速回転を実行するためのディスク回転開始命令を発行し、次々段階のスキャンでアクセスされるDBスキーマを記憶した論理ユニットに対しては、低速回転を実行するためのディスク回転開始命令を発行し、次々段階よりも後段のスキャンでアクセスされるDBスキーマを記憶した論理ユニットに対しては、ディスク回転開始命令を発行しない(このステップ2000は、例えば、図9のステップ914或いは918で採用されてもよい)。この場合、次段階のスキャンでアクセスされるディスク装置は、高速回転でアクセス待ちとなり、次々段階のスキャンでアクセスされるディスク装置は、低速回転でアクセス待ちとなり、次々段階よりも後段のスキャンでアクセスされるディスク装置は、停止状態となる。これにより、スキャンが次段階が次々段階に切り替わった場合に、ディスク装置152の回転が安定するまでの時間長を短くすることができ、以って、応答速度の劣化の抑制に貢献することができる。なお、この変形例では、例えば、DBスキーマのデータサイズや、スキャンの内容を加味して、回転制御を行っても良い。例えば、次段階のアクセス対象のDBスキーマのデータサイズが所定値以上の場合(換言すれば、処理に時間がかかる場合)、次々段階のスキャンでアクセスされるディスク装置は、低速回転ではなく停止状態にしておき、次段階のスキャンが始まってから(つまり、次々段階のスキャンが次段階のスキャンとなってから)、回転が開始されてもよい。また、その回転は、初め、低速回転であり、DB処理実行情報から特定される進捗状況が所定の状況よりも進んだ場合に、高速回転とされても良い。
第二の変形例では、スキャン種別は、テーブルスキャンか索引スキャンであるかに代えて、全検索か一部検索かなどの他種の種別を採用することができる。或いは、スキーマサイズ及びスキャン種別に代えて、他種のアクセスサイズを採用することができる。要するに、第二の変形例では、ディスク回転指示プログラム124は、アクセス対象のアクセスサイズに基づいて、次段階のスキャンでアクセスされる論理ユニットに対するディスク回転開始命令の発行タイミングを制御することができる。例えば、アクセスサイズと1秒当たりの平均データ転送量と進捗状態とから、一つのスキャン処理が完了するまでの残り時間長を推測し、その残り時間長が、ディスク回転開始時間よりも短ければ、次段階のスキャンでアクセスされる論理ユニットに対するディスク回転開始命令が発行されても良い。
第三の変形例では、一つのクエリのDB処理が終了した場合にディスク回転停止命令712が発行されるのではなく、一つのクエリのDB処理中に、適時に、ディスク回転停止命令712が発行される。具体的には、例えば、ディスク回転指示プログラム124は、一つのスキャン処理が終了した場合、そのスキャン処理でアクセスされた論理ユニットが、次段階或いは次々段階よりも後のスキャン処理までアクセスされることが無いことを、DB処理情報520から特定できた場合には、DB処理中であっても、その論理ユニットに対するディスク回転停止命令を発行しても良い。
第四の変形例では、ディスク装置152が、複数種類の回転速度で回転できる場合には、それら複数種類の回転速度を基に、ディスク情報128に書かれるディスク回転開始時間が用意されても良い。具体的には、例えば、停止状態から高速回転になるまでのディスク回転開始時間と、低速回転から高速回転になるまでのディスク回転開始時間とが用意されても良い。この場合、ディスク回転指示プログラム124は、低速回転から高速回転にするのか、或いは、停止状態から高速回転するのかに応じて、参照するディスク回転開始時間の種類を違えても良い。
以上、本発明の実施形態及び幾つかの変形例を説明したが、これらの実施形態及び変形例は本発明の説明のための例示にすぎず、本発明の範囲をそれらの実施形態及び変形例にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。例えば、ディスク装置は基本的に停止状態或いは低速回転状態となるようになっていて、ディスク回転開始プログラム124が、必要に応じて回転指示させてもよい。具体的には、例えば、ディスク回転指示プログラム124からのディスク回転指示命令に従ってディスクの回転を停止することに代えて、ストレージシステム140が、各ディスク装置152を、ディスク回転開始後一定時間経ったらディスクの回転を停止するようになっていて、ディスク回転指示プログラム124が、ディスクの回転を停止してもらいたくない場合には、ディスク回転開始命令を送信し、そのディスクに対応したカウント値を増やすことで、ディスクの回転を継続させても良い。
図1は、本発明の一実施形態に係るDBシステムの構成例を示した図である。 図2(a)は、記憶領域管理情報156の構成例を示した図である。図2(b)は、ディスク回転管理情報の構成例を示した図である。 図3は、ローデバイス情報116の構成例を示した図である。 図4(a)は、DBMS管理情報120の構成例を示した図である。図4(b)は、DBシステムファイル情報400の構成例を示した図である。図4(c)は、データ領域情報420の構成例を示した図である。図4(d)は、DBスキーマ情報440の構成例を示した図である。 図5(a)は、DB処理管理情報126の構成例を示した図である。図5(b)は、DBスキーマ位置情報500の構成例を示した図である。図5(c)は、DB処理情報520の構成例を示した図である。図5(d)は、ディスク情報128の構成例を示した図である。 図6(a)は、DB処理実行情報600の構成例を示した図である。図6(b)は、DB処理終了情報の構成例を示した図である。 図7(a)は、ディスク回転開始命令700の構成例を示した図である。図7(b)は、ディスク回転停止命令710の構成例を示した図である。 図8は、DB情報取得送信処理の手順例を示したフロー図である。 図9は、ディスク回転指示処理の手順例を示したフロー図である。 図10は、ディスク回転制御処理の手順例を示したフロー図である。 図11は、クエリプランの構成例を示した図である。 図12は、ディスク装置の回転速度種類に基づくディスク回転開始命令の発行タイミングの一例を示す。
符号の説明
100…DBサーバ、130…通信ネットワーク、140…ストレージシステム、114…OS、118…DBMS、122…DB情報取得プログラム、124…ディスク回転指示プログラム

Claims (18)

  1. 記憶メディアとしてのディスクを備えたディスク装置を複数台と、前記複数のディスク装置へのアクセスを制御するディスクアクセス制御部とを備え、前記複数のディスク装置にデータベース(DB)を記憶したストレージシステムと、
    前記DBを管理するためのDB管理情報を記憶したDB管理情報記憶域を備え、前記DBを操作するデータベース管理システム(DBMS)を実行する計算機と、
    前記複数のディスク装置の回転を制御し、アクセスが発生しないディスク装置のディスクを、0以上であって、アクセス時の回転速度である第一の速度よりも遅い第二の速度で回転させるようにさせるようになっているディスク回転制御部と
    を備え、
    前記DBは、前記DBMSにアクセスされる要素であるDBスキーマを複数個含んでおり、
    前記DB管理情報は、どのDBスキーマがどの位置に記憶されているかを表す情報を含んでおり、
    前記DBMSは、クエリを受け付け、前記受け付けたクエリのクエリプランを作成し、該クエリプランに従って、前記DB管理情報から特定されるDBスキーマに対するアクセス要求を発行するようになっており、
    前記ディスク回転制御部が、前記DBMSがクエリを受け付けた場合に、該クエリのクエリプランと前記DB管理情報とから、該クエリの処理の際にアクセスされるDBスキーマの記憶位置を特定し、該特定された記憶位置を備えたディスク装置のディスクを前記第一の速度で回転させ、
    前記DBMSは、前記クエリの処理が終了すると、処理が終了した前記クエリの情報を、終了要求として前記ディスク回転制御部に送り、
    前記ディスク回転制御部は、前記DBMSからの前記終了要求を受信した場合に、前記クエリの処理の際にアクセスされた全てのディスク装置のディスクを停止させる、
    計算機システム。
  2. 前記ディスク回転制御部が、前記DBMSがクエリを受け付けた場合に、該クエリのクエリプランと前記DB管理情報とから、該クエリの処理の際にアクセスされる全てのDBスキーマにそれぞれ対応した全ての記憶位置を特定し、該特定された全ての記憶位置をそれぞれ備える全てのディスク装置のディスクを前記第一の速度で回転させる、
    請求項1記載の計算機システム。
  3. 前記ディスク回転制御部が、前記DBMSから発行されるアクセス要求を基に、該クエリの処理進行状況を把握し、該把握された処理進行状況から、次段階でアクセスされるDBスキーマの記憶位置を特定し、該記憶位置を備えたディスク装置のディスクを前記第一の速度で回転させる、
    請求項1記載の計算機システム。
  4. 前記DB管理情報には、各DBスキーマ毎にアクセスサイズが含まれており、
    前記ディスク回転制御部は、前記DBMSから発行されるアクセス要求を用いて、該アクセス要求に従ってアクセスされるDBスキーマに対応したアクセスサイズを前記DB管理情報から特定し、特定されたアクセスサイズと、前記把握された処理進行状況とに基づいて、前記次段階でアクセスされるDBスキーマを記憶したディスク装置のディスクを前記第一の速度で回転させる開始タイミングを制御する、
    請求項記載の計算機システム。
  5. 前記ディスク回転制御部が、前記次段階でアクセスされるDBスキーマを記憶したディスク装置について、単位時間当たりのデータ転送量と、ディスクの回転速度が前記第一の速度になるのに要するディスク回転開始時間長とを取得し、前記アクセス要求と、現段階でアクセスされるDBスキーマに対応したアクセスサイズとを基に、現段階の進捗を特定し、該特定された進捗と、前記取得した単位時間当たりのデータ転送量とに基づいて、現段階の処理に要する残り時間長を推測し、該推測された残り時間長が、前記取得されたディスク回転開始時間以下の場合に、前記次段階でアクセスされるDBスキーマを記憶したディスク装置のディスクを前記第一の速度で回転させる、
    請求項記載の計算機システム。
  6. 前記第二の速度は、0であり、
    前記ディスク回転制御部が、前記把握された処理進行状況から、次々段階でアクセスされるDBスキーマの記憶位置を特定し、該記憶位置を備えたディスク装置のディスクを、前記第二の速度よりも速く前記第一の速度よりも遅い第三の速度で回転させる、
    請求項記載の計算機システム。
  7. 前記DB管理情報には、各DBスキーマ毎にアクセスサイズが含まれており、
    前記ディスク回転制御部が、前記次段階でアクセスされるDBスキーマのアクセスサイズを前記DB管理情報から特定し、該特定されたアクセスサイズが所定値以上の場合には、前記次々段階でアクセスされるDBスキーマを記憶したディスク装置のディスクを回転させない、
    請求項記載の計算機システム。
  8. 前記ディスク回転制御部が、ディスク装置のディスクを停止させる場合に、停止命令を発行し、
    前記ディスクアクセス制御部は、前記ディスク回転制御部から発行された前記停止命令に基づいて、前記ディスク装置のディスクを停止する
    請求項記載の計算機システム。
  9. 前記ディスク回転制御部が、クエリプランを構成するステップ単位ではなく、スキャン単位で、ディスク装置のディスクを前記第一の速度で回転させる、
    請求項1記載の計算機システム。
  10. 前記ディスク回転制御部が、クエリプランを構成するステップ単位ではなく、スキャン単位で、ディスク装置のディスクを前記第二の速度で回転させる、
    請求項1記載の計算機システム。
  11. 前記ディスク回転制御部は、DB情報取得部と、ディスク回転指示部とを備え、
    前記DB情報取得部は、前記DBMSが受け付けたクエリのクエリプランに関する情報と、前記DB管理情報とを取得し、それらの情報を基に、該クエリでのスキャンの手順と、各スキャンでアクセスするDBスキーマとその記憶位置とを特定し、特定した内容を表す情報であるDB処理管理情報をディスク回転指示部に送信し、
    前記ディスク回転指示部が、前記DB情報取得部からDB処理管理情報を受信し、該DB処理管理情報を用いて、前記受けたクエリの処理の際のスキャンでアクセスされるDBスキーマの記憶位置を特定し、該特定された記憶位置を備えたディスク装置のディスクを前記第一の速度で回転させる、
    請求項1記載の計算機システム。
  12. 前記DB処理管理情報には、各DBスキーマのIDと各DBスキーマの記憶位置とを表したDBスキーマ位置情報と、どんな順番でスキャンし且つどのスキャン段階でどのDBスキーマにアクセスするかを表したDB処理情報とが含まれ、
    前記DB情報取得部は、前記DBMSが起動した場合或いは前記DBに変更があった場合に、前記DBスキーマ位置情報を作成して前記ディスク回転指示部に送信し、前記DBMSがクエリを受け付けた場合に、前記DB処理情報を作成して前記ディスク回転指示部に送信する、
    請求項11記載の計算機システム。
  13. 前記複数のディスク装置には、二以上の論理ユニットが構築され、
    前記ストレージシステムは、論理ユニットIDとディスク装置IDとの対応を表す記憶領域管理情報を記憶した記憶域を備え、
    前記DB管理情報には、各DBスキーマのIDと各DBスキーマの記憶位置とを表し前記DBMSが管理するDBMS管理情報と、前記記憶位置と論理ユニットIDとの対応を表し前記計算機のオペレーティングシステム(OS)が管理するOS管理情報とが含まれ、
    前記ディスク回転制御部は、前記DBMSがクエリを受け付けた場合に、該クエリの処理の際にアクセスされるDBスキーマの記憶位置を前記DBMSから取得し、該特定された記憶位置に対応する論理ユニットIDを前記OSから取得し、前記取得した論理ユニットIDを含んだ第一の回転制御命令を発行し、
    前記ディスクアクセス制御部が、前記発行された第一の回転制御命令を受信し、該受信した第一の回転制御命令中の論理ユニットIDに対応したディスク装置IDを前記記憶領域管理情報から特定し、特定されたディスク装置IDに対応したディスク装置のディスクを前記第一の速度で回転させる、
    請求項1記載の計算機システム。
  14. 前記ディスク回転制御部が、前記DBMSから発行されるアクセス要求を基に、該クエリの処理進行状況を把握し、該把握された処理進行状況から、現段階の処理を終了したことを特定した場合に、該現段階の処理でアクセスされたディスク装置のディスクを前記第二の速度で回転させる、
    請求項1記載の計算機システム。
  15. 前記ディスク回転制御部が、前記現段階の処理が終了して次段階の処理が現段階の処理となる場合に、該終了した現段階の処理が次段階の処理となる場合には、該現段階の処理でアクセスされたディスク装置のディスクの回転速度を前記第二の速度としないようにする、
    請求項14記載の計算機システム。
  16. 記憶メディアとしてのディスクを備えたディスク装置を複数台を備え、前記複数のディスク装置へのアクセスを制御し、前記複数のディスク装置にデータベース(DB)を記憶したストレージシステムと、
    前記DBを管理するためのDB管理情報を記憶し、前記DBを操作するデータベース管理システム(DBMS)を実行する計算機と、
    前記複数のディスク装置の回転を制御し、アクセスが発生しないディスク装置のディスクを、0以上であって、アクセス時の回転速度である第一の速度よりも遅い第二の速度で回転させるようにさせるようになっているディスク回転制御部と
    を備えた計算機システムで実現する方法であって、
    前記DBは、前記DBMSにアクセスされる要素であるDBスキーマを複数個含み、
    前記DB管理情報は、どのDBスキーマがどの位置に記憶されているかを表す情報を含み、
    前記DBMSは、クエリを受け付け、前記クエリのクエリプランを作成し、該クエリプランに従って、前記DB管理情報から特定されるDBスキーマに対するアクセス要求を発行し、
    ディスク回転制御部は、前記DBMSがクエリを受け付けた場合に、該クエリのクエリプランと前記DB管理情報とから、該クエリの処理の際にアクセスされるDBスキーマの記憶位置を特定し、該特定された記憶位置を備えたディスク装置のディスクを、アクセス時の回転速度である第一の速度で回転させ、
    前記DBMSは、前記クエリの処理が終了すると、処理が終了した前記クエリの情報を、終了要求として前記ディスク回転制御部に送り、
    前記ディスク回転制御部は、前記DBMSからの前記終了要求を受信した場合に、前記クエリの処理の際にアクセスされた全てのディスク装置のディスクを停止させる、
    ストレージシステムの消費電力低減方法。
  17. 記憶メディアとしてのディスクを備えたディスク装置を複数台と、前記複数のディスク装置へのアクセスを制御するディスクアクセス制御部とを備え、前記複数のディスク装置にデータベース(DB)を記憶したストレージシステムと接続された計算機であって、
    前記DBを管理するためのDB管理情報を記憶したDB管理情報記憶域と、
    前記DBを操作するデータベース管理システム(DBMS)と、
    前記複数のディスク装置の回転を制御し、アクセスが発生しないディスク装置のディスクを、0以上であって、アクセス時の回転速度である第一の速度よりも遅い第二の速度で回転させるようにさせるようになっているディスク回転制御部と
    を備え、
    前記DBは、前記DBMSにアクセスされる要素であるDBスキーマを複数個含んでおり、
    前記DB管理情報は、どのDBスキーマがどの位置に記憶されているかを表す情報を含んでおり、
    前記DBMSは、クエリを受け付け、受け付けたクエリのクエリプランを作成し、該クエリプランに従って、前記DB管理情報から特定されるDBスキーマに対するアクセス要求を発行し、
    前記ディスク回転制御部が、前記DBMSがクエリを受け付けた場合に、該クエリのクエリプランと前記DB管理情報とから、該クエリの処理の際にアクセスされるDBスキーマの記憶位置を特定し、該特定された記憶位置を備えたディスク装置のディスクを、アクセス時の回転速度である第一の速度で回転させ、
    前記DBMSは、前記クエリの処理が終了すると、処理が終了した前記クエリの情報を、終了要求として前記ディスク回転制御部に送り、
    前記ディスク回転制御部は、前記DBMSからの前記終了要求を受信した場合に、前記クエリの処理の際にアクセスされた全てのディスク装置のディスクを停止させる、
    計算機。
  18. 記憶メディアとしてのディスクを備えたディスク装置を複数台と、前記複数のディスク装置へのアクセスを制御するディスクアクセス制御部とを備え、前記複数のディスク装置にデータベース(DB)を記憶したストレージシステムと接続され、
    前記DBを管理するためのDB管理情報を記憶し、
    前記DBを操作するデータベース管理システム(DBMS)と、
    前記複数のディスク装置の回転を制御し、アクセスが発生しないディスク装置のディスクを、0以上であって、アクセス時の回転速度である第一の速度よりも遅い第二の速度で回転させるようにさせるようになっているディスク回転制御部と、
    を備えた計算機で実現する方法であって、
    前記DBは、前記DBMSにアクセスされる要素であるDBスキーマを複数個含み、
    前記DB管理情報は、どのDBスキーマがどの位置に記憶されているかを表す情報を含み、
    前記DBMSは、クエリを受け付け、受け付けたクエリのクエリプランを作成し、該クエリプランに従って、前記DB管理情報から特定されるDBスキーマに対するアクセス要求を発行し、
    前記ディスク回転制御部が、前記DBMSがクエリを受け付けた場合に、該クエリのクエリプランと前記DB管理情報とから、該クエリの処理の際にアクセスされるDBスキーマの記憶位置を特定し、該特定された記憶位置を備えたディスク装置のディスクを、アクセス時の回転速度である第一の速度で回転させ、
    前記DBMSは、前記クエリの処理が終了すると、処理が終了した前記クエリの情報を、終了要求として前記ディスク回転制御部に送り、
    前記ディスク回転制御部は、前記DBMSからの前記終了要求を受信した場合に、前記クエリの処理の際にアクセスされた全てのディスク装置のディスクを停止させる、
    ストレージシステムの消費電力低減方法。
JP2006118870A 2006-04-24 2006-04-24 ストレージシステムの消費電力を低減する計算機システム及び方法 Active JP4824458B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006118870A JP4824458B2 (ja) 2006-04-24 2006-04-24 ストレージシステムの消費電力を低減する計算機システム及び方法
US11/482,337 US7475347B2 (en) 2006-04-24 2006-07-07 Computer system and method for reducing power consumption of storage system
EP06255774A EP1850219A3 (en) 2006-04-24 2006-11-10 Computer system and method for reducing power consumption of a storage system
US12/327,593 US8196034B2 (en) 2006-04-24 2008-12-03 Computer system and method for reducing power consumption of storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006118870A JP4824458B2 (ja) 2006-04-24 2006-04-24 ストレージシステムの消費電力を低減する計算機システム及び方法

Publications (2)

Publication Number Publication Date
JP2007293479A JP2007293479A (ja) 2007-11-08
JP4824458B2 true JP4824458B2 (ja) 2011-11-30

Family

ID=38235136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006118870A Active JP4824458B2 (ja) 2006-04-24 2006-04-24 ストレージシステムの消費電力を低減する計算機システム及び方法

Country Status (3)

Country Link
US (2) US7475347B2 (ja)
EP (1) EP1850219A3 (ja)
JP (1) JP4824458B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008013227A1 (fr) * 2006-07-26 2008-01-31 Panasonic Corporation dispositif de stockage non volatil, dispositif d'accès et système de stockage non volatil
JP4908260B2 (ja) * 2007-02-23 2012-04-04 優 喜連川 計算機システム、及び省電力化方法
JP5020774B2 (ja) * 2007-10-24 2012-09-05 株式会社日立製作所 先読みを用いたストレージ消費電力削減方法及びその方法を用いた計算機システム
JP2010146630A (ja) * 2008-12-18 2010-07-01 Hitachi Global Storage Technologies Netherlands Bv ディスク・ドライブ及びディスク・アレイ・システム
US8166243B2 (en) * 2009-02-06 2012-04-24 Hitachi, Ltd. Information processing system and program for controlling the information processing system
WO2011061783A1 (en) * 2009-11-17 2011-05-26 Hitachi, Ltd. Storage control device and rotation speed control method for storage device
US9152683B2 (en) * 2010-10-05 2015-10-06 International Business Machines Corporation Database-transparent near online archiving and retrieval of data
TWI479303B (zh) * 2013-05-21 2015-04-01 Wistron Corp 休眠狀態控制系統、電腦系統及其休眠狀態偵測之方法
CN104102709A (zh) * 2014-07-14 2014-10-15 浪潮(北京)电子信息产业有限公司 一种磁盘管理方法及数据库管理系统
US9653110B2 (en) * 2015-06-15 2017-05-16 Quanta Computer, Inc. Speed control of data storage device using service controller
US10970280B2 (en) * 2015-10-07 2021-04-06 International Business Machines Corporation Query plan based on a data storage relationship

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644786A (en) * 1990-11-08 1997-07-01 At&T Global Information Solutions Company Method for scheduling the execution of disk I/O operations
JPH09282057A (ja) * 1996-04-18 1997-10-31 Nippon Denki Joho Service Kk システム電源制御装置
JP3239753B2 (ja) * 1996-05-14 2001-12-17 富士ゼロックス株式会社 ネットワーク制御方法及び制御サーバー装置
JP3726484B2 (ja) * 1998-04-10 2005-12-14 株式会社日立製作所 記憶サブシステム
JP4325817B2 (ja) 1999-04-05 2009-09-02 株式会社日立製作所 ディスクアレイ装置
JP2001222853A (ja) * 2000-02-08 2001-08-17 Matsushita Electric Ind Co Ltd ディスク装置の回転速度変更方法、入力装置及びディスク装置
JP2003187517A (ja) * 2001-12-13 2003-07-04 Matsushita Electric Ind Co Ltd 携帯型情報端末
JP4116413B2 (ja) 2002-12-11 2008-07-09 株式会社日立製作所 プリフェッチアプライアンスサーバ
JP4411929B2 (ja) * 2003-02-28 2010-02-10 株式会社日立製作所 バックアップ方法、システム、及びプログラム
JP4301849B2 (ja) * 2003-03-31 2009-07-22 株式会社日立製作所 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法
JP4486348B2 (ja) * 2003-11-26 2010-06-23 株式会社日立製作所 ドライブの稼働時間を抑止するディスクアレイ
JP2006118870A (ja) 2004-10-19 2006-05-11 Olympus Corp 検査条件設定方法及び検査条件設定装置並びにコンピュータプログラム

Also Published As

Publication number Publication date
US8196034B2 (en) 2012-06-05
EP1850219A2 (en) 2007-10-31
US20070250475A1 (en) 2007-10-25
US20090112798A1 (en) 2009-04-30
EP1850219A3 (en) 2009-11-04
US7475347B2 (en) 2009-01-06
JP2007293479A (ja) 2007-11-08

Similar Documents

Publication Publication Date Title
JP4824458B2 (ja) ストレージシステムの消費電力を低減する計算機システム及び方法
US7856526B2 (en) Storage apparatus and power-saving control method of storage apparatus
JP4964671B2 (ja) 計算機システムの電力制御方法、プログラム、及び計算機システム
JP5207367B2 (ja) ストレージシステムの消費電力を削減する計算機システム及びその制御方法
US20090177836A1 (en) Methods and apparatuses for managing data in a computer storage system
US8386704B2 (en) Techniques for improving hard disk drive efficiency
JP2007102409A (ja) ストレージシステムの省電力化方法及びストレージシステム
JP5020774B2 (ja) 先読みを用いたストレージ消費電力削減方法及びその方法を用いた計算機システム
JP2007233896A (ja) ストレージ装置及びその制御方法
JP2009053921A (ja) ストレージシステム、計算機及び計算機システム
JP5130169B2 (ja) 仮想化ボリュームへの物理ボリューム領域割り当方法及びストレージ装置
JP2007079749A (ja) ストレージ装置およびディスク制御方法
WO2017126003A1 (ja) 複数種類のメモリデバイスを含む計算機システム及び方法
US8447997B2 (en) Method for managing storage, program and system for the same
JP5246872B2 (ja) ストレージシステムおよびストレージ管理方法
JPH11161527A (ja) データ記憶システム
WO2016059715A1 (ja) 計算機システム
JP2013206009A (ja) ドライブ制御装置及びストレージシステム及びドライブ制御方法
US20050203863A1 (en) Pre-fetch computer system
JP3793682B2 (ja) コマンドキューイングの機能を持つ記憶装置
JP2010055287A (ja) 節電機能を備えたストレージシステム
JP2000222285A (ja) メモリー電力管理装置
JP2008299672A (ja) 計算機システム及びこれを用いたデータベース管理方法
JP4486384B6 (ja) Db連携プリフェッチシステム
JP4486384B2 (ja) Db連携プリフェッチシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110715

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4824458

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3