JP5593841B2 - データベース装置 - Google Patents

データベース装置 Download PDF

Info

Publication number
JP5593841B2
JP5593841B2 JP2010123031A JP2010123031A JP5593841B2 JP 5593841 B2 JP5593841 B2 JP 5593841B2 JP 2010123031 A JP2010123031 A JP 2010123031A JP 2010123031 A JP2010123031 A JP 2010123031A JP 5593841 B2 JP5593841 B2 JP 5593841B2
Authority
JP
Japan
Prior art keywords
logical
logical page
record
page
moved
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
JP2010123031A
Other languages
English (en)
Other versions
JP2011248747A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010123031A priority Critical patent/JP5593841B2/ja
Priority to US13/072,007 priority patent/US8682941B2/en
Publication of JP2011248747A publication Critical patent/JP2011248747A/ja
Application granted granted Critical
Publication of JP5593841B2 publication Critical patent/JP5593841B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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)

Description

本発明は、データベース装置に関する。
今日、銀行、役所、証券取引会社などでは、膨大な量のデータをデータベースに蓄積し、日々の業務に使用している。これらの場合に使用されるデータベースは、シーケンシャルアクセス方法(SAM、Sequential Access Method)を採用したものが一般的である。SAMとは、データベースの格納領域に、データを格納領域の先頭から順次格納領域の後ろに向かって格納するものであり、新規のデータの格納領域は、現在データが格納されている領域の後ろになる。データベースへの操作は、データの追加、修正、コピー、削除などがある。データの削除が行われた場合には、削除されたデータが格納されていた格納領域は空き領域となる。しかし、SAMを採用したデータベースの場合、新しいデータの追加は、格納されている全てのデータの格納領域の後ろ側に対して行なわれることになる。したがって、データの削除によって生じた空き領域は、使用されないまま残されることになる。しかし、このような状態を放置しておくと、データベースの格納領域が空き領域だらけになり、少しのデータを格納しただけで、データベースがいっぱいになってしまう。したがって、空き領域ができた場合には、空き領域を埋めるようにデータの再配置が行なわれる。
SAMを採用したデータベースの再配置は、サブレンジと呼ばれる論理的なデータの区切り単位で行なわれている。サブレンジというのは、例えば、銀行のデータベースにおいて顧客のデータを支店単位で整理した場合、1つの支店が扱う全顧客データの集まりを示す。サブレンジの設定は、データベースのユーザが任意に設定可能であるが、一般に複数の論理レコード(データの最小単位)を格納する論理ページが複数集まったものである。論理レコードは、銀行のデータベースにおける顧客ごとの通帳データなどである。サブレンジは、シーケンシャルなデータアクセスの単位であり、サブレンジ内は先頭から後方に向かってデータが格納されるが、サブレンジは互いに独立である。
図1は、従来技術の概念を示す図である。
サブレンジ全体のレコードを前詰めに再配置する必要があることから、従来は、サブレンジ全体の論理レコードを一旦抽出して再格納することで実現していた。その際、再配置対象のサブレンジ全体に排他をかけていたので、再配置実施中は、該当サブレンジをオンラインで使用することができなかった。サブレンジ全体に排他をかけていたのは、サブレンジ全体の論理レコードを一旦抽出して再格納することで再配置を実現していたからである。
データベースへのアクセスは、データベースのデータを操作するオンライン業務と、データベースのデータの再配置処理があるが、それぞれの処理を行うのにデータベースに排他をかける必要がある。従来の再配置処理は、サブレンジ単位で排他をかけていたので、再配置を行なっている間は、オンライン業務において、当該サブレンジにはアクセス出来なかった。銀行のデータベースにおいて、サブレンジが支店単位であった場合には、再配置処理を行なってしまうと、再配置処理中は支店の全てのデータにアクセスできなくなってしまう。したがって、再配置処理は、支店が休業する、土曜日や日曜日に行なう必要があった。
図2A及び図2Bは、従来の再配置処理を説明する図である。
図2Aにおいて、今、データベースには、論理ページ0〜3に論理レコードが格納され、論理ページ0〜2に削除領域(空き領域)があるとしている。ここでは、サブレンジは、論理ページ0〜3からなっているとする。データベースには、論理レコードの最終格納論理ページ番号(CSP;Current Store Point)が登録されている。今の場合、CSPは3である。新規レコードは、このCSPで示される論理ページ以降に格納される。
図2Bにおいて、サブレンジ全体の論理レコードを別の格納領域にコピーし、論理ページ0〜3の論理レコードを全て削除してから、サブレンジ全体の論理レコードを再格納する。論理レコードは、図2Bの場合4つあり、1論理ページに2論理レコードずつ格納できるので、前詰めに論理レコードを再格納すると、論理ページ0、1に全て格納される。そして、CSPは、1に再設定される。
そのほかの従来の技術には、レコードの論理的な集まりであるクラスタを再編成処理単位としたデータベース再編成処理装置や、ファイルを論理的に分割したページ単位で管理するディスクドライブを備え、削除ページまたは未使用ページである移動先ページに移動データ部の後部の使用中ページである移動元ページの内容を移動するデータベース再編成システムなどがある。
特開平5−289913号公報 特開2009−20793号公報
以下に示す実施形態においては、SAMを採用したデータベース装置において、再配置処理をオンライン業務を停止することなく実施可能とするデータベース装置を提供する。
以下の実施形態の一側面におけるデータベース装置は、複数の論理ページからなるサブレンジの先頭から順番に論理レコードを格納するシーケンシャルアクセス方法を採用したデータベース装置において、該サブレンジの後方から順次移動対象の論理レコードを検出し、該移動対象の論理レコードが含まれる論理ページを論理レコードの移動元論理ページとして設定する移動元論理ページ検出部と、該サブレンジの先頭から順次空き領域を検出し、該移動対象の論理レコードを移動可能な該空き領域が含まれる論理ページを論理レコードの移動先論理ページとして設定する移動先論理ページ検出部と、該移動先論理ページと該移動元論理ページのみに排他制御を行い、該移動対象の論理レコードを該移動元論理ページから、該移動先論理ページの該空き領域に移動させる論理レコード移動部とを備える。
以下の実施形態によれば、SAMを採用したデータベース装置において、再配置処理をオンライン業務を停止することなく実施可能とするデータベース装置を提供することができる。
従来技術の概念を示す図である。 従来の再配置処理を説明する図(その1)である。 従来の再配置処理を説明する図(その2)である。 本実施形態の概念を説明する図である。 本実施形態の再配置処理の様子を示した図(その1)である。 本実施形態の再配置処理の様子を示した図(その2)である。 本実施形態の再配置処理の様子を示した図(その3)である。 本実施形態の再配置処理の様子を示した図(その4)である。 本実施形態のデータベース装置のシステム構成図である。 本実施形態の処理を説明するフローチャート(その1)である。 本実施形態の処理を説明するフローチャート(その2)である。 本実施形態の処理を説明するフローチャート(その3)である。 本実施形態の処理を説明するフローチャート(その4)である。 本実施形態の処理を説明するフローチャート(その5)である。 本実施形態の処理を説明するフローチャート(その6)である。 本実施形態のデータ構造を説明する図(その1)である。 本実施形態のデータ構造を説明する図(その2)である。 本実施形態のデータ構造を説明する図(その3)である。
以下の実施形態は、データベースをオンライン業務で使用しており、オンラインを停止できない、または停止できたとしてもデータベースの再配置を行えるだけの長時間のオンライン停止ができないような環境などに適用可能である。
図3は、本実施形態の概念を説明する図である。
本実施形態では、サブレンジ全体を一括して再配置するのではなく、排他制御の最小単位である論理ページ単位に排他制御を行い、その論理ページ内の論理レコード(1つのオーナレコードとその配下の全メンバレコード)単位に再配置を実施する。
なお、論理レコード単位に再配置を実施するのは、論理レコード単位にトランザクション処理されることがほとんどであり、1つの論理レコードは分割されること無く、同一論理ページ内に格納されるから、論理レコードを再配置処理の最小単位と考えることができるからである。
また、再配置対象の論理ページだけ(論理レコードを移動させる元/先の論理ページだけ)に排他範囲を限定することで、再配置対象の論理ページ以外はオンラインで使用可能とする。
後述するように、論理レコードの移動元論理ページをサブレンジの最終ページの1ページ前から先頭に向かって順に設定し、論理レコードの移動先論理ページをサブレンジの先頭ページから最終ページに向かって順に設定する。これにより、移動させる論理レコードを最小限にすることができ、再配置に掛かる時間を短縮できる。また、移動対象論理レコードを最小限にすることで、インデックス更新によるオンラインへの影響も最小限にできる。
インデックスは、論理レコードを特定するためのキー値を論理レコードの格納場所と対応付けて保持しているものである。論理レコードを検索する場合には、対象の論理レコードが有するキー値をインデックス内で捜し、インデックスから所望のキー値を有する論理レコードの格納位置を取得する。取得された格納位置から論理レコードのデータを取得することにより、所望のデータを取得することが出来る。論理レコードのキー値は、銀行のデータベースの場合、個人の口座番号などである。
上記の再配置手法は、後ろにある論理レコードを、前のほうにある空き領域に配置するという手法である。論理レコードの移動元論理ページをサブレンジの先頭から後方に向かって設定すると、移動元の論理ページの論理レコードを移動することにより、空き領域がサブレンジの中ほどにできるため、それ以降の論理レコードを全て前詰めに格納しなおす必要が生じる。すなわち、空き領域以降の論理レコードを全て移動しなくてはならないという意味で、移動対象論理レコードの数が多くなってしまうことになる。後ろの論理レコードを前のほうに移動する上記再配置手法では、再配置により生じる空き領域が、サブレンジの後ろのほうにできるので、このようにして生じた空き領域を埋めるために論理レコードを移動する必要が無くなる。したがって、移動対象の論理レコードの数を減らすことができる。
本再配置手法により、各論理レコードの格納順番(サブレンジ内の物理位置)が再配置前と後で変わることになるが、各論理レコードは論理的なキー値で検索するため、問題は生じない。また、再配置処理とオンライン処理との競合により、論理ページ単位に排他待ちになることがあるが、本排他待ちは通常のオンライン処理同士の競合によるものと同程度であり、問題とはならない。なお、論理レコードの詳細については、後述する。
図3に示されるように、本実施形態の再配置処理で排他制御されるのは、移動元論理ページと移動先論理ページのみであるので、サブレンジ全体が排他制御されることが無い。したがって、再配置処理中であっても、排他制御されている移動元論理ページと移動先論理ページ以外の論理ページには、オンライン業務を行なうためにアクセスすることができる。すなわち、サブレンジが銀行の支店のデータである場合、当該支店のデータの再配置を行なっている場合でも、支店のデータにアクセスすることができるので、支店の業務を止める必要が無い。
図4A〜図4Dは、本実施形態の再配置処理の様子を示した図である。
本実施形態においては、論理レコードの再配置は以下の方法で実現する。
まず、データベースの論理レコードの配置が図4Aのようになっているとする。最初に、“CSPの示す最終格納論理ページ番号−1”の論理ページを移動元論理ページとして設定する(1)。論理レコードの再配置が可能な削除領域(あるいは、空き領域)が見つからなくなるまで(下記(3)の削除領域の検索が、移動元論理ページに辿り着くまで)、(2)〜(5)を繰り返す。
移動元論理ページ内に存在するレコードを再配置対象として抽出する(2)。サブレンジの先頭論理ページから(2)で抽出した論理レコードが格納できる削除領域を排他制御せずに検索する。なお、2回目以降は、サブレンジの先頭論理ページからではなく、前回移動先となった論理ページを起点に検索する(3)。
削除領域が見つかったら論理レコードを移動する。このとき、論理レコードを移動する移動元と移動先の論理ページだけを排他制御する。移動が完了したら排他制御を解除する(4)。論理レコードの移動により移動元論理ページが空きになった場合、移動元論理ページを1つ手前とする(5)。最後に、“CSPの示す最終格納論理ページ番号”の論理ページ内の論理レコードを、上記(2)〜(5)の繰り返し処理で(論理レコードを再配置したことで)、格納可能となった論理ページに移動させ、CSPが最後の論理レコードの移動先論理ページを指すように更新する(6)。なお、(2)、(3)は、検索する処理であるので、図には特別な表示はしていない。
なお、再配置処理を(2)〜(5)と(6)の2フェーズに分けて実施することで、(2)〜(5)の繰り返しで大量に再配置を実施している間の新規論理レコード格納を可能にしている。そこで、本新規論理レコード格納により、CSPが進んだ場合は、その進んだCSP−1から進む前のCSPまでの論理ページを移動元論理ページとして、(2)〜(5)を繰り返した後、(6)を行って完了となる。
本実施形態では、サブレンジへのオンライン業務によるアクセスを再配置処理中に許可するので、再配置処理が完了する前に、オンライン業務により、新規の論理レコードが追加されることが生じる。本実施形態では、SAMを採用したデータベースを使っているので、新規の論理レコードは、現在格納されている論理レコードの最終ページ以降に追加される。上記再配置手法では、現在格納されている論理レコードの最終レコードが格納されている論理ページの再配置は、最後に行なわれることとなる。それまでは、最終論理ページはそのまま維持されるので、新規論理レコードは、この最終論理ページの後方に格納されることになる。再配置処理開始時の最終論理ページが再配置中にも固定されていることにより、新規論理ページの追加が可能となる。
図5は、本実施形態のデータベース装置のシステム構成図である。
本実施形態のデータベース装置のシステムは、データベースのユーザの使用する端末10と、データベース15を有するコンピュータ11と、データベース15の論理レコードの再配置を指示する端末12からなる。端末10は、データベースのデータについて、追加、修正、削除、コピー等のオンライン業務を行なうための端末である。当該システムが銀行業務のためのものである場合、端末10はATMなどである。端末12は、コンピュータ11に、データベース15のデータの再配置を指示する、データベース15の管理用端末である。
コンピュータ11には、端末10からデータベース15へのアクセスを受け付け、オンライン業務を行なうための、オンライン応用プログラム13がインストールされている。オンライン応用プログラム13は、端末10からのメッセージを受信し、データベース管理システム14に、データベース15へのアクセス命令を発行する。データベース管理システム(DBMS)14は、データベース15へのアクセスを制御するシステムである。データベース管理システム14は、データの追加、修正、削除、コピー等のオンライン業務の処理をデータベース15に対して行う場合のデータベース15のハードウェアの制御を行なうものである。データベース管理システム14は、データベース15をSAMを採用したアクセス方式に従って制御する。データベース15は、論理レコードを論理ページ単位で格納する。
再配置機構16は、端末12からの動作指示に従って、データベース15の論理レコードの再配置を行なう。再配置機構16は、移動元論理ページ検出装置17、移動元論理ページ内レコード抽出/格納装置18、移動先論理ページ検出装置19、最終格納論理ページ番号(CSP)更新装置20を備える。移動元論理ページ検出装置17は、サブレンジの最終論理ページの1つ前の論理ページから、順次論理レコードが格納されている論理ページを検出する。また、移動元論理ページ検出装置17は、移動元論理ページ番号管理領域を有し、現在再配置を行なっている論理レコードの移動元論理ページ番号を格納する。移動元論理ページ内レコード抽出/格納装置18は、移動元論理ページ内の論理レコードをコピーし、コピーした論理レコードに対応する論理レコードをデータベース15から削除し、コピーした論理レコードを移動先論理ページに格納する。移動先論理ページ検出装置19は、サブレンジの先頭の論理ページから順に空き領域を探す。見つかった空き領域のうち、移動元の論理レコードを格納可能な空き領域が属する論理ページは、再配置における移動先論理ページとして設定する。最終格納論理ページ番号(CSP)更新装置20は、再配置によって論理レコードがサブレンジの格納領域内で前詰めに格納されたことにより変化した、論理レコードが格納されている最終論理ページ番号を更新する。最終格納論理ページ番号(CSP)は、データベース15に格納されており、このデータベース15に格納されたCSPを更新する。
図6〜図11は、本実施形態の処理を説明するフローチャートである。
図6及び図7は、移動元論理ページ検出の流れおよび全体の流れを示すフローチャートである。
まず、ステップS10において、移動元論理ページ番号の初期値として、”CSP−1”を設定し、移動元論理ページ番号管理域に、”CSP−1”を格納する。最終格納論理ページ番号であるCSPは、データベースに格納されており、移動元論理ページ検出装置がデータベースから読み取ることにより、CSPの値を得る。そして、CSPから1を引いた値を移動元論理ページ番号管理域に格納する。
ステップS11のループにおいて、移動元と移動先の論理ページが一致するまで、ステップS12、S13の処理を繰り返す。ステップS12においては、移動元から移動先論理ページへの論理レコードの移動処理を行う。ステップS12の詳細は、図8を用いて、後ほど説明する。ステップS13においては、移動元論理ページ番号として、”現状の移動元論理ページ番号−1”を設定する。ステップS14において、再配置処理のトランザクションを開始する。
ステップS15において、再配置処理を開始した後に、オンライン業務によって新規論理レコードが追加され、再配置処理の開始時よりもCSPが先に進んでいるか否かを判断する。本処理において、CSPが先に進まないようにCSPに排他をかける。CSPが先に進んでいるか否かは、再配置処理の最初に移動元論理ページ番号管理域に格納されたCSP−1と、現在のCSPから1を引いた値との比較を行なうことによって知ることができる。ステップS15の判断がYesの場合には、ステップS14’において、ステップ15においてかけられたCSPの排他を終了して再配置処理のトランザクションを終了し、ステップS16において、移動元論理ページ番号として、”CSP−1”を設定し、ステップS11に戻る。これにより、新規論理レコードが追加された場合に、新規論理レコードの最終論理ページまでを対象として、再配置を行う処理が開始される。すなわち、ステップS11までの処理で、既存の論理レコードの再配置が完了するが、最終論理ページ以降に新規論理レコードが追加されているので、再配置された論理レコードと新規論理レコードの間に空き領域が発生することになる。この空き領域を埋めるために、新規論理レコードを含めて、再配置処理を継続するようにする。
ステップS15の判断がNoの場合、ステップS17において、移動元論理ページ番号として”CSP”を設定し、移動元論理ページ番号管理域にCSPの値を格納する。これにより、最後まで残っていた、最終論理ページの論理レコードを移動する設定を行なう。
ステップS18において、移動元から移動先論理ページへの論理レコード移動処理を行う。ステップS18の詳細は、図9を参照して後ほど説明する。ステップS19において、再配置処理において、空き領域が存在したことにより、論理レコードの移動を行なったか否かを判断する。ステップS19の判断がNoの場合には、ステップS14’’において、トランザクションを終了してから処理を終了する。ステップS19の判断がYesの場合には、ステップS20において、CSPを最新の最終論理ページの値に更新するCSP更新処理を行う。ステップS20の詳細は、図11を参照して後ほど説明する。ステップS14’’において、再配置処理のトランザクションを終了する。ステップS14’’においては、ステップ15においてかけられたCSPの排他とステップS18においてかけられた移動元と移動先の論理ページへの排他を終了してトランザクションを終了する。
以上のように、再配置処理のトランザクションは、処理ごとに細かく開始と終了を行なうようになっている。これにより、再配置処理のトランザクションにより移動元と移動先の論理ページに排他制御がかかる期間を短くし、オンライン業務を行なうためのトランザクションとなるべく衝突しないようにしている。
図8は、図6のステップS12の処理の詳細であり、移動元論理ページ内レコード抽出および移動先論理ページへの論理レコード格納の流れ(移動元論理ページ番号がCSP以外)を示すフローチャートである。
ステップS25のループにおいて、移動元論理ページ内の全論理レコードを処理するまで処理を繰り返す。ステップS26において、再配置処理のトランザクションを開始する。このとき、移動元論理ページに排他をかける。移動先論理ページの排他は、ステップS31で行なう。ステップS27において、変数格納領域であるレコード長累積域の値を0に初期化する。ステップS28において、移動元論理ページ内の1オーナレコード及びその配下の全メンバレコード(合わせて1論理レコード)を、データベースから抽出する。そして、この論理レコードを主記憶メモリまたは外部ファイルメモリなどに格納しておく。ステップS28においては、移動元論理ページに対し、排他をかけて処理を行う。
ステップS29において、論理レコード抽出時、各論理レコード毎にレコード長を累積する。すなわち、レコード長累積域に格納されている値に、抽出した論理レコードのレコード長を加算する。ステップS30において、データベースから、抽出済みレコードを削除し、インデックスも論理レコードの削除に伴って更新する。
ステップS31において、移動先論理ページ検出処理を行う。ステップS31の処理の詳細は、図10を参照して後述する。ステップS32において、移動先論理ページが見つかったか否かを判断する。ステップS32の判断がNoの場合には、ステップS35において、現在の再配置処理のトランザクションを取り消して、処理を終了する。
ステップS32の判断がYesの場合には、ステップS33において、データベースの移動先論理ページに、主記憶メモリあるいは外部ファイルメモリから読み込まれる抽出済みの論理レコードを格納し、インデックスも同時に更新する。ステップS33の処理が終わったら、排他制御を終了する。ステップS34において、再配置処理のトランザクションを終了する。ステップS34においては、ステップS28においてかけられた移動元論理ページの排他と、ステップS31においてかけられた移動先論理ページへの排他を解除して、トランザクションを終了する。ステップS25のループが完了すると、処理を終了する。
図9は、図7のステップS18の詳細を示し、移動元論理ページ内レコード抽出および移動先論理ページへの論理レコード格納の流れ(移動元論理ページ番号がCSP)を示すフローチャートである。
ステップS40のループでは、移動元論理ページ内の全論理レコードを処理するまで処理を繰り返す。ステップS41において、変数格納領域であるレコード長累積域の初期化を行なう。具体的には、レコード長累積域の値を0に設定する。ステップS42において、移動元論理ページ内の1オーナレコード及びその配下の全メンバレコード(合わせて1論理レコード)をデータベースから抽出する。そして、抽出された論理レコードを主記憶メモリあるいは外部ファイルメモリに格納する。ステップS42においては、移動元論理ページに対し、排他をかける。
ステップS43において、論理レコード抽出時、1論理レコードを抽出するごとに、レコード長を累積する。すなわち、レコード長累積域に格納されている値に、抽出した論理レコードのレコード長を加算する。ステップS44において、データベースから抽出済み論理レコードを削除し、インデックスも更新する。ステップS45において、移動先論理ページの検出処理を行う。ステップS45の詳細は、図10を参照して後に説明する。
ステップS46において、移動先論理ページが見つかったか否かを判断する。ステップS46の判断がNoの場合には、ステップS48において、現在の再配置処理のトランザクションを取り消して、処理を終了する。ステップS46の判断がYesの場合には、ステップS47において、データベースの移動先論理ページに、主記憶メモリあるいは外部ファイルメモリから読み込まれた抽出済み論理レコードを格納し、インデックスも同時に更新する。ステップS40のループが終了すると、処理を終了する。
図10は、図8のステップS31、図9のステップS45の詳細であり、移動先論理ページ検出の流れを示すフローチャートである。
ステップS50において、排他制御を行なわないで、論理ページごとの削除領域(空き領域)のサイズを確認する。再配置を開始してから最初の移動先論理ページの検出では、サブレンジ内の先頭論理ページから後方に向かって検索する。2回目以降の移動先論理ページの検出では、前回の移動先論理ページから後方に向かって検索する。ステップS51において、削除領域サイズと抽出した論理レコードのレコード長の累積値を比較し、削除領域サイズが等しいか、大きい場合、現在の論理ページを移動先論理ページとする。移動先論理ページ番号は、変数格納領域である移動先論理ページ番号管理域に格納する。上記の場合が当てはまらない場合は、次の論理ページを検索する。この検索は、移動元論理ページまで行なって終了とする。
ステップS52において、移動先論理ページが見つかったか否かを判断する。ステップS52の判断がNoの場合には、処理を終了する。ステップS52の判断がYesの場合には、ステップS53において、移動先論理ページに排他をかけ、処理を終了する。
図11は、図7のステップS20の詳細であり、最終格納論理ページ番号(CSP)更新の流れを示すフローチャートである。
ステップS60において、データベースに格納されるCSPの値を、CSPが示す論理ページ内の最終論理レコードの移動先を示すように更新する。すなわち、移動先論理ページ番号管理域の値でデータベースのCSPを更新する。これは、再配置処理の最後において、最終格納論理ページに格納されていた最終論理レコードの移動先論理ページが、再配置処理後の最終格納論理ページとなるので、データベースに格納されるCSPが最終格納論理ページとなるように更新するものである。
図12〜図14は、本実施形態のデータ構造を説明する図である。
図12〜図14においては、銀行の顧客データを例にとって本実施形態のデータ構造を説明する。
図12及び図13は、データの論理構造とサブレンジの構成を説明する図である。
データの論理構造は、図12(a)にあるように、顧客を特定するための顧客情報が、当該顧客が行なった取引内容を記述する取引明細と関連付けられた構造となる。
サブレンジは、複数の論理レコードを有する論理ページが複数集まったものである。図12(b)に示されるように、支店の店番号「001」で指定される論理レコードの集まりが、サブレンジである。図12(b)では、論理レコードが2つのみであるので、論理ページは、1ページのみである。論理レコードは、顧客情報を示すオーナレコードと、取引明細を示すメンバレコードとからなる。図12(b)の場合、オーナレコードは、店番号と、口座番号と、顧客の氏名を保持するデータAである。データBとCは、オーナレコードであるデータAのメンバレコードであり、取引の日付と、取引内容とが保持される。オーナレコードAからは、メンバレコードの1つであるデータBへのポインタが設定されている。また、データBからは、同じくメンバレコードであるデータCへのポインタが設定されている。そして、メンバレコードの最後のデータであるデータCからは、オーナレコードであるデータAへのポインタが設定されている。このように、1つの論理レコードは、オーナレコードとその配下のメンバレコードがポインタによって一連のデータとして関連付けられた構成をしている。
図13は、図12(b)とは異なるサブレンジに属する論理レコードの例である。論理レコードの構成は、図12(b)と同じであり、オーナレコードのデータAとその配下のメンバレコードのデータB、Cが一連のデータとして、ポインタで関連付けられている。サブレンジは、ここでは支店の店番号によって設定されるとしているので、店番号が異なる論理レコードは、異なるサブレンジに属する。図12(b)の論理レコードの店番号は、「001」であるのに対し、図13の論理レコードの店番号は、「002」であり、オーナレコードに保持される店番号によって、属するサブレンジが特定される。
図14は、図12及び図13のデータ構造を、タグ付き構造化データのように表示した例である。
<顧客情報>と</顧客情報>で挟まれる一群のデータが論理レコードである。論理レコードには、<店番号>と</店番号>で示される店番号が保持される。店番号は、サブレンジを特定するためのキー値であり、顧客情報を検索する際に使用される。また、各論理レコードは、個人を特定するためのキー値として、<口座番号>と</口座番号>で示される口座番号を保持する。全顧客情報の中から、特定の個人の口座の情報を取り出す場合には、この口座番号をキー値として検索する。キー値は、インデックスに登録される。論理レコードには、その他に、顧客の氏名や、取引の日付、取引内容を保持する取引明細が保持される。
SAMを採用したデータベースにおいては、サブレンジ途中のレコードが削除され、その削除領域を再利用できるようにする場合、データベースの再配置が必要となるが、以上のような本実施形態によれば、再配置をオンライン業務を停止することなく実施可能となる。また、サブレンジ全体のレコードを再配置するのではなく、必要最小限のレコードだけを再配置する方式であるため、再配置の時間短縮が図れる。
以上の実施の形態のほか、以下の付記を開示する。
(付記1)
複数の論理ページからなるサブレンジの先頭から順番に論理レコードを格納するシーケンシャルアクセス方法を採用したデータベース装置において、
該サブレンジの後方から順次移動対象の論理レコードを検出し、該移動対象の論理レコードが含まれる論理ページを論理レコードの移動元論理ページとして設定する移動元論理ページ検出部と、
該サブレンジの先頭から順次空き領域を検出し、該移動対象の論理レコードを格納可能な該空き領域が含まれる論理ページを論理レコードの移動先論理ページとして設定する移動先論理ページ検出部と、
該移動先論理ページと該移動元論理ページのみに排他制御を行い、該移動対象の論理レコードを該移動元論理ページから、該移動先論理ページの該空き領域に移動させる論理レコード移動部と、
を備えることを特徴とするデータベース装置。
(付記2)
前記移動対象の論理レコードの検出は、前記サブレンジの最後の論理ページの1つ前の論理ページから順次先頭に向かって検出することを特徴とする付記1に記載のデータベース装置。
(付記3)
前記最後の論理ページが新規の論理レコードの追加により移動した場合には、追加前の最後の論理ページの1つ前までの移動処理が終わった後、現時点での論理レコードの移動先論理ページから追加後の最後の論理ページの1つ前までを対象として、論理レコードの移動を行なうことを特徴とする付記2に記載のデータベース装置。
(付記4)
前記最後の論理ページに含まれる論理レコードの移動は、前記サブレンジの先頭の論理ページから前記最後の論理ページの1つ前の論理ページまでの移動処理が終わった後に行なわれることを特徴とする付記2に記載のデータベース装置。
(付記5)
前記サブレンジの先頭の論理ページから前記最後の論理ページの1つ前の論理ページまでの移動処理は、前記移動先論理ページと前記移動元論理ページが一致した場合に、終了することを特徴とする付記4に記載のデータベース装置。
(付記6)
前記最後の論理ページに含まれる論理レコードの移動が終了した場合には、該最後の論理ページに含まれる論理レコードの移動先論理ページを、前記サブレンジの最後の論理ページとすることを特徴とする付記4に記載のデータベース装置。
(付記7)
前記論理レコードは、オーナレコードと、その配下のメンバレコードとがポインタで接続された構成を有することを特徴とする付記1に記載のデータベース装置。
(付記8)
前記論理レコードが移動された場合には、該論理レコードのキー値と該論理レコードの格納場所を登録するインデックスが同時に更新されることを特徴とする付記1に記載のデータベース装置。
(付記9)
複数の論理ページからなるサブレンジの先頭から順番に論理レコードを格納するシーケンシャルアクセス方法を採用したデータベース装置における論理レコードの再配置方法において、
該サブレンジの後方から順次移動対象の論理レコードを検出し、該移動対象の論理レコードが含まれる論理ページを論理レコードの移動元論理ページとして設定し、
該サブレンジの先頭から順次空き領域を検出し、該移動対象の論理レコードを格納可能な該空き領域が含まれる論理ページを論理レコードの移動先論理ページとして設定し、
該移動先論理ページと該移動元論理ページのみに排他制御を行い、該移動対象の論理レコードを該移動元論理ページから、該移動先論理ページの該空き領域に移動させる、
ことを特徴とする再配置方法。
(付記10)
複数の論理ページからなるサブレンジの先頭から順番に論理レコードを格納するシーケンシャルアクセス方法を採用したデータベース装置における論理レコードの再配置方法をコンピュータに実現させるプログラムにおいて、
該コンピュータは、
該サブレンジの後方から順次移動対象の論理レコードを検出し、該移動対象の論理レコードが含まれる論理ページを論理レコードの移動元論理ページとして設定し、
該サブレンジの先頭から順次空き領域を検出し、該移動対象の論理レコードを格納可能な該空き領域が含まれる論理ページを論理レコードの移動先論理ページとして設定し、
該移動先論理ページと該移動元論理ページのみに排他制御を行い、該移動対象の論理レコードを該移動元論理ページから、該移動先論理ページの該空き領域に移動させる、
ことを特徴とするプログラム。
10、12 端末
11 コンピュータ
13 オンライン応用プログラム
14 データベース管理システム
15 データベース
16 再配置機構
17 移動元論理ページ検出装置
18 移動元論理ページ内レコード抽出/格納装置
19 移動先論理ページ検出装置
20 最終格納論理ページ番号(CSP)更新装置

