JP2004185344A - データベース管理方法および装置 - Google Patents

データベース管理方法および装置 Download PDF

Info

Publication number
JP2004185344A
JP2004185344A JP2002351923A JP2002351923A JP2004185344A JP 2004185344 A JP2004185344 A JP 2004185344A JP 2002351923 A JP2002351923 A JP 2002351923A JP 2002351923 A JP2002351923 A JP 2002351923A JP 2004185344 A JP2004185344 A JP 2004185344A
Authority
JP
Japan
Prior art keywords
buffer
file
data
deleted
shared 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.)
Pending
Application number
JP2002351923A
Other languages
English (en)
Inventor
Kenichi Hirayama
健一 平山
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 JP2002351923A priority Critical patent/JP2004185344A/ja
Publication of JP2004185344A publication Critical patent/JP2004185344A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】オンライン中のデータベースシステムを停止する事なくデータベースを再編成する場合において、不要なバッファを削除すると共有メモリの断片化が発生し、性能劣化が起きる可能性がある。
【解決手段】データベースを再編成する場合に、不要となったバッファを別のバッファへ再編成する事で共有メモリの断片化を防ぐ。
【効果】オンライン中にデータベースを再編成しても長時間のデータベースシステムの稼動を可能とする。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、オンライン中にデータベースを再編成するデータベース管理技術に関する。
【0002】
【従来の技術】
従来は、特開平7−93198号公報に記載されている技術のように、プロセッサ利用率、スワップの有無、およびバッファヒット率を監視してバッファサイズを自動調整する手法も知られていた。
【0003】
【特許文献1】
特開平7−93198号
【0004】
【発明が解決しようとする課題】
上記従来技術は、バッファを削除した時に共用メモリの断片化が発生する可能性があり、処理速度低下の原因となる。また、複数のファイルに対し、それぞれ別のバッファを割り当てるデータベースシステムへの適用について考慮されていなかった。
【0005】
本発明は、オンライン中にバッファを削除しても、性能低下の少ないデータベース管理方法および装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するために、バッファを削除した時に共有メモリ上のバッファは削除せず、稼働中のバッファに削除したバッファを割り当てる。例えば、表Aと表BのデータをそれぞれファイルAとファイルBに格納し、データベースシステム稼動時に共有メモリから取得したバッファAとバッファBを使っているデータベースシステムにおいて、表Aのデータを表Bにオンライン中に移行するとする。表Aのデータは必要なくなるため、表Aの定義および表Bのデータを格納しているファイルAをデータベースの運用コマンドで削除する。表Bのデータは、表Aのデータ分、データ容量が増えファイルBのデータ容量も大きくなり、システム稼動時に定義したバッファBのサイズではファイル入出力回数が多くなり性能が劣化する。そのため、表Bのバッファを増やす必要がある。この場合は、単純に表Aから表Bへデータを移行する場合であるため、バッファ再編成コマンドで運用管理者が表Aに割り当てたバッファAのバッファサイズをバッファBのバッファサイズに加算する事で、データベース管理システムを再編成できる。
【0007】
また、同様に表A、表B、表Cのデータベースシステムを運用中に、表Aのデータを表Bおよび表Cに移行した場合、表Aに割り当てたバッファAを分割し、表Bおよび表Cのバッファに、バッファ再編成コマンドでバッファを最適に再編成できる。
また、同様に表A、表B、表Cのデータベースシステムを運用中に、表Aおよび表Bのデータを表Cに移行した場合、表Aおよび表Bに割り当てたバッファAとバッファBをマージし、表Cのバッファに、バッファ再編成コマンドでバッファを最適に再編成できる。
【0008】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、情報処理装置上で動作するデータベース管理システムプログラムにおけるバッファ再編成方法の概念図である。データベース管理システムにより表A103と表B104は管理されており、表A103と表B104はファイルA107とファイルB108に格納されていることを示している。
【0009】
データベースを再編成する前の状態101には、表A103と表B104の2つの表が存在する。表Aのデータは物理的にファイルA107というファイルシステム上のファイルに格納している。表Bのデータは、同様にファイルB108に格納している。これらの表に対する登録、取得、更新、削除を高速化するために、共用メモリ106を用いてバッファA、Bの2面を使ってファイルの入出力回数を抑制している。このバッファは、バッファ管理機能105で管理している。この状態で、表Aのデータを表Bへ移行すると、表Aのデータは表Bに統合109される。同様に、物理的に格納してあるファイルBに表Aのデータが統合111される。この時、共用メモリのバッファは、表Aで使っていたバッファAを削除せず、表Aのデータを移行した表BのバッファBへ再編成110する。
【0010】
次に図2から図4を使って、データベースシステムを起動した状態から表のデータを格納するファイルを削除した場合のバッファ管理機能の動作を説明する。システム起動時201に予め定義されたバッファ名とバッファのページ数により、共有メモリを確保202する。更に予め定義されたバッファ名とファイル名からバッファ管理テーブル203を作成する。バッファ管理テーブルでバッファ名204、ファイル名205、共有メモリの先頭ページ206、共有メモリの最終ページ207、未使用ページの先頭ページ番号208、使用中ページ番号209を管理する。この例では、バッファAが1から10ページを割り当てられるため、未使用ページ番号208は先頭ページである1ページとなる。使用中ページは、起動直後であるため空となる。更にバッファ毎に未割り当てバッファチェーン210、212を作成する。システム起動直後は、表にアクセスが無いため、使用中バッファチェーン211、213は空となる。
【0011】
システムを稼動した状態301では、表にアクセスがあった場合のバッファの使用状態を管理したチェーンの状態を示す。バッファAにアクセスがあった場合、バッファAの未使用チェーン302から必要なページ分のバッファのページを使用中チェーン303へ連結する。同様にバッファBについても、必要なページ分未使用チェーン304から使用中チェーン305へチェーンを張り替える。尚、図の例ではバッファは順番にチェーンで繋がっているが、アクセス状態によっては、例えばLRU方式によりチェーンの順番が違ってくる。
【0012】
次にファイルAに格納されている表Aのデータを表Bへ移行した場合、ファイルAが不要となり、ファイルAを削除401する。この状態では、ファイルAに割り当てられたバッファAへのアクセスは無いためバッファAのページは無くなり403、全て未使用チェーン402に連結される。尚、バッファBの未使用チェーン404および使用中チェーン405には影響ない。削除時にバッファAをバッファBへ再編成する指定があると、バッファAの未使用ページ406をバッファBの未使用ページ408へ移行し、バッファBのバッファサイズを増やす。尚、バッファAの使用中チェーン407に変更はない。ファイルBへのアクセスがあると、バッファAのページ数分増えた未使用ページがバッファBの未使用チェーン408にあるため、使用中ページを追い出す必要なく、バッファB未使用チェーン408から必要なページ数分をバッファBの使用中チェーン409へ連結する。これにより、表Aと表BすなわちファイルAとファイルBをマージしても、性能を劣化することなくシステム稼動中にバッファを再編成可能となる。
【0013】
図5は、バッファを分割して別のバッファへの再編成を説明した概念図である。データベースを再編成する前の状態501では、表A503と表B504と表C505の3つの表について説明する。表Aのデータは物理的には、ファイルA508というファイルシステム上のファイルに格納している。表Bのデータは同様にファイルB509、表CのデータはファイルC510に格納している。これらの表に対する登録、取得、更新、削除を高速化するために、共用メモリ507を用いてバッファA、B、Cの3面を使ってファイルの入出力回数を抑制している。このバッファは、バッファ管理機能506で管理している。この状態で、表Aのデータを表B,表Cへ移行すると、表Aのデータは表B511および表C512へ統合される。同様に、物理的に格納してあるファイルBに表Aのデータが統合514、ファイルCに表Aのデータが統合515される。この時、共用メモリのバッファは、表Aで使っていたバッファAを削除せず、表Aのデータを移行した表BのバッファBおよびバッファCへ再編成513する。
【0014】
図6は、バッファをマージして別のバッファへの再編成を説明した概念図である。データベースを再編成する前の状態601では、表A603と表B604と表C605の3つの表について説明する。表Aのデータは物理的には、ファイルA608というファイルシステム上のファイルに格納している。表Bのデータは同様にファイルB609、表CのデータはファイルC610に格納している。これらの表に対する登録、取得、更新、削除を高速化するために、共用メモリ607を用いてバッファA、B、Cの3面を使ってファイルの入出力回数を抑制している。このバッファは、バッファ管理機能606で管理している。この状態で、表A,表Bのデータを表Cへ移行すると、表A,表Bのデータは表C611へ統合される。同様に、物理的に格納してあるファイルC614に表A,表Bのデータが統合613される。この時、共用メモリのバッファは、表A,表Bで使っていたバッファA,バッファBを削除せず、表A,表Bのデータを移行した表CのバッファCへ再編成612する。
【0015】
次に図7を使って、バッファ再編成の動作を説明する。データベースシステムを起動すると予め定義されたバッファ名とバッファのページ数により、共用メモリを確保する。(ステップ701)更に予め定義されたバッファ名とファイル名からバッファ管理テーブルを作成する。(ステップ702)次にバッファ毎に未使用チェーンを作成し、バッファ管理テーブルへ登録する。(ステップ703)表へのアクセスがあると(ステップ704)必要なページ数分、バッファ未使用チェーンからバッファ使用中チェーンへ連結する。(ステップ705)表へのアクセスが無い場合は、ステップ705は行わない。次にファイルの削除があると(ステップ706)ファイル削除したバッファのページを全てバッファ未使用チェーンへ連結する。(ステップ707)ファイルを削除した場合、バッファの再編成の指定があるかチェックする。(ステップ708)再編成の指定がある場合は、再編成元のバッファ未使用チェーンから再編成先のバッファ未使用チェーンへ連結する。(ステップ709)再編成の指定が無い場合は、ファイル削除したバッファを削除する。(ステップ710)ファイルの削除が無い場合は、バッファ再編成およびバッファの削除は行わない。
【0016】
【発明の効果】
本発明によれば、データベースシステムがオンライン中にバッファを削除しても、別のバッファへ再編成可能とし共有メモリの断片化による性能劣化を抑止できる。
【図面の簡単な説明】
【図1】削除したバッファを別のバッファへ再編成する概念図である。
【図2】システム起動直後のバッファ管理機能の状態を示す図である。
【図3】システムが稼動している時のバッファ管理機能の状態を示す図である。
【図4】バッファを削除した場合のバッファ管理機能の状態を示す図である。
【図5】削除したバッファを別の複数のバッファへ再編成する概念図である。
【図6】削除した複数のバッファを別のバッファへマージして再編成する概念図である。
【図7】バッファ再編成の動作を示すフローチャート図である。
【符号の説明】
101 バッファを再編成する前の状態
102 バッファを再編成した後の状態
103 バッファを再編成する前の表
105 バッファ管理機能
106 バッファを再編成する前の共用メモリ
107 バッファを再編成する前のファイル
109 バッファを再編成した後の表
110 バッファを再編成した後の共用メモリ
111 バッファを再編成した後のファイル

