[go: up one dir, main page]

JP2001142752A - Database management method - Google Patents

Database management method

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
Japanese (ja)
Other versions
JP4199888B2 (en
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/en
Publication of JP2001142752A publication Critical patent/JP2001142752A/en
Application granted granted Critical
Publication of JP4199888B2 publication Critical patent/JP4199888B2/en
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)個の論理的
な単位であるバケットに分割し、当該与えられたデータ
ベース格納領域数に応じて各バケットを管理するデータ
ベース格納領域の対応を決定するハッシュマップ表と、
分配されたバケットを各データベース格納領域内の格納
単位であるセグメントとマッピングさせるためのセグメ
ントハッシュマップ表によってデータベースを管理す
る。
(57) [Summary] [PROBLEMS] To add a database storage area with an increase in database capacity, it is necessary to relocate data to the added database storage area. When m database storage areas are provided as storage areas of a database, one or more data items of the database are used as a partitioning key, and a hash function is applied to the database using the partitioning key. A hash map table that divides into n (m ≦ n) logical units of buckets and determines the correspondence of database storage areas that manage each bucket according to the given number of database storage areas;
The database is managed by a segment hash map table for mapping the distributed buckets to segments, which are storage units in each database storage area.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、時系列的に増加し
ていくデータを新たに増設したデータベース格納領域に
データを再配置することによって、データベースの大規
模化の運用を行うデータベース管理システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a database management system for increasing the size of a database by rearranging data that increases in time series into a newly added database storage area. .

【0002】[0002]

【従来の技術】一般的にデータベースを有するデータベ
ースシステムでは、データベースに保有する情報は時々
刻々変化している。その情報は時間経過と共に新たな情
報が追加され、あらかじめ用意したデータベースを格納
するためのデータベース格納領域の容量よりも大きくな
る場合がある。
2. Description of the Related Art Generally, in a database system having a database, information stored in the database changes every moment. New information is added to the information over time, and the information may become larger than the capacity of a database storage area for storing a prepared database.

【0003】そのため、大規模なデータベースを扱う場
合、あらかじめデータベースを複数のデータベース格納
領域に分割して格納する方法が採用される。複数のデー
タベース格納領域に分割格納する分割手段として、キー
・レンジ分割、ハッシュ分割、均等分割といった手段が
用意される。各々の分割手段によって、分割したパーテ
ィションを指定したデータベース領域と1対1に対応さ
せたり、複数のパーティションをあるデータベース領域
に対応させたりという手法が採られる。時間経過と共に
新たな情報が追加される場合、2つのデータベースの拡
張方法が考えられる。一つは、分割手段としてキーレン
ジ分割が採用されている場合、新たなキーレンジを追加
したり、あるキーレンジを分割するといった方法があ
る。これは、新たにデータベース領域を追加することな
く操作することも可能である。もう一つは、分割手段は
変更しないで新たにデータベース領域を追加または既存
のデータベース領域を拡張する方法がある。これは、容
量の増大に伴ってデータベース格納領域を増分させる方
法である。これに対して、分割手段としてハッシュ分割
を採用すると、分割に対するオーバヘッドが少なく、デ
ータの増加に対する柔軟性が高い。
Therefore, when dealing with a large-scale database, a method is adopted in which the database is divided into a plurality of database storage areas and stored in advance. Means such as key range division, hash division, and equal division are prepared as division means for dividing and storing data in a plurality of database storage areas. A method is employed in which each partitioning means associates the divided partitions one-to-one with a designated database area, or associates a plurality of partitions with a certain database area. When new information is added over time, two database expansion methods are conceivable. One is a method of adding a new key range or dividing a certain key range when the key range division is adopted as the dividing means. This can be operated without adding a new database area. Another method is to add a new database area or extend an existing database area without changing the dividing means. This is a method of increasing the database storage area as the capacity increases. On the other hand, if hash division is adopted as the division means, the overhead for the division is small, and the flexibility to increase the data is high.

【0004】ただし、あらかじめ用意したデータベース
格納領域は時間と共に新たな情報が追加されるだけでな
く、過去の古いデータを削除する場合もあり、必ずしも
常にデータベース格納領域の容量よりも大きくなるわけ
ではない。このような場合は、データベース再編成を行
うことによって古いデータを削除することによって空き
を作成し、新たに追加される情報を格納するために使用
するようにすることで解決される。
[0004] However, in the database storage area prepared in advance, not only new information is added with time, but also old data in the past may be deleted, and the capacity is not always larger than the capacity of the database storage area. . In such a case, a solution is made by creating a space by deleting old data by performing a database reorganization, and using it to store information to be newly added.

【0005】しかし、過去のデータを延々と蓄積してい
くようなデータベースシステムでは、将来予測されるデ
ータ量を想定し、あらかじめデータベース格納領域を用
意しておくのは資源管理コストがかかるため、当面、予
想されるデータ量まで格納できるデータベース領域を準
備しておき、実際にデータ量の増加に伴って新たなデー
タベース格納領域が必要になった時点でデータベース格
納領域を追加する運用を行う。
However, in a database system that accumulates past data endlessly, preparing a database storage area in advance in anticipation of the amount of data expected in the future requires resource management costs. A database area capable of storing up to the expected data amount is prepared, and an operation is performed in which a database storage area is added when a new database storage area becomes necessary as the data amount actually increases.

【0006】データベースに対するデータベース格納領
域の追加は、データベースの定義変更を伴う。最も単純
な方法としては、データベースの内容を一旦バックアッ
プし、データベース格納領域の追加を行う定義変更処理
を行った後、バックアップしたデータベースを再ローデ
ィングするという方法がある。ただし、この方法では大
規模データベースの場合、バックアップを取得する時間
及びバックアップ媒体等にかかるコストが非常に高く、
再ローディングする処理も膨大な時間を要する。
[0006] Adding a database storage area to a database involves changing the definition of the database. As the simplest method, there is a method of once backing up the contents of a database, performing a definition change process for adding a database storage area, and then reloading the backed up database. However, in this method, in the case of a large-scale database, the time required to acquire a backup and the cost of a backup medium are extremely high.
The process of reloading also takes an enormous amount of time.

【0007】第1の公知例として、米国特許4,41
2,285がある。本公知例では、表をハッシュ分割す
るが、あらかじめ複数のバケットに分割し、いくつかの
バケットを仮想プロセッサに対応させて管理する技術が
開示されている。
As a first known example, US Pat.
There are 2,285. In this known example, a table is hash-divided, but a technique is disclosed in which the table is divided into a plurality of buckets in advance, and some buckets are managed in correspondence with virtual processors.

【0008】第2の公知例として、特開平6−1391
19号公報には、複数のプロセッサで構成される並列デ
ータベースシステム上に分割されたデータベースをアク
セス頻度によってデータを再編成する技術が開示されて
いる。
A second known example is disclosed in Japanese Patent Application Laid-Open No. H6-11391.
No. 19 discloses a technique for reorganizing data according to the access frequency of a database divided on a parallel database system including a plurality of processors.

【0009】第3の公知例として、特開平6−3142
99号公報には、複数のプロセッサで構成される並列デ
ータベースシステム上に、階層的にデータベースを分割
する技術が開示されている。
A third known example is disclosed in Japanese Patent Application Laid-Open No. 6-3142.
No. 99 discloses a technique for hierarchically dividing a database on a parallel database system including a plurality of processors.

【0010】第4の公知例として、特開平7−1413
94号公報には、複数のプロセッサで構成される並列デ
ータベースシステム上に分割されたデータベースに対し
て、第5の公知例として、特開平9−293006号公
報には、ハッシュ関数を使用した分割方法を示し、デー
タベース分割数が変更された場合にデータの再配置を必
要とせず、データを新規追加した格納領域に格納しよう
とする技術が開示されている。ただし、本公知例ではデ
ータの再配置は必要ないが、検索時には分割したすべて
の記憶装置を検索するようになっている。
[0010] As a fourth known example, Japanese Patent Application Laid-Open No. 7-1413 is disclosed.
Japanese Patent Application Laid-Open No. 94-293006 discloses a fifth known example of a database divided on a parallel database system composed of a plurality of processors. A technique is disclosed in which data is not required to be rearranged when the number of divided databases is changed, and data is to be stored in a newly added storage area. However, in this known example, data rearrangement is not necessary, but all the divided storage devices are searched at the time of search.

【0011】[0011]

【発明が解決しようとする課題】従来技術における前者
の方法の場合、データベースの大規模化についての問題
が生じる。データベースの大規模化によって再配置が必
要になるのは、データベース領域中の表に対するデータ
の追加が行われることによって、あらかじめ与えられた
データベース格納領域の空きがなくなる場合である。
In the case of the former method in the prior art, a problem arises in that the database is enlarged. Relocation is required due to the increase in the size of the database when data is added to a table in the database area, so that a predetermined database storage area becomes full.

【0012】上述したハッシュ分割を採用したデータベ
ースの場合、ハッシング結果は分割数すなわち与えられ
たデータベース格納領域数に依存するため、新たにデー
タベース格納領域を追加する場合、それまで蓄積したデ
ータをすべて新しい分割数の元でハッシングをやりなお
し再格納しなければならない。これは、非常に膨大な時
間と資源を浪費することになり、効率良くシステムを運
用することができない。
In the case of a database employing the above-described hash division, the hashing result depends on the number of divisions, that is, the given number of database storage areas. Therefore, when a new database storage area is added, all the data accumulated up to that point is updated. Hashing must be performed again under the number of divisions and restored. This wastes a huge amount of time and resources, and the system cannot be operated efficiently.