Claims (6)

  1. 複数の論理ページからなるサブレンジの先頭から順番に論理レコードを格納するシーケンシャルアクセス方法を採用したデータベース装置において、
    該サブレンジの後方から順次移動対象の論理レコードを検出し、該移動対象の論理レコードが含まれる論理ページを論理レコードの移動元論理ページとして設定する移動元論理ページ検出部と、
    該サブレンジの先頭から順次空き領域を検出し、該移動対象の論理レコードを格納可能な該空き領域が含まれる論理ページを論理レコードの移動先論理ページとして設定する移動先論理ページ検出部と、
    該移動先論理ページと該移動元論理ページのみに排他制御を行い、該移動対象の論理レコードを該移動元論理ページから、該移動先論理ページの該空き領域に移動させる論理レコード移動部と、
    を備えることを特徴とするデータベース装置。
  2. 前記移動対象の論理レコードの検出は、前記サブレンジの最後の論理ページの1つ前の論理ページから順次先頭に向かって検出することを特徴とする請求項1に記載のデータベース装置。
  3. 前記最後の論理ページが新規の論理レコードの追加により移動した場合には、追加前の最後の論理ページの1つ前までの移動処理が終わった後、現時点での論理レコードの移動先論理ページから追加後の最後の論理ページの1つ前までを対象として、論理レコードの移動を行なうことを特徴とする請求項2に記載のデータベース装置。
  4. 前記最後の論理ページに含まれる論理レコードの移動は、前記サブレンジの先頭の論理ページから前記最後の論理ページの1つ前の論理ページまでの移動処理が終わった後に行なわれることを特徴とする請求項2に記載のデータベース装置。
  5. 複数の論理ページからなるサブレンジの先頭から順番に論理レコードを格納するシーケンシャルアクセス方法を採用したデータベース装置における論理レコードの再配置方法において、
    該サブレンジの後方から順次移動対象の論理レコードを検出し、該移動対象の論理レコードが含まれる論理ページを論理レコードの移動元論理ページとして設定し、
    該サブレンジの先頭から順次空き領域を検出し、該移動対象の論理レコードを格納可能な該空き領域が含まれる論理ページを論理レコードの移動先論理ページとして設定し、
    該移動先論理ページと該移動元論理ページのみに排他制御を行い、該移動対象の論理レコードを該移動元論理ページから、該移動先論理ページの該空き領域に移動させる、
    ことを特徴とする再配置方法。
  6. 複数の論理ページからなるサブレンジの先頭から順番に論理レコードを格納するシーケンシャルアクセス方法を採用したデータベース装置における論理レコードの再配置方法をコンピュータに実現させるプログラムにおいて、
    該コンピュータは、
    該サブレンジの後方から順次移動対象の論理レコードを検出し、該移動対象の論理レコードが含まれる論理ページを論理レコードの移動元論理ページとして設定し、
    該サブレンジの先頭から順次空き領域を検出し、該移動対象の論理レコードを格納可能な該空き領域が含まれる論理ページを論理レコードの移動先論理ページとして設定し、
    該移動先論理ページと該移動元論理ページのみに排他制御を行い、該移動対象の論理レコードを該移動元論理ページから、該移動先論理ページの該空き領域に移動させる、
    ことを特徴とするプログラム。
