JP2001142752A - データベース管理方法 - Google Patents

データベース管理方法

Info

Publication number
JP2001142752A
JP2001142752A JP32365799A JP32365799A JP2001142752A JP 2001142752 A JP2001142752 A JP 2001142752A JP 32365799 A JP32365799 A JP 32365799A JP 32365799 A JP32365799 A JP 32365799A JP 2001142752 A JP2001142752 A JP 2001142752A
Authority
JP
Japan
Prior art keywords
database
storage area
database storage
segment
hash
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
JP32365799A
Other languages
English (en)
Other versions
JP4199888B2 (ja
Inventor
Nobuo Kawamura
信男 河村
Ryuichi Hoshino
星野  隆一
Hideaki Kasao
英明 笠尾
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 Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP32365799A priority Critical patent/JP4199888B2/ja
Publication of JP2001142752A publication Critical patent/JP2001142752A/ja
Application granted granted Critical
Publication of JP4199888B2 publication Critical patent/JP4199888B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】データベース容量の大規模化に伴ってデータベ
ース格納領域を追加する場合に追加したデータベース格
納領域へのデータの再配置が必要となる。 【解決手段】データベースの格納領域としてm個のデー
タベース格納領域が与えられた場合、データベースの一
つ又は複数のデータ項目をパーティショニングキーと
し、前記データベースを前記パーティショニングキーに
対してハッシュ関数を適用し、n(m≦n)個の論理的
な単位であるバケットに分割し、当該与えられたデータ
ベース格納領域数に応じて各バケットを管理するデータ
ベース格納領域の対応を決定するハッシュマップ表と、
分配されたバケットを各データベース格納領域内の格納
単位であるセグメントとマッピングさせるためのセグメ
ントハッシュマップ表によってデータベースを管理す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、時系列的に増加し
ていくデータを新たに増設したデータベース格納領域に
データを再配置することによって、データベースの大規
模化の運用を行うデータベース管理システムに関する。
【0002】
【従来の技術】一般的にデータベースを有するデータベ
ースシステムでは、データベースに保有する情報は時々
刻々変化している。その情報は時間経過と共に新たな情
報が追加され、あらかじめ用意したデータベースを格納
するためのデータベース格納領域の容量よりも大きくな
る場合がある。
【0003】そのため、大規模なデータベースを扱う場
合、あらかじめデータベースを複数のデータベース格納
領域に分割して格納する方法が採用される。複数のデー
タベース格納領域に分割格納する分割手段として、キー
・レンジ分割、ハッシュ分割、均等分割といった手段が
用意される。各々の分割手段によって、分割したパーテ
ィションを指定したデータベース領域と1対1に対応さ
せたり、複数のパーティションをあるデータベース領域
に対応させたりという手法が採られる。時間経過と共に
新たな情報が追加される場合、2つのデータベースの拡
張方法が考えられる。一つは、分割手段としてキーレン
ジ分割が採用されている場合、新たなキーレンジを追加
したり、あるキーレンジを分割するといった方法があ
る。これは、新たにデータベース領域を追加することな
く操作することも可能である。もう一つは、分割手段は
変更しないで新たにデータベース領域を追加または既存
のデータベース領域を拡張する方法がある。これは、容
量の増大に伴ってデータベース格納領域を増分させる方
法である。これに対して、分割手段としてハッシュ分割
を採用すると、分割に対するオーバヘッドが少なく、デ
ータの増加に対する柔軟性が高い。
【0004】ただし、あらかじめ用意したデータベース
格納領域は時間と共に新たな情報が追加されるだけでな
く、過去の古いデータを削除する場合もあり、必ずしも
常にデータベース格納領域の容量よりも大きくなるわけ
ではない。このような場合は、データベース再編成を行
うことによって古いデータを削除することによって空き
を作成し、新たに追加される情報を格納するために使用
するようにすることで解決される。
【0005】しかし、過去のデータを延々と蓄積してい
くようなデータベースシステムでは、将来予測されるデ
ータ量を想定し、あらかじめデータベース格納領域を用
意しておくのは資源管理コストがかかるため、当面、予
想されるデータ量まで格納できるデータベース領域を準
備しておき、実際にデータ量の増加に伴って新たなデー
タベース格納領域が必要になった時点でデータベース格
納領域を追加する運用を行う。
【0006】データベースに対するデータベース格納領
域の追加は、データベースの定義変更を伴う。最も単純
な方法としては、データベースの内容を一旦バックアッ
プし、データベース格納領域の追加を行う定義変更処理
を行った後、バックアップしたデータベースを再ローデ
ィングするという方法がある。ただし、この方法では大
規模データベースの場合、バックアップを取得する時間
及びバックアップ媒体等にかかるコストが非常に高く、
再ローディングする処理も膨大な時間を要する。
【0007】第1の公知例として、米国特許4,41
2,285がある。本公知例では、表をハッシュ分割す
るが、あらかじめ複数のバケットに分割し、いくつかの
バケットを仮想プロセッサに対応させて管理する技術が
開示されている。
【0008】第2の公知例として、特開平6−1391
19号公報には、複数のプロセッサで構成される並列デ
ータベースシステム上に分割されたデータベースをアク
セス頻度によってデータを再編成する技術が開示されて
いる。
【0009】第3の公知例として、特開平6−3142
99号公報には、複数のプロセッサで構成される並列デ
ータベースシステム上に、階層的にデータベースを分割
する技術が開示されている。
【0010】第4の公知例として、特開平7−1413
94号公報には、複数のプロセッサで構成される並列デ
ータベースシステム上に分割されたデータベースに対し
て、第5の公知例として、特開平9−293006号公
報には、ハッシュ関数を使用した分割方法を示し、デー
タベース分割数が変更された場合にデータの再配置を必
要とせず、データを新規追加した格納領域に格納しよう
とする技術が開示されている。ただし、本公知例ではデ
ータの再配置は必要ないが、検索時には分割したすべて
の記憶装置を検索するようになっている。
【0011】
【発明が解決しようとする課題】従来技術における前者
の方法の場合、データベースの大規模化についての問題
が生じる。データベースの大規模化によって再配置が必
要になるのは、データベース領域中の表に対するデータ
の追加が行われることによって、あらかじめ与えられた
データベース格納領域の空きがなくなる場合である。
【0012】上述したハッシュ分割を採用したデータベ
ースの場合、ハッシング結果は分割数すなわち与えられ
たデータベース格納領域数に依存するため、新たにデー
タベース格納領域を追加する場合、それまで蓄積したデ
ータをすべて新しい分割数の元でハッシングをやりなお
し再格納しなければならない。これは、非常に膨大な時
間と資源を浪費することになり、効率良くシステムを運
用することができない。
【0013】また、再格納しないで既存の各データベー
ス格納領域から、再配置処理として再ハッシュした結果
によって他のデータベース格納領域にデータを移動させ
る場合、結局、各データベース格納領域中のすべてのデ
ータを読み込まなければならず、再ハッシュしても同じ
データベース格納領域内に残るデータがある場合でも無
駄なデータの読み込みが生じてしまう。
【0014】本発明の第1の目的は、ハッシュ分割した
データベースに対してデータベース格納領域を追加する
場合に、既存のデータベース格納領域から新たに追加し
たデータベース格納領域に対して最も少ないコストでデ
ータを再配置することを可能とするデータベース格納管
理方法を提供することにある。
【0015】
【課題を解決するための手段】前記目的を達成するため
に、本発明は、一つ又は複数の外部記憶装置から構成さ
れるデータベース格納領域を管理し、前記データベース
格納領域は物理的に固定長の複数のページから構成され
る複数のセグメントを管理するデータベース管理方法に
おいて、データベースの格納領域としてm個のデータベ
ース格納領域が与えられた場合、データベースの一つ又
は複数のデータ項目をパーティショニングキーとし、前
記データベースを前記パーティショニングキーに対して
ハッシュ関数を適用し、n(m≦n)個の論理的な単位
であるバケットに分割し、当該与えられたデータベース
格納領域数に応じて各バケットを管理するデータベース
格納領域の対応を決定するハッシュマップ表と、分配さ
れたバケットを各データベース格納領域内の格納単位で
あるセグメントとマッピングさせるためのセグメントハ
ッシュマップ表によってデータベースを管理することを
特徴とするデータベース管理方法を提供する。
【0016】
【発明の実施の形態】以下、本発明の一実施例を添付図
面を用いて具体的に説明する。
【0017】図2は本実施形態のコンピュータシステム
のハードウエア構成の一例を示す図である。コンピュー
タシステム10は、CPU12、主記憶装置14、磁気
ディスク装置等の外部記憶装置20及び多数の端末30
で構成される。主記憶装置14上には、データベース管
理システム40が置かれ、複数の外部記憶装置20を使
用してデータベース管理システム40が管理するデータ
ベースを格納するデータベース領域50a,50b,5
0c,50d、データベースの定義情報を管理するデー
タベース定義情報格納領域60およびデータベースに対
する更新操作に関する更新履歴情報を管理するデータベ
ースログ格納領域70が構成される。。さらに、データ
ベース管理システム40を実現するプログラムも外部記
憶装置20上に格納される。
【0018】図1は本発明におけるデータベースの管理
形態を示す。図2で示したデータベース定義情報格納領
域60では、データベースシステムを構成するデータベ
ース格納領域やデータベースの定義情報が格納される。
データベース格納領域管理表61は、データベースシス
テム内のデータベースを格納する領域として定義された
データベース格納領域に関する情報を管理する。データ
ベース格納領域構成ファイル管理表62は、データベー
ス格納領域定義時に指定された図2に示す外部記憶装置
上に割り当てたファイルの構成に関する情報を管理す
る。データベース管理表63は、特にリレーショナルデ
ータベース管理システムのような場合に定義された表を
管理する。データベース構成列管理表64は、定義され
た表を構成する列に関する情報を管理する。データベー
ス分割管理表65は、表定義時にデータベースシステム
内に定義されたデータベース格納領域を指定してデータ
を分割して格納した場合の表とデータベース格納領域の
関連情報を持つ。ハッシュマップ表66は、本発明で必
要とするデータベース内に定義された表を複数のデータ
ベース格納領域に分割して格納する場合に、その分割方
法としてハッシュ分割方法が指定されると、指定された
データベース格納領域数に対応してハッシュバケットに
分割した場合の各ハッシュバケットをどのデータベース
格納領域に格納するかを決定する対応表を持つ。
【0019】次に、データベース格納領域50a,50
b,50c,50dの構成について説明する。ハッシュ
分割された表について、データベース格納領域内での管
理方法を示す。定義された表について、ハッシュバケッ
トに分割する場合、ハッシュマップ表によってハッシュ
バケットの要素番号が決定されると、決定された要素番
号のハッシュバケットのデータを格納する物理的に固定
長の複数のページから構成されるセグメント54にデー
タを格納した場合の先頭セグメント番号を管理するセグ
メントハッシュマップ表51と、データベース格納領域
内に確保されたすべてのセグメントの割当をビットマッ
プとして管理するためのセグメントビットマップ表52
と、割り当てたセグメント54内のページの割当をビッ
トマップとして管理し、なおかつ、同じハッシュバケッ
トの要素番号で複数のセグメントが割り当てられる場合
にセグメント間のチェインを管理するページビットマッ
プ表53から構成される。
【0020】図3は、図2で示したデータベース定義情
報格納領域60に格納されたデータベース定義情報の一
実施例として詳細に示したものである。データベース格
納領域として、DDICAREA,DBAREA1,D
BAREA2,DBAREA3,DBAREA4が定義
されている場合にデータベース格納領域管理表61及び
データベース格納領域構成ファイル管理表62に格納さ
れた情報を示す。データベース格納領域管理表61は、
データベース領域名、種別、構成ファイル数、サーバ
名、ページ長、セグメントサイズ及びセグメント数の列
から構成される。また、データベース格納領域構成ファ
イル管理表は、データベース領域名、番号、及び構成フ
ァイル名の列で構成される。当該データベースでは、D
DICAREAというデータベース格納領域が定義され
ると、その種別としてデータベース定義情報格納領域で
あることを示す’D’という情報で識別され、当該デー
タベース格納領域を構成するファイル数である1、図1
におけるデータベース格納領域で示したセグメント54
を構成するページのサイズであるページ長として409
6バイト、当該セグメントを構成するページ数として5
0ページ、さらに当該データベース格納領域に割り当て
られるセグメント数50が定義情報として格納される。
同様に、DBAREA1,DBAREA2,DBARE
A3,DBAREA4が定義されると、データベース格
納領域の種別としてデータベース格納領域であることを
識別する’U’、及び構成ファイル数、サーバ名、ペー
ジ長、セグメントサイズ、セグメント数の情報が各々格
納される。これに対して、データベース格納領域構成フ
ァイル管理表62には、各データベース格納領域を構成
するファイル名と複数のファイルで構成される場合に
は、その通番が情報として格納される。
【0021】次に当該データベースで「ZAIKO」表
が定義された場合について、当該表の定義情報がデータ
ベース管理表63、データベース構成列管理表64、及
びデータベース分割管理表65にどのように格納される
かについて説明する。「ZAIKO」表の定義文の一例
を示す。
【0022】 CREATE TABLE ZAIKO ( SCODE CHAR(10), SNAME CHAR(10), COL CHAR(4), TANKA INTEGER, ZSURYO INTEGER) HASH BY SCODE IN(DBAREA1,DBARE2,DBAREA3,DBAREA4) ; 上記定義によって、「ZAIKO」表は4つの列SCO
DE,SNAME,COL,TANKA,ZSURYO
で構成され、SCODE列をパーティショニングキーと
してハッシュ分割し、ハッシュ分割したデータは、デー
タベース格納領域DBAREA1,DBAREA2,D
BAREA3,DBAREA4に分割して格納するよう
指示されている。当該定義内容によって、データベース
管理表63には表名、所有者、構成列数、分割方法、指
定したデータベース格納領域数を示す分割数、及びパー
ティショニングキー情報としてSCODE列であること
を示すためデータベース構成列管理表内の列番号が格納
される。データベース構成列管理表64には、「ZAI
KO」表を構成する5つの列の定義情報として、列名、
表名、所有者、表を構成する列の順番を示す列番号、デ
ータ型、データ長が格納される。さらに、データベース
分割管理表65には、「ZAIKO」表を4つのデータ
ベース格納領域に分割して格納するため、表名、データ
ベース格納領域の定義順を示す番号、及びデータベース
格納領域名が格納される。
【0023】図4では、図2に示したハッシュマップ表
66を示す。本発明の実施例として当該データベースで
は、データベースの表を複数のデータベース格納領域に
分割する場合の最大データベース格納領域数を512と
する。また、このとき、ハッシュ分割での最大ハッシュ
バケット数を1,024とする。ハッシュマップ表66
は、一つ一つの表のハッシュバケットの要素番号とデー
タベース格納領域との対応を示すようにする方法も考え
られるが、データベース定義情報格納領域60の容量増
大を防止するため、2〜512分割までのすべてのデー
タベース格納領域指定数に応じ、ハッシュ関数によって
求められたハッシュバケット要素番号と図3に示したデ
ータベース分割管理表の「番号」列の値との対応表を持
つようにしている。最も簡単な例として2分割の例を挙
げる。2分割の場合、ハッシュマップ表の第1エントリ
を参照し、ハッシュバケット要素番号の0〜511まで
がデータベース格納領域の指定番号の0に格納すること
を示し、ハッシュバケット要素番号の512〜1023
まではデータベース格納領域の指定番号の1に格納する
ことを示す。それに対して、該当する表のデータベース
分割管理表の番号0および1を参照してデータベース格
納領域が決定される。次に、3分割の場合は、2分割状
態のデータベースから1つのデータベース格納領域が追
加された場合に追加されたデータベース格納領域に対し
て既存の2つの分割されたデータベース格納領域のハッ
シュバケットから3分の1ずつハッシュバケットを移動
するようにさせたハッシュマップ表となる。したがっ
て、ハッシュバケット要素番号0〜341までの342
個のハッシュバケットがデータベース分割管理表の指定
番号0のデータベース格納領域に格納することを示し、
ハッシュバケット要素番号512〜853までの341
個のハッシュバケットがデータベース分割管理表の指定
番号1のデータベース格納領域に格納することを示し、
ハッシュバケット要素番号342〜511及び854〜
1023までの合計341個のハッシュバケットがデー
タベース分割管理表の指定番号2のデータベース格納領
域に格納することを示す。3分の1に分ける場合、割り
切れない場合にはデータベース分割管理表の指定番号の
小さい方にハッシュバケットが多く残るように調整す
る。これによって、データの再配置が行われる場合に少
しでも移動するデータ量を削減できる。さらに4分割の
場合も同様に、3分割状態のデータベースから1つのデ
ータベース格納領域が追加された場合に追加されたデー
タベース格納領域に対して既存の3つの分割されたデー
タベース格納領域のハッシュバケットから4分の1ずつ
ハッシュバケットを移動するようにさせたハッシュマッ
プ表となる。この場合、ハッシュバケット要素番号0〜
255までの256個のハッシュバケットがデータベー
ス分割管理表の指定番号0のデータベース格納領域に格
納することを示し、ハッシュバケット要素番号512〜
767までの256個のハッシュバケットがデータベー
ス分割管理表の指定番号1のデータベース格納領域に格
納することを示し、ハッシュバケット番号342〜46
9までの128個、ハッシュバケット要素番号854〜
981までの128個の合計256個のハッシュバケッ
トがデータベース分割管理表の指定番号2のデータベー
ス格納領域に格納することを示し、ハッシュバケット要
素番号256〜341までの86個、ハッシュバケット
要素番号470〜511までの42個、ハッシュバケッ
ト要素番号768〜853までの85個、ハッシュバケ
ット要素番号982〜1023までの43個の合計25
6個のハッシュバケットがデータベース分割管理表の指
定番号3のデータベース格納領域に格納することを示
す。このようにして、最大分割数である512分割まで
のハッシュバケットの対応表が保持されている。したが
って、データベースの表定義時に決定したデータベース
格納領域数によって参照するハッシュマップ表のエント
リを決定すればよいことになる。
【0024】次に、図1におけるセグメントハッシュマ
ップ表51、セグメントビットマップ表52、ページビ
ットマップ表53、およびセグメント54に関して図5
のデータベースの表へのデータ挿入処理の概略フローお
よび図6を用いて詳細に示す。データベースの表に対し
てデータの挿入処理要求が行われる場合、「ZAIK
O」表を例にとると以下のような要求がデータベース管
理システムに対して発行される。
【0025】INSERT INTO ZAIKO VALUES('101','フ゛ラウ
ス','red',35000,62) 上記、要求が与えられた場合、まず、図2におけるデー
タベース定義情報格納領域60からデータベース定義情
報を取得する(ステップ410)。取得した情報の中か
ら、「ZAIKO」表はパーティショニングキーSCO
DE列でハッシュ分割することが判明する。したがっ
て、SCODE列に指定された値’101’に対してハ
ッシュ関数を施す(ステップ411)。ハッシュ関数を
施した結果、図4におけるハッシュマップ表のハッシュ
バケット要素番号が決定される。ここでは、ハッシュバ
ケット要素番号が256となったとする。そして、当該
「ZAIKO」表はデータベース格納領域4つに分割す
ることが与えられているので、図4におけるハッシュマ
ップ表の分割数4のハッシュマップ表のハッシュバケッ
ト要素番号256のエントリを参照し、データベース分
割管理表内の番号3がデータ格納するデータベース格納
領域であることがわかる(ステップ412)。データベ
ース分割管理表の「番号」列が3であるデータベース格
納領域名を検索することによって、データベース格納領
域名が’DBAREA4’であることが確定する。デー
タベース格納領域が決定したので、次にデータベース格
納領域’DBAREA4’内の格納するセグメントを決
定するため、「ZAIKO」表のセグメントハッシュマ
ップ表51を参照する。セグメントハッシュマップ表5
1を参照する場合、先ほど求めたハッシュバケット要素
番号256を使ってセグメントハッシュマップ表内の配
列番号256のエントリを参照する(ステップ41
3)。ここで、セグメントハッシュマップ表66内の配
列番号256には、図6で示すように当該ハッシュバケ
ット要素番号を持つデータのセグメント数及びセグメン
ト先頭ポインタとして先頭セグメント管理テーブルの番
号が保持されている。ステップ414によって、このセ
グメント数が0又は先頭セグメント管理テーブルの番号
が0かどうかを判定することによってセグメントが割り
当てられているか否かをチェックする。もし、0の場合
はまだセグメントが割り当てられていない、すなわち、
当該ハッシュバケット要素番号に該当するデータが1件
も格納されていないので、図1におけるセグメントビッ
トマップ表を参照し、セグメントを確保する処理を行う
(ステップ415)。図1におけるセグメントビットマ
ップ表52は、当該データベース格納領域内に確保でき
る全セグメント数分のビットマップで管理されており、
空きビットをサーチすることによって見つかった空きセ
グメントを新規セグメントとして確保する。そして確保
したセグメントのページ割当状況を管理するセグメント
管理テーブルを図1におけるページビットマップ表53
から確保し、セグメントハッシュマップ表の配列番号2
56のエントリにセグメント数として1を設定し、セグ
メント先頭ポインタとして確保したセグメント番号を設
定する。また、確保したセグメント管理テーブルには、
次のセグメントがまだ割り当てられていないことを示す
ため、NEXTポインタには0を設定する(ステップ4
16)。次に、確保したセグメントからデータを格納す
るページを決定する。新規に確保したセグメントの場
合、セグメント管理テーブル中に含まれるページビット
マップ領域はすべてのビットが空きページの状態とな
る。先頭ページを使用することを決定し、先頭ビットを
使用状態に更新する。また、ステップ414によってす
でに該当ハッシュバケットのセグメントが確保されてい
る場合は、セグメント管理テーブルのチェインをたど
り、最終セグメントのセグメント管理テーブルのページ
ビットマップ領域を参照し、最終ページ番号をアクセス
する。最終ページ番号のページを入力し、挿入するレコ
ード(行)が格納できる空き領域が存在すれば当該ペー
ジを挿入ページとして決定する(ステップ417)。も
し、空き領域が存在しなければ先ほどのセグメント管理
テーブルから空きページを検索し、空きページがあれば
当該ページを挿入ページとして決定する。さらに、当該
セグメント中に空きページが存在しない場合は、セグメ
ントビットマップ表を検索し、空きセグメントを確保す
るようにする。空きセグメントも存在しない場合は、ハ
ッシュバケット要素番号に該当するすべてのセグメント
管理テーブルのチェインを辿り、核セグメント管理テー
ブルから空きページをサーチすることによって挿入ペー
ジを決定する。それでも、空きページが存在しない場合
は、当該データベース格納領域内に空き領域が存在しな
いことになり、挿入不可となる。こうして、正常に決定
された挿入ページに行を格納することによって行の挿入
処理が完了する(ステップ418)。行挿入に際して
は、当然であるが図2におけるデータベースログ格納領
域70に対して挿入処理に関するログを取得しておく必
要がある。
【0026】以上のように行を挿入する場合、ハッシュ
関数によって定められたデータベース格納領域を決定
し、さらにデータベース格納領域内でもハッシュバケッ
ト要素番号に該当するセグメントにデータを格納するた
め、他のパーティショニングキー値によって求められた
異なるハッシュバケット要素番号のデータは明確に別セ
グメントに格納される。さらに、複数のユーザから行を
挿入する要求が発生した場合、同じデータベース格納領
域内であっても分割キー値が異なれば格納するセグメン
トも異なるので、同一セグメントへの挿入といった競合
を大幅に抑止することも可能になる。
【0027】次に、データベースに対する問合せとして
検索要求が発行された場合の検索処理の処理の流れを図
7に示す。データベースの表に対してデータの検索処理
要求が行われる場合、「ZAIKO」表を例にとると以
下のような要求がデータベース管理システムに対して発
行される。
【0028】SELECT SCODE,SNAME,COL,TANKA,ZSURYO FR
OM ZAIKO WHERE SNO='101' 上記要求が与えられた場合、まず、図2におけるデータ
ベース定義情報格納領域60からデータベース定義情報
を取得する(ステップ420)。取得した情報の中か
ら、「ZAIKO」表はパーティショニングキーSCO
DE列でハッシュ分割していることが判明する。次に当
該検索要求の探索条件中にパーティショニングキーであ
るSCODE列に対する条件指定があるか否かをチェッ
クする(ステップ421)。当該問い合わせの場合、S
NO列に対する条件が指定されているので、ハッシュ関
数を適用することによってデータベース格納領域を決定
する。ハッシュ関数を施した結果、図3におけるハッシ
ュマップ表のハッシュバケット要素番号が決定される。
ここでは、ハッシュバケット要素番号が256となった
とする。そして、当該「ZAIKO」表はデータベース
格納領域4つに分割することが与えられているので、図
4におけるハッシュマップ表の分割数4のハッシュマッ
プ表のハッシュバケット要素番号256のエントリを参
照し、データベース分割管理表内の番号3がデータ格納
するデータベース格納領域であることがわかる(ステッ
プ423)。データベース分割管理表の「番号」列が3
であるデータベース格納領域名を検索することによっ
て、データベース格納領域名が’DBAREA4’であ
ることが確定する。データベース格納領域が決定したの
で、次にデータベース格納領域’DBAREA4’内の
当該ハッシュバケット要素番号に該当するセグメントを
決定するため、「ZAIKO」表のセグメントハッシュ
マップ表51を参照する。セグメントハッシュマップ表
51を参照する場合、先ほど求めたハッシュバケット要
素番号256を使ってセグメントハッシュマップ表内の
配列番号256のエントリを参照する(ステップ42
4)。セグメントハッシュマップ表の配列番号256の
エントリ中に設定された先頭セグメント管理テーブル番
号が存在する場合は、セグメント管理テーブルのチェイ
ンを辿りながら、全セグメントの割当ページを検索対象
として探索条件を評価する(ステップ425)。もし、
該当するエントリ中にセグメント番号が設定されていな
い場合は検索対象データがないということになり、検索
結果は0件となる。また、ステップ421によってパー
ティショニングキーであるSNO列に対する条件指定が
ない場合は、すべてのデータベース格納領域が検索対象
になる。すべてのデータベース格納領域が検索対象とな
った場合、各データベース格納領域内のセグメントハッ
シュマップ表に設定されたセグメント番号が0でないも
のを対象に各要素番号のセグメントチェインを辿りなが
ら探索条件評価を行う(ステップ426ないし42
7)。
【0029】以上のようにデータベース検索の場合、パ
ーティショニングキーに対する条件が指定されると、検
索対象となるデータベース格納領域を絞り込むだけでな
く、データベース格納領域内のセグメントを絞り込むこ
とができるので、アクセスする必要のないセグメントを
検索対象から除外することができる。
【0030】本発明によるデータベース分割格納方法を
用い、データの再配置を行う場合の実施例を図8及び図
9を用いて説明する。データベースシステム構成として
は、図2に示した構成を用い、データベースの定義とし
ては、図3で示した「ZAIKO」表を用いて、当該
「ZAIKO」表に対して新規にデータベース格納領域
「DBAREA5」を追加する場合のデータベース再配
置処理の流れを図8に示し、その場合のデータベースの
データの移動方法を図9に示す。データベース再配置処
理は、図9に示したようにデータベース管理システム4
0内の一つの処理プログラムであるデータベース再配置
処理部430として動作する。まず、データベース再配
置処理要求としてデータベース格納領域「DBAREA
5」の追加が要求されると、新規に追加したデータベー
ス格納領域を含めた分割数でのハッシュマップ表を図4
に示した各分割数毎のハッシュマップ対応表から求める
(ステップ431)。ここでは、4分割されたデータベ
ースに対してデータベース格納領域を一つ追加するので
5分割の場合のハッシュマップ表を求めることになる。
次に求めたハッシュマップ表から追加データベース格納
領域が管理するハッシュバケット要素番号を抜き出した
リストを作成する(ステップ432)。つまり、5分割
の場合のハッシュマップ表の各配列の中の番号が4であ
る配列番号をハッシュバケット要素番号として取り出せ
ば良い。こうして追加したデータベース格納領域が管理
すべきハッシュバケット要素番号が判明したので、現在
の分割数である4分割のハッシュマップ表を参照し、先
ほど取り出したハッシュバケット要素番号のハッシュバ
ケットを現在管理しているデータベース格納領域の番号
を取得する(ステップ433)。データベース格納領域
の番号が判明すれば、図3におけるデータベース定義情
報格納領域60中のデータベース分割管理表65からデ
ータベース格納領域名を得ることができる。こうして得
られた追加したデータベース格納領域への移動対象とな
るハッシュバケット要素番号と既存のデータベース格納
領域との対応表を作成し、既存のデータベース格納領域
毎に移動対象ハッシュバケット要素番号をソートするよ
うに対応表を作成しておくと処理を既存のデータベース
格納領域毎に行えるようにすることができる。まず、デ
ータベース格納領域「DBAREA1」から処理を開始
する。図9を用いながら説明する。データベース格納領
域「DBAREA1」からは、ハッシュバケット要素番
号0から255までの5分の1であるハッシュバケット
要素番号204から255までが移動対象となり、図8
における移動対象セグメント抽出処理(ステップ43
4)では、図9におけるデータベース格納領域「DBA
REA1」50a中のセグメントハッシュマップ表51
aを参照し、ハッシュバケット要素番号204から順番
に255までのセグメント先頭番号を取出しながら、ペ
ージビットマップ表53a中のセグメント管理テーブル
のチェインを辿り、セグメント54aをセグメント入出
力バッファ42に読み込む。セグメント入出力バッファ
にはセグメント単位で読み込み処理を行うが、各セグメ
ント管理テーブルのページビットマップ領域を参照する
ことによって使用されていない、すなわち空きページに
ついては読み込まないようにするか、移動先のデータベ
ース格納領域の当該セグメントを割り当てた際にページ
ビットマップ情報もコピーすればセグメント単位で読み
込んでも問題ない。こうしてセグメント入出力バッファ
42に読み込んだセグメントを追加データベース格納領
域「DBAREA5」50eに反映する処理を行う(ス
テップ435)。反映処理とは、次の手順で行われる。
【0031】(1)セグメント単位で処理を行うので追
加データベース格納領域「DBAREA5」50e中の
セグメントビットマップ表から空きビットをサーチし、
新規に1個のセグメントを確保する。
【0032】(2)新規に当該ハッシュバケット用のセ
グメントを確保した場合は、セグメントハッシュマップ
表53aの先頭セグメント先頭ポインタを更新する。こ
のとき、当該ハッシュバケット用セグメント数に1を加
える。
【0033】(2)確保したセグメントを管理するセグ
メント管理テーブルをページビットマップ表53eから
確保する。確保したセグメント管理テーブル内のページ
ビットマップは、移動前のページビットマップ内容をコ
ピーすればよい。このとき、当該ハッシュバケット用の
セグメントがすでに割り当てられている場合はセグメン
ト管理テーブルの最後尾に当該テーブルをチェインさせ
る。
【0034】(3)確保したセグメントに対してセグメ
ント入出力バッファ42から書きこむ。
【0035】上記手順によって反映処理終了後、既存の
データベース格納領域「DBAREA1」50aの移動
完了したセグメントの削除処理を行う(ステップ43
6)。移動完了したセグメントの削除処理は、次の手順
で行われる。
【0036】(1)セグメントハッシュマップ表51a
の該当ハッシュバケット要素番号のセグメント先頭ポイ
ンタを参照し、ページビットマップ表53aのセグメン
ト管理テーブルをNEXTポインタを辿りながら、セグ
メントビットマップ表52a内の該当セグメントのビッ
トを空きビットに更新する。
【0037】(2)該当ハッシュバケットのすべてのセ
グメントについてセグメントビットマップ表52aのビ
ットを空きビットに更新したら、セグメントハッシュマ
ップ表内の該当ハッシュバケット要素番号のセグメント
数を0に更新する(ステップ437)。
【0038】以上の手順で各既存のデータベース格納領
域内の移動対象となるハッシュバケットすべてを移動し
たかどうかをチェックし(ステップ438)、データベ
ース格納領域「DBAREA4」までステップ434か
ら437までを行い、すべてのデータベース格納領域の
処理が終了した場合、データベース定義情報格納領域6
0内のデータベース定義情報を更新する(ステップ43
9)。更新する内容は、追加したデータベース格納領域
の情報をデータベース領域管理表61およびデータベー
ス格納領域構成ファイル菅表に追加し、「ZAIKO」
表に追加したデータベース格納領域の情報として、デー
タベース管理表63の分割数を5に更新し、データベー
ス分割管理表65には追加したデータベース格納領域
「DBAREA5」及び番号として4の情報を追加する
ことである。
【0039】このようにデータベースの再配置処理で
は、各既存のデータベース格納領域から1レコードずつ
データを読み込む必要がなく、セグメント単位で読み込
み、追加したデータベース格納領域に書きこみを行えば
よい。また、移動対象でないハッシュバケットは一切、
読み込む必要がない。
【0040】次に、本発明によるデータの再配置に関す
る第2の実施例として並列データベースシステムにおけ
るデータの再配置処理を示す。
【0041】図10は、並列データベースシステムのハ
ードウエア構成の一例を示す図である。一つのコンピュ
ータシステム10は、図2と同様にCPU12、主記憶
装置14、磁気ディスク装置等の外部記憶装置20で構
成される。当該並列データベースシステムでは。複数の
コンピュータシステム及び複数台の端末30がネットワ
ークに接続されている。当該並列データベースシステム
を構成するデータベース管理システム40内に各処理構
成単位が配置される。フロントエンドサーバ41(以下
FESと呼ぶ)は、端末30からの問合せを受信し、問
合せの処理手順を生成するコンポーネントである。当該
FESには、トランザクション等に関するログを記録す
るためのデータベースログ格納領域70を持つ。バック
エンドサーバ43a,43b,43c,43d(以下、
BESと呼ぶ)はFESからの処理手順を受信して、各
々BES1,BES2,BES3,BES4が管理する
データベース格納領域50a,50b,50c,50d
をアクセスすることによってFESにその処理結果を返
す。このとき、各々のデータベース格納領域に対して行
われたデータベースの変更に関するログやトランザクシ
ョンに関するログが、データベースログ格納領域70
a,70b,70c,及び70dに格納される。データ
ディクショナリサーバ42(以下、DICと呼ぶ)は、
データベースに関する定義情報を管理し、その定義情報
はデータベース定義情報格納領域70に格納され、デー
タベース定義情報の変更に関するログやトランザクショ
ンに関するログが、データベースログ格納領域70に格
納される。FESでは、要求された問合せでアクセスす
るデータベースの定義情報をDICから取得する。図1
0でも示すように、一つのコンピュータシステム内にB
ESを複数配置することができる。これは、一つのコン
ピュータシステム内に複数のBESを配置することによ
って、並列処理能力を高めることができる。ここでは、
各々のコンピュータシステムにそれぞれ2つのBESを
配置する構成をとる。当該並列データベースシステムの
ハードウエア構成を利用し、先に挙げた「ZAIKO」
表を定義した場合のデータベース定義情報格納領域70
の管理情報について図11に示す。非並列データベース
システムの場合の実施例として示した図3のデータベー
ス定義情報格納領域70とは基本的な管理情報に違いは
ない。異なる点は、データベース領域管理表61に含ま
れるサーバ名である。各データベース格納領域をどのサ
ーバで管理しているかを管理するための情報が付加され
る。つまり、「ZAIKO」表は4つのデータベース格
納領域DBAREA1,DBAREA2,DBAREA
3,DBAREA4に分割され、DBAREA1はBE
S1、DBAREA2はBES2、DBAREA3はB
ES3、DBAREA4はBES4にてデータベース処
理を行うようにFESが処理を振り分けるのである。
【0042】次に、当該並列データベースシステムに対
して図10に示すように新規にコンピュータシステムを
追加し、データベースコンポーネントとしてBES5
43eを追加し、さらに追加したBES5にデータベー
ス格納領域「DBAREA5」を追加した場合に、戦術
した「ZAIKO」表のデータの再配置がどう行われる
かについて説明する。
【0043】最初に、BES5では再配置処理としてデ
ータ受信処理を実行する。図13にBES5におけるデ
ータ受信処理の概略処理フローを示す。BES5では、
追加するデータベース格納領域DBAREA5を含めた
5分割時のハッシュマップ表をDICのデータベース定
義情報格納領域から取り出す(ステップ441)。次に
求めたハッシュマップ表から追加データベース格納領域
が管理するハッシュバケット要素番号を抜き出したリス
トを作成する(ステップ442)。つまり、5分割の場
合のハッシュマップ表の各配列の中の番号が4である配
列番号をハッシュバケット要素番号として取り出せば良
い。こうして追加したデータベース格納領域が管理すべ
きハッシュバケット要素番号が判明したので、現在の分
割数である4分割のハッシュマップ表を参照し、先ほど
取り出したハッシュバケット要素番号のハッシュバケッ
トを現在管理しているデータベース格納領域の番号及び
サーバ名をDICから取得する(ステップ443)。デ
ータベース格納領域の番号が判明すれば、図11におけ
るデータベース定義情報格納領域60中のデータベース
分割管理表65からデータベース格納領域名を得ること
ができる。また、各データベース格納領域を管理してい
るサーバ名はデータベース領域管理表より求めることが
できる。こうして得られた追加したデータベース格納領
域への移動対象となるハッシュバケット要素番号と既存
のデータベース格納領域との対応表を作成し、既存のデ
ータベース格納領域毎に移動対象ハッシュバケット要素
番号をソートするように対応表を作成しておくと処理を
既存のデータベース格納領域毎に行えるようにすること
ができる。次に、BES5からデータベース格納領域D
BAREA1からDBAREA4までを管理しているB
ES1からBES4に対して、移動対象となるハッシュ
バケット要素番号とデータベース格納領域を入力情報と
し移動対象セグメント抽出処理要求を送信する(ステッ
プ444)。移動対象セグメント抽出処理要求の電文を
受信した各BESでのデータ抽出処理の処理の流れを図
13に示す。BES1からBES4までが、当該電文を
受信する(ステップ461)。各BESでは、電文の内
容を解析し、再配置におけるデータ抽出対象となったデ
ータベース格納領域とハッシュバケット要素番号の組合
せで抽出処理を開始する。例えば、BES1においては
データベース格納領域DBAREA1 50aから処理
を開始する。図12を用いながら説明する。データベー
ス格納領域「DBAREA1」50aからは、ハッシュ
バケット要素番号0から255までの5分の1であるハ
ッシュバケット要素番号204から255までが移動対
象となり、図12におけるデータベース格納領域「DB
AREA1」50a中のセグメントハッシュマップ表5
1aを参照し、ハッシュバケット要素番号204から順
番に255までのセグメント先頭番号を取出しながら、
ページビットマップ表53a中のセグメント管理テーブ
ルのチェインを辿りながらセグメント54aをセグメン
ト入力バッファ45aに読み込む(ステップ462)。
そして、当該データベース格納領域からの移動対象セグ
メントすべてを読み込んだか否かをチェックし(ステッ
プ463)、検索終了でない場合はデータ抽出処理要求
を送信したBES5に対して、セグメント入力バッファ
45aからハッシュバケット要素番号とともに送信を行
う(ステップ464)。BES1から送信されたデータ
は、BES5において各BESからのデータ受信処理に
て受信する(図13のステップ445)。このとき、す
べてのBESからのデータ送信が終了したか否かをチェ
ックし(ステップ446)、データを受信した場合は、
追加データベース格納領域「DBAREA5」50eへ
の移動対象セグメントの反映処理を行う。反映処理と
は、次の手順で行われる。
【0044】(1)セグメント単位で処理を行うので追
加データベース格納領域「DBAREA5」50e中の
セグメントビットマップ表52eから空きビットをサー
チし、新規に1個のセグメントを確保する。
【0045】(2)新規に当該ハッシュバケット用のセ
グメントを確保した場合は、セグメントハッシュマップ
表53eの先頭セグメント先頭ポインタを更新する。さ
らに、当該ハッシュバケット用セグメント数に1を加え
る。
【0046】(2)確保したセグメントを管理するセグ
メント管理テーブルをページビットマップ表53eから
確保する。確保したセグメント管理テーブル内のページ
ビットマップは、移動前のページビットマップ内容をコ
ピーすればよい。このとき、当該ハッシュバケット用の
セグメントがすでに割り当てられている場合はセグメン
ト管理テーブルの最後尾に当該テーブルをチェインさせ
る。
【0047】(3)確保したセグメントに対してセグメ
ント出力バッファ43aから書きこむ。
【0048】本データ受信処理は、各BESからデータ
を受信できるようにセグメント出力バッファ46aから
46dまでが用意される。1回のデータ受信処理が終了
する毎に受信したセグメントの反映処理が完了したこと
を送信先に通知する(ステップ448)。これに対し
て、BES1では図14のステップ465によりセグメ
ント反映完了通知の受信処理によって、通知を受け取
る。セグメント反映完了通知を受信すると、移動したセ
グメントの削除処理を行う(ステップ466)。移動完
了したセグメントの削除処理は、次の手順で行われる。
【0049】(1)セグメントハッシュマップ表51a
の該当ハッシュバケット要素番号のセグメント先頭ポイ
ンタを参照し、ページビットマップ表53aのセグメン
ト管理テーブルをNEXTポインタを辿りながら、セグ
メントビットマップ表52a内の該当セグメントのビッ
トを空きビットに更新する。
【0050】(2)該当ハッシュバケットのすべてのセ
グメントについてセグメントビットマップ表52aのビ
ットを空きビットに更新したら、セグメントハッシュマ
ップ表内の該当ハッシュバケット要素番号のセグメント
数を0に更新する(ステップ467)。
【0051】以上の手順でデータ抽出側のBESは、ス
テップ462から467までを繰返し、すべての移動対
象セグメントの送信が完了した場合(ステップ46
3)、当該BESからのデータ送信が終了したことをB
ES5に通知する(ステップ468)。
【0052】一方、BES5においてもステップ445
から448までを繰返し、BES1からBES4までの
すべてのBESからデータ送信完了通知を受け取ったら
(ステップ446)、DICのデータベース定義情報を
更新する(ステップ449)。更新する内容は、追加し
たデータベース格納領域の情報をデータベース領域管理
表61およびデータベース格納領域構成ファイル菅表に
追加し、「ZAIKO」表に追加したデータベース格納
領域の情報として、データベース管理表63の分割数を
5に更新し、データベース分割管理表65には追加した
データベース格納領域「DBAREA5」及び番号とし
て4の情報を追加することである。
【0053】以上のように並列データベースシステムに
おいても、各BESの各既存のデータベース格納領域か
ら1レコードずつデータを読み込む必要がなく、セグメ
ント単位で読み込み、追加したデータベース格納領域を
管理するBESにセグメント単位で転送し、書き込み処
理を行えばよい。また、移動対象でないハッシュバケッ
トは一切、読み込む必要がない。
【0054】次に本発明に係るデータベースの分割方法
の第2の実施例を図15および図16を用いて説明す
る。
【0055】図15は、表の第1の分割方法としてキー
・レンジ分割を行い、さらに各キー・レンジで分割され
たパーティションをハッシュ分割している様子を示す。
先述した「ZAIKO」表を例にとり、その分割方法を
変更したものである。このときの、データベース定義情
報格納領域内の管理情報を図16に示す。図11に示し
たデータベース定義情報格納領域の管理情報との相違点
は、データベース管理表63及びデータベース分割管理
表65である。「ZAIKO」表の表の定義として、
「SCODE」列に対してキーレンジ分割する際の分割
条件が与えられ、さらに「SCODE」列または別の列
でもよいがハッシュ分割することが与えられたとする。
データベース管理表63には、分割方法としてキーレン
ジ分割であることを示す「RANGE」という値が保持
され、第1のパーティショニングキーとして「SCOD
E」列であることを示すための列番号である1、第2の
サブパーティショニングキーとして「SCODE」列で
あることを示すための列番号である1が保持される。そ
して、データベース分割管理表65には、第1のパーテ
ィションに対応するデータベース格納領域の通番と第2
のサブパーティションに対応するデータベース格納領域
の通番が保持され、各々の分割条件が保持されることを
示す。例えば、分割条件が「C1>100」の場合、デ
ータベース格納領域の通番は0で、そのパーティション
内にデータベース格納領域として「DBAREA1
1」、「DBAREA12」、「DBAREA13」が
指定され、さらにハッシュ関数によって各々サブ番号と
して0、1、2と割り当てられる。これは、単に第1の
分割条件がハッシュ分割であった場合と同様に考えるこ
とができる。したがって、第1のパーティション内をあ
らかじめハッシュバケットに分割しておけば、各パーテ
ィションに対してデータベース格納領域を追加する場
合、各パーティション内の分割数に対応させたハッシュ
マップ表を選択すればよいことになる。
【0056】以上、説明したように本実施例によれば、
データベースのデータをあらかじめ固定された複数のハ
ッシュバケットに分割し、かつ、データベース格納領域
内で物理的に独立したセグメントにハッシュバケットを
格納するので、新規に追加したデータベース格納領域に
対するデータの再配置処理時に移動対象のハッシュバケ
ットのデータのみを再配置対象とすることができる。
【0057】また、再配置処理によって移動したセグメ
ントは開放されるので、他のハッシュバケットの格納セ
グメントとして再利用が可能となり、データベース格納
領域の空きに無駄がない。
【0058】
【発明の効果】以上、説明したように本発明によれば、
データベースのデータをあらかじめ固定された複数のハ
ッシュバケットに分割し、かつ、データベース格納領域
内で物理的に独立したセグメントにハッシュバケットを
格納するので、新規に追加したデータベース格納領域に
対するデータの再配置処理時に移動対象のハッシュバケ
ットのデータのみを再配置対象とすることができる。
【図面の簡単な説明】
【図1】本発明の特長となるデータベース格納領域の構
成を示す。
【図2】本発明を実施するためのデータベース管理シス
テムの構成図を示す。
【図3】データベース定義情報を管理する表の情報を示
す。
【図4】本発明の特徴となるハッシュマップ表を示す。
【図5】本実施例に係る表へのデータの挿入処理の概略
フローを示す。
【図6】本実施例に係るセグメントマップ表とページビ
ットマップ表との関連を示す。
【図7】本実施例に係る表の検索処理の概略処理フロー
を示す。
【図8】本発明によるデータベース再配置処理の概略処
理フローを示す。
【図9】本発明によるデータベース再配置処理のデータ
の流れを示す。
【図10】本発明を実施するための並列データベースシ
ステムの構成図を示す。
【図11】並列データベースシステムにおけるデータベ
ース定義情報を管理する表の情報を示す。
【図12】並列データベースシステムにおけるデータベ
ース再配置処理のデータの流れを示す。
【図13】本発明によるデータベース再配置のデータ受
信処理の概略処理フローを示す。
【図14】本発明によるデータベース再配置のデータ送
信処理の概略処理フローを示す。
【図15】本発明によるキーレンジ分割した場合の表の
例を示す。
【図16】キーレンジ分割した表のデータベース定義情
報を管理する表の情報を示す。
【符号の説明】
10:コンピュータシステム、12:CPU、14:主
記憶装置、20:外部記憶装置、30:端末、40:デ
ータベース管理システム、50:データベース格納領
域、51:セグメントハッシュマップ表、52:セグメ
ントビットマップ表、53:ページビットマップ表、5
4:セグメント、61:データベース格納領域管理表、
62:データベース格納領域構成管理表、63:データ
ベース管理表、64:データベース構成列管理表、6
5:データベース分割管理表、66:ハッシュマップ
表、60:データベース定義情報格納領域、70:デー
タベースログ格納領域。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 星野 隆一 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 (72)発明者 笠尾 英明 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 Fターム(参考) 5B075 NK45 NR03 5B082 BA09 CA11 EA01 EA02

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】一つ又は複数の外部記憶装置から構成され
    るデータベース格納領域を管理し、前記データベース格
    納領域は物理的に固定長の複数のページから構成される
    複数のセグメントを管理するデータベース管理方法にお
    いて、 データベースの格納領域としてm個のデータベース格納
    領域が与えられた場合、 前記データベースの一つ又は複数のデータ項目をパーテ
    ィショニングキーとし、前記データベースを前記パーテ
    ィショニングキーに対してハッシュ関数を適用し、n
    (m≦n)個の論理的な単位であるバケットに分割し、 前記与えられたデータベース格納領域数に応じて各バケ
    ットを管理するデータベース格納領域の対応を決定する
    ハッシュマップ表と、 前記分配されたバケットを各データベース格納領域内の
    格納単位であるセグメントとマッピングさせるためのセ
    グメントハッシュマップ表によってデータベースを管理
    することを特徴とするデータベース管理方法。
  2. 【請求項2】請求項1記載のデータベース管理方法にお
    いて、 パーティショニングキーに対してキーレンジ分割が指定
    された場合、 前記各キーレンジに対してデータベース格納領域が与え
    られる場合、前記パーティショニングキーと同じデータ
    項目又は前記パーティショニングキーとは異なるデータ
    項目を第2のパーティショニングキーとして、データベ
    ースを前記第2のパーティショニングキーに対してハッ
    シュ関数を適用し、n個の論理的な単位であるバケット
    に分割し、 前記バケットを各データベース格納領域内の格納単位で
    あるセグメントとマッピングさせるためのセグメントハ
    ッシュマップ表によってデータベースを管理することを
    特徴とするデータベース管理方法。
  3. 【請求項3】請求項1記載のデータベース管理方法にお
    いて、 データベース格納領域の追加が要求された場合、全バケ
    ット数を既存のデータベース格納領域と追加したデータ
    ベース格納領域を加えた全データベース格納領域数で均
    等にバケットを分けた場合の各データベース格納領域の
    バケット数を基に、 既存の各データベース領域から前記バケット数より多い
    バケットを選択し、選択されたバケットを前記追加した
    データベース格納領域の前記バケット数を満たすように
    再配置するようハッシュマップ表を更新し、 前記各データベース領域から移動対象に選択されたバケ
    ットを前記セグメントハッシュマップ表を参照し、セグ
    メント単位で追加したデータベース格納領域に転送し、 前記追加したデータベース領域にデータ転送が完了する
    と前記転送したデータベース格納領域中の転送したセグ
    メント群を削除することを特徴とするデータベース管理
    方法。
  4. 【請求項4】請求項1記載のデータベース管理方法にお
    いて、 ハッシュ関数によって分割するバケット数をユーザの指
    定によって設定できることを特徴とするデータベース管
    理方法。
  5. 【請求項5】請求項3のデータベース管理方法におい
    て、 データベース格納領域の追加によってデータの再配置が
    行われた場合、データ転送が完了したセグメント群を削
    除する場合、前記セグメントのコピーを更新前ログとし
    て取得することなく、前記データベース格納領域中のセ
    グメントを管理するセグメントビットマップ表に対して
    前記削除セグメントのビットを空き状態に書き換え、当
    該ビットの更新前状態及び更新後状態を更新ログとして
    取得し、 データの再配置が完了する前に障害によって失敗した場
    合、前記削除セグメントに対する更新前ログを前記セグ
    メントビットマップ表に書き戻すことによって回復する
    ことを特徴とするデータベース管理方法。
  6. 【請求項6】請求項1記載のデータベース管理方法にお
    いて、 データベース格納領域の追加が要求された場合、既存の
    各データベース格納領域内に含まれるハッシュバケット
    のセグメント数の合計を算出し、既存のすべてのデータ
    ベース格納領域の平均セグメント数を算出し、追加した
    データベース格納領域数を含めた全データベース格納領
    域数で平均セグメント数を算出することによって、 前記算出した既存のすべてのデータベース格納領域の平
    均セグメント数と前記追加したデータベース格納領域数
    を含めた全データベース格納領域数で平均セグメント数
    の差分を算出し、前記算出した差分のセグメント数に近
    似させるように前記各既存のデータベース格納領域から
    ハッシュバケットを追加したデータベース格納領域にデ
    ータを再配置することによって、再配置の対象となった
    ハッシュバケットによってハッシュマップ表を更新する
    ことを特徴とするデータベース管理方法。
  7. 【請求項7】請求項2記載のデータベース管理方法にお
    いて、 あるキーレンジ・パーティションに対してデータベース
    格納領域の追加が要求された場合、前記キーレンジ・パ
    ーティション内の全バケット数を前記キーレンジ・パー
    ティション内の既存のデータベース格納領域と追加した
    データベース格納領域を加えた全データベース格納領域
    数で均等にバケットを分けた場合の書くデータベース格
    納領域数を基に、 既存の各データベース領域かた前記バケット数より多い
    バケットを選択し、選択されたバケットを千期追加した
    データベース格納領域の前記バケット数を満たすように
    再配置するようハッシュマップ表を更新し、 前記各データベース領域から移動対象に選択されたバケ
    ットを前記セグメントハッシュマップ表を参照し、セグ
    メント単位で追加したデータベース格納領域に転送し、 前記追加したデータベース領域にデータ転送が完了する
    と前記転送したデータベース格納領域中の転送したセグ
    メント群を削除することを特徴とするデータベース管理
    方法。
JP32365799A 1999-11-15 1999-11-15 データベース管理方法 Expired - Lifetime JP4199888B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32365799A JP4199888B2 (ja) 1999-11-15 1999-11-15 データベース管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32365799A JP4199888B2 (ja) 1999-11-15 1999-11-15 データベース管理方法

Publications (2)

Publication Number Publication Date
JP2001142752A true JP2001142752A (ja) 2001-05-25
JP4199888B2 JP4199888B2 (ja) 2008-12-24

Family

ID=18157163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32365799A Expired - Lifetime JP4199888B2 (ja) 1999-11-15 1999-11-15 データベース管理方法

Country Status (1)

Country Link
JP (1) JP4199888B2 (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293981A (ja) * 2005-03-18 2006-10-26 Hitachi Ltd データベース格納方法、および、データベース格納システム
JP2007140821A (ja) * 2005-11-17 2007-06-07 Mitsubishi Electric Corp データ管理装置、データ管理方法およびデータ管理プログラム
JP2008233968A (ja) * 2007-03-16 2008-10-02 Nec Corp 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム
US7558802B2 (en) 2005-10-27 2009-07-07 Hitachi, Ltd Information retrieving system
JP2009181546A (ja) * 2008-02-01 2009-08-13 Toshiba Corp コーディネータサーバ、データ割当方法及びプログラム
US7689545B2 (en) 2004-11-09 2010-03-30 Hitachi, Ltd. System and method to enable parallel text search using in-charge index ranges
JP2010134519A (ja) * 2008-12-02 2010-06-17 Hitachi Ltd データベース管理方法、データベース管理プログラム、および、データベース受付装置
US8122225B2 (en) 2008-08-12 2012-02-21 International Business Machines Corporation LUN masking/mapping in a SR-IOV enabled SAS adapter
JP2012123790A (ja) * 2010-12-07 2012-06-28 Internatl Business Mach Corp <Ibm> 仮想パーティションを用いたデータベース再分配
JP2013061739A (ja) * 2011-09-12 2013-04-04 Fujitsu Ltd データ管理装置、データ管理システム、データ管理方法、及びプログラム
CN101751457B (zh) * 2008-11-28 2013-04-24 国际商业机器公司 信息处理设备、数据库***、信息处理方法
JP2013120537A (ja) * 2011-12-08 2013-06-17 Hitachi Solutions Ltd 情報処理システム
JP2017062541A (ja) * 2015-09-24 2017-03-30 日本電気株式会社 データ管理装置、データ管理方法およびプログラム
KR20170103627A (ko) * 2015-01-03 2017-09-13 맥아피 인코퍼레이티드 개인 디바이스 및 클라우드 데이터의 분산된 보안 백업
US9864777B2 (en) 2008-05-28 2018-01-09 International Business Machines Corporation Table partitioning and storage in a database
US10102267B2 (en) 2014-02-14 2018-10-16 Fujitsu Limited Method and apparatus for access control
JP2023509900A (ja) * 2019-12-27 2023-03-10 ヒタチ ヴァンタラ エルエルシー 動的適応型パーティション分割

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689545B2 (en) 2004-11-09 2010-03-30 Hitachi, Ltd. System and method to enable parallel text search using in-charge index ranges
JP2006293981A (ja) * 2005-03-18 2006-10-26 Hitachi Ltd データベース格納方法、および、データベース格納システム
US7558802B2 (en) 2005-10-27 2009-07-07 Hitachi, Ltd Information retrieving system
JP2007140821A (ja) * 2005-11-17 2007-06-07 Mitsubishi Electric Corp データ管理装置、データ管理方法およびデータ管理プログラム
US8280910B2 (en) 2007-03-16 2012-10-02 Nec Corporation Database server capable of relocating data distributed among plural processors and retrieving data method
JP2008233968A (ja) * 2007-03-16 2008-10-02 Nec Corp 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム
JP2009181546A (ja) * 2008-02-01 2009-08-13 Toshiba Corp コーディネータサーバ、データ割当方法及びプログラム
US9864777B2 (en) 2008-05-28 2018-01-09 International Business Machines Corporation Table partitioning and storage in a database
US11093502B2 (en) 2008-05-28 2021-08-17 International Business Machines Corporation Table partitioning and storage in a database
US10169420B2 (en) 2008-05-28 2019-01-01 International Business Machines Corporation Table partitioning and storage in a database
US8122225B2 (en) 2008-08-12 2012-02-21 International Business Machines Corporation LUN masking/mapping in a SR-IOV enabled SAS adapter
CN101751457B (zh) * 2008-11-28 2013-04-24 国际商业机器公司 信息处理设备、数据库***、信息处理方法
US8856183B2 (en) 2008-11-28 2014-10-07 International Business Machines Corporation Database access using partitioned data areas
JP2010134519A (ja) * 2008-12-02 2010-06-17 Hitachi Ltd データベース管理方法、データベース管理プログラム、および、データベース受付装置
JP2012123790A (ja) * 2010-12-07 2012-06-28 Internatl Business Mach Corp <Ibm> 仮想パーティションを用いたデータベース再分配
US9684702B2 (en) 2010-12-07 2017-06-20 International Business Machines Corporation Database redistribution utilizing virtual partitions
JP2013061739A (ja) * 2011-09-12 2013-04-04 Fujitsu Ltd データ管理装置、データ管理システム、データ管理方法、及びプログラム
JP2013120537A (ja) * 2011-12-08 2013-06-17 Hitachi Solutions Ltd 情報処理システム
US10102267B2 (en) 2014-02-14 2018-10-16 Fujitsu Limited Method and apparatus for access control
KR101904635B1 (ko) 2015-01-03 2018-10-04 맥아피, 엘엘씨 개인 디바이스 및 클라우드 데이터의 분산된 보안 백업
KR20170103627A (ko) * 2015-01-03 2017-09-13 맥아피 인코퍼레이티드 개인 디바이스 및 클라우드 데이터의 분산된 보안 백업
JP2017062541A (ja) * 2015-09-24 2017-03-30 日本電気株式会社 データ管理装置、データ管理方法およびプログラム
JP2023509900A (ja) * 2019-12-27 2023-03-10 ヒタチ ヴァンタラ エルエルシー 動的適応型パーティション分割
JP7398567B2 (ja) 2019-12-27 2023-12-14 ヒタチ ヴァンタラ エルエルシー 動的適応型パーティション分割
US12026177B2 (en) 2019-12-27 2024-07-02 Hitachi Vantara Llc Dynamic adaptive partition splitting

Also Published As

Publication number Publication date
JP4199888B2 (ja) 2008-12-24

Similar Documents

Publication Publication Date Title
US7418544B2 (en) Method and system for log structured relational database objects
US7213025B2 (en) Partitioned database system
JP4206586B2 (ja) データベース管理方法および装置並びにデータベース管理プログラムを記録した記憶媒体
US7673099B1 (en) Affinity caching
US7640262B1 (en) Positional allocation
US7720892B1 (en) Bulk updates and tape synchronization
US7558802B2 (en) Information retrieving system
US7890541B2 (en) Partition by growth table space
US8341130B2 (en) Scalable file management for a shared file system
US9149054B2 (en) Prefix-based leaf node storage for database system
US8250075B2 (en) System and method for generation of computer index files
JP2001142752A (ja) データベース管理方法
JP2005530242A (ja) 区画された移動可能メタデータを有する記憶システム
KR20040053142A (ko) 대형 파일들의 효율적 관리
IL156117A (en) Method and computer program for organising a database and a database organised according to such a method
CN103514222B (zh) 虚拟机映像的存储方法、管理方法、存储管理装置及***
US7136861B1 (en) Method and system for multiple function database indexing
CN1791873B (zh) 还原数据库***中的对象和从属对象
US6606631B1 (en) IMS on-line reorganization utility
US20200301903A1 (en) Reorganization of Databases by Sectioning
JP4825504B2 (ja) データ登録・検索システムおよびデータ登録・検索方法
Tomasic Distributed queries and incremental updates in information retrieval systems
CN117687970B (zh) 一种元数据检索方法、装置及电子设备和存储介质
US20040193654A1 (en) Logical range logging
JP2000348063A (ja) データベース管理方法およびシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040929

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060512

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080829

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

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

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

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4199888

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5

EXPY Cancellation because of completion of term