【0013】また、再格納しないで既存の各データベー
ス格納領域から、再配置処理として再ハッシュした結果
によって他のデータベース格納領域にデータを移動させ
る場合、結局、各データベース格納領域中のすべてのデ
ータを読み込まなければならず、再ハッシュしても同じ
データベース格納領域内に残るデータがある場合でも無
駄なデータの読み込みが生じてしまう。
In the case where data is moved from each existing database storage area to another database storage area without re-storage as a result of rehash as a rearrangement process, all data in each database storage area is eventually returned. It must be read, and even if there is data remaining in the same database storage area even after rehashing, useless reading of data occurs.

【0014】本発明の第1の目的は、ハッシュ分割した
データベースに対してデータベース格納領域を追加する
場合に、既存のデータベース格納領域から新たに追加し
たデータベース格納領域に対して最も少ないコストでデ
ータを再配置することを可能とするデータベース格納管
理方法を提供することにある。
[0014] A first object of the present invention is to add a database storage area to a hash-divided database at the lowest cost from an existing database storage area to a newly added database storage area. It is an object of the present invention to provide a database storage management method that enables reallocation.

【0015】[0015]

【課題を解決するための手段】前記目的を達成するため
に、本発明は、一つ又は複数の外部記憶装置から構成さ
れるデータベース格納領域を管理し、前記データベース
格納領域は物理的に固定長の複数のページから構成され
る複数のセグメントを管理するデータベース管理方法に
おいて、データベースの格納領域としてm個のデータベ
ース格納領域が与えられた場合、データベースの一つ又
は複数のデータ項目をパーティショニングキーとし、前
記データベースを前記パーティショニングキーに対して
ハッシュ関数を適用し、n(m≦n)個の論理的な単位
であるバケットに分割し、当該与えられたデータベース
格納領域数に応じて各バケットを管理するデータベース
格納領域の対応を決定するハッシュマップ表と、分配さ
れたバケットを各データベース格納領域内の格納単位で
あるセグメントとマッピングさせるためのセグメントハ
ッシュマップ表によってデータベースを管理することを
特徴とするデータベース管理方法を提供する。
In order to achieve the above object, the present invention manages a database storage area composed of one or a plurality of external storage devices, and the database storage area has a physically fixed length. In a database management method for managing a plurality of segments composed of a plurality of pages, when m database storage areas are given as storage areas of a database, one or more data items of the database are used as a partitioning key. Applying the hash function to the partitioning key, dividing the database into n (m ≦ n) logical units of buckets, and dividing each bucket according to the given number of database storage areas. A hash map table that determines the correspondence between the database storage areas to be managed and the distributed buckets Providing a database management method characterized by managing the database by the segment hash map table for segmented and mapped a storage unit of database storage area.

【0016】[0016]

【発明の実施の形態】以下、本発明の一実施例を添付図
面を用いて具体的に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be specifically described below with reference to the accompanying drawings.

【0017】図2は本実施形態のコンピュータシステム
のハードウエア構成の一例を示す図である。コンピュー
タシステム10は、CPU12、主記憶装置14、磁気
ディスク装置等の外部記憶装置20及び多数の端末30
で構成される。主記憶装置14上には、データベース管
理システム40が置かれ、複数の外部記憶装置20を使
用してデータベース管理システム40が管理するデータ
ベースを格納するデータベース領域50a,50b,5
0c,50d、データベースの定義情報を管理するデー
タベース定義情報格納領域60およびデータベースに対
する更新操作に関する更新履歴情報を管理するデータベ
ースログ格納領域70が構成される。。さらに、データ
ベース管理システム40を実現するプログラムも外部記
憶装置20上に格納される。
FIG. 2 is a diagram showing an example of a hardware configuration of the computer system of the present embodiment. The computer system 10 includes a CPU 12, a main storage device 14, an external storage device 20 such as a magnetic disk device, and a large number of terminals 30.
It consists of. A database management system 40 is placed on the main storage device 14, and database areas 50 a, 50 b, 5 for storing databases managed by the database management system 40 using a plurality of external storage devices 20.
0c, 50d, a database definition information storage area 60 that manages database definition information, and a database log storage area 70 that manages update history information related to update operations on the database. . Further, a program for implementing the database management system 40 is also stored on the external storage device 20.

【0018】図1は本発明におけるデータベースの管理
形態を示す。図2で示したデータベース定義情報格納領
域60では、データベースシステムを構成するデータベ
ース格納領域やデータベースの定義情報が格納される。
データベース格納領域管理表61は、データベースシス
テム内のデータベースを格納する領域として定義された
データベース格納領域に関する情報を管理する。データ
ベース格納領域構成ファイル管理表62は、データベー
ス格納領域定義時に指定された図2に示す外部記憶装置
上に割り当てたファイルの構成に関する情報を管理す
る。データベース管理表63は、特にリレーショナルデ
ータベース管理システムのような場合に定義された表を
管理する。データベース構成列管理表64は、定義され
た表を構成する列に関する情報を管理する。データベー
ス分割管理表65は、表定義時にデータベースシステム
内に定義されたデータベース格納領域を指定してデータ
を分割して格納した場合の表とデータベース格納領域の
関連情報を持つ。ハッシュマップ表66は、本発明で必
要とするデータベース内に定義された表を複数のデータ
ベース格納領域に分割して格納する場合に、その分割方
法としてハッシュ分割方法が指定されると、指定された
データベース格納領域数に対応してハッシュバケットに
分割した場合の各ハッシュバケットをどのデータベース
格納領域に格納するかを決定する対応表を持つ。
FIG. 1 shows a database management mode according to the present invention. The database definition information storage area 60 shown in FIG. 2 stores a database storage area and database definition information constituting a database system.
The database storage area management table 61 manages information on a database storage area defined as an area for storing a database in the database system. The database storage area configuration file management table 62 manages information related to the configuration of the file allocated on the external storage device shown in FIG. 2 specified at the time of defining the database storage area. The database management table 63 manages a table defined particularly in a case such as a relational database management system. The database configuration column management table 64 manages information related to columns configuring the defined table. The database division management table 65 has information relating to a table and a database storage area when data is divided and stored by designating a database storage area defined in the database system at the time of table definition. When the table defined in the database required by the present invention is divided into a plurality of database storage areas and stored, the hash map table 66 is designated when the hash division method is designated as the division method. It has a correspondence table for determining which database storage area stores each hash bucket when divided into hash buckets corresponding to the number of database storage areas.

【0019】次に、データベース格納領域50a,50
b,50c,50dの構成について説明する。ハッシュ
分割された表について、データベース格納領域内での管
理方法を示す。定義された表について、ハッシュバケッ
トに分割する場合、ハッシュマップ表によってハッシュ
バケットの要素番号が決定されると、決定された要素番
号のハッシュバケットのデータを格納する物理的に固定
長の複数のページから構成されるセグメント54にデー
タを格納した場合の先頭セグメント番号を管理するセグ
メントハッシュマップ表51と、データベース格納領域
内に確保されたすべてのセグメントの割当をビットマッ
プとして管理するためのセグメントビットマップ表52
と、割り当てたセグメント54内のページの割当をビッ
トマップとして管理し、なおかつ、同じハッシュバケッ
トの要素番号で複数のセグメントが割り当てられる場合
にセグメント間のチェインを管理するページビットマッ
プ表53から構成される。
Next, the database storage areas 50a, 50
The configurations of b, 50c, and 50d will be described. A management method for a hash-divided table in a database storage area will be described. When dividing a defined table into hash buckets, if the element number of the hash bucket is determined by the hash map table, a plurality of physically fixed-length pages that store the data of the hash bucket with the determined element number Segment hash map table 51 for managing the leading segment number when data is stored in a segment 54 composed of a segment and a segment bit map for managing the allocation of all segments secured in the database storage area as a bit map Table 52
And a page bitmap table 53 that manages the allocation of pages in the allocated segment 54 as a bitmap and manages the chain between segments when a plurality of segments are allocated with the same hash bucket element number. You.

【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には、各データベース格納領域を構成
するファイル名と複数のファイルで構成される場合に
は、その通番が情報として格納される。
FIG. 3 shows an embodiment of the database definition information stored in the database definition information storage area 60 shown in FIG. 2 in detail. DDICAREA, DBAREA1, D
The table shows information stored in the database storage area management table 61 and the database storage area configuration file management table 62 when BAREA2, DBAREA3, and DBAREA4 are defined. The database storage area management table 61
It consists of columns of database area name, type, number of configuration files, server name, page length, segment size and number of segments. Further, the database storage area configuration file management table includes columns of a database area name, a number, and a configuration file name. In the database, D
When a database storage area called DICAREA is defined, it is identified by information “D” indicating that it is a database definition information storage area, and the number of files constituting the database storage area is 1, 1, FIG.
Segment 54 indicated by the database storage area in
Is 409 as the page length which is the size of the page constituting
6 bytes, 5 as the number of pages making up the segment
Zero pages and the number of segments 50 allocated to the database storage area are stored as definition information.
Similarly, DBAREA1, DBAREA2, DBARE
When A3 and DBAREA4 are defined, 'U' for identifying the database storage area as the type of the database storage area, and information on the number of configuration files, server name, page length, segment size, and number of segments are stored. You. On the other hand, when the database storage area configuration file management table 62 is composed of a file name and a plurality of files configuring each database storage area, the serial number is stored as information.