JP2010123031A 2010-05-28 2010-05-28 データベース装置 Active JP5593841B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010123031A JP5593841B2 (ja) 2010-05-28 2010-05-28 データベース装置
US13/072,007 US8682941B2 (en) 2010-05-28 2011-03-25 Database apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010123031A JP5593841B2 (ja) 2010-05-28 2010-05-28 データベース装置

Publications (2)

Publication Number Publication Date
JP2011248747A JP2011248747A (ja) 2011-12-08
JP5593841B2 true JP5593841B2 (ja) 2014-09-24

Family

ID=45022979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010123031A Active JP5593841B2 (ja) 2010-05-28 2010-05-28 データベース装置

Country Status (2)

Country Link
US (1) US8682941B2 (ja)
JP (1) JP5593841B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697169A (zh) * 2009-10-23 2010-04-21 中兴通讯股份有限公司 源数据库和目的数据库之间数据同步的方法、装置及系统
US9514211B2 (en) * 2014-07-20 2016-12-06 Microsoft Technology Licensing, Llc High throughput data modifications using blind update operations
US10324733B2 (en) 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US9787576B2 (en) 2014-07-31 2017-10-10 Microsoft Technology Licensing, Llc Propagating routing awareness for autonomous networks
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US9535253B2 (en) 2015-02-09 2017-01-03 Microsoft Technology Licensing, Llc Display system
US9513480B2 (en) 2015-02-09 2016-12-06 Microsoft Technology Licensing, Llc Waveguide
US10018844B2 (en) 2015-02-09 2018-07-10 Microsoft Technology Licensing, Llc Wearable image display system
US11086216B2 (en) 2015-02-09 2021-08-10 Microsoft Technology Licensing, Llc Generating electronic components
US9423360B1 (en) 2015-02-09 2016-08-23 Microsoft Technology Licensing, Llc Optical components
US10317677B2 (en) 2015-02-09 2019-06-11 Microsoft Technology Licensing, Llc Display system
US9429692B1 (en) 2015-02-09 2016-08-30 Microsoft Technology Licensing, Llc Optical components
US9827209B2 (en) 2015-02-09 2017-11-28 Microsoft Technology Licensing, Llc Display system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289913A (ja) 1992-04-06 1993-11-05 Shikoku Nippon Denki Software Kk データベース再編成処理方式
US5842196A (en) * 1996-04-03 1998-11-24 Sybase, Inc. Database system with improved methods for updating records
US7296043B2 (en) * 2003-05-30 2007-11-13 Microsoft Corporation Memory file size adjustment
US20050102428A1 (en) * 2003-11-12 2005-05-12 Heintze Nevin C. Memory management for ternary CAMs and the like
US20060095752A1 (en) * 2004-08-28 2006-05-04 Min-Cheng Kao [method for return instruction identification and associated method for return target pointer prediction]
JP2009020793A (ja) 2007-07-13 2009-01-29 Hitachi Software Eng Co Ltd データベース再編成システム及びページ取得方法
US8655833B2 (en) * 2008-06-17 2014-02-18 Qualcomm Incorporated Database architecture for supporting group communications among wireless communication devices
EP2534568A1 (en) * 2010-02-09 2012-12-19 Telefonaktiebolaget LM Ericsson (publ) Data storage method