Claims (4)

  1. データベースのデータを複数ファイルに格納し、当該データを一時記憶する前記ファイルに割り当てられた共有メモリのバッファを有するデータベース管理方法において、
    オンライン中に前記のファイルの削除要求を入力し、当該削除した割り当て済みのバッファを稼働中の別のバッファに再編成することを特徴とするデータベース管理方法。
  2. 請求項1記載のデータベース管理方法において、
    当該削除した割り当て済みバッファを分割し、別のバッファに再編成することを特徴としたデータベース管理方法。
  3. 請求項1記載のデータベース管理方法において、
    複数の前記削除した割り当て済みバッファをマージして、他のバッファに再編成する事を特徴としたデータベース管理方法。
  4. データベースのデータを複数ファイルに格納し、当該データを一時記憶する前記ファイルに割り当てられた共有メモリのバッファを有するデータベース管理装置において、
    オンライン中に前記のファイルの削除要求を入力する手段と、当該削除した割り当て済みのバッファを稼働中の別のバッファに再編成する手段とを有することを特徴とするデータベース管理装置。
JP2002351923A 2002-12-04 2002-12-04 データベース管理方法および装置 Pending JP2004185344A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002351923A JP2004185344A (ja) 2002-12-04 2002-12-04 データベース管理方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002351923A JP2004185344A (ja) 2002-12-04 2002-12-04 データベース管理方法および装置