【0021】次に当該データベースで「ZAIKO」表
が定義された場合について、当該表の定義情報がデータ
ベース管理表63、データベース構成列管理表64、及
びデータベース分割管理表65にどのように格納される
かについて説明する。「ZAIKO」表の定義文の一例
を示す。
Next, when a "ZAIKO" table is defined in the database, how the definition information of the table is stored in the database management table 63, the database configuration column management table 64, and the database division management table 65. Will be described. An example of the definition sentence of the "ZAIKO" table is shown.

【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つのデータ
ベース格納領域に分割して格納するため、表名、データ
ベース格納領域の定義順を示す番号、及びデータベース
格納領域名が格納される。
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 "table has four columns SCO
DE, SNAME, COL, TANKA, ZSURYO
And hash-divided using the SCODE column as a partitioning key. The hash-divided data is stored in database storage areas DBAREA1, DBAREA2, D
It is instructed to store the data separately in BAREA3 and DBAREA4. According to the contents of the definition, the database management table 63 has a table name, an owner, the number of constituent columns, a dividing method, a dividing number indicating the designated number of database storage areas, and a database for indicating that the partitioning key information is a SCODE column. The column number in the constituent column management table is stored. The database configuration column management table 64 includes “ZAI
As the definition information of the five columns constituting the “KO” table, column names,
The table name, owner, column number indicating the order of the columns constituting the table, data type, and data length are stored. Further, in the database division management table 65, a table name, a number indicating the order of definition of the database storage area, and a database storage area name are stored in order to store the “ZAIKO” table divided into four database storage areas. .

【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分割まで
のハッシュバケットの対応表が保持されている。したが
って、データベースの表定義時に決定したデータベース
格納領域数によって参照するハッシュマップ表のエント
リを決定すればよいことになる。
FIG. 4 shows the hash map table 66 shown in FIG. As an embodiment of the present invention, in the database, the maximum number of database storage areas when a database table is divided into a plurality of database storage areas is 512. At this time, the maximum number of hash buckets in hash division is set to 1,024. Hash map table 66
May be a method of indicating the correspondence between the element numbers of the hash buckets in each table and the database storage area. Has a correspondence table between the hash bucket element numbers obtained by the hash function and the values in the “number” column of the database division management table shown in FIG. 3 in accordance with all the specified numbers of database storage areas. The simplest example is a two-division example. In the case of two divisions, the first entry of the hash map table is referred to, indicating that the hash bucket element numbers 0 to 511 are stored in the designated number 0 of the database storage area, and the hash bucket element numbers 512 to 1023
Up to the designated number 1 in the database storage area. On the other hand, the database storage area is determined by referring to the numbers 0 and 1 of the database division management table of the corresponding table. Next, in the case of three-partitioning, when one database storage area is added from the two-partitioned database, the added database storage area is added to the three hash buckets of the existing two divided database storage areas. This is a hash map table in which the hash buckets are moved one by one. Therefore, 342 of hash bucket element numbers 0 to 341
Hash buckets are stored in the database storage area of the designated number 0 in the database division management table,
341 to hash bucket element numbers 512 to 853
Hash buckets are stored in the database storage area of the designated number 1 in the database division management table,
Hash bucket element numbers 342-511 and 854-
This indicates that a total of 341 hash buckets up to 1023 are stored in the database storage area of designated number 2 in the database division management table. If the data is divided into one-thirds or if the data cannot be divided, adjustment is made so that more hash buckets remain in the smaller designated number of the database division management table. As a result, the amount of data to be moved can be reduced even when data is rearranged. Further, in the case of four divisions, similarly, when one database storage area is added from the database in the three division state, the added database storage area is replaced by four hash buckets of the existing three divided database storage areas. This is a hash map table in which the hash buckets are moved one by one. In this case, hash bucket element numbers 0
This indicates that 256 hash buckets up to 255 are stored in the database storage area of the designated number 0 in the database division management table, and the hash bucket element numbers 512 to 512 are stored.
This indicates that 256 hash buckets up to 767 are stored in the database storage area of the designated number 1 in the database division management table, and the hash bucket numbers 342 to 46
9, hash bucket element numbers 854 to
This indicates that a total of 256 hash buckets up to 981 are stored in the database storage area of the designated number 2 in the database division management table, and 86 hash bucket element numbers 256 to 341 and hash bucket element numbers 470 to 470 are shown. A total of 25 pieces of 42 pieces up to 511, 85 pieces of hash bucket element numbers 768 to 853, and 43 pieces of hash bucket element numbers 982 to 1023
This indicates that six hash buckets are stored in the database storage area of designated number 3 in the database division management table. In this way, the correspondence table of the hash buckets up to the maximum division number of 512 is held. Therefore, the entry of the hash map table to be referred to may be determined based on the number of database storage areas determined at the time of defining the table of the database.

【0024】次に、図1におけるセグメントハッシュマ
ップ表51、セグメントビットマップ表52、ページビ
ットマップ表53、およびセグメント54に関して図5
のデータベースの表へのデータ挿入処理の概略フローお
よび図6を用いて詳細に示す。データベースの表に対し
てデータの挿入処理要求が行われる場合、「ZAIK
O」表を例にとると以下のような要求がデータベース管
理システムに対して発行される。
Next, the segment hash map table 51, the segment bit map table 52, the page bit map table 53, and the segment 54 in FIG.
FIG. 6 shows a schematic flow of a process of inserting data into a database table of FIG. When a data insertion processing request is made to a database table, "ZAIK
Taking the "O" table as an example, the following request is issued to the database management system.

【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に対して挿入処理に関するログを取得しておく必
要がある。
INSERT INTO ZAIKO VALUES ('101', 'Probe', 'red', 35000, 62) When a request is given, first, database definition information is obtained from the database definition information storage area 60 in FIG. (Step 410). From the acquired information, the “ZAIKO” table contains the partitioning key SCO
It turns out that the hash value is divided by the DE column. Therefore, a hash function is applied to the value '101' specified in the SCODE column (step 411). As a result of performing the hash function, the hash bucket element number in the hash map table in FIG. 4 is determined. Here, it is assumed that the hash bucket element number is 256. Since the “ZAIKO” table is given to be divided into four database storage areas, the hash bucket element number 256 of the hash map table having the number of divisions of 4 in the hash map table in FIG. It can be seen that the number 3 in the database division management table is the database storage area for storing data (step 412). By searching for a database storage area name in which the “number” column of the database division management table is 3, it is determined that the database storage area name is “DBAREA4”. Since the database storage area has been determined, the segment hash map table 51 of the “ZAIKO” table is referred to to determine the segment to be stored in the database storage area 'DBAREA4'. Segment hash map table 5
1, the entry of the array number 256 in the segment hash map table is referenced using the hash bucket element number 256 obtained earlier (step 41).
3). Here, as shown in FIG. 6, the array number 256 in the segment hash map table 66 holds the number of segments of the data having the hash bucket element number and the number of the head segment management table as the segment head pointer. In step 414, it is checked whether or not a segment is allocated by determining whether the number of segments is 0 or the number of the leading segment management table is 0. If it is 0, no segment has been allocated yet, that is,
Since no data corresponding to the hash bucket element number is stored, a process for securing a segment is performed with reference to the segment bitmap table in FIG. 1 (step 415). The segment bitmap table 52 in FIG. 1 is managed by bitmaps for all segments that can be secured in the database storage area.
An empty segment found by searching for an empty bit is secured as a new segment. The page bit map table 53 shown in FIG. 1 is used as a segment management table for managing the allocated pages of the segments.
From the segment hash map table
The number of segments is set to 1 in the 56 entries, and the secured segment number is set as the segment head pointer. In the secured segment management table,
The NEXT pointer is set to 0 to indicate that the next segment has not been allocated yet (step 4).
16). Next, a page for storing data is determined from the secured segments. In the case of a newly secured segment, all bits of the page bitmap area included in the segment management table are in an empty page state. It decides to use the first page, and updates the first bit to be used. If the segment of the corresponding hash bucket has already been secured in step 414, the chain of the segment management table is followed, and the last page number is accessed by referring to the page bitmap area of the segment management table of the last segment. The page having the last page number is input, and if there is a free area in which a record (row) to be inserted can be stored, the page is determined as an insertion page (step 417). If there is no free area, a free page is searched from the segment management table, and if there is a free page, the page is determined as an insertion page. Further, if there is no free page in the segment, a segment bitmap table is searched to secure a free segment. If there is no free segment, the insertion page is determined by tracing the chains of all the segment management tables corresponding to the hash bucket element numbers and searching for free pages from the core segment management table. Even if there is no free page, there is no free area in the database storage area, and insertion becomes impossible. Thus, the row insertion processing is completed by storing the row in the normally determined insertion page (step 418). When a row is inserted, it is, of course, necessary to acquire a log relating to the insertion processing in the database log storage area 70 in FIG.

【0026】以上のように行を挿入する場合、ハッシュ
関数によって定められたデータベース格納領域を決定
し、さらにデータベース格納領域内でもハッシュバケッ
ト要素番号に該当するセグメントにデータを格納するた
め、他のパーティショニングキー値によって求められた
異なるハッシュバケット要素番号のデータは明確に別セ
グメントに格納される。さらに、複数のユーザから行を
挿入する要求が発生した場合、同じデータベース格納領
域内であっても分割キー値が異なれば格納するセグメン
トも異なるので、同一セグメントへの挿入といった競合
を大幅に抑止することも可能になる。
When inserting a row as described above, a database storage area determined by a hash function is determined, and data is stored in a segment corresponding to a hash bucket element number in the database storage area. The data of the different hash bucket element numbers determined by the shocking key value are clearly stored in another segment. Further, when a request to insert a row is issued from a plurality of users, even in the same database storage area, the segment to be stored is different if the division key value is different, so that contention such as insertion into the same segment is largely suppressed. It becomes possible.

【0027】次に、データベースに対する問合せとして
検索要求が発行された場合の検索処理の処理の流れを図
7に示す。データベースの表に対してデータの検索処理
要求が行われる場合、「ZAIKO」表を例にとると以
下のような要求がデータベース管理システムに対して発
行される。
Next, FIG. 7 shows a flow of a search process when a search request is issued as a query to the database. When a data search processing request is issued to a database table, the following request is issued to the database management system using the "ZAIKO" table as an example.

【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)。
SELECT SCODE, SNAME, COL, TANKA, ZSURYO FR
OM ZAIKO WHERE SNO = '101' When the above request is given, first, the database definition information is acquired from the database definition information storage area 60 in FIG. 2 (step 420). From the acquired information, the “ZAIKO” table contains the partitioning key SCO
It turns out that the hash value is divided by the DE column. Next, it is checked whether or not there is a condition designation for the SCODE column as a partitioning key in the search condition of the search request (step 421). In the case of this inquiry, S
Since the condition for the NO column is specified, the database storage area is determined by applying a hash function. As a result of performing the hash function, the hash bucket element number in the hash map table in FIG. 3 is determined.
Here, it is assumed that the hash bucket element number is 256. Since the “ZAIKO” table is given to be divided into four database storage areas, the hash bucket element number 256 of the hash map table having the number of divisions of 4 in the hash map table in FIG. It is found that the number 3 in the database division management table is the database storage area for storing data (step 423). "Number" column in the database partition management table is 3
By retrieving the database storage area name, it is determined that the database storage area name is 'DBAREA4'. Since the database storage area has been determined, the segment hash map table 51 of the “ZAIKO” table is referred to in order to determine the segment corresponding to the hash bucket element number in the database storage area 'DBAREA4'. When referring to the segment hash map table 51, the entry of the array number 256 in the segment hash map table is referenced using the hash bucket element number 256 obtained earlier (step 42).
4). When the head segment management table number set in the entry of the array number 256 of the segment hash map table exists, the search condition is evaluated by tracing the chain of the segment management table with the assigned pages of all segments as search targets ( Step 425). if,
If no segment number is set in the corresponding entry, it means that there is no search target data, and the search result is 0. If no condition is specified for the SNO column as the partitioning key in step 421, all database storage areas are to be searched. When all database storage areas are to be searched, search condition evaluation is performed while tracing the segment chain of each element number for those whose segment numbers set in the segment hash map table in each database storage area are not 0. (Steps 426 through 42
7).

【0029】以上のようにデータベース検索の場合、パ
ーティショニングキーに対する条件が指定されると、検
索対象となるデータベース格納領域を絞り込むだけでな
く、データベース格納領域内のセグメントを絞り込むこ
とができるので、アクセスする必要のないセグメントを
検索対象から除外することができる。
As described above, in the database search, when a condition for the partitioning key is specified, not only the database storage area to be searched but also the segments in the database storage area can be narrowed. Segments that do not need to be searched can be excluded from the search.

【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)。反映処理とは、次の手順で行われる。
An embodiment in which data is rearranged using the database division storage method according to the present invention will be described with reference to FIGS. As the database system configuration, the configuration shown in FIG. 2 is used, and as the definition of the database, the “ZAIKO” table shown in FIG. 3 is used, and a new database storage area “DBAREA5” is added to the “ZAIKO” table. FIG. 8 shows the flow of the database rearrangement process in the case of adding "." The database relocation processing is performed by the database management system 4 as shown in FIG.
It operates as the database relocation processing unit 430, which is one processing program in 0. First, as a database relocation processing request, the database storage area “DBAREA
When the addition of “5” is requested, the hash map table with the number of divisions including the newly added database storage area is displayed in FIG.
(Step 431). Here, since one database storage area is added to the database divided into four parts, a hash map table in the case of five parts is obtained.
Next, a list is created by extracting the hash bucket element numbers managed by the additional database storage area from the obtained hash map table (step 432). In other words, the array number with the number 4 in each array of the hash map table in the case of division into five may be extracted as the hash bucket element number. Since the hash bucket element number to be managed by the database storage area added in this way has been found, the hash bucket of the hash bucket element number extracted earlier is currently managed by referring to the hash map table of four divisions, which is the current number of divisions. The number of the stored database storage area is acquired (step 433). If the number of the database storage area is known, the database storage area name can be obtained from the database division management table 65 in the database definition information storage area 60 in FIG. A correspondence table between the obtained hash bucket element numbers to be moved to the added database storage area thus obtained and the existing database storage areas is created, and the movement target hash bucket element numbers are sorted for each existing database storage area. If a correspondence table is created in advance, processing can be performed for each existing database storage area. First, processing is started from the database storage area “DBAREA1”. This will be described with reference to FIG. From the database storage area “DBAREA1”, hash bucket element numbers 204 to 255, which are 1/5 of hash bucket element numbers 0 to 255, are to be moved.
Movement target segment extraction processing (step 43)
4), the database storage area “DBA” in FIG.
REA1 "segment hash map table 51 in 50a
With reference to a, the segment 54a is read into the segment input / output buffer 42 by tracing the chain of the segment management table in the page bitmap table 53a while extracting the segment head numbers from the hash bucket element number 204 to 255 in order. The segment I / O buffer is read in segments, but is not used by referring to the page bitmap area of each segment management table, that is, free pages are not read or the destination database is read. If the page bitmap information is also copied when the corresponding segment of the storage area is assigned, there is no problem if the page bitmap information is read in segment units. In this way, a process of reflecting the segment read into the segment input / output buffer 42 to the additional database storage area "DBAREA5" 50e is performed (step 435). The reflection process is performed in the following procedure.

【0031】(1)セグメント単位で処理を行うので追
加データベース格納領域「DBAREA5」50e中の
セグメントビットマップ表から空きビットをサーチし、
新規に1個のセグメントを確保する。
(1) Since processing is performed on a segment basis, an empty bit is searched from the segment bit map table in the additional database storage area "DBAREA5" 50e.
Allocate one new segment.

【0032】(2)新規に当該ハッシュバケット用のセ
グメントを確保した場合は、セグメントハッシュマップ
表53aの先頭セグメント先頭ポインタを更新する。こ
のとき、当該ハッシュバケット用セグメント数に1を加
える。
(2) When a new segment for the hash bucket is newly secured, the first segment head pointer of the segment hash map table 53a is updated. At this time, 1 is added to the number of segments for the hash bucket.

【0033】(2)確保したセグメントを管理するセグ
メント管理テーブルをページビットマップ表53eから
確保する。確保したセグメント管理テーブル内のページ
ビットマップは、移動前のページビットマップ内容をコ
ピーすればよい。このとき、当該ハッシュバケット用の
セグメントがすでに割り当てられている場合はセグメン
ト管理テーブルの最後尾に当該テーブルをチェインさせ
る。
(2) A segment management table for managing the secured segments is secured from the page bitmap table 53e. As the page bitmap in the secured segment management table, the contents of the page bitmap before the movement may be copied. At this time, if the segment for the hash bucket has already been allocated, the segment is chained to the end of the segment management table.

【0034】(3)確保したセグメントに対してセグメ
ント入出力バッファ42から書きこむ。
(3) The secured segment is written from the segment input / output buffer 42.

【0035】上記手順によって反映処理終了後、既存の
データベース格納領域「DBAREA1」50aの移動
完了したセグメントの削除処理を行う(ステップ43
6)。移動完了したセグメントの削除処理は、次の手順
で行われる。
After the completion of the reflection process according to the above procedure, a process of deleting the segment of the existing database storage area "DBAREA1" 50a whose movement has been completed is performed (step 43).
6). The process of deleting the moved segment is performed in the following procedure.

【0036】(1)セグメントハッシュマップ表51a
の該当ハッシュバケット要素番号のセグメント先頭ポイ
ンタを参照し、ページビットマップ表53aのセグメン
ト管理テーブルをNEXTポインタを辿りながら、セグ
メントビットマップ表52a内の該当セグメントのビッ
トを空きビットに更新する。
(1) Segment hash map table 51a
And updates the bits of the corresponding segment in the segment bitmap table 52a to empty bits while referring to the segment head pointer of the corresponding hash bucket element number and tracing the NEXT pointer in the segment management table of the page bitmap table 53a.

