JP4116413B2 - プリフェッチアプライアンスサーバ - Google Patents
プリフェッチアプライアンスサーバ Download PDFInfo
- Publication number
- JP4116413B2 JP4116413B2 JP2002358838A JP2002358838A JP4116413B2 JP 4116413 B2 JP4116413 B2 JP 4116413B2 JP 2002358838 A JP2002358838 A JP 2002358838A JP 2002358838 A JP2002358838 A JP 2002358838A JP 4116413 B2 JP4116413 B2 JP 4116413B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- information
- storage device
- cache memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
Description
【発明の属する技術分野】
本発明は、記憶装置に格納されたデータのうち、計算機によって近々アクセスされるデータを予測して、キャッシュメモリにプリフェッチする技術に関する。
【0002】
【従来の技術】
現在、DBを用いる多くのアプリケーションが存在し、DBに関する一連の処理・管理を行うソフトウェアであるDB管理システム(以下、DBMS)は極めて重要なものとなっている。DBの特徴の一つは、多大な量のデータを扱うことである。そのため、DBMSが稼動するシステムの多くにおいては、DBMSが走行する計算機に大容量のディスクを持つ記憶装置を接続し、そのディスク上にDBのデータを記憶する形態が一般的であり、データが記憶装置のディスク上に記憶される以上、DBに関する処理を行う際にはディスクに対してアクセスが必然的に発生する。このディスクへのアクセスは、データのシーク等、機械的な動作を伴うものであり、計算機内のCPUやメモリ上で行われる演算、データ転送に比べ遥かに時間がかかる。そこで、記憶装置内にキャッシュメモリを設け、ディスクから読み出したデータをそのキャッシュメモリに保持しておき、同じデータへのアクセスの際はキャッシュメモリからデータを読み出すことで、ディスクへのデータアクセスを少なくする記憶装置が主流となっている。また、一連のデータアクセスからこの先読み出されるデータを予測し、キャッシュメモリ上にプリフェッチしておく技術も開発されている。
【0003】
特許文献1は、無駄なアクセスの削減や必要なデータのプリフェッチによりDBMSの性能を向上させる技術について開示している。本技術は、ユーザからの問い合わせ処理(クエリ)を実行する部分において、問い合わせの実行プランやデータアクセス特性、キャッシュメモリ量、I/O負荷等を考慮して、プリフェッチ実行やその量の決定、キャッシュ(バッファ)管理等を行うことによりI/Oアクセス性能を向上させてDBMSの性能を向上させている。
【0004】
非特許文献1では、記憶装置の高機能化によるDBMSの性能向上について、リレーショナルデータベース管理システム(RDBMS)を用いたDBを例にして論じている。記憶装置に対しアプリケーションレベルの知識としてRDBMSにおける問い合わせ処理の実行プランを与えた場合、記憶装置は、RDBMSのある表に対する索引を読んだ後、その表のデータを記憶するどのブロックにアクセスすべきなのかが判断できるようになる。そこで、記憶装置は、索引を連続的にアクセスし、その索引によりアクセスすべき表のデータを保持するブロック群を把握し、それらに対するアクセスを効果的にスケジューリングすることによりデータの総アクセス時間を短縮することができる。また、この処理はDBMSが実行されている計算機とは独立実行可能であり、計算機からの命令を待つ必要がない。また、データが複数台の物理記憶装置に分散配置されている場合にはそれぞれの物理記憶装置を並列にアクセス可能であり、よりDBMSの処理実行時間の短縮が期待できる。
非特許文献2においては、アプリケーションが発行する、今後アクセスするファイルとアクセス先領域に関するヒントを用いて、計算機のOSにおいて計算機上のファイルキャッシュにデータをプリフェッチする機能とその制御方法について論じている。
【0005】
一方、近年RAIDに代表される記憶装置に記憶されるデータ量が著しく増大し、それに伴い記憶装置自体の記憶容量が大きくなり、また、ネットワークに接続される記憶装置、ファイルサーバ等の台数も増加している。その結果、大容量となった記憶領域の管理の複雑化、記憶装置、及びサーバの設置場所が分散することによる情報機器の管理の複雑化、特定の記憶装置への負荷集中等、様々な問題が現れている。現在、これらの諸問題を解決することを目的として、バーチャリゼーションと呼ばれる技術が研究、開発されている。
【0006】
バーチャリゼーション技術は、非特許文献3に記載されているように、主に三種類の形態に分類される。
【0007】
一つ目は、ネットワークに接続される各サーバが、記憶装置の記憶領域を管理する情報を共有している形態である。各サーバは、各々が有するボリュームマネージャを用いて記憶装置にアクセスする。
【0008】
二つ目は、バーチャリゼーションサーバ(以下、管理サーバ)が、ネットワークに接続された記憶装置の全記憶領域を仮想記憶領域として管理する形態である。管理サーバは、各サーバから記憶装置へのアクセス要求を受け付け、配下の記憶装置の記憶領域にアクセスし、その結果を要求元のサーバに返信する。
【0009】
三つ目は、二つ目と同様に、管理サーバがネットワークに接続された記憶装置の全記憶領域を仮想記憶領域として管理する形態である。管理サーバは、各サーバから記憶装置へのアクセス要求を受け付け、アクセス対象となるデータを実際に記憶している記憶領域の位置情報を要求元のサーバに返信する。サーバは、その位置情報を元にして記憶装置の記憶領域にアクセスする。
【0010】
【特許文献1】
米国特許第5317727号明細書
【非特許文献1】
向井影洋、他2名、「高機能ディスクにおけるアクセスプランを用いたプリフェッチ機構に関する評価」、第11回データ工学ワークショップDEWS2000論文集、電子情報通信学会データ工学研究専門委員会、2000年7月、講演番号3B−3
【非特許文献2】
アール、エイチ、パターソン(R.H.Patterson)、他4名、「インフォームドプリフェッチとキャッシング(Informed Prefetching and Caching)」、第15回ACMオペレーティングシステムプリンシプルシンポジウム予稿集(Proc. of the 15th ACM Symp. on Operating System Principles)、1995年12月、p.79−95
【非特許文献3】
「エバリュエーターシリーズ ディスクストレージの仮想化(The Evaluator Series Virtualization of Disk Storage )」、WP−0007−1、エバリュエーターグループ社(Evaluator Group, Inc.)、2000年9月
【0011】
【発明が解決しようとする課題】
バーチャリゼーション技術を応用したシステムにおいては、膨大なデータを扱うことになるため、DBMSが用いられる割合は極めて高いと言える。この場合、より大量のデータにアクセスするため、記憶装置内のディスクへのアクセス性能がシステム全体の性能に与える影響は更に大きくなる。
【0012】
従来の技術として記した、キャッシュメモリの活用やデータのプリフェッチは記憶装置内に特化したものである。特許文献1、非特許文献1〜2記載の技術は、DBMSの処理と記憶装置を連携させて性能面を向上させているが、バーチャリゼーション環境には対応していない。
【0013】
本発明の目的は、バーチャリゼーション環境上にDBを構築したシステムにおける、データのプリフェッチ技術を提供することである。
【0014】
【課題を解決するための手段】
一般にDBMSは、与えられた問い合わせ処理(クエリ)を実行する前にその実行プランを作成し、それに従って処理を実行する。このクエリの実行プランは、どの順番で、どのデータをどのようにアクセスし、アクセス後にDBホスト上でどのような処理を実行するかといった手順を示すものである。
【0015】
そこで、バーチャリゼーション環境上にDBを構築したシステムにおいて、管理サーバがDBMSから実行プランを含めたDB処理情報をDBMSのDB処理の実行前に取得し、DB処理情報を基にこれからアクセスが行われるデータとそのアクセス順を特定し、特定結果に基づいて将来アクセスが行われるデータを記憶装置のキャッシュ上に読み出し、将来アクセスが行われるデータを自サーバのキャッシュメモリに読み出すことによって、DB処理の内容に応じたデータをプリフェッチする。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。なお、これにより本発明が限定されるものではない。
【0017】
図1から図14を用いて、第一の実施の形態について説明する。
【0018】
図1は、本発明を適用した計算機システムの第一の実施形態を示す図である。
【0019】
本システムは、管理サーバ100、記憶装置130、DBホスト140、DBクライアント160、管理サーバ100と記憶装置130を接続するネットワーク184、管理サーバ100とDBホスト140を接続するネットワーク182、DBホスト140とDBクライアント160を接続するネットワーク180で構成される。
【0020】
管理サーバ100と記憶装置130間のデータ通信は、ネットワーク184を介して行われる。管理サーバ100とDBホスト140間のデータ通信は、ネットワーク182を介して行われる。DBホスト140とDBクライアント160間のデータ通信は、ネットワーク180を介して行われる。尚、当システムにおいて、DBクライアント160、DBホスト140、記憶装置130は一台でも複数台でも構わない。
【0021】
管理サーバ100は、制御装置(制御プロセッサ)102、キャッシュ104、ネットワーク182と接続するI/F(A)106、ネットワーク184と接続するI/F(B)108、メモリ110を有する。メモリ110には、仮想記憶領域管理プログラム112、DB処理管理プログラム114、マッピング情報116、DBMS情報118、キャッシュ管理情報120が格納されている。仮想記憶領域管理プログラム112は、制御装置102上で動作するプログラムであり、マッピング情報116を用いて、配下の記憶装置130の物理的な記憶領域全てを仮想的な記憶領域として管理する。DB処理管理プログラム114も、制御装置102上で動作するプログラムであり、DBMS情報118を用いて、DBホスト140上のDBMS148が実行するDB処理の情報を管理する。また、キャッシュ管理情報120を用いて自サーバのキャッシュ104を管理する。当プログラムの具体的な処理内容については、処理フローの説明と合わせて後述する。
【0022】
記憶装置130は、制御装置(制御プロセッサ)132、キャッシュ134、ネットワーク136と接続するI/F136、ディスク138を有し、制御装置132により、キャッシュ134やディスク138等を制御する。DBの実データは、ディスク138上に記憶される。
【0023】
DBホスト140は、制御装置(制御プロセッサ)142、メモリ144、ネットワーク180と接続するI/F(A)152、ネットワーク182と接続するI/F(B)154を有する計算機である。メモリ154には、DB処理情報取得プログラム146、DBMS148が格納される。また、DBMS148は、DBスキーマ情報150を有する。DB処理情報取得プログラム146は、制御装置142上で動作するプログラムであり、DBクライアント160上のDB処理フロントエンドプログラム164を通して、ユーザからDB処理要求を受け付け、そのDB処理のプラン情報等をDBMS148から取得し、DB処理情報600として管理サーバ100に送信する。DBMS148も、制御装置142上で動作するプログラムであり、DBのテーブルやインデックス、ログ等をDBスキーマ情報150として管理する。また、ユーザから受け付けたDB処理に応じて、管理サーバ100を通して記憶装置130から必要なデータを取得し、DB処理を実行し、その実行結果を要求元のDBクライアント160に返信する。
【0024】
DBクライアント160は、メモリ162、ユーザがDB処理を入力するため、及び処理結果を出力するための入出力装置166、制御装置(制御プロセッサ)168、ネットワーク180と接続するI/F170を有する計算機である。メモリ162には、DB処理フロントエンドプログラム164が格納される。DB処理フロントエンドプログラム164は、制御装置168上で動作するプログラムであり、ユーザからDB処理を受け付けDBホスト140に送信する。またDBホスト140から受信したDB処理の実行結果を入出力装置116に出力する。
【0025】
図2は、マッピング情報116の構成の一例を示した図である。マッピング情報116は、仮想ボリューム名200、仮想ブロック番号202、記憶装置ID204、物理ディスクID206、物理ブロック番号208で構成する。
【0026】
仮想ボリューム名200は、仮想ボリュームを識別するための名前であり、仮想ブロック番号202は、仮想ボリューム内の記憶領域を示す番号である。記憶装置ID204は、仮想ボリューム名200と仮想ブロック番号202が示す仮想ボリューム領域のデータを実際に記憶する記憶装置130の識別子である。物理ディスクID206は、仮想ボリューム名200と仮想ブロック番号202が示す仮想ボリューム領域のデータを実際に記憶する記憶装置の物理ディスク138の識別子である。物理ブロック番号208は、仮想ボリューム名200と仮想ブロック番号202が示す仮想ボリューム領域のデータを実際に記憶する物理ディスクの物理ブロック番号である。図2中の一番上のエントリを例にあげると、「VVOL1」という名前の仮想ボリュームの仮想ブロック0番から3999番の仮想ボリューム領域は、実際には「S01」で識別される記憶装置の「D0101」で識別される物理ディスク上の物理ブロック1000番から4999番に存在するということである。
【0027】
図3は、DBMS情報118の構成の一例を示した図である。DBMS情報118は、実行情報ID管理情報300、DBMS処理計画情報310で構成される。
【0028】
実行情報ID管理情報300は、実行情報ID302、DBMS名304、DB処理プランID306、処理優先度307、キャッシュ処理フラグ308を有する。実行情報ID302は、DB処理管理プログラム114がDB処理情報600を受信した時に割り当てられるユニークなIDであり、当IDにより実行情報ID管理情報300とDBMS処理計画情報310を関連付け、受信したDB処理情報を管理する。DBMS名304は、当エントリが管理するDB処理を実行するDBMSを識別する名前であり、DBホスト140から受信したDB処理情報600のDBMS名602と同じDBNS名を格納する。DB処理プランID306は、当エントリが管理するDB処理のDB処理プランを識別するIDであり、DB処理情報600のDB処理プランID603のIDを格納する。処理優先度307は、当エントリが管理するDB処理のプリフェッチ処理の優先度を示し、DB処理情報600の処理優先度604の値を格納する。キャッシュ処理フラグ308は、当エントリに対するキャッシュ処理の状態を示すフラグである。当フラグが“0”の場合は、キャッシュ処理が未実行であることを示し、“1”の場合は、キャッシュ処理が実行中であることを示す。尚、初期値は“0”である。
【0029】
DBMS処理計画情報310は、実行情報ID312、実行情報内部通番314、アクセス先データ構造316、アクセス先仮想ボリューム名318、アクセス先仮想ブロック番号320、実行順序322を有する。実行情報ID312は、実行情報ID管理情報300の実行情報ID302と対応するもので、DB処理を管理するために用いられる。実行情報内部通番314は、実行情報ID312が管理するDB処理中にアクセスされるデータ構造の順番を示す番号である。DB処理管理プログラム114は、この実行情報内部通番314に従って、データのプリフェッチを実行する。アクセス先データ構造316、アクセス先仮想ボリューム名318、アクセス先仮想ブロック番号320は、当エントリが管理するDB処理のアクセス対象となるデータ構造と、そのデータ構造を記憶している仮想ボリュームの仮想ボリューム名、仮想ブロック番号を示すもので、後述するDB処理プラン情報606のアクセス先データ構造614、アクセス先仮想ボリューム名616、アクセス先仮想ブロック番号618の情報をそれぞれ格納する。実行順序322は、当エントリが管理するDB処理の実行順序をDB処理プラン情報606の実行順序612から継承した情報である。
【0030】
図4は、キャッシュ管理情報120の構成例を示した図である。尚、本発明において、キャッシュ104はセグメントという単位で分割して管理している。また、その全セグメントのうち、一部を予備キャッシュセグメントとして確保している。
【0031】
キャッシュ管理情報120は、全キャッシュセグメント数400、使用可能キャッシュセグメント数402、使用中セグメントリスト404、使用可能セグメントリスト406、再利用セグメントリスト408、キャッシュセグメント情報410を有する。全キャッシュセグメント数400は、キャッシュ104に存在するセグメントの個数を格納する。使用可能キャッシュセグメント数402は、キャッシュ104に存在するセグメントのうち、使用可能なセグメントの個数を格納する。使用中セグメントリスト404は、DBホスト140にデータを転送する直前のセグメントのリストである。使用可能セグメントリスト406は、この先DBホスト140に読み出しが行われる予定がないセグメントのリストである。再利用セグメントリスト408は、DBホスト140にデータを転送し、更にこの先DBホスト140に読み出しが行われる予定のあるセグメントのリストである。
【0032】
キャッシュセグメント情報410は、セグメントID412、記憶装置ID414、物理ディスクID416、物理ブロック番号418、データ転送フラグ420、再利用カウンタ422を有する。
【0033】
セグメントID412は、当エントリが管理するセグメントを識別するIDである。当IDとセグメントは1対1に対応する。記憶装置ID414は、当エントリが管理するセグメント上に保持しているデータを記憶する記憶装置130を識別するIDである。物理ディスクID416は、当エントリが管理するセグメント上に保持しているデータを記憶する記憶装置130内の物理ディスク138を識別するIDである。物理ブロック番号418は、当エントリが管理するセグメント上に保持しているデータを記憶する物理ディスク138の物理ブロック番号である。データ転送フラグ420は、当エントリが管理するセグメント上のデータをDBホスト140に転送したかしていないかを示すフラグである。当フラグが“0”の場合は、データが未転送であることを示し、“1”の場合は、データが転送済みであることを示す。再利用カウンタ422は、当エントリが管理するセグメント上のデータの再利用予定の回数を示すカウンタである。
【0034】
図5は、DBスキーマ情報150の構成を示した図である。DBスキーマ情報150は、表定義情報500、索引定義情報502、ログ情報504、一時表領域506、データ記憶位置情報508を有する。尚、本明細書では、DBスキーマ情報として、表、索引、ログ、一時記憶領域の代表的なDBスキーマを記載したが、実際のDBMSではこれら以外のDBスキーマも多数存在し、それらの情報もDBスキーマ情報150に含まれる。DBMS148は、これらのDBスキーマを定義し、データの格納、参照、更新等を行い、要求されたDB処理を実行する。
【0035】
データ記憶位置情報508は、データ構造名510、データ構造型511、仮想ボリューム名512、仮想ブロック番号514を有する。データ構造名510は、DBスキーマで定義したデータ構造の名前であり、データ構造型511は、そのデータ構造の型を示す。仮想ボリューム名512は、当エントリのデータ構造を記憶する仮想ボリュームの名前である。仮想ブロック番号514は、当エントリのデータ構造を記憶する仮想ボリューム内の仮想ブロック番号である。図5のデータ記憶位置情報508の1番目のエントリを例にとると、当エントリのデータ構造名510には「T1」、データ構造型511には「Table」、仮想ボリューム名512には「VVOL1」、仮想ブロック番号には「0−9999」が格納されている。この場合、表定義情報500で定義された表T1は、仮想ボリュームVVOL1内の仮想ブロック0番から9999番に格納されていることを示す。また、DBホスト140が実際に記憶装置130のディスク138に記憶されたデータにアクセスする場合は、この仮想ボリューム名512と仮想ブロック番号514を用いる。
【0036】
図6は、DB処理情報600と、データ転送命令620の構成を示した図である。DB処理情報600は、DBMS名602、DB処理プランID603、処理優先度604、DB処理プラン情報606を有する。DBMS名602は、対象のDB処理を実行するDBMSを識別する名前である。DB処理プランID603は、対象のDB処理のDB処理プランを識別するIDである。処理優先度604は、対象のDB処理に対するプリフェッチ処理の優先度である。
【0037】
DB処理プラン情報606は、対象とするDB処理の実行プランであり、プランノード名608、親ノード名610、実行順序612、アクセス先データ構造614、アクセス先仮想ボリューム616、アクセス先仮想ブロック番号618を有する。プランノード名608は、当エントリのノード名である。親ノード名610は、当エントリの親エントリのノード名である。アクセス先データ構造614、アクセス先仮想ボリューム名616、アクセス先仮想ブロック番号618は、当エントリがアクセスするデータ構造、そのデータ構造を記憶している仮想ボリューム名と仮想ブロック番号を示す。尚、データ構造にアクセスしない場合は“−”を設定する。
【0038】
データ転送命令620は、DBMS148が管理サーバ100、及び配下の記憶装置130からデータを転送する際に発行する命令であり、命令コード622、仮想ボリューム名624、仮想ブロック番号626、バッファアドレス628を有する。命令コード622には、データ転送を意味する“READ”が設定される。仮想ボリューム名624、仮想ブロック番号626は、転送対象のデータを記憶している仮想ボリューム名と仮想ブロック番号である。バッファアドレス628は、データを受信するDBホスト側のバッファアドレスである。
【0039】
図7は、記憶装置130のキャッシュ134上に指定されたデータを読み出すオンキャッシュ命令700の構成を示した図である。オンキャッシュ命令700は、命令識別子702、データ物理位置情報704を有する。データ物理位置情報704は、物理ディスクID706と物理ブロック番号708を有する。管理サーバ100がオンキャッシュ命令を記憶装置130に発行する際は、命令識別子702にオンキャッシュ命令であることを示す“ONCACHE”をセットし、また、キャッシュ134上に読み出すデータを記憶している物理記憶領域の物理ディスクIDと物理ブロック番号を、それぞれ物理ディスクID706と物理ブロック番号708にセットする。
【0040】
図8〜図14は、第一の実施形態における、全体の処理の流れの一例と、データのプリフェッチに関する処理の流れの一例を示したフロー図である。以下、これらのフロー図に従い処理の内容について説明する。
【0041】
図8は、DBクライアント160がユーザからDB処理を実行するよう指示する命令を受け付けてから、そのDB処理の実行結果を出力するまでの一連の処理の流れを示したフロー図である。尚、図8中の細い矢印は命令や制御情報の流れを示し、太い矢印はDBのデータの流れを示す。
【0042】
DB処理フロントエンドプログラム164は、ユーザから入出力装置166を通してDB処理要求を受け付け、そのDB処理要求をDBホスト140に送信する[処理800]。
【0043】
DB処理情報取得プログラム146は、受信したDB処理を実際に実行するDBMS148から、DBMS名、DB処理プランID、DB処理要求内容に応じたDB処理プランを取得してDB処理情報600にそれぞれセットし、管理サーバ100に送信する[処理802]。
【0044】
DB処理管理プログラム114は、受信したDB処理情報600を元に、実行情報ID管理情報300とDBMS処理計画情報310を更新する[処理804]。具体的な処理内容は、図9の処理804フロー図の説明にて後述する。
【0045】
DB処理管理プログラム114は、実行情報ID管理情報300とDBMS処理計画情報310から、この先読み出しが行われるデータを判定し、そのデータが実際に記憶されている記憶装置130に対して、該当のデータをキャッシュ134上に読み込むオンキャッシュ命令700を発行する[処理806]。具体的な処理内容は、図10の処理806フロー図の説明にて後述する。尚、図8において処理806は、処理804に続いて必ず実行されるように記載されているが、処理804が実行されるたびに処理806が実行される必要はなく、例えば一定間隔で処理806が実行されるといったように、任意のタイミングで処理806が実行される構成であっても良い。
【0046】
オンキャッシュ命令700を受け付けた記憶装置130の制御装置132は、オンキャッシュ命令のデータ物理位置情報704で指定された物理ディスク、物理ブロック番号が示す記憶領域に格納されたデータをキャッシュ134に読み込む[処理808]。
【0047】
DB処理管理プログラム114は、実行情報ID管理情報300とDBMS処理計画情報310を基に、近いうちに読み出しが行われるデータを判定し、該当のデータが実際に記憶されている記憶装置130からSCSIコマンドによりキャッシュ104にデータを読み出す[処理810]。具体的な処理内容は、図11〜図13の処理810フロー図の説明にて後述する。尚、図8において処理810は、処理806に続いて実行されるように記載されているが、処理806と同様、処理810も任意のタイミングで実行される構成としてもかまわない。
【0048】
SCSIコマンドを受け付けた記憶装置130の制御装置132は、指定されたデータを管理サーバ100内のキャッシュ104に転送する[処理812]。
【0049】
DBMS148は、DB処理要求の内容に応じたDB処理プランに従ってDB処理を実行する。DB処理の実行時に必要となるDBのデータは、管理サーバ100にデータ転送命令620を発行して読み出す[処理814]。
【0050】
DB処理管理プログラム114は、受信した転送命令620で指定されたデータをDBホスト140に転送する。データ転送後、転送したデータが再利用されない場合は、そのデータを記憶していたキャッシュセグメントを使用可能状態にする[処理816]。具体的な処理内容は、図14の処理フローの説明にて記述する。
【0051】
DBMS148は、DB処理の実行が終了すると、その実行結果を要求元のDBクライアント160に送信する[処理818]。
【0052】
DB処理フロントエンドプログラム164は、DBMS148から受信したDB処理要求に対する実行結果を入出力装置166を用いて出力する[処理820]。
【0053】
図9は、図8中の処理804の処理内容の一例を示したフロー図である。
【0054】
管理サーバ100のDB処理管理プログラム114は、DBホスト140からDB処理情報600を受信すると、実行情報ID管理情報300に新規エントリを追加し、当エントリの実行情報ID302に任意のIDを割り当てる[処理900]。
【0055】
次にDB処理管理プログラム114は、DBホスト140から受信したDB処理情報600内のDBMS名602、DB処理プランID603、処理優先度604を、実行情報ID管理情報300の当エントリのDBMS名304、DB処理プランID306、処理優先度307にそれぞれコピーし、キャッシュ処理フラグ308に“0”をセットする[処理902]。
【0056】
DB処理管理プログラム114は、受信したDB処理情報600内のDB処理プラン情報606のエントリを先頭から参照し、そのエントリのアクセス先データ構造614にアクセスするデータ構造の情報が指定されているかを判定する。データ構造が指定されていれば、処理906から処理を継続する。保持していなければ処理908から処理を継続する[処理904]。
【0057】
処理906においてDB処理管理プログラム114は、DBMS処理計画情報310に新規エントリを追加し、当エントリの実行情報ID312には処理900で割り当てた実行情報IDと同じIDをセットする。また、アクセス先データ構造316、アクセス先仮想ボリューム名318、アクセス先仮想ブロック番号320、実行順序322に、参照したDB処理プラン情報606のエントリのアクセス先データ構造624、アクセス先仮想ボリューム名626、アクセス先仮想ブロック番号628、実行順序622をそれぞれコピーする[処理906]。
【0058】
DB処理プラン情報616のエントリ全てを参照した場合は、処理910から処理を継続する。まだ、参照していないエントリがある場合は、次のエントリを処理対象として処理904から処理を継続する[処理908]。
【0059】
処理910においてDB処理管理プログラム114は、DBMS処理計画情報310に今回追加した全てのエントリの実行順序322を比較し、実行順序が早いエントリから順番に内部通番314を割り振り、処理804を終了する[処理910]。尚、同一の実行順序の場合は、DBMS処理計画情報310にエントリが追加された順番に内部通番を割り振る。
【0060】
図10は、図8中の処理806の処理内容を示したフロー図である。
【0061】
DB処理管理プログラム114は、実行情報ID管理情報300を先頭から検索し、キャッシュ処理フラグ308が“0”を示し、且つその中で処理優先度307が最も高いエントリを見つける[処理1000]。
【0062】
処理1000で、処理対象のエントリを見つけた場合は処理1004から処理を継続し、見つからなかった場合は処理806を終了する[処理1002]。
【0063】
処理1004においてDB管理プログラム114は、処理対象エントリのキャッシュ処理フラグ308に“1”をセットする[処理1004]。
【0064】
更にDB管理プログラム114は、処理対象エントリの実行情報ID302と同一のIDを持つDBMS処理計画情報310のエントリを参照し、そのエントリの内部通番314の順序に従い処理1008から処理を継続する[処理1006]。
【0065】
DB管理プログラム114は、アクセス先仮想ボリューム名318とアクセス先仮想ブロック番号320が示す仮想ボリューム領域に対応する物理記憶位置(記憶装置ID、物理ディスクID、物理ブロック番号)を、マッピング情報116を検索して割り出す[処理1008]。
【0066】
そして、DB管理プログラム114は、オンキャッシュ命令700内のデータ物理位置情報704に、処理1008で割り出した物理記憶位置の物理ディスクIDと物理ブロック番号をセットし、対象の記憶装置130に発行する[処理1010]。
【0067】
処理1020では、DB管理プログラム114は、処理1008で割り出した全ての記憶装置130に対し、オンキャッシュ命令700を発行したか判定する。発行した場合は、処理1014から処理を継続する。まだ発行すべき記憶装置130が残っている場合は、その記憶装置130に対し処理1010から処理を継続する[処理1012]。
【0068】
処理1014においてDB管理プログラム114は、処理1008から処理1012の処理対象としたエントリの内部通番314が最後の内部通番であるか判定する。最後の内部通番である場合は、処理806を終了する。最後の内部通番でない場合は、次の内部通番のエントリを処理対象として処理1008から処理を継続する[処理1014]。
【0069】
図11〜図13は、図8中の処理810の処理内容を示したフロー図である。
【0070】
DB処理管理プログラム114は、実行情報ID管理情報300を先頭から検索し、キャッシュ処理フラグ308が“1”を示し、且つその中で処理優先度307が最も高いエントリを見つける[処理1100]。
【0071】
処理1100で、処理対象のエントリを見つけた場合は処理1104から処理を継続し、見つからなかった場合は処理810を終了する[処理1102]。
【0072】
処理1104においてDB処理管理プログラム114は、処理対象エントリの実行情報ID302と同一のIDを持つDBMS処理計画情報310のエントリを参照し、そのエントリの内部通番314の順序に従い処理1106から処理を継続する[処理1104]。
【0073】
DB処理管理プログラム114はまず、DBMS処理計画情報310のエントリのアクセス先仮想ボリューム名318とアクセス先仮想ブロック番号320が示す仮想ボリューム領域に対応する物理記憶位置(記憶装置ID、物理ディスクID、物理ブロック番号)を、マッピング情報116を検索して割り出す[処理1106]。
【0074】
次にDB処理管理プログラム114は、キャッシュセグメント情報410の全エントリを検索し、処理1106で割り出した物理記憶位置に記憶しているデータを保持するセグメントを調査する。今回参照したキャッシュセグメント情報410のエントリが管理するセグメントが、上記のデータを保持している場合は処理1110から処理を継続する。保持していない場合は、処理1120から処理を継続する[処理1108]。
【0075】
処理1108でキャッシュのセグメント上に、読み出し対象となるデータがあると判断された場合、DB処理管理プログラム114は、キャッシュに格納されている読み出し対象であるデータが、既にDBホストに転送されているか判定する。読み出し対象データが格納されているセグメントの情報を示す、キャッシュセグメント情報410のエントリのデータ転送フラグ420が“1”の場合は、既にDBホストにデータ転送済みであり、処理1112から処理を継続する。データ転送フラグ420が“0”の場合はDBホストにデータが転送されていない状態であり、処理1116から処理を継続する[処理1110]。
【0076】
処理1112においてDB処理管理プログラムは、読み出し対象データが格納されているセグメントの情報が格納されたエントリのデータ転送フラグ420に“0”をセットする。また、この時点で当エントリは使用可能セグメントリスト406に属している。今回の処理で当エントリが管理するセグメント上のデータを再度使用状態するため、DB処理管理プログラムは、当エントリを使用可能セグメントリスト406から切り離し、使用中セグメントリスト404の末尾にリストする[処理1112]。
【0077】
更にDB処理管理プログラムは、使用可能セグメント数402から1減算し、処理1120から処理を継続する[処理1114]。
【0078】
読み出し対象のデータが未だDBホストに転送されていない場合には、DB処理管理プログラムは、このデータが格納されているセグメントの情報が格納された、キャッシュセグメント情報410のエントリの再利用カウンタ422を1加算する[処理1116]。
【0079】
また、このエントリが再利用セグメントリスト408に属している場合は、このエントリが管理するセグメントのデータが再利用待ちであることを意味する。今回の処理で当エントリが管理するセグメント上のデータを再度使用状態するため、更にDB処理管理プログラムは、当エントリを再利用セグメントリスト408から切り離し、使用中セグメントリスト404の末尾にリストする[処理1118]。
【0080】
処理1120においてDB処理管理プログラムは、キャッシュセグメント情報410の全エントリに対し、処理1108から処理1118の処理を実行したか判定する。実行した場合は、処理1122から処理を継続する。実行していない場合は、次のエントリを処理対象として、処理1108から処理を継続する[処理1120]。
【0081】
処理1122ではDB処理管理プログラムは、処理1106で参照したエントリのアクセス先仮想ブロック番号320から、読み出し対象となるデータ量を求め、そのデータ量に見合ったキャッシュセグメント数を算出する。また、DB処理管理プログラムは、処理1108から処理1122で、キャッシュ114上に読み出されていたデータのセグメント数を算出する。この両者から、今回読み出し対象となるデータで、現在キャッシュ104上に存在しないデータのプリフェッチに必要なセグメント数を割り出す[処理1122]。
【0082】
処理1122で割り出したセグメント数が、使用可能セグメント数406より少ない場合は、DB処理管理プログラムは、処理1202から処理を継続し、多い場合はDB処理管理プログラムは、処理1300から処理を継続する[処理1200]。
【0083】
DB処理管理プログラムは、処理1122で割り出したセグメント数分のセグメントを管理するキャッシュセグメント情報410のエントリを、使用可能セグメントリストの先頭から切り離してバッファプールを作成する。また、切り離したエントリ分のセグメント数を使用可能キャッシュセグメント数から減算する[処理1202]。
【0084】
次にDB処理管理プログラムは、処理1202で作成したバッファプールに、今回読み出し対象となっているデータで、キャッシュ104上に読み出されていないデータを記憶装置120から読み出す。尚、データ読み出し元の物理記憶位置(記憶装置、物理ディスクID、物理ブロック番号)は、処理1106で割り出したものを使用する。読み出し対象のデータが、複数の記憶装置にまたがって存在する場合は、対象となる複数の記憶装置から読み出す[処理1204]。
【0085】
処理1204でDB処理管理プログラムは、バッファプールに読み込んだデータを保持するセグメントを管理しているキャッシュセグメント情報410の各エントリを更新する。更新内容は、今回自セグメントに読み出したデータの元を記憶している記憶装置のID414、物理ディスクのID416、物理ブロック番号418である。また、それに合わせて、データ転送フラグ420に“0”をセットし、再利用カウンタ422を0クリアする[処理1206]。
【0086】
処理1106から処理1206の処理対象としたDBMS処理計画情報310のエントリの内部通番314が最後の内部通番であるか判定する。最後の内部通番である場合は、処理1210から処理を継続する。最後の内部通番でない場合は、次の内部通番のエントリを処理対象として処理1106から処理を継続する[処理1208]。
【0087】
処理1210では、DB処理管理プログラムは、今回処理した実行情報ID管理情報300のエントリと、DBMS処理計画情報310の各エントリを削除し、処理810を終了する[処理1210]。
【0088】
処理1200において、使用可能キャッシュセグメント数が不足していると判定された場合、図13に示す処理1300においてDB処理管理プログラムは、再利用セグメントリスト408に属するキャッシュセグメント情報410のエントリが存在する場合は、処理1302から処理を継続する。存在しない場合は、処理1308から処理を継続する[処理1300]。
【0089】
処理1302では、DB処理管理プログラムは、再利用セグメント408の先頭にリストされているキャッシュセグメント情報410のエントリを参照し、当セグメントに格納されているデータを記憶している物理記憶位置(記憶装置ID、物理ディスクID、物理ブロック番号)を割り出す[処理1302]。
【0090】
そして、DB処理管理プログラムは、オンキャッシュ命令700内のデータ物理記憶位置情報704に、処理1302で割り出した物理ディスクIDと物理ブロック番号をセットし、対象となる記憶装置130に発行する[処理1304]。
【0091】
更にDB処理管理プログラムは、処理1302で参照したキャッシュセグメント情報410のエントリを再利用セグメントリスト408から切り離し、使用可能セグメントリスト406の末尾にリストする。また、使用可能キャッシュセグメント数402に1加算し、処理1310から処理を継続する[処理1306]。
【0092】
一方処理1308においてDB処理管理プログラムは、一定期間ウェイトし、処理1310から処理を継続する[処理1308]。尚、ここでウェイトする理由は次の通りである。処理816は、DBホスト140からのデータ転送命令620を契機として実行されるため、本処理(処理810)とも並列して実行されている可能性が高い。処理816の具体的な処理内容については後述するが、簡単に処理内容を説明すると、処理816では、管理サーバ100が指定されたデータを要求元のDBホスト140に転送し、転送したデータを保持しているキャッシュセグメントを使用可能、もしくは再利用の状態にする。従って、このウェイトの間にデータ転送が実行されることで、使用可能、再利用状態のセグメントが増え、本処理におけるデータのプリフェッチに必要なセグメントを用意できる場合がある。従って、管理サーバ100からDBホスト140へのデータ転送により、プリフェッチに必要なセグメントが揃うまで処理1308において一定期間待つのである。
【0093】
処理1310では、DB処理管理プログラムは、処理1122で割り出したセグメント数が、使用可能セグメント数406より少ないか判断し、少ない場合は再度プリフェッチ処理が可能であるから処理1202から処理を継続し、多い場合は処理1300から処理を継続する[処理1310]。
【0094】
図14は、図8中の処理816の処理内容を示したフロー図である。
【0095】
DB処理管理プログラム114は、データ転送命令620に格納された仮想ボリューム名624と仮想ブロック番号626が示す仮想ボリューム領域に対応する物理記憶位置(記憶装置ID、物理ディスクID、物理ブロック番号)を、マッピング情報116を検索して割り出す[処理1400]。
【0096】
次にDB処理管理プログラム114は、使用中セグメントリスト404に属するキャッシュセグメント情報410のエントリを検索し、処理1400で割り出した物理記憶位置のデータを格納しているセグメントを見つける[処理1402]。
【0097】
処理1402で該当するセグメントが見つかった場合は、処理1406から処理を継続し、見つからなかった場合は、処理1408から処理を継続する[処理1404]。
【0098】
処理1406においてDB処理管理プログラム114は、データ転送命令620のバッファアドレス628に、処理1402で見つけたセグメント上のデータを転送し、処理1412から処理を継続する[処理1406]。
【0099】
一方処理1408においては、DB処理管理プログラム114は、処理1400で割り出した物理記憶位置のデータを予備キャッシュセグメントに読み出す[処理1408]。
【0100】
そして、DB処理管理プログラム114は、データ転送命令620で指定されるバッファアドレス628に、処理1408で読み出した予備キャッシュセグメント上のデータを転送し、処理1422から処理を継続する[処理1410]。
【0101】
処理1412では、DB処理管理プログラム114は、処理1406でバッファに転送したデータを保持するセグメントを管理するキャッシュセグメント情報410のエントリの再利用カウンタ422が0以上の場合は処理1414から処理を継続し、0の場合は処理1418から処理を継続する[処理1412]。
【0102】
処理1414においては、DB処理管理プログラム114は、キャッシュセグメント情報410の当エントリの再利用カウンタから1減算する[処理1414]。
【0103】
そして、DB処理管理プログラム114は、当エントリを使用中セグメントリスト404から切り離し、再利用セグメントリスト408の末尾にリストし、処理1422から処理を継続する[処理1416]。
【0104】
一方処理1418においては、DB処理管理プログラム114は、キャッシュセグメント情報410の当エントリのデータ転送フラグ420に“1”をセットする[処理1418]。
【0105】
そして、当エントリを使用中セグメントリスト404から切り離し、使用可能セグメントリスト406の末尾にリストし、使用可能キャッシュセグメント数402を1加算する[処理1420]。
【0106】
DB処理管理プログラム114は、データ転送命令620で指定されたデータ全てを転送した場合は、処理816を終了する。また、転送すべきデータが残っている場合は、処理1424から処理を継続する[処理1422]。
【0107】
処理1424では、DB処理管理プログラム114は、今回転送したデータの仮想ブロック番号に1セグメント分のデータサイズを加算したブロック番号を、次に転送対象とするデータの仮想ブロック番号とし、仮想ボリューム名624と当仮想ブロック番号が示す仮想ボリューム領域に対応する物理記憶位置(記憶装置ID、物理ディスクID、物理ブロック番号)を、マッピング情報116を検索して割り出す[処理1424]。
【0108】
そして、今回転送したバッファアドレスに1セグメント分のデータサイズを加算したアドレスを、次の転送先のバッファアドレスとして、処理1402から処理を継続する[処理1426]。
【0109】
第一の実施形態によれば、インバンド型バーチャリゼーション環境上に構築したDBシステムにおいて、DBクライアントからDBホストに要求されたDB処理に関する情報を、管理サーバ100がDBホストから取得し、その情報を基に近々読み出しが行われるデータを割り出すことができる。従って管理サーバ100は、割り出したデータを記憶装置のキャッシュ134上に読み出すよう指示し、読み出し対象のデータを記憶装置のキャッシュ134上にプリフェッチしておくこと、また、これからすぐ読み出しが行われるデータをキャッシュ104上にプリフェッチしておくことができる。この結果DBシステム全体の性能向上を図ることが可能となる。
【0110】
次に、本発明の第二の実施形態について説明する。
【0111】
図15は、本発明の第二の実施形態におけるシステム構成の一例を示す図である。第一の実施形態で示したシステム構成との相違は、管理サーバ100内のキャッシュ104、及びキャッシュ管理情報120が無いこと、記憶装置130にネットワーク182と直接(管理サーバ100を介さずに)接続するためのインタフェースI/F(B)137と、ネットワーク186を新たに設けたことである。
【0112】
第二の実施形態における処理内容は、第一の実施形態で説明した処理内容のうち、管理サーバ100内のキャッシュ処理に関する処理を略した処理となる。DB処理管理プログラム114は、DBMS情報118を基に近々読み出しが行われるデータを判定し、対象のデータを記憶している記憶装置130にオンキャッシュ命令700を発行し、対象のデータをキャッシュ134上に読み出すように指示を与える。DBホスト140のDBMS148からデータ転送命令620を受信した際は、DB処理管理プログラム114は、指定されたデータを記憶する記憶装置130の物理記憶位置を要求元のDBホスト140に送信し、DBホスト140はその物理位置情報を用いて、ネットワーク182、及びネットワーク186を通して記憶装置130上のデータに直接アクセスする。
【0113】
第二の実施形態によれば、アウトバンド型バーチャリゼーション環境上に構築したDBシステムにおいて、DBクライアントから要求されたDB処理に関する情報をDBホストから管理サーバ100が取得し、その情報を基に、近々読み出しが行われるデータを割り出し、記憶装置のキャッシュ134上に読み出す指示を該当する記憶装置130に与えることができる。この結果、DBホストが記憶装置から将来読み出すデータを、予め記憶装置のキャッシュ134上にプリフェッチしておくことが可能なので、DBシステム全体の性能向上を図ることが可能となる。
【0114】
次に、本発明の第三の実施の形態について説明する。
【0115】
第三の実施形態におけるシステムは、第一の実施形態で示したシステム構成のうち、記憶装置130内のキャッシュ134を除いたものである。尚、第三の実施の形態において、キャッシュ134を持つ記憶装置130と、キャッシュ134を持たない記憶装置130が一つのシステム内に両方とも存在してもかまわない。
【0116】
第三の実施形態における処理内容は、第一の実施形態で説明した処理内容のうち、管理サーバ100が配下の記憶装置130に対しオンキャッシュ命令700を発行する処理部分を略したものである。DB処理管理プログラム114は、DBMS情報を基に近々読み出しが行われるデータを判定し、対象のデータを記憶する配下の記憶装置130から直接データを読み出す。また、再利用予定のデータを保持するキャッシュセグメントを使用可能状態にする際に、当セグメントのデータを記憶する記憶装置に発行するオンキャッシュ命令700も発行しないで、そのまま使用可能状態にする。
【0117】
第三の実施形態によれば、HDDの様なキャッシュを持たない記憶装置を用いたバーチャリゼーション環境上に構築したDBシステムにおいて、管理サーバ100が要求されたDB処理の情報を取得し、その情報を基に、近々読み出しが行われるデータを割り出し、該当するデータを記憶装置130からキャッシュ104上にプリフェッチしておくことで、DBシステム全体の性能向上を図ることが可能となる。
【0118】
【発明の効果】
本発明により、バーチャリゼーション環境上にDBを構築したシステムにおいて、近々記憶装置から読み出されるデータをプリフェッチし、記憶装置内に格納されているデータへのアクセス時間を短縮することができるため、DBシステム全体の性能向上を図ることが可能となる。
【図面の簡単な説明】
【図1】本発明の第一の実施形態におけるシステム構成の一例を示す図である。
【図2】管理サーバが有するマッピング情報の一例を示す図である。
【図3】管理サーバが有するDBMS情報の一例を示す図である。
【図4】管理サーバが有するキャッシュ管理情報の一例を示す図である。
【図5】DBホスト内のDBMSが有するDBスキーマ情報の一例を示す図である。
【図6】DBホストが発行するDB処理情報と、データ転送命令の一例を示す図である。
【図7】管理サーバが発行するオンキャッシュ命令の一例を示す図である。
【図8】DBクライアントがユーザからDB処理を受け付けた後に実行される一連の処理の一例を示すフローチャートである。
【図9】DBMS処理計画情報更新処理の一例を示すフローチャートである。
【図10】オンキャッシュ命令発行処理の一例を示すフローチャートである。
【図11】記憶装置から管理サーバにデータを先読みするための処理の一例を示すフローチャートである。
【図12】記憶装置から管理サーバにデータを先読みするための処理の一例を示すフローチャートである。
【図13】記憶装置から管理サーバにデータを先読みするための処理の一例を示すフローチャートである。
【図14】DBホストへのデータの転送処理の一例を示すフローチャートである。
【図15】第二の実施形態におけるシステム構成の一例を示す図である。
【符号の説明】
100:管理サーバ
102:制御装置
104:キャッシュ
106:I/F(A)
108:I/F(B)
110:メモリ
112:仮想記憶領域管理プログラム
114:DB処理管理プログラム
116:マッピング情報
118:DBMS情報
120:キャッシュ管理情報
130:記憶装置
132:制御装置
134:キャッシュ
136:I/F
138:ディスク
140:DBホスト
142:制御装置
144:メモリ
146:DB処理情報取得プログラム
148:DBMS
150:DBスキーマ情報
152:I/F(A)
154:I/F(B)
160:DBクライアント
162:メモリ
164:DB処理フロンエンドプログラム
166:入出力装置
168:制御装置
170:I/F
Claims (12)
- データベースのデータが記憶される一又は複数の記憶装置と、前記データベースを管理し、前記データベース内のデータにアクセスし、かつ、データベース管理システムを有する一又は複数のデータベースホストと、にネットワークを介して接続され、かつ、キャッシュメモリを有する計算機であって、
前記計算機は、
前記一又は複数の記憶装置の全記憶領域を仮想記憶領域として管理し、前記全記憶領域をブロック単位で管理する物理ブロック番号と前記仮想記憶領域をブロック単位で管理する仮想ブロック番号とを対応付けるマッピング情報と、
前記データベース管理システムが実行するデータベースの管理処理の実行計画に基づいてデータのプリフェッチを実行する実行順序を管理するデータベース管理システム情報と、
前記キャッシュメモリのメモリ領域にプリフェッチ対象のデータの格納状態を管理するキャッシュ管理情報と、を有し、
前記データベースホストが実行するデータベースの管理処理の実行計画を、前記データベースホストから受信し、
前記実行計画に基づいて、前記データベースホストがアクセスするデータを格納し、かつ、前記一又は複数の記憶装置内の記憶領域を示す前記仮想ブロック番号を予め把握し、
前記データのプリフェッチを実行する実行順序に従って、前記マッピング情報から予め把握した前記仮想ブロック番号に対応する前記物理ブロック番号に変換し、
実行順序に従って、前記物理ブロック番号の記憶領域に格納されるデータを、当該記憶領域を有する前記記憶装置のキャッシュメモリに読み出すために、前記物理ブロック番号の情報を含めた第1の読み出し要求を、当該記憶装置に送信し、
当該記憶装置のキャッシュメモリに前記物理ブロック番号の記憶領域に格納されるデータが読み出されると、実行順序に従って、前記記憶装置に読み出されたデータを計算機のキャッシュメモリに読み出す第2の読み出し要求を任意のタイミングで送信して、前記計算機のキャッシュメモリに読み出し、
前記データベースホストから前記仮想ブロック番号を有するアクセス要求を受信した場合には、前記計算機のキャッシュメモリに格納されたデータを前記データベースホストに向けて送信する
ことを特徴とする計算機。 - 前記記憶装置のキャッシュメモリに、前記物理ブロック番号の記憶領域に格納されるデータが読み出されると、前記キャッシュ管理情報に基づいて、前記記憶装置のキャッシュメモリに読み出したデータが、計算機のキャッシュメモリに読み出されているかを任意のタイミングで判定し、読み出されていない場合に、計算機のキャッシュメモリに読み出す第2の読み出し要求を、当該記憶装置に送信する
ことを特徴とする請求項1記載の計算機。 - 前記キャッシュ管理情報では、前記データベースホストにデータが読み出される予定がないメモリ領域の利用可能情報と、前記データベースホストにデータが読み出される予定のあるメモリ領域の再利用情報と、を管理し、
前記キャッシュ管理情報に基づいて、前記記憶装置のキャッシュメモリに読み出したデータが読み出されていない場合には、前記利用可能情報と読み出されていないデータ量とを比較して、
当該データを読み出し可能と判定した場合には、読み出されていないデータを当該記憶装置から計算機のキャッシュメモリに読み出し、
当該データを読み出し不可能と判定した場合には、前記再利用情報に該当するメモリ領域に格納されるデータの物理ブロック番号を含めたデータ保持命令を、当該物理ブロック 番号を有する記憶装置に送信した後、前記再利用情報として管理されるメモリ領域を前記利用情報としてのメモリ領域に設定する
ことを特徴とする請求項2記載の計算機。 - 前記計算機のキャッシュメモリに格納されたデータを前記データベースホストに向けて送信すると、送信した当該データを保持するメモリ領域を、前記利用情報又は前記再利用情報の状態にする
ことを特徴とする請求項3記載の計算機。 - データベースのデータが記憶される一又は複数の記憶装置と、前記データベースを管理し、前記データベース内のデータにアクセスし、かつ、データベース管理システムを有する一又は複数のデータベースホストと、にネットワークを介して接続され、かつ、キャッシュメモリを有する計算機のデータ先読み方法であって、
前記計算機には、前記一又は複数の記憶装置の全記憶領域を仮想記憶領域として管理し、前記全記憶領域をブロック単位で管理する物理ブロック番号と前記仮想記憶領域をブロック単位で管理する仮想ブロック番号とを対応付けるマッピング情報と、前記データベース管理システムが実行するデータベースの管理処理の実行計画に基づいてデータのプリフェッチを実行する実行順序を管理するデータベース管理システム情報と、前記キャッシュメモリのメモリ領域にプリフェッチ対象のデータの格納状態を管理するキャッシュ管理情報と、を有し、
前記データベースホストが実行するデータベースの管理処理の実行計画を、前記データベースホストから受信するステップと、
前記実行計画に基づいて、前記データベースホストがアクセスするデータを格納し、かつ、前記一又は複数の記憶装置内の記憶領域を示す前記仮想ブロック番号を予め把握するステップと、
前記データのプリフェッチを実行する実行順序に従って、前記マッピング情報から予め把握した前記仮想ブロック番号に対応する前記物理ブロック番号に変換するステップと、
実行順序に従って、前記物理ブロック番号の記憶領域に格納されるデータを、当該記憶領域を有する前記記憶装置のキャッシュメモリに読み出すために、前記物理ブロック番号の情報を含めた第1の読み出し要求を、当該記憶装置に送信するステップと、
当該記憶装置のキャッシュメモリに前記物理ブロック番号の記憶領域に格納されるデータが読み出されると、実行順序に従って、前記記憶装置に読み出されたデータを計算機のキャッシュメモリに読み出す第2の読み出し要求を任意のタイミングで送信するステップと、
前記記憶装置に読み出されたデータを前記計算機のキャッシュメモリに読み出すステップと、
前記データベースホストから前記仮想ブロック番号を有するアクセス要求を受信した場合に、前記計算機のキャッシュメモリに格納されたデータを前記データベースホストに向けて送信するステップと、を有する
ことを特徴とするデータ先読み方法。 - 前記記憶装置のキャッシュメモリに、前記物理ブロック番号の記憶領域に格納されるデータが読み出されると、前記キャッシュ管理情報に基づいて、前記記憶装置のキャッシュメモリに読み出したデータが、計算機のキャッシュメモリに読み出されているかを任意のタイミングで判定するステップをさらに有し、
読み出されていない場合に、計算機のキャッシュメモリに読み出す第2の読み出し要求を、当該記憶装置に送信する
ことを特徴とする請求項5記載のデータ先読み方法。 - 前記キャッシュ管理情報では、前記データベースホストにデータが読み出される予定が ないメモリ領域の利用可能情報と、前記データベースホストにデータが読み出される予定のあるメモリ領域の再利用情報と、を管理し、
前記キャッシュ管理情報に基づいて、前記記憶装置のキャッシュメモリに読み出したデータが読み出されていない場合には、前記利用可能情報と読み出されていないデータ量とを比較するステップと、
当該データを読み出し可能と判定した場合に、読み出されていないデータを当該記憶装置から計算機のキャッシュメモリに読み出すステップと、
当該データを読み出し不可能と判定した場合に、前記再利用情報に該当するメモリ領域に格納されるデータの物理ブロック番号を含めたデータ保持命令を、当該物理ブロック番号を有する記憶装置に送信した後、前記再利用情報として管理されるメモリ領域を前記利用情報としてのメモリ領域に設定するステップと、をさらに有する
ことを特徴とする請求項6記載のデータ先読み方法。 - 前記計算機のキャッシュメモリに格納されたデータを前記データベースホストに向けて送信すると、送信した当該データを保持するメモリ領域を、前記利用情報又は前記再利用情報の状態にするステップをさらに有する
ことを特徴とする請求項7記載のデータ先読み方法。 - データベースのデータが記憶される一又は複数の記憶装置と、前記一又は複数の記憶装置に接続され、かつキャッシュメモリを有する計算機と、前記計算機に接続され、前記データベースを管理し、かつ前記データベース内のデータにアクセスする一又は複数のデータベースホストと、を備える計算機システムであって、
前記計算機は、
前記一又は複数の記憶装置の全記憶領域を仮想記憶領域として管理し、前記全記憶領域をブロック単位で管理する物理ブロック番号と前記仮想記憶領域をブロック単位で管理する仮想ブロック番号とを対応付けるマッピング情報と、
前記データベース管理システムが実行するデータベースの管理処理の実行計画に基づいてデータのプリフェッチを実行する実行順序を管理するデータベース管理システム情報と、
前記キャッシュメモリのメモリ領域にプリフェッチ対象のデータの格納状態を管理するキャッシュ管理情報と、を有し、
前記データベースホストは、
前記データベースホストが実行するデータベースの管理処理の実行計画を、前記計算機に送信し、
前記計算機は、
前記実行計画に基づいて、前記データベースホストがアクセスするデータを格納し、かつ、前記一又は複数の記憶装置内の記憶領域を示す前記仮想ブロック番号を予め把握し、
前記データのプリフェッチを実行する実行順序に従って、前記マッピング情報から予め把握した前記仮想ブロック番号に対応する前記物理ブロック番号に変換し、
実行順序に従って、前記物理ブロック番号の記憶領域に格納されるデータを、当該記憶領域を有する前記記憶装置のキャッシュメモリに読み出すために、前記物理ブロック番号の情報を含めた第1の読み出し要求を、当該記憶装置に送信し、
前記記憶装置は、
当該記憶装置のキャッシュメモリに前記物理ブロック番号の記憶領域に格納されるデータを読み出し、
前記計算機は、
実行順序に従って、前記記憶装置に読み出されたデータを計算機のキャッシュメモリに読み出す第2の読み出し要求を任意のタイミングで送信して、前記計算機のキャッシュメモリに読み出し、
前記データベースホストから前記仮想ブロック番号を有するアクセス要求を受信した場合には、前記計算機のキャッシュメモリに格納されたデータを前記データベースホストに向けて送信する
ことを特徴とする計算機システム。 - 前記記憶装置は、
当該記憶装置のキャッシュメモリに前記物理ブロック番号の記憶領域に格納されるデータを読み出すと、
前記計算機は、
前記キャッシュ管理情報に基づいて、前記記憶装置のキャッシュメモリに読み出したデータが計算機のキャッシュメモリに読み出されているかを任意のタイミングで判定し、読み出されていない場合に、計算機のキャッシュメモリに読み出す第2の読み出し要求を、当該記憶装置に送信する
ことを特徴とする請求項9記載の計算機システム。 - 前記キャッシュ管理情報では、前記データベースホストにデータが読み出される予定がないメモリ領域の利用可能情報と、前記データベースホストにデータが読み出される予定のあるメモリ領域の再利用情報と、を管理し、
前記計算機は、
前記キャッシュ管理情報に基づいて、前記記憶装置のキャッシュメモリに読み出したデータが読み出されていない場合には、前記利用可能情報と読み出されていないデータ量とを比較して、
当該データを読み出し可能と判定した場合には、読み出されていないデータを当該記憶装置から計算機のキャッシュメモリに読み出し、
当該データを読み出し不可能と判定した場合には、前記再利用情報に該当するメモリ領域に格納されるデータの物理ブロック番号を含めたデータ保持命令を、当該物理ブロック番号を有する記憶装置に送信した後、前記再利用情報として管理されるメモリ領域を前記利用情報としてのメモリ領域に設定する
ことを特徴とする請求項10記載の計算機システム。 - 前記計算機は、
前記計算機のキャッシュメモリに格納されたデータを前記データベースホストに向けて送信すると、送信した当該データを保持するメモリ領域を、前記利用情報又は前記再利用情報の状態にする
ことを特徴とする請求項11記載の計算機システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002358838A JP4116413B2 (ja) | 2002-12-11 | 2002-12-11 | プリフェッチアプライアンスサーバ |
US10/409,989 US7092971B2 (en) | 2002-12-11 | 2003-04-07 | Prefetch appliance server |
US11/455,047 US7689573B2 (en) | 2002-12-11 | 2006-06-19 | Prefetch appliance server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002358838A JP4116413B2 (ja) | 2002-12-11 | 2002-12-11 | プリフェッチアプライアンスサーバ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004192292A JP2004192292A (ja) | 2004-07-08 |
JP4116413B2 true JP4116413B2 (ja) | 2008-07-09 |
Family
ID=32500912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002358838A Expired - Fee Related JP4116413B2 (ja) | 2002-12-11 | 2002-12-11 | プリフェッチアプライアンスサーバ |
Country Status (2)
Country | Link |
---|---|
US (2) | US7092971B2 (ja) |
JP (1) | JP4116413B2 (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4288978B2 (ja) | 2003-03-27 | 2009-07-01 | 株式会社日立製作所 | データ先読み方法 |
JP2004302751A (ja) * | 2003-03-31 | 2004-10-28 | Hitachi Ltd | 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム |
US7284014B2 (en) * | 2003-04-07 | 2007-10-16 | Hitachi, Ltd. | Pre-fetch computer system |
GB0318196D0 (en) * | 2003-08-02 | 2003-09-03 | Ibm | A method apparatus and computer program for processing a queue of messages |
US7263579B2 (en) * | 2004-03-24 | 2007-08-28 | Intel Corporation | Integrated circuit capable of pre-fetching data |
JP4625675B2 (ja) | 2004-10-20 | 2011-02-02 | 株式会社日立製作所 | ストレージ装置のリソース割り当て方法及びストレージ装置 |
JP4463661B2 (ja) | 2004-11-01 | 2010-05-19 | 株式会社日立製作所 | 計算機システム、計算機、データベースアクセス方法及びデータベースシステム |
JP4611830B2 (ja) | 2005-07-22 | 2011-01-12 | 優 喜連川 | データベース管理システム及び方法 |
US7558922B2 (en) * | 2005-12-28 | 2009-07-07 | Hitachi, Ltd. | Apparatus and method for quick retrieval of search data by pre-feteching actual data corresponding to search candidate into cache memory |
JP4824458B2 (ja) * | 2006-04-24 | 2011-11-30 | 株式会社日立製作所 | ストレージシステムの消費電力を低減する計算機システム及び方法 |
US8799432B1 (en) * | 2006-10-31 | 2014-08-05 | Hewlett-Packard Development Company, L.P. | Managed computer network caching requested and related data from remote computers |
JP5147296B2 (ja) | 2007-05-31 | 2013-02-20 | 株式会社日立製作所 | 計算機システム、データベース管理方法及びプログラム |
JP4500850B2 (ja) * | 2007-12-27 | 2010-07-14 | 富士通株式会社 | 制御装置,ストレージシステム,及びメモリ制御方法 |
JP2009217466A (ja) * | 2008-03-10 | 2009-09-24 | Hitachi Ltd | ストレージ装置、計算機システム及びデータ管理方法 |
US8543998B2 (en) * | 2008-05-30 | 2013-09-24 | Oracle International Corporation | System and method for building virtual appliances using a repository metadata server and a dependency resolution service |
US8862633B2 (en) | 2008-05-30 | 2014-10-14 | Novell, Inc. | System and method for efficiently building virtual appliances in a hosted environment |
JP4672788B2 (ja) * | 2008-09-16 | 2011-04-20 | 株式会社東芝 | 映像データ処理システム、ビデオサーバ、ゲートウェイサーバ及び映像データ管理方法 |
JP2010102492A (ja) * | 2008-10-23 | 2010-05-06 | Hitachi Ltd | データアーカイブシステム |
US20100241807A1 (en) * | 2009-03-23 | 2010-09-23 | Riverbed Technology, Inc. | Virtualized data storage system cache management |
KR101083563B1 (ko) * | 2009-04-24 | 2011-11-14 | 엔에이치엔비즈니스플랫폼 주식회사 | 데이터베이스 관리 방법 및 시스템 |
JP5283675B2 (ja) * | 2010-09-24 | 2013-09-04 | 優 喜連川 | データベース管理システム及び方法 |
JP5246234B2 (ja) * | 2010-09-29 | 2013-07-24 | ブラザー工業株式会社 | 検索装置 |
CN102111448B (zh) * | 2011-01-13 | 2013-04-24 | 华为技术有限公司 | 分布式哈希表dht存储系统的数据预取方法、节点和系统 |
US8860787B1 (en) | 2011-05-11 | 2014-10-14 | Google Inc. | Method and apparatus for telepresence sharing |
US8510166B2 (en) * | 2011-05-11 | 2013-08-13 | Google Inc. | Gaze tracking system |
JP5958474B2 (ja) * | 2012-01-30 | 2016-08-02 | 富士通株式会社 | データ管理装置、データ管理方法、データ管理プログラム |
US20130232215A1 (en) * | 2012-03-05 | 2013-09-05 | Riverbed Technology, Inc. | Virtualized data storage system architecture using prefetching agent |
US8862764B1 (en) | 2012-03-16 | 2014-10-14 | Google Inc. | Method and Apparatus for providing Media Information to Mobile Devices |
WO2013175625A1 (ja) * | 2012-05-25 | 2013-11-28 | 株式会社日立製作所 | データベースの管理方法、データベース管理装置及び記憶媒体 |
JP5674850B2 (ja) * | 2013-04-08 | 2015-02-25 | 喜連川 優 | データベース管理システム及び方法 |
US9197716B2 (en) | 2013-05-30 | 2015-11-24 | Sap Se | Pre-fetching resources by predicting user actions |
JP5999574B2 (ja) * | 2013-08-29 | 2016-09-28 | 国立大学法人 東京大学 | データベース管理システム及び計算機システム |
JP2016162247A (ja) * | 2015-03-02 | 2016-09-05 | 富士通株式会社 | データ管理プログラム、データ管理装置、及びデータ管理方法 |
US10789220B2 (en) | 2017-03-28 | 2020-09-29 | Sap Se | Management of database API schema |
US10579515B1 (en) * | 2018-09-10 | 2020-03-03 | International Business Machines Corporation | Recycling segment pages while preserving integrity of memory addressing |
US11232126B2 (en) | 2018-11-21 | 2022-01-25 | Sap Se | Zero downtime upgrade of systems with database-side replication |
US10853693B2 (en) | 2018-12-04 | 2020-12-01 | Sap Se | Software logistic for learning applications |
US10891217B2 (en) | 2018-12-10 | 2021-01-12 | Sap Se | Optimizing test coverage based on actual use |
US10642609B1 (en) | 2018-12-13 | 2020-05-05 | Sap Se | Integrating preview systems for early validation and maintenance in development-to-production landscapes provisioned by continuous delivery |
US10700949B1 (en) | 2018-12-13 | 2020-06-30 | Sap Se | Stacking of tentant-aware services |
US11121943B2 (en) | 2018-12-13 | 2021-09-14 | Sap Se | Amplifying scaling elasticity of microservice meshes |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US105940A (en) * | 1870-08-02 | Improvement in lamp-shades | ||
US54648A (en) * | 1866-05-08 | Improvement in harrow and cultivator combined | ||
US172149A (en) * | 1876-01-11 | Improvement in wire picket-fences | ||
US126116A (en) * | 1872-04-23 | Improvement in vegetable-cutters | ||
US212668A (en) * | 1879-02-25 | Improvement in peg-floats | ||
US93647A (en) * | 1869-08-10 | Improvement in piano-forte actions | ||
US208660A (en) * | 1878-10-01 | Improvement in steam or air brakes | ||
US2658A (en) * | 1842-05-30 | Improvement in lamps for essential oils | ||
US88504A (en) * | 1869-03-30 | Improved vault-cover | ||
US221052A (en) * | 1879-10-28 | Improvement in lamps | ||
JP2755390B2 (ja) | 1988-05-19 | 1998-05-20 | 株式会社日立製作所 | データベース処理装置及びデータベース処理方法 |
JP2945757B2 (ja) * | 1989-09-08 | 1999-09-06 | オースペックス システムズ インコーポレイテッド | 多重装置オペレーティングシステムのアーキテクチャ |
EP0496439B1 (en) | 1991-01-15 | 1998-01-21 | Koninklijke Philips Electronics N.V. | Computer system with multi-buffer data cache and method therefor |
US5590300A (en) * | 1991-03-05 | 1996-12-31 | Zitel Corporation | Cache memory utilizing address translation table |
US5305389A (en) | 1991-08-30 | 1994-04-19 | Digital Equipment Corporation | Predictive cache system |
JPH065935A (ja) | 1992-06-16 | 1994-01-14 | Seiko Epson Corp | 超電導体装置 |
US5812996A (en) * | 1994-07-12 | 1998-09-22 | Sybase, Inc. | Database system with methods for optimizing query performance with a buffer manager |
US5778436A (en) | 1995-03-06 | 1998-07-07 | Duke University | Predictive caching system and method based on memory access which previously followed a cache miss |
US5809560A (en) | 1995-10-13 | 1998-09-15 | Compaq Computer Corporation | Adaptive read-ahead disk cache |
US5765213A (en) * | 1995-12-08 | 1998-06-09 | Emc Corporation | Method providing for the flexible prefetching of data from a data storage system |
JP3641872B2 (ja) | 1996-04-08 | 2005-04-27 | 株式会社日立製作所 | 記憶装置システム |
US5918246A (en) | 1997-01-23 | 1999-06-29 | International Business Machines Corporation | Apparatus and method for prefetching data based on information contained in a compiler generated program map |
US6199068B1 (en) * | 1997-09-11 | 2001-03-06 | Abb Power T&D Company Inc. | Mapping interface for a distributed server to translate between dissimilar file formats |
JPH11212733A (ja) | 1998-01-26 | 1999-08-06 | Hitachi Ltd | 外部記憶システム |
JP3522527B2 (ja) | 1998-03-27 | 2004-04-26 | 富士通株式会社 | 入出力制御装置および入出力制御方法 |
US6260116B1 (en) | 1998-07-01 | 2001-07-10 | International Business Machines Corporation | System and method for prefetching data |
US6381677B1 (en) | 1998-08-19 | 2002-04-30 | International Business Machines Corporation | Method and system for staging data into cache |
JP3668922B2 (ja) | 1998-11-12 | 2005-07-06 | 株式会社日立製作所 | システム |
US6567894B1 (en) | 1999-12-08 | 2003-05-20 | International Business Machines Corporation | Method and apparatus to prefetch sequential pages in a multi-stream environment |
JP4060506B2 (ja) | 1999-12-28 | 2008-03-12 | 株式会社東芝 | ディスク制御装置 |
US6606659B1 (en) * | 2000-01-28 | 2003-08-12 | Websense, Inc. | System and method for controlling access to internet sites |
JP3428551B2 (ja) | 2000-02-10 | 2003-07-22 | 日本電気株式会社 | パーシャルライト処理を行うディスク制御装置、ディスクサブシステム、ディスク制御装置の制御方法、及びプログラムを記録した記録媒体。 |
US6687807B1 (en) | 2000-04-18 | 2004-02-03 | Sun Microystems, Inc. | Method for apparatus for prefetching linked data structures |
JP4115093B2 (ja) | 2000-07-06 | 2008-07-09 | 株式会社日立製作所 | 計算機システム |
US6766430B2 (en) * | 2000-07-06 | 2004-07-20 | Hitachi, Ltd. | Data reallocation among storage systems |
US6728840B1 (en) | 2000-10-20 | 2004-04-27 | Emc Corporation | Methods and apparatus for providing host controlled caching of data in a storage system |
JP2002196960A (ja) | 2000-12-25 | 2002-07-12 | Hitachi Ltd | ファイル入出力制御方法、ファイル管理サーバ及び並列計算機システム |
JP4162184B2 (ja) | 2001-11-14 | 2008-10-08 | 株式会社日立製作所 | データベース管理システムの実行情報を取得する手段を有する記憶装置 |
US6675280B2 (en) | 2001-11-30 | 2004-01-06 | Intel Corporation | Method and apparatus for identifying candidate virtual addresses in a content-aware prefetcher |
US7260704B2 (en) | 2001-11-30 | 2007-08-21 | Intel Corporation | Method and apparatus for reinforcing a prefetch chain |
US7433948B2 (en) * | 2002-01-23 | 2008-10-07 | Cisco Technology, Inc. | Methods and apparatus for implementing virtualization of storage within a storage area network |
US6772179B2 (en) * | 2001-12-28 | 2004-08-03 | Lucent Technologies Inc. | System and method for improving index performance through prefetching |
JP2003316522A (ja) * | 2002-04-26 | 2003-11-07 | Hitachi Ltd | 計算機システムおよび計算機システムの制御方法 |
US6760818B2 (en) | 2002-05-01 | 2004-07-06 | Koninklijke Philips Electronics N.V. | Memory region based data pre-fetching |
US7010521B2 (en) * | 2002-05-13 | 2006-03-07 | Netezza Corporation | Optimized database appliance |
US6834330B2 (en) | 2002-05-21 | 2004-12-21 | Emc Corporation | Pre-fetch of records identified by an I/O trace |
JP4124331B2 (ja) | 2002-09-17 | 2008-07-23 | 株式会社日立製作所 | Dbms向け仮想ボリューム作成・管理方法 |
US6963959B2 (en) | 2002-10-31 | 2005-11-08 | International Business Machines Corporation | Storage system and method for reorganizing data to improve prefetch effectiveness and reduce seek distance |
-
2002
- 2002-12-11 JP JP2002358838A patent/JP4116413B2/ja not_active Expired - Fee Related
-
2003
- 2003-04-07 US US10/409,989 patent/US7092971B2/en not_active Expired - Fee Related
-
2006
- 2006-06-19 US US11/455,047 patent/US7689573B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7689573B2 (en) | 2010-03-30 |
JP2004192292A (ja) | 2004-07-08 |
US20070005660A1 (en) | 2007-01-04 |
US7092971B2 (en) | 2006-08-15 |
US20040117398A1 (en) | 2004-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4116413B2 (ja) | プリフェッチアプライアンスサーバ | |
JP4162184B2 (ja) | データベース管理システムの実行情報を取得する手段を有する記憶装置 | |
JP4288978B2 (ja) | データ先読み方法 | |
JP4162183B2 (ja) | データベース管理システムの静的な情報を取得する手段を有する記憶装置 | |
US9348842B2 (en) | Virtualized data storage system optimizations | |
JP4438457B2 (ja) | 記憶領域割当方法、システム及び仮想化装置 | |
JP4824085B2 (ja) | ネットワークファイルシステムをキャッシュするシステム、及び方法 | |
US8086810B2 (en) | Rapid defragmentation of storage volumes | |
US7873791B1 (en) | Methods and systems for incorporating improved tail cutting in a prefetch stream in TBC mode for data storage having a cache memory | |
US8898357B1 (en) | Storage integration plugin for virtual servers | |
JP2009064224A (ja) | ウィルススキャン方法及びその方法を用いた計算機システム | |
JP4398464B2 (ja) | 1つのターゲット・ボリュームと1つのソース・ボリュームとの間のポイント・イン・タイム・コピー関連性を管理するためのシステム、方法、及びプログラム | |
JP5235483B2 (ja) | データベースと仮想テーブルの整合性を維持する方法および装置。 | |
US11343308B2 (en) | Reduction of adjacent rack traffic in multi-rack distributed object storage systems | |
JP5261809B2 (ja) | 計算機システム及びデータベース管理システムプログラム | |
JP5098120B2 (ja) | 計算機システム及びデータベース管理システムプログラム | |
US7284014B2 (en) | Pre-fetch computer system | |
JP5147296B2 (ja) | 計算機システム、データベース管理方法及びプログラム | |
JP4486384B2 (ja) | Db連携プリフェッチシステム | |
JP4486384B6 (ja) | Db連携プリフェッチシステム | |
Chen et al. | Optimizing Small Files Operations in HDFS File Storage Mode | |
Nurul | IMPROVED TIME COMPLEXITY AND LOAD BALANCE FOR HDFS IN MULTIPLE NAMENODE | |
JP2022070669A (ja) | データベースシステム、及びクエリ実行方法 | |
US20150142862A1 (en) | Reducing application input/output operations from a server having data stored on de-duped storage | |
JP2005258735A6 (ja) | Db連携プリフェッチシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040325 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071226 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20071226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080324 |
|
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: 20080411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080417 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140425 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |