JP2003330765A - データベースのページ確保処理方法 - Google Patents

データベースのページ確保処理方法

Info

Publication number
JP2003330765A
JP2003330765A JP2002140893A JP2002140893A JP2003330765A JP 2003330765 A JP2003330765 A JP 2003330765A JP 2002140893 A JP2002140893 A JP 2002140893A JP 2002140893 A JP2002140893 A JP 2002140893A JP 2003330765 A JP2003330765 A JP 2003330765A
Authority
JP
Japan
Prior art keywords
data
area
processing
block
storage
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.)
Granted
Application number
JP2002140893A
Other languages
English (en)
Other versions
JP4214712B2 (ja
Inventor
Yukio Nakano
幸生 中野
Hironori Sugimoto
裕紀 杉本
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 JP2002140893A priority Critical patent/JP4214712B2/ja
Priority to US10/353,209 priority patent/US7200628B2/en
Publication of JP2003330765A publication Critical patent/JP2003330765A/ja
Application granted granted Critical
Publication of JP4214712B2 publication Critical patent/JP4214712B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • 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/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】データベースシステムでサービスを停止させる
ことなく、挿入,更新又は削除の繰り返しによる格納効
率の劣化を防止し、再編成を無くし、又は再編成時期を
遅延させる。 【解決手段】挿入処理でデータを格納する際に、新たな
ブロックへデータを挿入する処理1と、確保済みのブロ
ック内の、データが削除され空きとなった領域へデータ
を挿入する処理2を準備する。処理1から処理2への切
替え契機を予め指定しておき、挿入処理で処理1実行中
に指定契機の発生をチェックし、指定された契機が発生
した場合、挿入処理は処理2を実行し、処理2の実行中
に再利用できる領域がなくなると挿入処理の実行を処理
1に戻すことにより、指定された契機で削除により発生
した空領域を再利用する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、リレーショナルデ
ータベース管理システム(RDBMS)の処理方法に関し、特
に、データベースの空き領域不足時におけるページ確保
方法に関する。
【0002】
【従来の技術】DB管理システムにおいて、表へデータ
を挿入する際に、記憶装置より格納用の領域を切出し、
データを格納する。切出した領域に複数のデータが格納
され、切出した領域の空きが無くなると、記憶装置より
新たな領域を切出し、さらにデータを格納する。データ
の削除が実行されると、切出した領域上の該当データが
削除され、削除された部分は空き領域となる。一般に、
データの挿入、更新または削除を繰返すと格納効率が低
下し、それに伴いアクセス性能が劣化する。そのため、
適当な時期に記憶領域の再編成を実行し、空領域を回収
しデータを詰め直さなければならない。従来の再編成で
は、再編成中の表へのアクセスが禁止されており、夜間
や休日等にDBを停止して再編成を行う運用がなされて
きた。
【0003】削除により空きとなった領域を優先的に使
うことにより、格納効率の低下を抑える方法もある。例
えば、「ORACLE8 DBAハンドブック(ISBN4-88135-613-5)
p.130,131」に記載された、PCTUSEDにより制御する方
法である。この方法では、削除により空きとなった領域
のサイズがPCTUSEDに指定された値以上になった領域
を、次回の挿入処理の格納領域として使用する。また、
「データベースシステムとデータモデル(ISBN4-274-075
15)p.30-32」に記載のように、各領域にその領域の使用
率を格納し、領域確保時に各領域の使用率を参照して格
納可能な領域をサーチする方法もある。PCTUSEDにより制
御する方法では、削除処理の際に領域管理のための余分
な処理(PCTUSEDに指定された値以上になったかのチェッ
クや該当領域を次回の挿入処理の格納領域として使用さ
せるための制御)を実行しなければならず、削除処理に
余分な負担がかかってしまう。また、使用率を格納する
方法では、挿入処理時にデータを挿入できる領域を選び
出すために、各領域の使用率を参照していかなければな
らない。そのためこれらの方法では、格納効率が改善で
きる代わりに挿入処理や削除処理の処理性能は劣化す
る。
【0004】表へのアクセスを禁止せずに再編成を実施
する、オン中再編性機能もある。この処理方法は、再編
成対象の領域を再編成しながら別の領域へデータをコピ
ーし、コピー完了時にコピー元とコピー先を切替えるこ
とにより実現されるが、コピー作成のために再編成対象
領域と同等サイズの一時領域が必要となる。
【0005】
【発明が解決しようとする課題】世界規模でのWEBの急
速な広まりに伴い、24時間−365日間のDBサービ
ス提供が求められており、サービスを停止せずに再編成
を行なうことや再編成無しで格納効率の劣化やアクセス
性能の劣化を防止することの要望が高まっている。
【0006】従来技術では、格納効率を改善するために
挿入処理や削除処理の処理性能が劣化してしまい、オン
ライン再編成の実行には、一時領域が必要となる。
【0007】本発明は、追加の領域無しで、挿入処理や
削除処理の処理性能を劣化させずに、格納効率の劣化を
防止し、再編成を無くし、又は再編成時期を遅らせる手
段を提供することを目的とする。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明では、ユーザからの問合せ要求を受付け解析し
処理を実行し、データを記憶装置に格納するデータベー
スシステムにおいて、データを格納する際に、記憶装置
の記憶領域より切出した新規領域へデータを格納する第
1の処理、及び切出し済み領域群からのデータ削除によ
り発生した空き領域へデータを格納する第2の処理のい
ずれかに、データ挿入実行時に切替える契機を指定し、
データ挿入の開始時に、第1の処理によってデータを格
納し、指定された契機発生時にデータ格納処理を切替え
て、第2の処理によってデータを格納することによって
データベースのページを確保する。
【0009】
【発明の実施の形態】以下、本発明の実施例を図面に基
づいて詳細に説明する。
【0010】図1は、本発明を適用して、格納データ量
が変らないようにデータの挿入と削除の繰返して実行す
る例を示す。実行例の詳細は後述する。図2は、本発明
を適用した全体構成を示した図である。
【0011】各情報処理装置230でDBアクセスアプ
リケーション(a〜c)231が稼動し、情報処理装置2
00でDBMS203が稼動しており、これら情報処理
装置200,230はネットワーク260に接続され相
互に通信を行うことができる。
【0012】DBアクセスアプリケーション231はネ
ットワーク260を介して情報処理装置200のDBM
S203に問合せ要求を送る。DBMS203は問合せ
要求を受付けると情報処理装置200に接続されたディ
スク装置210に格納しているDBデータ211をアク
セスすることにより問合せ要求に対応した処理を実行す
る。
【0013】図3に情報処理装置200、230の構成
例を示す。情報処理装置200はCPU313、メモリ
314、I/O制御装置312及び通信制御装置311
により構成される。メモリ314に格納されたDBMS
203のプログラムをCPU313が実行することによ
りDBMSの処理が行われ、I/O制御装置312によ
りディスク装置210からのデータの読み出しや書込み
が行なわれ、通信制御装置311によりネットワーク2
60で接続された他の情報処理装置との間でデータの送
受信を行う。
【0014】情報処理装置230はメモリ302に格納
されているDBアクセスアプリケーション231を実行
する。DBアクセスアプリケーション231がDBMS
203に対して問合せを実行すると、情報処理装置23
0の通信制御装置303より情報処理装置200の通信
制御装置311に要求が送信され、DBMS203に問
合せが送られる。DBMSは要求に応じた処理を実行
し、DBデータ211へのアクセスが必要な場合、I/
O制御装置312によってディスク装置210に格納さ
れたDBデータ211へのアクセスが行なわれる。処理
結果は、通信制御部311より情報処理装置230の通
信制御部303に転送され、要求元DBアクセスアプリ
ケーション231に返される。
【0015】図4はDBMSの構成図である。DBMS
203は処理要求受付け406により処理要求(a〜c)
410を受付けると、要求の解析を行い、表定義40
1、挿入402、削除403、契機定義404及び一括
ブロック内再編成405の各操作を行う。これら操作を
行う際に参照または更新する情報や表常駐情報431を
メモリ上に保持する。
【0016】DBデータ211にはDB情報422や表
データ423が格納される。DB情報422として表情
報425等が格納される。
【0017】表情報425には、表定義時に情報が追加
され、表名や構成列情報等が設定される。表情報には契
機情報が含まれており、表定義時または契機定義時に指
定された契機情報が格納される。
【0018】表データ423に作成した各表のデータが
格納される。挿入操作402により行データを格納し、
削除操作403により列データを削除する。
【0019】DBMS203は、複数の処理要求(a〜
c)410を同時に受付けて、それぞれの要求に対応す
る処理を並列に実行する。
【0020】図5のように、記憶装置210上の領域を
一定の単位で区切り、区切られた個々の領域をブロック
と呼ぶ。DBデータ211内の表データ423は、格納
データの一覧520とブロックの使用状況530を管理
する制御情報501と複数のブロック502〜510を
DB格納用に集めたものである。データ格納時には領域
の切出しはブロック単位で行なわれ、ブロック内には複
数のデータが格納される。1つのブロックにデータが追
加できなくなると次のブロックを取得してデータを格納
する。
【0021】表データ423の制御情報501に含まれ
る格納データの一覧520に基づいて、表データA52
1がブロック番号1番から4番に格納され、開始ブロッ
クと最終ブロックの間のブロックは、次のブロック位置
を示す情報によりチェインされる。また、ブロックの使
用状況530は各ブロックをビットマップ情報で管理す
る。1ビット目が1番のブロックに対応し、同様に2ビ
ット目が2番ブロック、3ビット目が3番ブロックにそ
れぞれ対応する。図5のブロックの使用状況は、1、
2、3、4、5及び6番ブロックが使用中でその他のブ
ロックが未使用であることを示す。
【0022】ブロックへ格納されるデータは、図6のよ
うなスロット形式で配置される。ブロック600内は、
制御情報部601とデータ格納部602に分かれ、制御
情報部601に次のブロックとのチェイン情報603や
ブロック内未使用領域の先頭情報604、スロット数6
05及びブロック内空領域サイズ606が格納される。
スロット数605は本ブロック600に格納されるデー
タ数であり、スロット数分のスロットが存在し、各スロ
ットにデータの位置が格納される。図6には、スロット
が3個(607,608,609)存在し、一番目のス
ロット607が示すデータ610がデータ位置3000
以降に格納される。データはブロックの後ろより詰めら
れて、現在未使用領域の先頭604はデータ位置150
0であり、次のデータを格納するためにデータ位置15
00よりデータサイズ分の領域が切出される。
【0023】図7以降を用いて、データベースシステム
の表にデータを格納する際の本発明の格納用領域割当て
方法に関するDBMSの処理を機能毎に説明する。格納
用領域割当て方法に関する機能としては、表定義、挿
入、削除、契機定義及び一括ブロック内再編成等の機能
がある。処理要求がDBMSに対して行われ、処理要求
に対する操作機能の処理が実行される。
【0024】まず、表定義処理は図7の様に、処理要求
700が、作成する表の表名701、表を構成させる列
の列名702及び列のデータ型703等と共にDBMS
203に送られる。この時、契機情報1(704)及び契
機情報2(705)は、指定される場合と指定されない場
合がある。DBMS203では要求を解析して表定義操
作401を実行し、表名711、列名712、713及
び列データ型714、715等をDB情報422内の表
情報425に追加する。契機情報1、2が指定されてい
る場合、契機情報1(721)及び契機情報2(722)を
契機情報429として表情報425内に登録する。
【0025】契機情報1は、記憶装置から切出した領域
のサイズが指定された値に達した時に、記憶装置より格
納用の領域を切出す処理からデータの削除により発生し
た空き領域をサーチする処理へ切替える契機である。契
機情報2は、データの削除によって発生した空き領域を
サーチする処理から記憶装置より格納用の領域を切出す
処理へ切替える契機であり、さらに、サーチ処理を打切
る契機として、前回サーチした領域からサーチを開始し
て確保済み領域の最後の領域まで参照して空領域が無か
った場合と、前回サーチした領域からサーチを開始して
最後の領域まで参照した後に領域の先頭から前回サーチ
した領域まで参照して空領域が無かった場合のどちらか
が指定される。
【0026】次に、データ挿入処理について図9とフロ
ー図10〜図13を用いて説明する。列挿入要求900
が、データを挿入する表の表名901及び各列に挿入す
る列データ902、903等と共にDBMS203に送
られる。列のデータ型には整数型又は文字型等の型があ
り、挿入データには各型に対応したデータが指定され
る。DBMS203では要求を解析して挿入操作402
を実行する。図10は挿入処理のフローを示す。まず、
表名911に対応した表情報425及び契機情報429
をDB情報422より取得し、表データ423を参照
し、図5で説明した格納データ一覧より、対応する表名
の情報である開始ブロックと終了ブロックの番号を取得
する(1010)。
【0027】次に、この表に対応する表常駐情報431
を探し(1011)、無い場合は新規に作成する(101
2から1013)。表常駐情報431には、現在この表
のデータ格納領域をどの方法でサーチしているかを示す
サーチ情報921と、前回サーチを行った位置情報92
2が格納されている。表常駐情報431を新規に作成す
る場合、記憶装置から格納用の領域を切出す処理を実行
し、前回サーチを行った位置情報には、対応する表管理
データの終了ブロック番号を設定する。
【0028】表常駐情報431の検出もしくは新規作成
の後、位置情報922が示すブロック600を取得し
(1014)、ブロックの空領域サイズ606と格納する
データサイズとを比較し(1015)、同じサイズか空領
域サイズ606が大きい場合(1015から1017
へ)、そのブロックへデータを格納する(1017)。
【0029】ブロックへデータを格納する処理1017
では、図11(a)のフローのように、未使用領域先頭よ
りデータを格納可能な連続した空領域があるかチェック
し(1111)、空領域がある場合(1111から11
13)、スロット数のカウントアップ、ブロック内の空
き領域へのデータのコピー、対応するスロットより格納
したデータのポイント、未使用領域先頭位置の更新、及
び、空領域サイズより格納したデータサイズの減算を行
う(1113)。
【0030】空領域が無い場合は(1111から111
2)、削除により発生した空領域を含むブロックにおい
て空領域サイズ606に対応する領域が連続していない
場合である。このような場合、そのままではデータを格
納できないため、ブロック内再編成処理を実行する(1
112)。ブロック内再編成処理は、ブロック内の有効
なデータを一旦外へ全て取出してブロックを初期化した
後、データを格納しなおす。
【0031】格納するデータサイズが大きい場合(10
15から1016へ)、格納用ブロックサーチを行う(1
016)。
【0032】格納用ブロックサーチ1016は図11
(b)のフローのように、表常駐情報のサーチ方式921
を参照し(1121)、記憶装置から格納用の領域を切
出す場合(1121から1123)、格納用領域切出処理
を実行する(1123)。格納用領域切出処理は図12の
フローのように、契機情報1が登録されているかチェッ
クし(1210)、登録されている場合(1210から1
215)、確保したブロック数が契機情報1に指定され
た数に達しているかチェックする(1215)。
【0033】契機情報1が登録されていない場合と(1
210から1220)、確保したブロック数が契機情報
1に指定された数に達していない場合(1215から1
220)、ブロックの使用状況530を参照して未使用
ブロックを探し、見つけたブロックに対応する使用状況
のビットを使用中に設定し、表管理データの終了ブロッ
ク番号のブロックより見つけたブロックへチェインさ
せ、見つけたブロックの番号を終了ブロック番号に設定
し(1220)、ブロックへデータを格納し(格納処理は
前述と同じ)(1230)、表常駐情報の位置情報に見つ
けたブロックの番号を設定する(1240)。
【0034】確保したブロック数が契機情報1に指定さ
れた数に達している場合(1215から1250)、表常
駐情報のサーチ情報にデータの削除により発生した空き
領域のサーチ処理を設定し、表常駐情報の位置情報に表
の開始ブロック番号を格納して(1250)、データの削
除により発生した空き領域をサーチする処理を実行する
(1260)。
【0035】データの削除により発生した空き領域をサ
ーチする処理1122は、図13のフローのように、表
常駐情報の位置情報に設定されたブロックを取得し(1
310)、ブロックの空領域サイズと格納するデータサ
イズとを比較し(1320)、双方のサイズが同じサイズ
か空領域サイズがデータサイズよりも大きい場合(13
20から1330へ)、そのブロックへデータを格納す
る(1330)。ブロックへデータを格納する処理は、図
11の(a)の処理である。
【0036】空領域が無い場合は(1320から134
0)、契機情報2が終了ブロックで空き領域サーチを終
わる指定かどうかをチェックし(1340)、終了ブロッ
クで終わらない場合(1340から1350)、現在のブ
ロック位置が契機情報2で示されるブロックの1つ前の
ブロックかチェックする(1350)。現在のブロック位
置が契機情報2で示されるブロックの1つ前のブロック
でない場合(1350から1355)、次のブロックを取
得し(1355)、ステップ1320以降を繰返す。
【0037】現在のブロック位置が契機情報2で示され
るブロックの1つ前のブロックだった場合(1350から
1360)、表常駐情報のサーチ情報に格納用領域切出
し処理を設定し、ブロックの使用状況を参照し未使用ブ
ロックを探し、見つけたブロックに対応する使用状況の
ビットを使用中に設定し、表管理データの終了ブロック
番号のブロックより見つけたブロックへチェインさせ、
見つけたブロックの番号を終了ブロック番号に設定し
(1360)、ブロックへデータを格納し(格納処理は前
述と同じ)(1365)、表常駐情報の位置情報に見つけ
たブロックの番号を設定する(1370)。
【0038】参照ブロックが終了ブロックかどうかのチ
ェック(1340)の結果、参照ブロックが終了ブロック
の場合(1340から1345)、契機情報2で示される
ブロックが終了ブロックかどうかをチェックし(134
5)、終了ブロックでない場合(1345から137
5)、表の開始ブロックを取得し(1375)、ステップ
1320以降を繰返す。
【0039】契機情報2で示されるブロックが終了ブロ
ックの場合(1345から1360)、表常駐情報のサー
チ情報に格納用領域切出し処理を設定し、ブロックの使
用状況を参照して未使用ブロックを探し、見つけたブロ
ックに対応する使用状況のビットを使用中に設定し、表
管理データの終了ブロック番号のブロックより見つけた
ブロックへチェインさせ、見つけたブロックの番号を終
了ブロック番号に設定し(1360)、ブロックへデータ
を格納し(格納処理は前述と同じ)(1365)、表常駐情
報の位置情報に見つけたブロックの番号を設定する(1
370)。
【0040】図11(b)のフローにおいて、表常駐情報
のサーチ情報921の参照(1121)に戻り、表常駐情
報のサーチ情報が、データの削除により発生した空き
領域をサーチする処理の場合(1121から1122)、
前述のデータの削除により発生した空き領域をサーチす
る処理1122を実行する。
【0041】尚、図12のステップ1220や図13の
ステップ1360の未使用ブロックサーチで記憶装置か
ら格納用の領域が切出せない場合は、格納領域が無いの
でデータ挿入処理はエラーとなる。
【0042】データ削除処理では、図14の様に、処理
要求210が削除する表の表名1401が削除条件14
02等と共にDBMS203に送られる。DBMS20
3では要求を解析して削除操作403を実行する。
【0043】図5の表データ423の格納データ一覧5
20に基づいて、削除指定された表名1411に対応し
た開始ブロックから終了ブロックまで順番にブロックに
格納されたデータを参照し、削除条件に該当するデータ
がある場合、該当データをポイントするスロットの値を
0に設定し、削除するデータサイズを空き領域サイズに
加算する。
【0044】契機定義処理では、図16の様に、契機定
義要求1600が、契機を定義する表の表名1601、
契機情報1(1602)及び契機情報2(1603)と共に
DBMS203に送られる。DBMS203では要求を
解析して契機定義操作404を実行し、表名1611に
対応するDB情報422内の表情報425に契機情報1
(1612)及び契機情報2(1613)を契機情報429
として登録する。既に、契機情報が登録されている場合
も、指定された契機情報を登録しなおす。
【0045】契機情報1及び契機情報2には、表定義処
理で説明したものと同じ内容が指定される。
【0046】一括ブロック内再編成処理では、図15の
様に、一括ブロック内再編成要求1500が、一括ブロ
ック内再編成を行う表の表名1501と共にDBMS2
03に送られる。DBMS203では要求を解析して一
括ブロック内再編成403を実行する。
【0047】一括ブロック内再編成403は、指定され
た表について確保されたブロックを順番に参照し、挿入
処理で説明した、ブロック内再編成処理を実行する。
【0048】削除により多くのブロック内に空領域が発
生した場合に、予め一括ページ内再編成処理を実行する
ことにより、挿入処理でブロック内再編成が実行される
のを回避できるため、挿入処理の性能劣化を抑えること
が出来る。
【0049】では、これ以降具体的に例を用いて説明を
行う。
【0050】本発明を、日々の売上データを格納し、1
年後に、古くなったデータから順に1ヶ月単位でデータ
を削除する販売管理に適用する。まず、表定義時または
契機定義時に、空き領域をサーチする処理の切替え契機
1、2を登録する。1年後にデータが消されていくた
め、格納領域は1年分のデータを格納できるサイズ分を
準備すればよい。契機情報1には1年分のデータを格納
できるサイズを指定し、また、契機情報2には、前回サ
ーチした領域よりサーチを開始し、一番最後の領域まで
参照した後に領域の先頭から前回サーチした領域まで参
照して空領域が無かった場合を契機として指定する。
【0051】図1(a)の表データ100及び(b)の表デ
ータ110の様に、まず表データ内に新規のブロックが
割当てられ、データが順番に挿入される。1年分データ
が格納されると、(c)の表データ120の様に契機情報
1で指定したサイズ分のブロックが確保され、1年前の
データが1ヶ月分削除される。ブロックサイズが契機情
報1に指定されたサイズになると、データの削除により
発生した空き領域をサーチする処理に切替わり、データ
が削除された領域へデータが挿入される。1ヶ月単位で
データが削除されるため、(d)の表データ130、(e)
の表データ140及び(f)の表データ150の様に削除
された領域へデータが挿入される。(f)の表データ15
0から(c)の表データ120の状態になり、終了ブロッ
クに格納領域がなくなった場合、契機情報2には、前回
サーチした領域よりサーチを開始し、最後の領域まで参
照した後に領域の先頭から前回サーチした領域まで参照
して空領域が無かった場合が指定されているため、再度
開始ブロックより空き領域をサーチする。以上の様に、
挿入と削除の繰返しにより、格納データ量が変らない場
合、領域の再利用を繰返すことで、格納効率の良い運用
が出来る。
【0052】また、図8の様に、挿入と削除の繰返しで
徐々に格納データ量が増加する場合、(a)の表データ8
00及び(b)の表データ810の様に、表データ内に新
規のブロックが割当てられ、データが順番に挿入され、
削除も実行される。契機情報1で指定したサイズ分のブ
ロックが確保されると、(c)の表データ820の様に削
除された領域へデータが挿入される。削除された領域が
なくなると(d)の表データ830の様に新たなブロック
が追加され、追加したブロックへデータが挿入される。
追加したブロックが満杯になりデータが格納できなくな
ると、(e)の表データ840の様に再度削除された領域
へのデータ挿入が実行され、削除された領域がなくなる
と(d)の表データ830の様に新たなブロックが追加さ
れ、追加したブロックが満杯になると(e)の表データ8
40の様に再度削除された領域へのデータ挿入が繰返さ
れる。削除により発生した領域を再利用しつつ、新規領
域の確保も行われるので、格納効率の良い運用が可能と
なる。
【0053】一方、ブロック内が満杯になるまでデータ
を格納した後、ブロック内データが削除されたブロック
を再利用する場合、図11(a)のように、フロー未使
用領域の先頭からデータを格納できる連続した空領域が
あるかをチェックし(1111)、空領域が無い場合に
は、ブロックを再利用する毎に、ブロック内再編成の実
行が必要となる。挿入処理でブロック内再編成を実行す
ると挿入処理の性能が劣化する。ブロック内データが削
除されたブロックの再利用が始まる前に、一括ブロック
内再編成処理を実行することにより、ブロックの再利用
時に、挿入処理でブロック内再編成処理の実行を回避で
きるため、挿入処理の性能劣化を回避できる。
【0054】以上の説明により、再編成処理実行のため
にDBサービスを停止させることなく、格納効率の劣化を
防止でき、再編成を無くし、又は再編成時期を遅らせる
ことができる。
【0055】また、本実施例においてサーチ方法の切替
えは、契機情報1及び契機情報2に指定された情報によ
り行うが、コマンドにより強制的にサーチ方法を切替え
たり、一括ブロック内再編成処理で空領域の統計を取得
し、一定量の空きが発生した場合にサーチ方法を切替え
ることもできる。
【0056】図5及び図6に示したDBの内部構造やブ
ロックの構造は、データ格納管理の実現方法の例であ
り、他の構造による管理方法でも本発明を適用できる。
【0057】以上に述べた本発明のページ確保方法を実
行するためのプログラムを計算機で読み取り可能な記録
媒体に格納し、プログラムをメモリに読み込んで実行す
ることもできる。また、本発明のページ確保方法を電子回
路等のハードウエアで実現することもできる。
【0058】
【発明の効果】本発明によれば、ユーザに、該当表の運
用において再利用するのに十分な空領域が発生するポイ
ントを見積もり、切替え契機を登録してもらうことによ
り、最初は、新たなブロックを追加したブロックへデー
タを挿入する処理を実行し、十分な空領域が発生した契
機で、削除された領域へデータを挿入する処理が実行さ
れる。
【0059】切替え契機をチェックする以外に挿入処理
や削除処理に余分な処理を行わなくても、削除により発
生した空領域を再利用できるため、DBサービスを停止
させずに、格納効率の劣化防止を実現できる。そのた
め、記憶領域の再編成を無くし、又は再編成時期を遅ら
せることができる。
【図面の簡単な説明】
【図1】格納データ量が変らない場合の挿入と削除の繰
返し実行例である。
【図2】システムの全体構成である。
【図3】ハードウェア構成である。
【図4】DBMSの構成である。
【図5】DBデータの内部構造である。
【図6】ブロックの構造である。
【図7】表定義要求である。
【図8】徐々にデータ量が増加する場合の挿入と削除の
繰返し実行例である。
【図9】列挿入要求である。
【図10】挿入処理フローである。
【図11】ブロックへデータ格納、格納用ブロックサー
チ処理フローである。
【図12】格納用領域切出し処理フローである。
【図13】空領域サーチ処理フローである。
【図14】削除要求である。
【図15】一括ブロック内再編成処理である。
【図16】契機定義要求である。
【符号の説明】
200:情報処理装置、203:DBMS、230:情
報処理装置、231:DBアクセスアプリケーション、
260:ネットワーク、301:CPU、302:メモ
リ、303:通信制御装置、311:通信制御装置、3
12:I/O制御装置、313:CPU、314:メモ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 杉本 裕紀 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所ビジネスソリューション事 業部内 Fターム(参考) 5B082 CA02 CA11

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】ユーザからの問合せ要求を受付け解析し処
    理を実行し、データを記憶装置に格納するデータベース
    システムにおいて、データを格納する際に、 前記記憶装置の記憶領域より切出した新規領域へデータ
    を格納する第1の処理、及び前記切出し済み領域群から
    のデータ削除により発生した空き領域へデータを格納す
    る第2の処理のいずれかに、データ挿入実行時に切替え
    る契機を指定し、 データ挿入の開始時に、前記第1の処理によってデータ
    を格納し、 前記指定された契機発生時にデータ格納処理を切替え
    て、前記第2の処理によってデータを格納することを特
    徴とするデータベースのページ確保処理方法。
  2. 【請求項2】記憶装置より格納用の領域を切出す処理か
    ら、データの削除により発生した空き領域をサーチする
    処理へ切替える第一の契機と、 データの削除により発生した空き領域をサーチする処理
    から、記憶装置より格納用の領域を切出す処理へ切替え
    る第二の契機を定義し、 記憶装置より格納用の領域を切出す処理を実行中に、前
    記第一の契機の発生時に、データの削除により発生した
    空き領域をサーチする処理へ切替えて実行し、 データの削除により発生した空き領域をサーチする処理
    実行中に、前記第二の契機の発生時に、記憶装置より格
    納用の領域を切出す処理へ切替えて実行することを特徴
    とする請求項1に記載のデータベースのページ確保処理
    方法。
  3. 【請求項3】データの削除により発生した空き領域をサ
    ーチする処理において、前回サーチした領域の場所を記
    憶しておき、次のサーチ実行時は前記記憶していた場所
    よりサーチを開始することを特徴とする請求項1及び2
    に記載のデータベースのページ確保処理方法。
  4. 【請求項4】データの削除により発生した空き領域をサ
    ーチする処理は、前回サーチした領域よりサーチを開始
    して確保済み領域の最後の領域まで参照して空領域が無
    かった場合と、前回サーチした領域からサーチを開始し
    て最後の領域まで参照した後に領域の領域の先頭から前
    回サーチした領域まで参照して空領域が無かった場合の
    いずれかを前記第二の契機に指定することを特徴とする
    請求項1から3に記載のデータベースのページ確保処理
    方法。
  5. 【請求項5】データ格納又は削除を行う処理と並行し
    て、確保済み領域を順番に参照し、削除により発生した
    空領域を有する確保済み領域内で連続した空領域を確保
    するための領域内再編成処理を行うことを特徴とする請
    求項1から4に記載のデータベースのページ確保処理方
    法。
  6. 【請求項6】記憶装置より格納用の領域を切出す処理か
    らデータの削除により発生した空き領域をサーチする処
    理へ切替える前記第一の契機は、 記憶装置より切出した領域のサイズが所定の量に達した
    場合であって、並行して実行する未使用領域解放処理に
    よって一定量以上の領域が解放された場合であることを
    特徴とする請求項1から5に記載のデータベースのペー
    ジ確保処理方法。
  7. 【請求項7】ユーザからの問合せ要求を受付け解析し処
    理を実行し、データを記憶装置に格納するデータベース
    システムにおけるページ確保処理方法を実行するための
    プログラムを格納した計算機で読み取り可能な記録媒体
    であって、前記ページ確報処理方法は、データを格納する
    際に、 前記記憶装置の記憶領域より切出した新規領域へデータ
    を格納する第1の処理、及び前記切出し済み領域群から
    のデータ削除により発生した空き領域へデータを格納す
    る第2の処理のいずれかに、データ挿入実行時に切替え
    る契機を指定し、 データ挿入の開始時に、前記第1の処理によってデータ
    を格納し、 前記指定された契機発生時にデータ格納処理を切替え
    て、前記第2の処理によってデータを格納することを特
    徴とする記録媒体。
  8. 【請求項8】ユーザからの問合せ要求を受付け解析し処
    理を実行し、データを記憶装置に格納するデータベース
    システムにおけるページ確保処理装置は、データを格納
    する際に、前記記憶装置の記憶領域より切出した新規領
    域へデータを格納する第1の処理手段、前記切出し済み
    領域群からのデータ削除により発生した空き領域へデー
    タを格納する第2の処理手段、及び予め指定された契機
    に基づいて、前記第1の処理手段及び前記第2の処理手
    段のいずれかに、データ挿入実行時に切替える手段を有
    し、データ挿入の開始時に、前記第1の処理手段によっ
    てデータを格納し、 前記指定された契機発生時にデータ格納処理を切替え
    て、前記第2の処理手段によってデータを格納すること
    を特徴とするデータベースのページ確保処理装置。
JP2002140893A 2002-05-16 2002-05-16 データベースのページ確保処理方法 Expired - Lifetime JP4214712B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002140893A JP4214712B2 (ja) 2002-05-16 2002-05-16 データベースのページ確保処理方法
US10/353,209 US7200628B2 (en) 2002-05-16 2003-01-27 Method for reserving pages of database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002140893A JP4214712B2 (ja) 2002-05-16 2002-05-16 データベースのページ確保処理方法

Publications (2)

Publication Number Publication Date
JP2003330765A true JP2003330765A (ja) 2003-11-21
JP4214712B2 JP4214712B2 (ja) 2009-01-28

Family

ID=29416962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002140893A Expired - Lifetime JP4214712B2 (ja) 2002-05-16 2002-05-16 データベースのページ確保処理方法

Country Status (2)

Country Link
US (1) US7200628B2 (ja)
JP (1) JP4214712B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010510597A (ja) * 2006-11-22 2010-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データ・ストレージにおけるリソース再利用のための装置および方法
WO2012111119A1 (ja) * 2011-02-17 2012-08-23 株式会社 日立製作所 情報処理方法、情報処理装置、及びプログラム記憶媒体
KR101368441B1 (ko) 2012-08-21 2014-03-03 네이버비즈니스플랫폼 주식회사 데이터베이스의 공간 재사용 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
JP7550849B2 (ja) 2019-09-18 2024-09-13 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース操作の同時実行のための方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8315972B2 (en) * 2003-09-26 2012-11-20 Microsoft Corporation Method for maintaining databases information about multiple instances of an activity generating, updating virtual OLAP cube based on modified star-schema
WO2005040988A2 (en) * 2003-10-23 2005-05-06 Innopath Software, Inc. Dynamic addressing (da) using a centralized da manager
EP1706871B1 (en) * 2003-12-18 2008-10-08 Matsushita Electric Industries Co., Ltd. Recording apparatus, integrated circuit for recording apparatus, recording method, computer program, and recording medium which facilitates content recording
US8041742B1 (en) * 2004-12-20 2011-10-18 American Megatrends, Inc. Method, system, and apparatus for providing generic database services within an extensible firmware interface environment
US8360740B2 (en) * 2010-02-12 2013-01-29 Synerject, Llc Integrated fuel delivery module and methods of manufacture
JP5861545B2 (ja) * 2012-03-30 2016-02-16 富士通株式会社 情報処理装置、履歴制御方法および履歴制御プログラム
US10255309B2 (en) 2014-11-25 2019-04-09 Sap Se Versioned insert only hash table for in-memory columnar stores
US10558495B2 (en) 2014-11-25 2020-02-11 Sap Se Variable sized database dictionary block encoding
US10725987B2 (en) 2014-11-25 2020-07-28 Sap Se Forced ordering of a dictionary storing row identifier values
US9891831B2 (en) 2014-11-25 2018-02-13 Sap Se Dual data storage using an in-memory array and an on-disk page structure
US10042552B2 (en) 2014-11-25 2018-08-07 Sap Se N-bit compressed versioned column data array for in-memory columnar stores
US9875024B2 (en) 2014-11-25 2018-01-23 Sap Se Efficient block-level space allocation for multi-version concurrency control data
US9898551B2 (en) * 2014-11-25 2018-02-20 Sap Se Fast row to page lookup of data table using capacity index
US10296611B2 (en) 2014-11-25 2019-05-21 David Wein Optimized rollover processes to accommodate a change in value identifier bit size and related system reload processes
US9965504B2 (en) 2014-11-25 2018-05-08 Sap Se Transient and persistent representation of a unified table metadata graph
US10552402B2 (en) 2014-11-25 2020-02-04 Amarnadh Sai Eluri Database lockless index for accessing multi-version concurrency control data
US10474648B2 (en) 2014-11-25 2019-11-12 Sap Se Migration of unified table metadata graph nodes
US9886466B2 (en) 2015-03-24 2018-02-06 International Business Machines Corporation Optimizing space management of tablespaces in database systems
US10984020B2 (en) 2015-10-23 2021-04-20 Oracle International Corporation System and method for supporting large queries in a multidimensional database environment
US10552393B2 (en) * 2015-10-23 2020-02-04 Oracle International Corporation System and method for use of a dynamic flow in a multidimensional database environment
CN109783571B (zh) * 2018-12-13 2023-10-27 平安科技(深圳)有限公司 隔离环境的数据处理方法、装置、计算机设备及存储介质
US11157191B2 (en) * 2019-04-26 2021-10-26 Dell Products L.P. Intra-device notational data movement system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411964B1 (en) * 1998-12-23 2002-06-25 International Business Machines Corporation Methods for in-place online reorganization of a database
CA2281287C (en) * 1999-09-01 2003-03-11 Ibm Canada Limited-Ibm Canada Limitee Method and system for efficiently searching for free space in a table of a relational database having a clustering index
US6834290B1 (en) * 1999-11-15 2004-12-21 Quest Software, Inc. System and method for developing a cost-effective reorganization plan for data reorganization
US6865657B1 (en) * 2000-06-02 2005-03-08 Sun Microsystems, Inc. Garbage collector for a virtual heap

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010510597A (ja) * 2006-11-22 2010-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データ・ストレージにおけるリソース再利用のための装置および方法
WO2012111119A1 (ja) * 2011-02-17 2012-08-23 株式会社 日立製作所 情報処理方法、情報処理装置、及びプログラム記憶媒体
KR101368441B1 (ko) 2012-08-21 2014-03-03 네이버비즈니스플랫폼 주식회사 데이터베이스의 공간 재사용 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
JP7550849B2 (ja) 2019-09-18 2024-09-13 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース操作の同時実行のための方法

Also Published As

Publication number Publication date
JP4214712B2 (ja) 2009-01-28
US7200628B2 (en) 2007-04-03
US20030217075A1 (en) 2003-11-20

Similar Documents

Publication Publication Date Title
JP2003330765A (ja) データベースのページ確保処理方法
US7107294B2 (en) Method and apparatus for interrupting updates to a database to provide read-only access
US11068390B2 (en) Scalable garbage collection for deduplicated storage
US5642501A (en) Computer method and apparatus for asynchronous ordered operations
US6477535B1 (en) Method and apparatus for concurrent DBMS table operations
US10872037B2 (en) Estimating worker nodes needed for performing garbage collection operations
CN113574498B (zh) 在重复数据删除存储系统的垃圾收集操作中标记受影响的相似群
JPH05189281A (ja) 記憶装置のファイル割当て方式
EP1141864A1 (en) Method and system for reconciling concurrent streams of transactions in a database
US8180838B2 (en) Efficiently managing modular data storage systems
US20200310965A1 (en) Deleting data in storage systems that perform garbage collection
JP2853608B2 (ja) 並列処理システムのファイルアクセス制御方式
JP3042600B2 (ja) 分散ファイルの同期方式
JPH086829A (ja) データベースの同時全件検索方法
JP3325729B2 (ja) メモリ管理装置
JP2630103B2 (ja) ファイルスペース確保方式
JP3398672B2 (ja) 中間データ格納装置
JPH08328929A (ja) データベース分割管理システム
JPH0398110A (ja) 多重データ読み込み方式
JP2003076593A (ja) データベース管理方法およびシステム
JP2009217357A (ja) ファイルスペース追加システム、ファイルスペース追加方法、及びファイルスペース追加プログラム
JP3232633B2 (ja) データ格納ボリューム管理処理方法
JPH0793192A (ja) ファイル管理方法
JP2009020793A (ja) データベース再編成システム及びページ取得方法
JPH06175785A (ja) 集合型記憶装置内の媒体群管理方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050114

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080620

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080715

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080911

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080926

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4214712

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111114

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121114

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131114

Year of fee payment: 5

EXPY Cancellation because of completion of term