【0037】(2)該当ハッシュバケットのすべてのセ
グメントについてセグメントビットマップ表52aのビ
ットを空きビットに更新したら、セグメントハッシュマ
ップ表内の該当ハッシュバケット要素番号のセグメント
数を0に更新する(ステップ437)。
(2) When the bits of the segment bitmap table 52a are updated to empty bits for all the segments of the corresponding hash bucket, the number of segments of the corresponding hash bucket element number in the segment hash map table is updated to 0 (step 437). ).

【0038】以上の手順で各既存のデータベース格納領
域内の移動対象となるハッシュバケットすべてを移動し
たかどうかをチェックし(ステップ438)、データベ
ース格納領域「DBAREA4」までステップ434か
ら437までを行い、すべてのデータベース格納領域の
処理が終了した場合、データベース定義情報格納領域6
0内のデータベース定義情報を更新する(ステップ43
9)。更新する内容は、追加したデータベース格納領域
の情報をデータベース領域管理表61およびデータベー
ス格納領域構成ファイル菅表に追加し、「ZAIKO」
表に追加したデータベース格納領域の情報として、デー
タベース管理表63の分割数を5に更新し、データベー
ス分割管理表65には追加したデータベース格納領域
「DBAREA5」及び番号として4の情報を追加する
ことである。
It is checked whether or not all the hash buckets to be moved in each existing database storage area have been moved in the above procedure (step 438), and steps 434 to 437 are performed up to the database storage area "DBAREA4". When the processing of all the database storage areas is completed, the database definition information storage area 6
Update the database definition information in 0 (step 43)
9). The content to be updated is obtained by adding the information of the added database storage area to the database area management table 61 and the database storage area configuration file table, and clicking “ZAIKO”.
By updating the number of divisions in the database management table 63 to 5 as information on the database storage area added to the table, and adding the added database storage area “DBAREA5” and information of 4 as a number to the database division management table 65. is there.

【0039】このようにデータベースの再配置処理で
は、各既存のデータベース格納領域から1レコードずつ
データを読み込む必要がなく、セグメント単位で読み込
み、追加したデータベース格納領域に書きこみを行えば
よい。また、移動対象でないハッシュバケットは一切、
読み込む必要がない。
As described above, in the database rearrangement process, it is not necessary to read data one record at a time from each existing database storage area, but it is sufficient to read data in segments and write data to the added database storage area. Also, any hash buckets that are not to be moved,
No need to read.

【0040】次に、本発明によるデータの再配置に関す
る第2の実施例として並列データベースシステムにおけ
るデータの再配置処理を示す。
Next, a data rearrangement process in a parallel database system will be described as a second embodiment relating to data rearrangement according to the present invention.

【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が処理を振り分けるのである。
FIG. 10 is a diagram showing an example of a hardware configuration of a parallel database system. One computer system 10 includes a CPU 12, a main storage device 14, and an external storage device 20, such as a magnetic disk device, as in FIG. In the parallel database system. A plurality of computer systems and a plurality of terminals 30 are connected to a network. Each processing configuration unit is arranged in the database management system 40 configuring the parallel database system. The front-end server 41 (hereinafter, referred to as FES) is a component that receives an inquiry from the terminal 30 and generates a processing procedure for the inquiry. The FES has a database log storage area 70 for recording logs related to transactions and the like. Back-end servers 43a, 43b, 43c, 43d (hereinafter, referred to as
BES) receives the processing procedure from the FES, and stores the database storage areas 50a, 50b, 50c, and 50d managed by BES1, BES2, BES3, and BES4, respectively.
And returns the processing result to the FES. At this time, logs related to database changes and transactions related to the respective database storage areas are stored in the database log storage area 70.
a, 70b, 70c, and 70d. The data dictionary server 42 (hereinafter referred to as DIC)
The database manages definition information related to the database, and the definition information is stored in the database definition information storage area 70. Logs related to changes in the database definition information and logs related to transactions are stored in the database log storage area 70. In the FES, the definition information of the database accessed by the requested query is acquired from the DIC. FIG.
0, as shown in FIG.
A plurality of ESs can be arranged. This can increase the parallel processing capability by placing multiple BESs in one computer system. here,
The configuration is such that two BESs are arranged in each computer system. Using the hardware configuration of the parallel database system, "ZAIKO"
Database definition information storage area 70 when a table is defined
FIG. 11 shows the management information of. There is no difference in basic management information from the database definition information storage area 70 of FIG. 3 shown as an embodiment in the case of a non-parallel database system. The difference is the server name included in the database area management table 61. Information for managing which server manages each database storage area is added. In other words, the “ZAIKO” table has four database storage areas DBAREA1, DBAREA2, DBAREA
3, DBAREA4 and DBAREA1 is BE
S1, DBAREA2 is BES2, DBAREA3 is B
In ES3 and DBAREA4, the FES distributes the processing so that the database processing is performed in the BES4.

【0042】次に、当該並列データベースシステムに対
して図10に示すように新規にコンピュータシステムを
追加し、データベースコンポーネントとしてBES5
43eを追加し、さらに追加したBES5にデータベー
ス格納領域「DBAREA5」を追加した場合に、戦術
した「ZAIKO」表のデータの再配置がどう行われる
かについて説明する。
Next, a new computer system is added to the parallel database system as shown in FIG.
A description will be given of how the tactical data of the "ZAIKO" table is rearranged when the database storage area "DBAREA5" is added to the added BES5.

【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へ
の移動対象セグメントの反映処理を行う。反映処理と
は、次の手順で行われる。
First, the BES 5 executes data reception processing as rearrangement processing. FIG. 13 shows a schematic processing flow of the data reception processing in the BES5. In BES5,
The hash map table in five divisions including the database storage area DBAREA5 to be added is extracted from the database definition information storage area of the DIC (step 441). Next, a list is created by extracting the hash bucket element numbers managed by the additional database storage area from the obtained hash map table (step 442). In other words, the array number with the number 4 in each array of the hash map table in the case of division into five may be extracted as the hash bucket element number. Since the hash bucket element number to be managed by the database storage area added in this way has been found, the hash bucket of the hash bucket element number extracted earlier is currently managed by referring to the hash map table of four divisions, which is the current number of divisions. The number of the database storage area and the server name are acquired from the DIC (step 443). If the number of the database storage area is known, the database storage area name can be obtained from the database division management table 65 in the database definition information storage area 60 in FIG. Further, the name of the server managing each database storage area can be obtained from the database area management table. A correspondence table between the obtained hash bucket element numbers to be moved to the added database storage area thus obtained and the existing database storage areas is created, and the movement target hash bucket element numbers are sorted for each existing database storage area. If a correspondence table is created in advance, processing can be performed for each existing database storage area. Next, from BES5, database storage area D
B that manages from BAREA1 to DBAREA4
The moving object segment extraction processing request is transmitted to the ES1 to the BES4 using the hash bucket element number to be moved and the database storage area as input information (step 444). FIG. 13 shows the flow of the data extraction processing in each BES that has received the message of the movement target segment extraction processing request. BES1 to BES4 receive the message (step 461). In each BES, the contents of the message are analyzed, and the extraction process is started with the combination of the database storage area and the hash bucket element number from which the data is extracted in the relocation. For example, in BES1, processing is started from the database storage area DBAREA1 50a. This will be described with reference to FIG. From the database storage area “DBAREA1” 50a, the hash bucket element numbers 204 to 255, which are 1/5 of the hash bucket element numbers 0 to 255, are to be moved, and the database storage area “DB
Segment hash map table 5 in “AREA1” 50a
1a, while extracting the segment head numbers from the hash bucket element number 204 to 255 in order from the hash bucket element number 204,
The segment 54a is read into the segment input buffer 45a while following the chain of the segment management table in the page bitmap table 53a (step 462).
Then, it is checked whether or not all the segments to be moved from the database storage area have been read (step 463). If the search has not been completed, the hash bucket element is sent from the segment input buffer 45a to the BES5 which transmitted the data extraction processing request. Transmission is performed together with the number (step 464). The data transmitted from BES1 is received by BES5 in the process of receiving data from each BES (step 445 in FIG. 13). At this time, it is checked whether or not the data transmission from all the BESs has been completed (step 446).
The process of reflecting the segment to be moved to the additional database storage area "DBAREA5" 50e is performed. The reflection process is performed in the following procedure.

【0044】(1)セグメント単位で処理を行うので追
加データベース格納領域「DBAREA5」50e中の
セグメントビットマップ表52eから空きビットをサー
チし、新規に1個のセグメントを確保する。
(1) Since processing is performed on a segment basis, an empty bit is searched from the segment bit map table 52e in the additional database storage area "DBAREA5" 50e, and one new segment is secured.

【0045】(2)新規に当該ハッシュバケット用のセ
グメントを確保した場合は、セグメントハッシュマップ
表53eの先頭セグメント先頭ポインタを更新する。さ
らに、当該ハッシュバケット用セグメント数に1を加え
る。
(2) When a new segment for the hash bucket is newly secured, the first segment head pointer of the segment hash map table 53e is updated. Further, 1 is added to the number of segments for the hash bucket.