Also Published As

Publication number Publication date
JP2011248747A (ja) 2011-12-08
US20110295913A1 (en) 2011-12-01
US8682941B2 (en) 2014-03-25

Similar Documents

Publication Publication Date Title
JP5593841B2 (ja) データベース装置
EP2452261B1 (en) Apparatus and method for read optimized bulk data storage
US9953051B2 (en) Multi-version concurrency control method in database and database system
US7613738B2 (en) FAT directory structure for use in transaction safe file system
US7886124B2 (en) Method and mechanism for implementing dynamic space management for large objects
JP5439236B2 (ja) 計算機システムおよびアプリケーションプログラムの実行方法
KR20030056540A (ko) 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법
CN107665219A (zh) 一种日志管理方法及装置
KR20110046118A (ko) 적응적 로깅 장치 및 방법
JP6293709B2 (ja) ストレージシステムおよびストレージシステム用プログラム
US20110099347A1 (en) Managing allocation and deallocation of storage for data objects
US7386692B1 (en) Method and apparatus for quantized deadline I/O scheduling
US20060059209A1 (en) Crash recovery by logging extra data
US20220245123A1 (en) Fast Skip List Purge
JP4279346B2 (ja) データベース管理装置及びプログラム
JP6028392B2 (ja) 生成プログラム、生成方法、生成装置、検索プログラム、検索方法および検索装置
JP5547677B2 (ja) 文書管理装置、文書管理システム、文書管理プログラム、および文書管理方法
JPH0277950A (ja) データベース処理システム
KR100846541B1 (ko) 데이터베이스 테이블의 컬럼 삭제 방법 및 장치
JP4173147B2 (ja) データベース管理装置及びプログラム
JP4209858B2 (ja) データベース管理装置及びプログラム
KR101690282B1 (ko) 테이블스페이스 속성 변경 방법 및 그 장치
Davis Traditional file design
JPH0443441A (ja) データベースのログ管理処理方式
JPH01166232A (ja) データ回復方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140721

R150 Certificate of patent or registration of utility model

Ref document number: 5593841

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150