Publications (1)

Publication Number Publication Date
JP2004185344A true JP2004185344A (ja) 2004-07-02

Family

ID=32753677

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002351923A Pending JP2004185344A (ja) 2002-12-04 2002-12-04 データベース管理方法および装置

Country Status (1)

Country Link
JP (1) JP2004185344A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799832A (zh) * 2010-03-31 2010-08-11 山东高效能服务器和存储研究院 巨量数据一次性快速写入数据库的方法
CN115515001A (zh) * 2021-06-22 2022-12-23 荣耀终端有限公司 屏幕镜像方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101799832A (zh) * 2010-03-31 2010-08-11 山东高效能服务器和存储研究院 巨量数据一次性快速写入数据库的方法
CN115515001A (zh) * 2021-06-22 2022-12-23 荣耀终端有限公司 屏幕镜像方法、装置、设备及存储介质
CN115515001B (zh) * 2021-06-22 2023-10-24 荣耀终端有限公司 屏幕镜像方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
JP3810631B2 (ja) 情報処理プログラムを記録した記録媒体
US9037830B2 (en) Organization of a small object area and a large object area in a Java heap
JPH09503328A (ja) 非同期に順序付けされた動作を行うコンピュータ方法及び装置
US10599359B2 (en) Data migration system and method thereof
CN109726264B (zh) 用于索引信息更新的方法、装置、设备和介质
US20160328448A1 (en) Controlling mirroring of tables based on access prediction
Lee et al. ActiveSort: Efficient external sorting using active SSDs in the MapReduce framework
JP2004185344A (ja) データベース管理方法および装置
JP2021077374A (ja) 情報ライフサイクル管理のための同期オブジェクト配置
JP2002099465A (ja) キャッシュ制御方法
JPS5848289A (ja) バツフアメモリ制御方式
US11531614B2 (en) Saving virtual memory space in a clone environment
JP6675466B2 (ja) メモリシステム
JP3030030B2 (ja) 領域管理処理方式
KR19990032182A (ko) 가변길이 파일의 버퍼 관리 장치 및 그 방법
JPH04102118A (ja) バッファフラッシュ機構
JP3092663B2 (ja) 主記憶スワッピング方式
JP2005050010A (ja) メモリ管理方式
CN115297107A (zh) 一种数据传输控制方法及相关设备
JPH0337748A (ja) 主記憶を利用した外部記憶アクセス方式
KR20230080902A (ko) 분산 컴퓨팅 환경에서의 데이터 선 적재 장치 및 이를 이용한 방법
JPH04148247A (ja) ランダムアクセス可能な記憶装置の自動ファイル最適化処理方式
JPH09231012A (ja) 直接アクセス形外部記憶装置間のボリュームコピー方式
JP2003263276A (ja) ディスクシステムおよびディスクアクセス方法
JPH08153037A (ja) シーケンシャル領域におけるデータ管理方式