【0046】(2)確保したセグメントを管理するセグ
メント管理テーブルをページビットマップ表53eから
確保する。確保したセグメント管理テーブル内のページ
ビットマップは、移動前のページビットマップ内容をコ
ピーすればよい。このとき、当該ハッシュバケット用の
セグメントがすでに割り当てられている場合はセグメン
ト管理テーブルの最後尾に当該テーブルをチェインさせ
る。
(2) A segment management table for managing the secured segments is secured from the page bitmap table 53e. As the page bitmap in the secured segment management table, the contents of the page bitmap before the movement may be copied. At this time, if the segment for the hash bucket has already been allocated, the segment is chained to the end of the segment management table.

【0047】(3)確保したセグメントに対してセグメ
ント出力バッファ43aから書きこむ。
(3) The secured segment is written from the segment output buffer 43a.

【0048】本データ受信処理は、各BESからデータ
を受信できるようにセグメント出力バッファ46aから
46dまでが用意される。1回のデータ受信処理が終了
する毎に受信したセグメントの反映処理が完了したこと
を送信先に通知する(ステップ448)。これに対し
て、BES1では図14のステップ465によりセグメ
ント反映完了通知の受信処理によって、通知を受け取
る。セグメント反映完了通知を受信すると、移動したセ
グメントの削除処理を行う(ステップ466)。移動完
了したセグメントの削除処理は、次の手順で行われる。
In this data receiving process, segment output buffers 46a to 46d are prepared so that data can be received from each BES. Each time one data reception process is completed, the transmission destination is notified of the completion of the received segment reflection process (step 448). On the other hand, the BES1 receives the notification by receiving the segment reflection completion notification in step 465 of FIG. When the segment reflection completion notification is received, the moved segment is deleted (step 466). The process of deleting the moved segment is performed in the following procedure.

【0049】(1)セグメントハッシュマップ表51a
の該当ハッシュバケット要素番号のセグメント先頭ポイ
ンタを参照し、ページビットマップ表53aのセグメン
ト管理テーブルをNEXTポインタを辿りながら、セグ
メントビットマップ表52a内の該当セグメントのビッ
トを空きビットに更新する。
(1) Segment hash map table 51a
And updates the bits of the corresponding segment in the segment bitmap table 52a to empty bits while referring to the segment head pointer of the corresponding hash bucket element number and tracing the NEXT pointer in the segment management table of the page bitmap table 53a.

【0050】(2)該当ハッシュバケットのすべてのセ
グメントについてセグメントビットマップ表52aのビ
ットを空きビットに更新したら、セグメントハッシュマ
ップ表内の該当ハッシュバケット要素番号のセグメント
数を0に更新する(ステップ467)。
(2) When the bits of the segment bitmap table 52a are updated to empty bits for all the segments of the corresponding hash bucket, the number of segments of the corresponding hash bucket element number in the segment hash map table is updated to 0 (step 467). ).

【0051】以上の手順でデータ抽出側のBESは、ス
テップ462から467までを繰返し、すべての移動対
象セグメントの送信が完了した場合(ステップ46
3)、当該BESからのデータ送信が終了したことをB
ES5に通知する(ステップ468)。
In the above procedure, the BES on the data extraction side repeats steps 462 to 467, and completes transmission of all segments to be moved (step 46).
3), B indicates that the data transmission from the BES has been completed.
Notify ES5 (step 468).

【0052】一方、BES5においてもステップ445
から448までを繰返し、BES1からBES4までの
すべてのBESからデータ送信完了通知を受け取ったら
(ステップ446)、DICのデータベース定義情報を
更新する(ステップ449)。更新する内容は、追加し
たデータベース格納領域の情報をデータベース領域管理
表61およびデータベース格納領域構成ファイル菅表に
追加し、「ZAIKO」表に追加したデータベース格納
領域の情報として、データベース管理表63の分割数を
5に更新し、データベース分割管理表65には追加した
データベース格納領域「DBAREA5」及び番号とし
て4の情報を追加することである。
On the other hand, the step 445 is also performed in the BES5.
To 448 are repeated, and when the data transmission completion notification is received from all the BESs from BES1 to BES4 (step 446), the database definition information of the DIC is updated (step 449). The contents to be updated are obtained by adding the information of the added database storage area to the database area management table 61 and the database storage area configuration file table, and dividing the database management table 63 as information of the database storage area added to the “ZAIKO” table. The number is updated to 5, and the added database storage area “DBAREA5” and information of 4 as a number are added to the database division management table 65.

【0053】以上のように並列データベースシステムに
おいても、各BESの各既存のデータベース格納領域か
ら1レコードずつデータを読み込む必要がなく、セグメ
ント単位で読み込み、追加したデータベース格納領域を
管理するBESにセグメント単位で転送し、書き込み処
理を行えばよい。また、移動対象でないハッシュバケッ
トは一切、読み込む必要がない。
As described above, in the parallel database system as well, it is not necessary to read data one record at a time from each existing database storage area of each BES. And write processing may be performed. Also, there is no need to read any hash buckets that are not to be moved.

【0054】次に本発明に係るデータベースの分割方法
の第2の実施例を図15および図16を用いて説明す
る。
Next, a second embodiment of the database dividing method according to the present invention will be described with reference to FIGS.

【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のパーティション内をあ
らかじめハッシュバケットに分割しておけば、各パーテ
ィションに対してデータベース格納領域を追加する場
合、各パーティション内の分割数に対応させたハッシュ
マップ表を選択すればよいことになる。
FIG. 15 shows a state in which key range partitioning is performed as a first partitioning method of a table, and partitions partitioned by each key range are hash partitioned.
The above-described "ZAIKO" table is taken as an example, and the dividing method is changed. FIG. 16 shows the management information in the database definition information storage area at this time. The difference from the management information of the database definition information storage area shown in FIG. 11 is a database management table 63 and a database division management table 65. As the definition of the table of "ZAIKO" table,
It is assumed that the condition for dividing the key range into the “SCODE” column is given, and that the “SCODE” column or another column may be hash-divided.
The database management table 63 holds a value of “RANGE” indicating that the partitioning method is the key range partitioning, and “SCODD” as the first partitioning key.
A column number 1 for indicating a column "E" is held, and a column number 1 for indicating a column "SCODE" is held as a second sub-partitioning key. Then, the serial number of the database storage area corresponding to the first partition and the second
Indicates that the serial number of the database storage area corresponding to the sub-partition is held, and that each division condition is held. For example, when the division condition is “C1> 100”, the serial number of the database storage area is 0, and “DBAREA1” is set as the database storage area in that partition.
"1", "DBAREA12", and "DBAREA13" are designated and further assigned as sub-numbers 0, 1, and 2 by a hash function. This can be considered similarly to the case where the first division condition is hash division. Therefore, if the first partition is divided into hash buckets in advance, when adding a database storage area to each partition, a hash map table corresponding to the number of divisions in each partition may be selected. become.

【0056】以上、説明したように本実施例によれば、
データベースのデータをあらかじめ固定された複数のハ
ッシュバケットに分割し、かつ、データベース格納領域
内で物理的に独立したセグメントにハッシュバケットを
格納するので、新規に追加したデータベース格納領域に
対するデータの再配置処理時に移動対象のハッシュバケ
ットのデータのみを再配置対象とすることができる。
As described above, according to this embodiment,
Since the database data is divided into a plurality of fixed hash buckets in advance and the hash buckets are stored in physically independent segments in the database storage area, data is relocated to the newly added database storage area Sometimes, only the data of the hash bucket to be moved can be the relocation target.

【0057】また、再配置処理によって移動したセグメ
ントは開放されるので、他のハッシュバケットの格納セ
グメントとして再利用が可能となり、データベース格納
領域の空きに無駄がない。
Further, since the segment moved by the relocation processing is released, it can be reused as a storage segment of another hash bucket, and there is no waste in the space of the database storage area.

【0058】[0058]

【発明の効果】以上、説明したように本発明によれば、
データベースのデータをあらかじめ固定された複数のハ
ッシュバケットに分割し、かつ、データベース格納領域
内で物理的に独立したセグメントにハッシュバケットを
格納するので、新規に追加したデータベース格納領域に
対するデータの再配置処理時に移動対象のハッシュバケ
ットのデータのみを再配置対象とすることができる。
As described above, according to the present invention,
Since the database data is divided into a plurality of fixed hash buckets in advance and the hash buckets are stored in physically independent segments in the database storage area, data is relocated to the newly added database storage area Sometimes, only the data of the hash bucket to be moved can be the relocation target.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の特長となるデータベース格納領域の構
成を示す。
FIG. 1 shows a configuration of a database storage area which is a feature of the present invention.

【図2】本発明を実施するためのデータベース管理シス
テムの構成図を示す。
FIG. 2 shows a configuration diagram of a database management system for implementing the present invention.

【図3】データベース定義情報を管理する表の情報を示
す。
FIG. 3 shows information of a table for managing database definition information.

【図4】本発明の特徴となるハッシュマップ表を示す。FIG. 4 shows a hash map table which is a feature of the present invention.

【図5】本実施例に係る表へのデータの挿入処理の概略
フローを示す。
FIG. 5 illustrates a schematic flow of a process of inserting data into a table according to the embodiment.

【図6】本実施例に係るセグメントマップ表とページビ
ットマップ表との関連を示す。
FIG. 6 shows a relation between a segment map table and a page bitmap table according to the present embodiment.

【図7】本実施例に係る表の検索処理の概略処理フロー
を示す。
FIG. 7 shows a schematic process flow of a table search process according to the embodiment.

【図8】本発明によるデータベース再配置処理の概略処
理フローを示す。
FIG. 8 shows a schematic processing flow of a database relocation processing according to the present invention.

【図9】本発明によるデータベース再配置処理のデータ
の流れを示す。
FIG. 9 shows a data flow of a database relocation process according to the present invention.

【図10】本発明を実施するための並列データベースシ
ステムの構成図を示す。
FIG. 10 is a configuration diagram of a parallel database system for implementing the present invention.

【図11】並列データベースシステムにおけるデータベ
ース定義情報を管理する表の情報を示す。
FIG. 11 shows information of a table for managing database definition information in a parallel database system.

【図12】並列データベースシステムにおけるデータベ
ース再配置処理のデータの流れを示す。
FIG. 12 shows a data flow of a database relocation process in the parallel database system.

【図13】本発明によるデータベース再配置のデータ受
信処理の概略処理フローを示す。
FIG. 13 shows a schematic processing flow of data reception processing for database relocation according to the present invention.

【図14】本発明によるデータベース再配置のデータ送
信処理の概略処理フローを示す。
FIG. 14 shows a schematic processing flow of data transmission processing for database relocation according to the present invention.

【図15】本発明によるキーレンジ分割した場合の表の
例を示す。
FIG. 15 shows an example of a table in the case of key range division according to the present invention.

【図16】キーレンジ分割した表のデータベース定義情
報を管理する表の情報を示す。
FIG. 16 shows information of a table for managing database definition information of a table divided into key ranges.

【符号の説明】[Explanation of symbols]

10:コンピュータシステム、12:CPU、14:主
記憶装置、20:外部記憶装置、30:端末、40:デ
ータベース管理システム、50:データベース格納領
域、51:セグメントハッシュマップ表、52:セグメ
ントビットマップ表、53:ページビットマップ表、5
4:セグメント、61:データベース格納領域管理表、
62:データベース格納領域構成管理表、63:データ
ベース管理表、64:データベース構成列管理表、6
5:データベース分割管理表、66:ハッシュマップ
表、60:データベース定義情報格納領域、70:デー
タベースログ格納領域。
10: Computer system, 12: CPU, 14: Main storage device, 20: External storage device, 30: Terminal, 40: Database management system, 50: Database storage area, 51: Segment hash map table, 52: Segment bit map table , 53: Page bitmap table, 5
4: segment, 61: database storage area management table,
62: database storage area configuration management table, 63: database management table, 64: database configuration column management table, 6
5: database division management table, 66: hash map table, 60: database definition information storage area, 70: database log storage area.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 星野 隆一 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 (72)発明者 笠尾 英明 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 Fターム(参考) 5B075 NK45 NR03 5B082 BA09 CA11 EA01 EA02  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Ryuichi Hoshino 5030 Totsuka-cho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Within Hitachi Software Works, Ltd. (72) Inventor Hideaki Kasao 6-81 Onoecho, Naka-ku, Yokohama-shi, Kanagawa Address Hitachi Software Engineering Co., Ltd. In-house F-term (reference) 5B075 NK45 NR03 5B082 BA09 CA11 EA01 EA02

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】一つ又は複数の外部記憶装置から構成され
るデータベース格納領域を管理し、前記データベース格
納領域は物理的に固定長の複数のページから構成される
複数のセグメントを管理するデータベース管理方法にお
いて、 データベースの格納領域としてm個のデータベース格納
領域が与えられた場合、 前記データベースの一つ又は複数のデータ項目をパーテ
ィショニングキーとし、前記データベースを前記パーテ
ィショニングキーに対してハッシュ関数を適用し、n
(m≦n)個の論理的な単位であるバケットに分割し、 前記与えられたデータベース格納領域数に応じて各バケ
ットを管理するデータベース格納領域の対応を決定する
ハッシュマップ表と、 前記分配されたバケットを各データベース格納領域内の
格納単位であるセグメントとマッピングさせるためのセ
グメントハッシュマップ表によってデータベースを管理
することを特徴とするデータベース管理方法。
1. A database management system for managing a database storage area composed of one or a plurality of external storage devices, wherein the database storage area manages a plurality of segments composed of a plurality of physically fixed-length pages. In the method, when m database storage areas are provided as database storage areas, one or more data items of the database are used as a partitioning key, and the database is applied with a hash function on the partitioning key. Then n
(M ≦ n) buckets, which are logical units, are divided into buckets, and a hash map table that determines correspondence between database storage areas that manage each bucket according to the given number of database storage areas; A database management method comprising: managing a database by a segment hash map table for mapping a set bucket to a segment which is a storage unit in each database storage area.
【請求項2】請求項1記載のデータベース管理方法にお
いて、 パーティショニングキーに対してキーレンジ分割が指定
された場合、 前記各キーレンジに対してデータベース格納領域が与え
られる場合、前記パーティショニングキーと同じデータ
項目又は前記パーティショニングキーとは異なるデータ
項目を第2のパーティショニングキーとして、データベ
ースを前記第2のパーティショニングキーに対してハッ
シュ関数を適用し、n個の論理的な単位であるバケット
に分割し、 前記バケットを各データベース格納領域内の格納単位で
あるセグメントとマッピングさせるためのセグメントハ
ッシュマップ表によってデータベースを管理することを
特徴とするデータベース管理方法。
2. The database management method according to claim 1, wherein: when a key range division is designated for a partitioning key; when a database storage area is provided for each key range; Using the same data item or a data item different from the partitioning key as a second partitioning key, applying a hash function to the database for the second partitioning key, and n buckets which are n logical units And managing the database using a segment hash map table for mapping the buckets to segments that are storage units in each database storage area.
【請求項3】請求項1記載のデータベース管理方法にお
いて、 データベース格納領域の追加が要求された場合、全バケ
ット数を既存のデータベース格納領域と追加したデータ
ベース格納領域を加えた全データベース格納領域数で均
等にバケットを分けた場合の各データベース格納領域の
バケット数を基に、 既存の各データベース領域から前記バケット数より多い
バケットを選択し、選択されたバケットを前記追加した
データベース格納領域の前記バケット数を満たすように
再配置するようハッシュマップ表を更新し、 前記各データベース領域から移動対象に選択されたバケ
ットを前記セグメントハッシュマップ表を参照し、セグ
メント単位で追加したデータベース格納領域に転送し、 前記追加したデータベース領域にデータ転送が完了する
と前記転送したデータベース格納領域中の転送したセグ
メント群を削除することを特徴とするデータベース管理
方法。
3. The database management method according to claim 1, wherein when the addition of the database storage area is requested, the total number of buckets is calculated by adding the existing database storage area and the added database storage area to the total number of database storage areas. Based on the number of buckets in each database storage area when buckets are equally divided, a bucket larger than the number of buckets is selected from each existing database area, and the number of buckets in the database storage area to which the selected bucket has been added is selected. Updating the hash map table so as to relocate so as to satisfy, the bucket selected as a migration target from each database area is referred to the segment hash map table, and transferred to the database storage area added in segment units; Data transfer to the added database area is completed And deleting the transferred segment group in the transferred database storage area.
【請求項4】請求項1記載のデータベース管理方法にお
いて、 ハッシュ関数によって分割するバケット数をユーザの指
定によって設定できることを特徴とするデータベース管
理方法。
4. The database management method according to claim 1, wherein the number of buckets divided by a hash function can be set by a user's specification.
【請求項5】請求項3のデータベース管理方法におい
て、 データベース格納領域の追加によってデータの再配置が
行われた場合、データ転送が完了したセグメント群を削
除する場合、前記セグメントのコピーを更新前ログとし
て取得することなく、前記データベース格納領域中のセ
グメントを管理するセグメントビットマップ表に対して
前記削除セグメントのビットを空き状態に書き換え、当
該ビットの更新前状態及び更新後状態を更新ログとして
取得し、 データの再配置が完了する前に障害によって失敗した場
合、前記削除セグメントに対する更新前ログを前記セグ
メントビットマップ表に書き戻すことによって回復する
ことを特徴とするデータベース管理方法。
5. The database management method according to claim 3, wherein when data is relocated by adding a database storage area, when a group of segments for which data transfer has been completed is deleted, a copy of said segment is updated to a pre-update log. Without acquiring as, the bit of the deleted segment is rewritten to an empty state with respect to the segment bitmap table for managing the segment in the database storage area, and the pre-update state and the post-update state of the bit are obtained as an update log. A database management method for recovering by deleting a pre-update log for the deleted segment into the segment bitmap table, if the failure occurs before the data relocation is completed.
【請求項6】請求項1記載のデータベース管理方法にお
いて、 データベース格納領域の追加が要求された場合、既存の
各データベース格納領域内に含まれるハッシュバケット
のセグメント数の合計を算出し、既存のすべてのデータ
ベース格納領域の平均セグメント数を算出し、追加した
データベース格納領域数を含めた全データベース格納領
域数で平均セグメント数を算出することによって、 前記算出した既存のすべてのデータベース格納領域の平
均セグメント数と前記追加したデータベース格納領域数
を含めた全データベース格納領域数で平均セグメント数
の差分を算出し、前記算出した差分のセグメント数に近
似させるように前記各既存のデータベース格納領域から
ハッシュバケットを追加したデータベース格納領域にデ
ータを再配置することによって、再配置の対象となった
ハッシュバケットによってハッシュマップ表を更新する
ことを特徴とするデータベース管理方法。
6. The database management method according to claim 1, wherein when the addition of the database storage area is requested, the total number of segments of the hash bucket included in each existing database storage area is calculated. By calculating the average number of segments in the database storage area of the database and calculating the average number of segments in the total number of database storage areas including the number of added database storage areas, the calculated average number of segments in all the existing database storage areas is calculated. And calculate the difference in the average number of segments with the total number of database storage areas including the added number of database storage areas, and add a hash bucket from each of the existing database storage areas so as to approximate the calculated number of segments. Data to a new database storage area Database management method characterized in that the Rukoto updates the hash map table by the hash bucket as a target of rearrangement.
【請求項7】請求項2記載のデータベース管理方法にお
いて、 あるキーレンジ・パーティションに対してデータベース
格納領域の追加が要求された場合、前記キーレンジ・パ
ーティション内の全バケット数を前記キーレンジ・パー
ティション内の既存のデータベース格納領域と追加した
データベース格納領域を加えた全データベース格納領域
数で均等にバケットを分けた場合の書くデータベース格
納領域数を基に、 既存の各データベース領域かた前記バケット数より多い
バケットを選択し、選択されたバケットを千期追加した
データベース格納領域の前記バケット数を満たすように
再配置するようハッシュマップ表を更新し、 前記各データベース領域から移動対象に選択されたバケ
ットを前記セグメントハッシュマップ表を参照し、セグ
メント単位で追加したデータベース格納領域に転送し、 前記追加したデータベース領域にデータ転送が完了する
と前記転送したデータベース格納領域中の転送したセグ
メント群を削除することを特徴とするデータベース管理
方法。
7. The database management method according to claim 2, wherein when a database storage area is requested to be added to a certain key range partition, the total number of buckets in said key range partition is changed to said key range partition. Based on the number of database storage areas to be written when buckets are equally divided by the total number of database storage areas including the existing database storage area and the added database storage area, Select a large number of buckets, update the hash map table so that the selected buckets are relocated so as to satisfy the number of buckets in the database storage area that has been added for a thousand years, Referring to the segment hash map table, Database management method characterized by transferred to the database storage area added in Units, it deletes the transferred segment group of database storage in a region where the added data transfer in the database area is the transfer to be completed.
JP32365799A 1999-11-15 1999-11-15 Database management method Expired - Lifetime JP4199888B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32365799A JP4199888B2 (en) 1999-11-15 1999-11-15 Database management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32365799A JP4199888B2 (en) 1999-11-15 1999-11-15 Database management method

Publications (2)

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

Family

ID=18157163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32365799A Expired - Lifetime JP4199888B2 (en) 1999-11-15 1999-11-15 Database management method

Country Status (1)

Country Link
JP (1) JP4199888B2 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293981A (en) * 2005-03-18 2006-10-26 Hitachi Ltd Database storage method and database storage system
JP2007140821A (en) * 2005-11-17 2007-06-07 Mitsubishi Electric Corp Data management device, data management method and data management program
JP2008233968A (en) * 2007-03-16 2008-10-02 Nec Corp Database server capable of relocating data distributed among multiple processors, relocation method, and program
US7558802B2 (en) 2005-10-27 2009-07-07 Hitachi, Ltd Information retrieving system
JP2009181546A (en) * 2008-02-01 2009-08-13 Toshiba Corp Coordinator server, data allocation method and program
US7689545B2 (en) 2004-11-09 2010-03-30 Hitachi, Ltd. System and method to enable parallel text search using in-charge index ranges
JP2010134519A (en) * 2008-12-02 2010-06-17 Hitachi Ltd Method and program for database management, and database acceptance device
US8122225B2 (en) 2008-08-12 2012-02-21 International Business Machines Corporation LUN masking/mapping in a SR-IOV enabled SAS adapter
JP2012123790A (en) * 2010-12-07 2012-06-28 Internatl Business Mach Corp <Ibm> Database redistribution utilizing virtual partitions
JP2013061739A (en) * 2011-09-12 2013-04-04 Fujitsu Ltd Data management device, data management system, data management method, and program
CN101751457B (en) * 2008-11-28 2013-04-24 国际商业机器公司 Information processing apparatus, database system and information processing method
JP2013120537A (en) * 2011-12-08 2013-06-17 Hitachi Solutions Ltd Information processing system
JP2017062541A (en) * 2015-09-24 2017-03-30 日本電気株式会社 Data management device, data management method, and program
KR20170103627A (en) * 2015-01-03 2017-09-13 맥아피 인코퍼레이티드 Secure distributed backup for personal device and cloud data
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
CN115168364A (en) * 2022-07-31 2022-10-11 浙江移动信息系统集成有限公司 A partitioned Clevel hash index structure and data processing method based on NVM
JP2023509900A (en) * 2019-12-27 2023-03-10 ヒタチ ヴァンタラ エルエルシー Dynamic adaptive partitioning
JP7602561B2 (en) 2020-06-28 2024-12-18 中興通訊股▲ふん▼有限公司 Method and apparatus for data reallocation

Cited By (27)

* 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 (en) * 2005-03-18 2006-10-26 Hitachi Ltd Database storage method and database storage system
US7558802B2 (en) 2005-10-27 2009-07-07 Hitachi, Ltd Information retrieving system
JP2007140821A (en) * 2005-11-17 2007-06-07 Mitsubishi Electric Corp Data management device, data management method and data management program
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 (en) * 2007-03-16 2008-10-02 Nec Corp Database server capable of relocating data distributed among multiple processors, relocation method, and program
JP2009181546A (en) * 2008-02-01 2009-08-13 Toshiba Corp Coordinator server, data allocation method and program
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 (en) * 2008-11-28 2013-04-24 国际商业机器公司 Information processing apparatus, database system and information processing method
US8856183B2 (en) 2008-11-28 2014-10-07 International Business Machines Corporation Database access using partitioned data areas
JP2010134519A (en) * 2008-12-02 2010-06-17 Hitachi Ltd Method and program for database management, and database acceptance device
JP2012123790A (en) * 2010-12-07 2012-06-28 Internatl Business Mach Corp <Ibm> Database redistribution utilizing virtual partitions
US9684702B2 (en) 2010-12-07 2017-06-20 International Business Machines Corporation Database redistribution utilizing virtual partitions
JP2013061739A (en) * 2011-09-12 2013-04-04 Fujitsu Ltd Data management device, data management system, data management method, and program
JP2013120537A (en) * 2011-12-08 2013-06-17 Hitachi Solutions Ltd Information processing system
US10102267B2 (en) 2014-02-14 2018-10-16 Fujitsu Limited Method and apparatus for access control
KR101904635B1 (en) 2015-01-03 2018-10-04 맥아피, 엘엘씨 Secure distributed backup for personal device and cloud data
KR20170103627A (en) * 2015-01-03 2017-09-13 맥아피 인코퍼레이티드 Secure distributed backup for personal device and cloud data
JP2017062541A (en) * 2015-09-24 2017-03-30 日本電気株式会社 Data management device, data management method, and program
JP2023509900A (en) * 2019-12-27 2023-03-10 ヒタチ ヴァンタラ エルエルシー Dynamic adaptive partitioning
JP7398567B2 (en) 2019-12-27 2023-12-14 ヒタチ ヴァンタラ エルエルシー Dynamic adaptive partitioning
US12026177B2 (en) 2019-12-27 2024-07-02 Hitachi Vantara Llc Dynamic adaptive partition splitting
JP7602561B2 (en) 2020-06-28 2024-12-18 中興通訊股▲ふん▼有限公司 Method and apparatus for data reallocation
CN115168364A (en) * 2022-07-31 2022-10-11 浙江移动信息系统集成有限公司 A partitioned Clevel hash index structure and data processing method based on NVM

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2001142752A (en) Database management method
JP4206586B2 (en) Database management method and apparatus, and storage medium storing database management program
US7213025B2 (en) Partitioned database system
US7558802B2 (en) Information retrieving system
US7673099B1 (en) Affinity caching
US7640262B1 (en) Positional allocation
US7930559B1 (en) Decoupled data stream and access structures
US9149054B2 (en) Prefix-based leaf node storage for database system
US7720892B1 (en) Bulk updates and tape synchronization
US7890541B2 (en) Partition by growth table space
US6144970A (en) Technique for inplace reorganization of a LOB table space
US8341130B2 (en) Scalable file management for a shared file system
US8250075B2 (en) System and method for generation of computer index files
US7418544B2 (en) Method and system for log structured relational database objects
KR100856245B1 (en) File system devices and how files are stored and retrieved from the file system
JP2005530242A (en) Storage system having partitioned movable metadata
CN1559041A (en) Sharing objects between computer systems
CN103514222B (en) Storage method, management method, memory management unit and the system of virtual machine image
US7136861B1 (en) Method and system for multiple function database indexing
CN1791873B (en) Undrop objects and dependent objects in a database system
US20210209087A1 (en) Reorganization of Databases by Sectioning
Tomasic Distributed queries and incremental updates in information retrieval systems
JP2000348063A (en) Database management method and system
KR100256678B1 (en) Method of management directory for the partitioned signature file
CN118069365A (en) Data rapid loading method, system, equipment and storage medium for distributed graph database

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