JP4349463B2 - Storage device management method - Google Patents
Storage device management method Download PDFInfo
- Publication number
- JP4349463B2 JP4349463B2 JP2008055697A JP2008055697A JP4349463B2 JP 4349463 B2 JP4349463 B2 JP 4349463B2 JP 2008055697 A JP2008055697 A JP 2008055697A JP 2008055697 A JP2008055697 A JP 2008055697A JP 4349463 B2 JP4349463 B2 JP 4349463B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- bes
- node
- disk
- data
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データベース分割管理方法および並列データベースシステムに関し、さらに
詳しくは、データベース処理を行うプロセッサ数またはディスク数を負荷に合わせて最適
にする記憶装置管理方法に関する。
The present invention relates to a database partition management method and a parallel database system, and more particularly to a storage device management method for optimizing the number of processors or the number of disks that perform database processing in accordance with the load.
例えば、非特許文献1において、並列データベースシステムが提案されている。
この並列データベースシステムでは、密結合あるいは疎結合に複数のプロセッサを接続
し、それら複数のプロセッサに対して、データベース処理を配分している。
For example, Non-Patent
In this parallel database system, a plurality of processors are connected in tight coupling or loose coupling, and database processing is distributed to the plurality of processors.
従来の並列データベースシステムのシステム構成はユーザに任されており、且つ、固定
的であった。
このため、システム構成が初めから負荷に不適合であったり、途中から不適合になる場
合があり、期待する並列度が得られなかったり、高速な問い合せが実現できない問題点が
あった。
そこで、本発明の目的は、期待する並列度を得ることが出来ると共に、高速な問い合せ
を実現することが出来るデータベース分割管理方法および並列データベースシステムを提
供することにある。
The system configuration of the conventional parallel database system is left to the user and is fixed.
For this reason, the system configuration may be incompatible with the load from the beginning or may become incompatible in the middle, and the expected parallelism cannot be obtained, or high-speed queries cannot be realized.
SUMMARY OF THE INVENTION An object of the present invention is to provide a database partition management method and a parallel database system that can obtain the expected degree of parallelism and realize high-speed queries.
第1の観点では、本発明は、ユーザからの問合せの解析,最適化,処理手順作成を実行
する機能を有するFESノードと、そのFESノードで作成された処理手順を基にしてデ
ータベースをアクセスする機能を持つBESノードと、ディスクを備え且つそのディスク
にデータベースを格納し管理する機能を持つIOSノードとをネットワークで接続してな
る並列データベースシステムにおいて、データベース処理の負荷パターンに応じて、FE
Sノードに割当てるプロセッサ数と、BESノードに割当てるプロセッサ数と、IOSノ
ードに割当てるプロセッサ数と、IOSノードのディスク数と、ディスクの分割数とを決
定することを特徴とするデータベース分割管理方法を提供する。
In a first aspect, the present invention accesses a database on the basis of an FES node having a function of executing analysis, optimization, and processing procedure creation of a query from a user, and the processing procedure created by the FES node. In a parallel database system in which a BES node having a function and an IOS node having a disk and a function of storing and managing a database on the disk are connected via a network, an FE is applied according to a load pattern of database processing.
Provided is a database partition management method characterized by determining the number of processors allocated to an S node, the number of processors allocated to a BES node, the number of processors allocated to an IOS node, the number of disks in an IOS node, and the number of disk partitions To do.
また、ユーザからの問合せの解析,最適化,処理手順作成を実行する機能を有するFE
Sノードと、そのFESノードで作成された処理手順を基にしてデータベースをアクセス
する機能およびディスクを備え且つそのディスクにデータベースを格納し管理する機能を
持つBESノードとをネットワークで接続してなる並列データベースシステムにおいて、
データベース処理の負荷パターンに応じて、FESノードに割当てるプロセッサ数と、B
ESノードに割当てるプロセッサ数と、BESノードのディスク数と、ディスクの分割数
とを決定することを特徴とするデータベース分割管理方法を提供する。
In addition, the FE has the function of executing analysis, optimization, and processing procedure creation of queries from users.
A parallel structure in which an S node and a BES node having a function of accessing a database and a function of storing and managing a database on the disk are connected via a network based on a processing procedure created in the FES node. In the database system,
Depending on the load pattern of database processing, the number of processors assigned to the FES node and B
Provided is a database partition management method characterized by determining the number of processors allocated to an ES node, the number of disks of a BES node, and the number of disk partitions.
上記第1の観点によるデータベース分割管理方法では、データベース処理の負荷パター
ン(一件検索処理,一件更新処理,データ取り出し処理など)に応じて、各ノードに割当
てるプロセッサ数とディスク数とディスクの分割数とを決定する。そこで、システム構成
が負荷に適合したものとなり、期待する並列度が得られると共に、高速な問い合せを実現
できるようになる。
In the database partition management method according to the first aspect described above, the number of processors, the number of disks, and the number of disks allocated to each node according to the database processing load pattern (one record search process, one record update process, data fetch process, etc.) Determine the number. Therefore, the system configuration is adapted to the load, the expected parallelism can be obtained, and high-speed queries can be realized.
第2の観点では、本発明は、ユーザからの問合せの解析,最適化,処理手順作成を実行
する機能を有するFESノードと、そのFESノードで作成された処理手順を基にしてデ
ータベースをアクセスする機能を持つBESノードと、ディスクを備え且つそのディスク
にデータベースを格納し管理する機能を持つIOSノードとをネットワークで接続してな
る並列データベースシステムにおいて、データベースのスキャンに必要な時間を一定とす
る並列アクセス可能なページ数の上限を決め、そのページ数の上限に応じて、FESノー
ドに割当てるプロセッサ数と、BESノードに割当てるプロセッサ数と、IOSノードに
割当てるプロセッサ数と、IOSノードのディスク数と、ディスクの分割数とを決定する
ことを特徴とするデータベース分割管理方法を提供する。
In a second aspect, the present invention accesses a database on the basis of an FES node having a function of executing analysis, optimization, and processing procedure creation of a query from a user, and a processing procedure created by the FES node. In a parallel database system in which a BES node having a function and an IOS node having a disk and a function of storing and managing a database on the disk are connected by a network, the parallel time for which the time required for the database scan is constant Determine the upper limit of the number of accessible pages, and according to the upper limit of the number of pages, the number of processors assigned to the FES node, the number of processors assigned to the BES node, the number of processors assigned to the IOS node, the number of disks of the IOS node, A database characterized by determining the number of disk divisions To provide the split management method.
また、ユーザからの問合せの解析,最適化,処理手順作成を実行する機能を有するFE
Sノードと、そのFESノードで作成された処理手順を基にしてデータベースをアクセス
する機能およびディスクを備え且つそのディスクにデータベースを格納し管理する機能を
持つBESノードとをネットワークで接続してなる並列データベースシステムにおいて、
データベースのスキャンに必要な時間を一定とする並列アクセス可能なページ数の上限を
決め、そのページ数の上限に応じて、FESノードに割当てるプロセッサ数と、BESノ
ードに割当てるプロセッサ数と、BESノードのディスク数と、ディスクの分割数とを決
定することを特徴とするデータベース分割管理方法を提供する。
In addition, the FE has the function of executing analysis, optimization, and processing procedure creation of queries from users.
A parallel structure in which an S node and a BES node having a function of accessing a database and a function of storing and managing a database on the disk are connected via a network based on a processing procedure created in the FES node. In the database system,
Determine the upper limit of the number of pages that can be accessed in parallel with a fixed time required for the database scan, and according to the upper limit of the number of pages, the number of processors assigned to the FES node, the number of processors assigned to the BES node, and the number of BES nodes Provided is a database partition management method characterized by determining the number of disks and the number of disk partitions.
上記第2の観点によるデータベース分割管理方法では、データベースのスキャンに必要
な時間を一定とする並列アクセス可能なページ数の上限に応じて、各ノードに割当てるプ
ロセッサ数とディスク数とディスクの分割数とを決定する。そこで、高速な問い合せを実
現できるようになる。
In the database partition management method according to the second aspect, the number of processors, the number of disks, and the number of disk partitions allocated to each node are determined according to the upper limit of the number of pages that can be accessed in parallel with a constant time required for database scanning. To decide. Therefore, high-speed inquiries can be realized.
第3の観点では、本発明は、ユーザからの問合せの解析,最適化,処理手順作成を実行
する機能を有するFESノードと、そのFESノードで作成された処理手順を基にしてデ
ータベースをアクセスする機能を持つBESノードと、ディスクを備え且つそのディスク
にデータベースを格納し管理する機能を持つIOSノードとをネットワークで接続してな
る並列データベースシステムにおいて、負荷パターンにより期待並列度pを算出し、その
期待並列度pに応じて、FESノードに割当てるプロセッサ数と、BESノードに割当て
るプロセッサ数と、IOSノードに割当てるプロセッサ数と、IOSノードのディスク数
と、ディスクの分割数とを決定することを特徴とするデータベース分割管理方法を提供す
る。
In a third aspect, the present invention accesses a database on the basis of an FES node having a function of executing analysis, optimization and processing procedure creation of a query from a user, and the processing procedure created by the FES node. In a parallel database system in which a BES node having a function and an IOS node having a disk and a function of storing and managing a database on the disk are connected by a network, an expected parallelism p is calculated from a load pattern, and The number of processors assigned to the FES node, the number of processors assigned to the BES node, the number of processors assigned to the IOS node, the number of disks in the IOS node, and the number of disk divisions are determined according to the expected parallelism p. A database partition management method is provided.
また、ユーザからの問合せの解析,最適化,処理手順作成を実行する機能を有するFE
Sノードと、そのFESノードで作成された処理手順を基にしてデータベースをアクセス
する機能およびディスクを備え且つそのディスクにデータベースを格納し管理する機能を
持つBESノードとをネットワークで接続してなる並列データベースシステムにおいて、
負荷パターンにより期待並列度pを算出し、その期待並列度pに応じて、FESノードに
割当てるプロセッサ数と、BESノードに割当てるプロセッサ数と、BESノードのディ
スク数と、ディスクの分割数とを決定することを特徴とするデータベース分割管理方法を
提供する。
In addition, the FE has the function of executing analysis, optimization, and processing procedure creation of queries from users.
A parallel structure in which an S node and a BES node having a function of accessing a database and a function of storing and managing a database on the disk are connected via a network based on a processing procedure created in the FES node. In the database system,
The expected parallelism p is calculated from the load pattern, and the number of processors assigned to the FES node, the number of processors assigned to the BES node, the number of disks in the BES node, and the number of disk divisions are determined according to the expected parallelism p A database partition management method is provided.
上記第3の観点によるデータベース分割管理方法では、負荷パターンにより算出した期
待並列度pに応じて、各ノードに割当てるプロセッサ数とディスク数とディスクの分割数
とを決定する。そこで、期待する並列度が得られるようになる。
In the database partition management method according to the third aspect, the number of processors, the number of disks, and the number of disk partitions allocated to each node are determined according to the expected parallelism p calculated from the load pattern. Therefore, the expected degree of parallelism can be obtained.
第4の観点では、本発明は、上記構成のデータベース分割管理方法において、最適ペー
ジアクセス数mを算出し、キーレンジ分割がある場合には、サブキーレンジ単位の格納ペ
ージ数s(=m/p)を算出し、sページ単位でサブキーレンジ分割し、ディスクへデー
タ挿入を行うことを特徴とするデータベース分割管理方法を提供する。
上記第4の観点によるデータベース分割管理方法では、期待並列度pと最適ページアク
セス数mとから算出したサブキーレンジ単位の格納ページ数s(=m/p)でサブキーレ
ンジ分割して、ディスクへデータ挿入を行う。そこで、データを略均等に分割管理できる
ようになる。
In a fourth aspect, the present invention calculates the optimum page access count m in the database partition management method with the above configuration, and if there is a key range partition, the stored page count s (= m / p) in subkey range units. ) Is calculated, subkey range is divided into s pages, and data is inserted into the disk.
In the database partition management method according to the fourth aspect, the subkey range is divided by the number of stored pages s (= m / p) in subkey range units calculated from the expected parallelism p and the optimum page access number m, and the data is transferred to the disk. Insert. Therefore, the data can be divided and managed substantially equally.
第5の観点では、本発明は、ユーザからの問合せの解析,最適化,処理手順作成を実行
する機能を有するFESノードと、そのFESノードで作成された処理手順を基にしてデ
ータベースをアクセスする機能を持つBESノードと、ディスクを備え且つそのディスク
にデータベースを格納し管理する機能を持つIOSノードとをネットワークで接続してな
る並列データベースシステムにおいて、問合せ実行処理中に取得したアクセスページ数,
ヒットロウ数,通信回数などの負荷情報を基にして負荷アンバランスを検出し、負荷アン
バランスを解消する方向に、FESノードに割当てるプロセッサ数と、BESノードに割
当てるプロセッサ数と、IOSノードに割当てるプロセッサ数と、IOSノードのディス
ク数とを変更することを特徴とするデータベース分割管理方法を提供する。
In a fifth aspect, the present invention accesses a database on the basis of an FES node having a function of executing analysis, optimization, and processing procedure creation of a query from a user, and a processing procedure created by the FES node. In a parallel database system in which a BES node having a function and an IOS node having a disk and a function of storing and managing a database on the disk are connected via a network, the number of access pages acquired during query execution processing,
Based on load information such as the number of hit rows and the number of communications, load imbalance is detected, and the number of processors assigned to the FES node, the number of processors assigned to the BES node, and the processor assigned to the IOS node in the direction of eliminating the load imbalance The database partition management method is characterized in that the number and the number of disks of the IOS node are changed.
また、ユーザからの問合せの解析,最適化,処理手順作成を実行する機能を有するFE
Sノードと、そのFESノードで作成された処理手順を基にしてデータベースをアクセス
する機能およびディスクを備え且つそのディスクにデータベースを格納し管理する機能を
持つBESノードとをネットワークで接続してなる並列データベースシステムにおいて、
問合せ実行処理中に取得したアクセスページ数,ヒットロウ数,通信回数などの負荷情報
を基にして負荷アンバランスを検出し、負荷アンバランスを解消する方向に、FESノー
ドに割当てるプロセッサ数と、BESノードに割当てるプロセッサ数と、BESノードの
ディスク数とを変更することを特徴とするデータベース分割管理方法を提供する。
In addition, the FE has the function of executing analysis, optimization, and processing procedure creation of queries from users.
A parallel structure in which an S node and a BES node having a function of accessing a database and a function of storing and managing a database on the disk are connected via a network based on a processing procedure created in the FES node. In the database system,
The load unbalance is detected based on the load information such as the number of access pages, the number of hit rows, and the number of communications acquired during the query execution process, and the number of processors assigned to the FES node and the BES node in the direction of eliminating the load imbalance There is provided a database partition management method characterized by changing the number of processors allocated to a disk and the number of disks of a BES node.
上記第5の観点によるデータベース分割管理方法では、問合せ実行処理中に負荷アンバ
ランスを検出し、その負荷アンバランスを解消する方向に、各ノードのプロセッサ数また
はディスク数を変更する。そこで、負荷変動があってもシステム構成が常に負荷に適合し
たものとなり、期待する並列度が得られると共に、高速な問い合せを実現できるようにな
る。
In the database partition management method according to the fifth aspect, the load imbalance is detected during the query execution process, and the number of processors or the number of disks in each node is changed so as to eliminate the load imbalance. Therefore, even if there is a load change, the system configuration is always adapted to the load, the expected parallelism can be obtained, and high-speed queries can be realized.
第6の観点では、本発明は、上記構成のデータベース分割管理方法において、BESノ
ードに割当てるプロセッサ数またはIOSノードに割当てるプロセッサ数またはディスク
数を追加する場合、オンライン中であれば、追加対象となるプロセッサまたはディスクで
管理されるデータベースの表のキーレンジ範囲を閉塞し、新たにプロセッサあるいはディ
スクを割り当て、ロック情報,ディレクトリ情報の引き継ぎを行い、ノード振り分け制御
に必要なディクショナリ情報の書き換えを行い、その後、オンライン中であれば、前記閉
塞を解除することを特徴とするデータベース分割管理方法を提供する。
また、上記構成のデータベース分割管理方法において、BESノードに割当てるプロセ
ッサ数またはディスク数を追加する場合、オンライン中であれば、追加対象となるプロセ
ッサまたはディスクで管理されるデータベースの表のキーレンジ範囲を閉塞し、新たにプ
ロセッサあるいはディスクを割り当て、ロック情報,ディレクトリ情報の引き継ぎを行い
、ノード振り分け制御に必要なディクショナリ情報の書き換えを行い、追加対象となるデ
ィスク群から新たなディスク群へデータを移動し、その後、オンライン中であれば、前記
閉塞を解除することを特徴とするデータベース分割管理方法を提供する。
In a sixth aspect, the present invention is an addition target if the number of processors allocated to a BES node, the number of processors allocated to an IOS node, or the number of disks is added in the database partition management method configured as described above if online. Block the key range of the database table managed by the processor or disk, allocate a new processor or disk, take over lock information and directory information, rewrite the dictionary information necessary for node allocation control, and then The database partition management method is characterized by releasing the blockage when online.
In addition, when adding the number of processors or disks allocated to the BES node in the database partition management method configured as described above, if online, the key range range of the database table managed by the processor or disk to be added is set. Shut down, assign a new processor or disk, take over lock information and directory information, rewrite the dictionary information necessary for node allocation control, and move data from the disk group to be added to the new disk group Then, the database partition management method is provided, wherein the blockage is released if online.
上記第6の観点によるデータベース分割管理方法では、プロセッサ数またはディスク数
を追加,削除する場合、オンライン中であれば、表のキーレンジ範囲を閉塞した後、引き
継ぎ処理を行い、その後、前記閉塞を解除する。そこで、オーバヘッドを最小限にできる
。また、IOSノードがあるシステム構成では、データを移動せずに引き継ぎできるよう
になる。
In the database partition management method according to the sixth aspect, when adding or deleting the number of processors or the number of disks, if it is online, the key range range of the table is blocked, the takeover process is performed, and then the blocking is performed. To release. Thus, overhead can be minimized. In a system configuration with an IOS node, data can be transferred without moving.
第7の観点では、本発明は、上記構成のデータベース分割管理方法において、BESノ
ードに割当てるプロセッサ数またはIOSノードに割当てるプロセッサ数またはディスク
数を削除する場合、オンライン中であれば、削除対象となるプロセッサまたはディスクで
管理されるデータベースの表のキーレンジ範囲を閉塞し、削除するプロセッサまたはディ
スクを決定し、ロック情報,ディレクトリ情報の引き継ぎを行い、ノード振り分け制御に
必要なディクショナリ情報の書き換えを行い、その後、オンライン中であれば、前記閉塞
を解除することを特徴とするデータベース分割管理方法を提供する。
In a seventh aspect, the present invention is a deletion target if the number of processors allocated to a BES node, the number of processors allocated to an IOS node, or the number of disks is deleted in the database partition management method configured as described above, if it is online. Block the key range of the database table managed by the processor or disk, determine the processor or disk to be deleted, take over the lock information and directory information, rewrite the dictionary information required for node allocation control, Thereafter, the database partition management method is provided, wherein the blockage is released if online.
また、上記構成のデータベース分割管理方法において、BESノードに割当てるプロセ
ッサ数またはディスク数を削除する場合、オンライン中であれば、削除対象となるプロセ
ッサまたはディスクで管理されるデータベースの表のキーレンジ範囲を閉塞し、削除する
プロセッサまたはディスクを決定し、ロック情報,ディレクトリ情報の引き継ぎを行い、
ノード振り分け制御に必要なディクショナリ情報の書き換えを行い、削除対象となるディ
スク群から引継ぐディスク群へデータを移動し、その後、オンライン中であれば、前記閉
塞を解除することを特徴とするデータベース分割管理方法を提供する。
In the database partition management method configured as described above, when deleting the number of processors or disks allocated to a BES node, if online, the key range range of the database table managed by the processor or disk to be deleted is set. Shut down, determine the processor or disk to be deleted, take over lock information and directory information,
Database partition management characterized by rewriting dictionary information necessary for node allocation control, moving data from a disk group to be deleted to a succeeding disk group, and then releasing the block if online Provide a method.
上記第7の観点によるデータベース分割管理方法では、プロセッサ数またはディスク数
を追加,削除する場合、オンライン中であれば、表のキーレンジ範囲を閉塞した後、引き
継ぎ処理を行い、その後、前記閉塞を解除する。そこで、オーバヘッドを最小限にできる
。また、IOSノードがあるシステム構成では、データを移動せずに引き継ぎできるよう
になる。
In the database partition management method according to the seventh aspect, when adding or deleting the number of processors or the number of disks, if online, the key range range of the table is blocked, the takeover process is performed, and then the blocking is performed. To release. Thus, overhead can be minimized. In a system configuration with an IOS node, data can be transferred without moving.
第8の観点では、本発明は、上記構成のデータベース分割管理方法により、データベー
ス処理を行うプロセッサ数またはディスク数を動的に変更することを特徴とする並列デー
タベースシステムを提供する。
上記第8の観点による並列データベースシステムでは、上記第5の観点から第7の観点
の作用により、スケーラブルな並列データベースシステムとなる。
In an eighth aspect, the present invention provides a parallel database system characterized by dynamically changing the number of processors or the number of disks that perform database processing by the database partition management method configured as described above.
The parallel database system according to the eighth aspect is a scalable parallel database system due to the actions of the fifth to seventh aspects.
本発明のデータベース分割管理方法によれば、システム構成が負荷に適合したものとな
り、期待する並列度が得られると共に、高速な問い合せを実現できるようになる。
本発明の並列データベースシステムによれば、負荷変動があってもシステム構成を常に
負荷に適合したものに変更するスケーラブルな並列データベースシステムが得られる。
According to the database partition management method of the present invention, the system configuration is adapted to the load, the expected parallelism can be obtained, and high-speed queries can be realized.
According to the parallel database system of the present invention, it is possible to obtain a scalable parallel database system in which the system configuration is always changed to one adapted to the load even when the load fluctuates.
以下、本発明の実施形態を図面に基づいて詳細に説明する。なお、これにより本発明が
限定されるものではない。
図1は、本発明の一実施形態の並列データベースシステム1を示す構成図である。
この並列データベースシステム1は、FES(フロントエンドサーバ)ノード,BES
(バックエンドサーバ)ノード,IOS(インプットアウトプットサーバ)ノード,DS
(ディクショナリサーバ)ノードおよびJS(ジャーナルサーバ)ノードを、ネットワー
ク90により接続した構成である。各ノードは、他のシステムとも接続されている。
FESノードは、ディスクを持たない少なくとも1台のプロセッサから構成されたFE
S75からなるノードであり、ユーザからの問合せの解析,最適化,処理手順作成を実行
するフロントエンドサーバの機能を持っている。
BESノードは、ディスクを持たない少なくとも1台のプロセッサから構成されたBE
S73からなるノードであり、前記FES75で作成された処理手順を基にしてデータベ
ースをアクセスする機能を持っている。
IOSノードは、少なくとも1台のプロセッサから構成されたIOS70および少なく
とも1台のディスク80からなるノードであり、ディスク80にデータベースを格納し管
理する機能を持っている。なお、IOSノードの機能をBESノードに持たせれば、IO
Sノードを省略できる。この場合、BES73にディスクを接続すると共に、BES73
がディスク80にデータベースを格納し管理する機能を持つ。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited thereby.
FIG. 1 is a configuration diagram showing a
This
(Back-end server) node, IOS (input output server) node, DS
In this configuration, a (dictionary server) node and a JS (journal server) node are connected by a
The FES node is an FE composed of at least one processor having no disk.
This node is composed of S75, and has a function of a front-end server that executes analysis, optimization, and processing procedure creation of queries from users.
A BES node is a BE composed of at least one processor having no disk.
This node is composed of S73 and has a function of accessing a database based on the processing procedure created by the FES75.
The IOS node is a node composed of an
S nodes can be omitted. In this case, a disk is connected to the
Has a function of storing and managing the database on the
データベースは、複数の表からなる。表は、2次元のテーブル形式であり、複数のロウ
(行)からなる。1つのロウは、1つ以上のカラム(属性)からなる。
この表は、所定数のロウからなる固定長のページ単位で物理的に分割されて、ディスク8
0上に格納される。各ページのディスク80上の格納位置は、ディレクトリ情報を用いて
知ることが出来る。
DSノードは、少なくとも1台のプロセッサから構成されたDS71および少なくとも
1台のディスク81からなるノードであり、データベースの定義情報を一括管理する機能
を持っている。
JSノードは、少なくとも1台のプロセッサから構成されたJS72および少なくとも
1台のディスク82からなるノードであり、各ノードで実行されるデータベース更新履歴
情報を格納し、管理する機能を持っている。
The database consists of a plurality of tables. The table is a two-dimensional table format and includes a plurality of rows. One row consists of one or more columns (attributes).
This table is physically divided into fixed-length page units made up of a predetermined number of rows, and the
Stored on 0. The storage position of each page on the
The DS node is a node composed of a
The JS node is a node including a
図2は、上記並列データベースシステム1におけるFES75,BES73,IOS7
0のプロセッサ数およびディスク数およびディスクの分割数を決める本発明のデータベー
ス分割管理方法の概念図である。
まず、ユーザが指定するワークロードでデータベース処理の負荷パターンを決める。負
荷パターンには、一件検索処理、一件更新処理、データ取り出し処理などがある。その負
荷パターンに応じて、IOS70でディスク80を何分割して管理するか決定する(IO
Sノードの機能をBESが持つ場合は、BES73でディスクを何分割して管理するか決
定する)。
FIG. 2 shows FES75, BES73, IOS7 in the
It is a conceptual diagram of the database partition management method of the present invention for determining the number of processors of 0, the number of disks, and the number of disk partitions.
First, the database processing load pattern is determined by the workload specified by the user. The load pattern includes a single search process, a single update process, and a data fetch process. In accordance with the load pattern, the
When the BES has the function of the S node, the
すなわち、スキーマ定義時、表の分割方法(キー値範囲,範囲毎ロウ数(ページ数を換
算)など)から、格納に必要なディスク数が判明し、閉塞および再編成の単位が決まれば
、BES73およびIOS70の組み合わせ(閉塞あるいは再編成の単位がディスク,I
OS,BESに依存する)が決まる。
これにより、BES73,IOS70,ディスク80の構成台数が決まる。即ち、次の
ようになる。
既分割数...全BESで管理する並列アクセス可能なデータベース分割単位(動的なB
ES追加,削除は、この分割単位で行う)
各分割毎ディスク数...各分割で割り当てられるディスク数 図2は、ディスク数が"8
"、既分割数が"4"、各分割毎ディスク数が"2"の場合である。
なお、プロセッサ性能がn倍となれば、分割数を変えずに、各分割で利用するボリュー
ム数をn倍とする(ただし、IOS70とディスク80の間の総データ転送レートの制限
があるため、ディスク数にも制限がある)。
また、ここでディスクとは、ディスク装置1台に対応させている。本発明では、必ずし
も「ディスク」はディスク装置1台と1対1に対応させる必要はない。
例えば、1ディスク装置に複数のディスク装置を含む場合(ディスクアレイ装置)、並列
アクセス可能な入出力単位の数を「ディスク装置」として適用すればよい。
That is, when the schema is defined, if the number of disks required for storage is determined from the table partitioning method (key value range, number of rows per range (converted page number), etc.) and the unit of blockage and reorganization is determined, BES73 And IOS70 combination (block or reorganization unit is disk, I
Depends on OS and BES).
Thereby, the number of constituents of the
Number of existing partitions ... Parallel accessible database partition units managed by all BESs (dynamic B
(ES addition and deletion are performed in this division unit)
Number of disks per division ... Number of disks allocated in each division Figure 2 shows the number of disks is "8"
This is the case where the number of already divided divisions is “4” and the number of disks for each division is “2”.
If the processor performance is n times, the number of volumes used in each division is increased n times without changing the number of divisions (however, there is a limit on the total data transfer rate between the
Here, the disk corresponds to one disk device. In the present invention, the “disk” does not necessarily correspond to one disk device on a one-to-one basis.
For example, when a single disk device includes a plurality of disk devices (disk array device), the number of input / output units that can be accessed in parallel may be applied as a “disk device”.
図2のようにFES:BES:IOS:ディスク=1:4:1:8であるが、初期デー
タロード時には、FES,BESは1台あればよく、FES:BES:IOS:ディスク
=1:1:1:8となっている。そのため、BES731には、既分割#1〜#4のディ
スク811〜842に格納されるデータベースのディレクトリ情報を持つ。
BES73の負荷が軽くて、BES731の1台だけでIOS70および8台のディス
ク811〜842を処理可能な場合、BES731の1台だけで8台のディスク811〜
842に格納されるデータベースをアクセスする。従って、FES:BES:IOS:デ
ィスク=1:1:1:8のままである。
BES731の負荷が増加して利用率100%の状態が続き負荷アンバランスが検出さ
れると、BES732が追加される。既分割数が"4"であるので、2つのBES731,
732にそれぞれ2つの分割が対応付けられる。そのため、BES731には、既分割#
1〜#2のディスク811〜822に格納されるデータベースのディレクトリ情報を持つ
。また、BES732には、既分割#3〜#4のディスク831〜842に格納されるデ
ータベースのディレクトリ情報を持つ。FES:BES:IOS:ディスク=1:2:1
:8となる。
As shown in FIG. 2, FES: BES: IOS: disk = 1: 4: 1: 8, but at the time of initial data loading, only one FES and BES is required, and FES: BES: IOS: disk = 1: 1. 1: 8. Therefore, the
When the load of the
The database stored in 842 is accessed. Therefore, FES: BES: IOS: disk = 1: 1: 1: 8 remains unchanged.
When the load of the
Two divisions are associated with 732. Therefore, the
1 to # 2 of the disks 811 to 822 having database directory information. Further, the
: 8.
さらに、BES731,732の負荷が増加して利用率100%の状態が続き負荷アン
バランスが検出されると、BES731,732にそれぞれBES733,734が追加
される。既分割数が"4"であるので、4つのBES731,732,733,734にそ
れぞれ1つの分割が対応付けられる。そのため、BES731には、既分割#1のディス
ク811〜812に格納されるデータベースのディレクトリ情報を持つ。また、BES7
32には、既分割#2のディスク821〜822に格納されるデータベースのディレクト
リ情報を持つ。また、BES733には、既分割#3のディスク831〜832に格納さ
れるデータベースのディレクトリ情報を持つ。また、BES734には、既分割#4のデ
ィスク841〜842に格納されるデータベースのディレクトリ情報を持つ。FES:B
ES:IOS:ディスク=1:4:1:8となる。
Further, when the load of
32 has database directory information stored in the already-divided # 2 disks 821 to 822. The
ES: IOS: disk = 1: 4: 1: 8.
負荷が軽くなり、BES733,734の利用率が例えば50%未満の状態が続くと、
BES733,734に割り当ててあるノードを他の処理のために利用する方が有効であ
る。そこで、利用率が50%未満のBES733,734を合わせる。すると、FES:
BES:IOS:ディスク=1:2:1:8に縮退する。
When the load becomes lighter and the usage rate of
It is more effective to use the node assigned to the
Degenerate to BES: IOS: disk = 1: 2: 1: 8.
以上のように、負荷に応じてBESを増減すれば、FES:BES:IOS:ディスク
=1:1:1:8〜1:4:1:8の間でスケーラブルなシステムを実現できる。
IOS70は、BES73とディスク80の対応関係に依らず、並列にアクセス可能な
ディスク数分の並列なタスクが存在すればよい。このため、データの移動を行わず、ディ
レクトリ情報をBES間で移動することで、BES73とディスク80の対応関係を変更
でき、アクセスの分離および統合が容易に可能となる。
次に、負荷パターンが一件更新処理の場合とデータ取り出し処理の場合について、プロ
セッサ数,ディスク数,ディスクの分割数を、数値例で説明する。
前提条件は、以下のように仮定する。
FES処理(受取処理) ... 30[Kステップ]
BES処理(一件更新処理) ... 60[Kステップ]
(データ取り出し処理)... 220[Kステップ]
送信処理 ... 6[Kステップ]
受信処理 ...6+4*ページ数[Kステップ]
入出力発行処理 ...4+4*ページ数[Kステップ]
プロセッサ性能 ... 10[Mステップ/秒]
入出力性能(1ページアクセス) ... 20[m秒]
(10ページアクセス) ... 30[m秒]
A.一件更新処理(1ページアクセス)の場合
(1)IOSノードがあるシステム構成の場合
FES処理の30[Kステップ]でプロセッサ性能10[Mステップ/秒]を割ると、333回/秒まで受取処理が可能である。
As described above, if the BES is increased or decreased according to the load, a scalable system can be realized between FES: BES: IOS: disk = 1: 1: 1: 8 to 1: 4: 1: 8.
The
Next, the number of processors, the number of disks, and the number of disk divisions will be described with numerical examples in the case where the load pattern is a one-case update process and the data extraction process.
The preconditions are assumed as follows.
FES processing (receipt processing) ... 30 [K steps]
BES processing (one update processing) ... 60 [K steps]
(Data retrieval processing) ... 220 [K steps]
Transmission processing ... 6 [K steps]
Reception processing ... 6 + 4 * Number of pages [K steps]
Input / output issuance processing ... 4 + 4 * number of pages [K steps]
Processor performance ... 10 [M steps / sec]
Input / output performance (1 page access) ... 20 [msec]
(10 page access) ... 30 [msec]
A. In case of single update process (1 page access)
(1) In the case of a system configuration with an IOS node When the processor performance of 10 [M steps / second] is divided by 30 [K steps] of FES processing, reception processing can be performed up to 333 times / second.
また、FESからの実行要求の受信処理6[Kステップ]+BESからのデータ取り出
し要求の送信処理6[Kステップ]+IOSからのデータ取り出し結果の受信処理10[Kステップ]+一件更新処理60[Kステップ]+FESへの実行要求結果の送信処理6[Kステップ]=88[Kステップ]がBESでの一件更新処理で必要であるから、これでプロセッサ性能10[Mステップ/秒]を割ると、114回/秒まで一件更新処理が可能である。
さらに、BESからの入出力要求の受信処理6[Kステップ]+入出力発行処理8[Kステップ]+BESへの入出力要求結果の送信処理6[Kステップ]=20[Kステップ]がIOSのディスクへのアクセスに必要であるから、これでプロセッサ性能10[Mステップ/秒]を割ると、500回/秒までディスクへのアクセスが可能である。
Also, the execution request reception process 6 [K steps] from the FES + the data extraction request transmission process 6 [K steps] from the BES + the data extraction result reception process 10 [K steps] from the IOS + one item update process 60 [ K step] + FES execution request result transmission process 6 [K step] = 88 [K step] is necessary for one update process in BES, so this divides the processor performance 10 [M step / second]. One update process is possible up to 114 times / second.
Further, input / output request reception processing 6 [K steps] from BES + input / output issuance processing 8 [K steps] + input / output request result transmission processing 6 [K steps] = 20 [K steps] to BES Since it is necessary for accessing the disk, when the processor performance of 10 [M steps / second] is divided by this, the disk can be accessed up to 500 times / second.
また、1ページのランダム入出力で20[m秒]を要するので、1台のディスクには5
0回/秒までアクセス可能となる。これで前記IOSでのディスクへのアクセス可能回数
500回/秒を割ると、IOSには10台までのディスクを実装可能である。
また、前記BESでの一件更新処理可能回数114回/秒で前記IOSでのディスクへ
のアクセス可能回数500回/秒を割ると、1台のIOSで4.3台のBESに対応可能
である。
In addition, since 20 [msec] is required for random input / output of one page, there are 5 for one disk.
Access is possible up to 0 times / second. If the number of times the IOS can access the disk is divided by 500 times / second, it is possible to mount up to 10 disks in the IOS.
Moreover, if the number of times the disk can be accessed by the IOS is divided by 500 times / second by the number of times that the BES can be updated by 114 times / second, then 4.3 BESs can be handled by one IOS. is there.
さらに、前記BESでの一件更新処理可能回数114回/秒で前記FESでの受取処理
可能333回/秒を割ると、1台のFESで3台のBESに対応可能である。
以上から、FES:BES=1:3、BES:IOS=4.3:1、IOS:ディスク
=1:10となる。そこで、総合的には、図3に示すように、FES:BES:IOS:
ディスク=1:4:1:8とすると、ほぼバランスがとれた実装になる(FESとディス
クに多少のアンバランスが生じる)。
Furthermore, if the BES can be received and processed 333 times / second by the BES one-time update processing possible number of 114 times / second, one FES can support three BESs.
From the above, FES: BES = 1: 3, BES: IOS = 4.3: 1, and IOS: disk = 1: 10. Therefore, generally, as shown in FIG. 3, FES: BES: IOS:
If the disk is 1: 4: 1: 8, the mounting is almost balanced (some unbalance occurs between the FES and the disk).
(2)IOSノードの機能をBESノードに持たせたシステム構成の場合
FES処理の30[Kステップ]でプロセッサ性能10[Mステップ/秒]を割ると、333回/秒まで受取処理が可能である。
また、FESからの実行要求の受信処理6[Kステップ]+入出力発行処理8[Kステップ]+一件更新処理60[Kステップ]+FESへの実行要求結果の送信処理6[Kステップ]=80[Kステップ]がBESでの一件更新処理で必要であるから、これでプロセッサ性能10[Mステップ/秒]を割ると、125回/秒まで一件更新処理が可能である。
また、1ページのランダム入出力で20[m秒]を要するので、1台のディスクには5
0回/秒までアクセス可能となる。これで前記BESでの一件更新処理可能回数125回
/秒を割ると、BESには2.5台までのディスクを実装可能である。
さらに、前記BESでの一件更新処理可能回数125回/秒で前記FESでの受取処理
可能333回/秒を割ると、1台のFESで2.6台のBESに対応可能である。
(2) In the case of a system configuration in which the BES node has the function of the IOS node When the processor performance of 10 [M steps / second] is divided by 30 [K steps] of FES processing, reception processing can be performed up to 333 times / second. is there.
Also, the execution request reception process 6 [K steps] + input / output issue process 8 [K steps] + one update process 60 [K steps] + execution request result transmission process 6 [K steps] to FES = Since 80 [K steps] is necessary for one update process in BES, if the processor performance is 10 [M steps / second], the one update process can be performed up to 125 times / second.
In addition, since 20 [msec] is required for random input / output of one page, there are 5 for one disk.
Access is possible up to 0 times / second. Thus, if the number of times of the one-time update process in the BES is divided by 125 times / second, up to 2.5 disks can be mounted on the BES.
Further, by dividing 333 times / second, which can be processed by the FES, by 125 times / second, the number of times that the one-time update process can be performed by the BES, 2.6 BESs can be handled by one FES.
以上から、FES:BES=1:2.6、BES:ディスク=1:2.5となる。そこ
で、総合的には、図4に示すように、FES:BES:ディスク=1:4:8とすると、
ほぼバランスがとれた実装になる(FESに多少のアンバランスが生じる)。
B.データ取り出し処理(10ページアクセス)の場合
(1)IOSノードがあるシステム構成の場合
FES処理の30[Kステップ]でプロセッサ性能10[Mステップ/秒]を割ると、333回/秒まで受取処理が可能である。
また、FESからの実行要求の受信処理6[Kステップ]+BESからのデータ取り出
し要求の送信処理6[Kステップ]+IOSからのデータ取り出し結果の受信処理46[Kステップ]+データ取り出し処理220[Kステップ]+FESへの実行要求結果の送信処理6[Kステップ]=284[Kステップ]がBESでのデータ取り出し処理で必要であるから、これでプロセッサ性能10[Mステップ/秒]を割ると、35回/秒までデータ取り出し処理が可能である。
さらに、BESからの入出力要求の受信処理6[Kステップ]+入出力発行処理44[Kステップ]+BESへの入出力要求結果の送信処理6[Kステップ]=56[Kステップ]がIOSのディスクへのアクセスに必要であるから、これでプロセッサ性能10[Mステップ/秒]を割ると、179回/秒までディスクへのアクセスが可能である。
From the above, FES: BES = 1: 2.6 and BES: disk = 1: 2.5. Therefore, generally, as shown in FIG. 4, when FES: BES: disk = 1: 4: 8,
The implementation is almost balanced (some unbalance occurs in FES).
B. For data retrieval (
(1) In the case of a system configuration with an IOS node When the processor performance of 10 [M steps / second] is divided by 30 [K steps] of FES processing, reception processing can be performed up to 333 times / second.
Also, reception processing 6 [K steps] of execution requests from FES + transmission processing 6 [K steps] of data retrieval requests from BES + reception processing 46 [K steps] + data retrieval processing 220 [K of data retrieval results from IOS Step] + FES execution request result transmission process 6 [K step] = 284 [K step] is necessary for the data extraction process in the BES. Therefore, when the processor performance 10 [M steps / second] is divided by this, Data extraction processing is possible up to 35 times / second.
Further, input / output request reception processing 6 [K steps] from BES + input / output issuance processing 44 [K steps] + input / output request result transmission processing 6 [K steps] = 56 [K steps] to BES Since it is necessary for accessing the disk, when the processor performance of 10 [M steps / second] is divided by this, the disk can be accessed up to 179 times / second.
また、10ページの一括入出力で30[m秒]を要するので、1台のディスクには33
回/秒までアクセス可能である。これで前記IOSでのディスクへのアクセス可能回数1
79回/秒を割ると、5.4台までのディスクを実装可能である。
また、前記BESでのデータ取り出し処理可能回数35回/秒で前記IOSでのディス
クへのアクセス可能回数179回/秒を割ると、1台のIOSで5.1台のBESに対応
可能である。
さらに、前記BESでのデータ取り出し処理可能回数35回/秒で前記FESでの受取
処理可能333回/秒を割ると、1台のFESで9.5台のBESに対応可能である。
以上から、FES:BES=1:9.5、BES:IOS=5.1:1、IOS:ディ
スク=1:5.4となる。そこで、総合的には、FES:BES:IOS:ディスク=1
:10:2:10とすると、ほぼバランスがとれた実装になる(ディスクに多少のアンバ
ランスが生じる)。
Also, since 10 [10] batch input / output requires 30 [msec], there are 33 on one disk.
Accessible up to times per second. The number of times the disk can be accessed by the
By dividing 79 times / second, it is possible to mount up to 5.4 disks.
Further, if the number of times the data can be fetched by the BES is 35 times / second and the number of times the disk can be accessed by the IOS is 179 times / second, a single IOS can deal with 5.1 BESs. .
Further, when the BES data reception processing possible number of times 35 times / second is divided by the FES reception processing possible time 333 times / second, one FES can cope with 9.5 BESs.
From the above, FES: BES = 1: 9.5, BES: IOS = 5.1: 1, IOS: disk = 1: 5.4. Therefore, generally, FES: BES: IOS: disk = 1
: 10: 2: 10 results in an almost balanced mounting (a little unbalance occurs on the disk).
(2)IOSノードの機能をBESノードに持たせたシステム構成の場合
FES処理の30[Kステップ]でプロセッサ性能10[Mステップ/秒]を割ると、3
33回/秒まで受取処理が可能である。
また、FESからの実行要求の受信処理6[Kステップ]+入出力発行処理44[Kステップ]+データ取り出し処理220[Kステップ]+FESへの実行要求結果の送信処理6[Kステップ]=276[Kステップ]がBESでのデータ取り出し処理で必要であるから、これでプロセッサ性能10[Mステップ/秒]を割ると、36回/秒までデータ取り出し処理が可能である。
また、10ページの一括入出力で30[m秒]を要するので、1台のディスクには33
回/秒までアクセス可能である。これで前記BESでのデータ取り出し処理可能回数36
回/秒を割ると、1台だけのディスクを実装可能である。
(2) In the case of a system configuration in which a BES node has the function of an IOS node When the processor performance of 10 [M steps / second] is divided by 30 [K steps] of FES processing, 3
Reception processing is possible up to 33 times / second.
Also, the execution request reception processing 6 [K steps] + input / output issue processing 44 [K steps] + data extraction processing 220 [K steps] + FES execution request result transmission processing 6 [K steps] = 276. Since [K step] is necessary for the data extraction process at the BES, the data extraction process can be performed up to 36 times / second by dividing the processor performance of 10 [M steps / second].
Also, since 10 [10] batch input / output requires 30 [msec], there are 33 on one disk.
Accessible up to times per second. Thus, the number of times data can be extracted by the BES 36
If the number of times / second is divided, only one disk can be mounted.
さらに、前記BESでのデータ取り出し処理可能回数36回/秒で前記FESでの受取
処理可能333回/秒を割ると、1台のFESで9.2台のBESに対応可能である。
以上から、FES:BES=1:9.2、BES:ディスク=1:1となる。
そこで、総合的には、FES:BES:ディスク=1:10:10とすると、ほぼバラン
スがとれた実装になる。
Further, when the BES data receiving process possible number of times 36 times / second is divided by the FES receiving processable number 333 times / second, one FES can cope with 9.2 BESs.
From the above, FES: BES = 1: 9.2 and BES: disk = 1: 1.
Therefore, in general, when FES: BES: disk = 1: 10: 10, the mounting is almost balanced.
図5は、FES75の構成図である。
FES75は、ユーザが作成したアプリケーションプログラム10〜11と、問合せ処
理やリソース管理などのデータベースシステム全体の管理を行う並列データベース管理シ
ステム20と、データの読み書きなどの計算機システム全体の管理を受け持つオペレーテ
ィングシステム30とを具備している。
FIG. 5 is a configuration diagram of the
The
上記並列データベース管理システム20は、システム制御部21と、論理処理部22と
、物理処理部23と、処理対象となるデータを一時的に格納するデータベース/ディクシ
ョナリ24とを具備している。また、上記並列データベース管理システム20は、ネット
ワーク90および他のシステムと接続されている。
The parallel
上記システム制御部21は、入出力の管理等を行う。また、データロード処理210と
、動的負荷制御処理211とを具備している。
上記論理処理部22は、問合せの構文解析や意味解析を行う問合せ解析220と、適切
な処理手順候補を生成する静的最適化処理221と、処理手順候補に対応したコードの生
成を行なうコード生成222とを具備している。また、処理手順候補から最適なものを選
択する動的最適化処理223と、選択された処理手順候補のコードの解釈実行を行うコー
ド解釈実行224とを具備している。
The
The logic processing unit 22 includes a
上記物理処理部23は、アクセスしたデータの条件判定や編集やレコード追加などを実
現するデータアクセス処理230と、データベースレコードの読み書き等を制御するデー
タベース/ディクショナリバッファ制御231と、システムで共用するリソースの排他制
御を実現する排他制御233とを具備している。
The
図6は、BES73の構成図である。
BES73は、データベースシステム全体の管理を行う並列データベース管理システム
20と、計算機システム全体の管理を受け持つオペレーティングシステム30とを具備し
て構成されている。なお、IOSノードの機能を持つときは、ディスクを有し、そのディ
スクにデータベース40を格納し、管理する。
FIG. 6 is a configuration diagram of the
The
上記並列データベース管理システム20は、システム制御部21と、論理処理部22と
、物理処理部23と、処理対象となるデータを一時的に格納するデータベースバッファ2
4とを具備している。また、上記並列データベース管理システム20は、ネットワーク9
0および他のシステムと接続されている。
The parallel
4. The parallel
0 and connected to other systems.
上記システム制御部21は、入出力の管理等を行う。また、負荷配分を考慮したデータ
ロードを行うためのデータロード処理210を具備している。
上記論理処理部22は、コードの解釈実行を行うコード解釈実行224を具備している
。
上記物理処理部23は、アクセスしたデータの条件判定や編集やレコード追加などを実
現するデータアクセス処理230と、データベースレコードの読み書き等を制御するデー
タベースバッファ制御231と、入出力対象となるデータの格納位置を管理するマッピン
グ処理232と、システムで共用するリソースの排他制御を実現する排他制御233とを
具備している。
The
The logic processing unit 22 includes a
The
図7は、IOS70とディスク80の構成図である。
IOS70は、データベースシステム全体の管理を行う並列データベース管理システム
20と、計算機システム全体の管理を受け持つオペレーティングシステム30とを具備し
て構成されている。
ディスク80には、データベース40が格納されている。
上記並列データベース管理システム20は、システム制御部21と、物理処理部23と
、処理対象となるデータを一時的に格納する入出力バッファ24とを具備している。また
、上記並列データベース管理システム20は、ネットワーク90および他のシステムと接
続されている。
FIG. 7 is a configuration diagram of the
The
The
The parallel
上記システム制御部21は、入出力の管理等を行う。また、負荷配分を考慮したデータ
ロードを行うためのデータロード処理210を具備している。
上記物理処理部23は、アクセスしたデータの条件判定や編集やレコード追加などを実
現するデータアクセス処理230と、データベースレコードの読み書き等を制御する入出
力バッファ制御231とを具備している。
The
The
図8は、DS71およびディスク81の構成図である。
DS71は、データベースシステム全体の管理を行う並列データベース管理システム2
0と、計算機システム全体の管理を受け持つオペレーティングシステム30とを具備して
構成されている。
ディスク81には、ディクショナリ50が格納されている。
上記並列データベース管理システム20は、システム制御部21と、論理処理部22と
、物理処理部23と、ディクショナリバッファ24とを具備している。
また、上記並列データベース管理システム20は、ネットワーク90および他のシステム
と接続されている。
上記論理処理部22は、コードの解釈実行を行うコード解釈実行224を具備している
。
上記物理処理部23は、アクセスしたデータの条件判定や編集やレコード追加などを実
現するデータアクセス処理230と、ディクショナリレコードの読み書き等を制御するデ
ィクショナリバッファ制御231と、システムで共用するリソースの排他制御を実現する
排他制御233とを具備している。
FIG. 8 is a configuration diagram of the
The
0 and an
The disk 81 stores a
The parallel
The parallel
The logic processing unit 22 includes a
The
図9は、JS72とディスク82の構成図である。
JS72は、データベースシステム全体の管理を行う並列データベース管理システム2
0と、計算機システム全体の管理を受け持つオペレーティングシステム30とを具備して
構成されている。
ディスク82には、ジャーナル60が格納されている。
上記並列データベース管理システム20は、システム制御部21と、物理処理部23と
、ジャーナルバッファ24とを具備している。また、上記並列データベース管理システム
20は、ネットワーク90および他のシステムと接続されている。
上記物理処理部23は、アクセスしたデータの条件判定や編集やレコード追加などを実
現するデータアクセス処理230と、ジャーナルレコードの読み書き等を制御するジャー
ナルバッファ制御231とを具備している。
FIG. 9 is a configuration diagram of the
JS72 is a parallel
0 and an
A journal 60 is stored in the
The parallel
The
図10は、FES75におけるデータベース管理システム20の処理を示すフローチャ
ートである。
システム制御部21は、問合せ分析処理か否かチェックする(212)。問合せ分析処
理であれば、問合せ分析処理400を呼び出し、それを実行した後、終了する。
問合せ分析処理でなければ、問合せ実行処理か否かチェックする(213)。
問合せ実行処理であれば、問合せ実行処理410を呼び出し、それを実行した後、終了す
る。
問合せ実行処理でなければ、データロード処理か否かチェックする(214)。データ
ロード処理であれば、データロード処理210を呼び出し、それを実行した後、終了する
。
データロード処理でなければ、動的負荷制御処理か否かチェックする(214)。動的
負荷制御処理であれば、動的負荷制御処理210を呼び出し、それを実行した後、終了す
る。
動的負荷制御処理でなければ、終了する。
FIG. 10 is a flowchart showing processing of the
The
If it is not a query analysis process, it is checked whether it is a query execution process (213).
If it is a query execution process, the
If it is not a query execution process, it is checked whether it is a data load process (214). If it is a data load process, the
If it is not a data load process, it is checked whether it is a dynamic load control process (214). If it is a dynamic load control process, the dynamic
If it is not a dynamic load control process, the process ends.
なお、BES73におけるデータベース管理システム20の処理のフローチャートは、
図10からステップ212,215,400,211を省いたものとなる。また、IOS
70におけるデータベース管理システム20の処理のフローチャートは、図10からステ
ップ212,213,215,400,410,211を省いたものとなる。
In addition, the flowchart of the process of the
The flowchart of the process of the
図11は、問合せ分析処理400のフローチャートである。
まず、問合せ解析220により、入力された問合せ文の構文解析,意味解析を実行する
。
次に、静的最適化処理221により、問合せで出現する条件式から条件を満足するデー
タの割合を推定し、予め設定している規則を基に、有効なアクセスパス候補(特にインデ
クスを選出する)を作成し、処理手順の候補を作成する。
次に、コード生成222により、処理手順の候補を実行形式のコードに展開する。そし
て、処理を終了する。
FIG. 11 is a flowchart of the
First, the
Next, the
Next, the
図12は、問合せ解析220のフローチャートである。
ステップ2200では、入力された問合せ文の構文解析,意味解析を実行する。そして
、処理を終了する。
FIG. 12 is a flowchart of the
In
図13は、静的最適化処理221のフローチャートである。
まず、述語選択率推定2210により、問い合せに出現する条件式の述語の選択率を推
定する。
次に、アクセスパス剪定2212により、インデクス等からなるアクセスパスを剪定す
る。
次に、処理手順候補生成2213により、アクセスパスを組み合わせた処理手順候補を
生成する。
そして、処理を終了する。
FIG. 13 is a flowchart of the
First, the predicate
Next, the access path consisting of an index or the like is pruned by the
Next, a processing procedure candidate combining access paths is generated by processing
Then, the process ends.
図14は、述語選択率推定2210のフローチャートである。
ステップ22101では、問合せ条件式に変数が出現するか否かチェックする(221
01)。変数が出現しなければステップ22102に進み、変数が出現すればステップ2
2104に進む。
ステップ22102では、当条件式にカラム値分布情報があるか否かチェックする。カ
ラム値分布情報があればステップ22103に進み、カラム値分布情報がなければステッ
プ22105に進む。
ステップ22103では、カラム値分布情報を用いて選択率を算出し、終了する。
ステップ22104では、当条件式にカラム値分布情報があるか否かチェックする。カ
ラム値分布情報があれば終了し、カラム値分布情報がなければ、ステップ22105に進
む。
ステップ22105では、条件式の種別に応じてディフォルト値を設定し(22105
)、終了する。
FIG. 14 is a flowchart of predicate
In
01). If no variable appears, the process proceeds to step 22102, and if a variable appears, step 2102
Go to 2104.
In
In
In
In
),finish.
図15は、アクセスパス剪定2212のフローチャートである。
ステップ22120では、問合せ条件式で出現するカラムのインデクスをアクセスパス
候補として登録する。
ステップ22121では、問合せでアクセス対象となる表が複数ノードに分割格納され
ているかチェックする。分割格納されていなければステップ22122に進み、分割格納
されていればステップ22123に進む。
ステップ22122では、シーケンシャルスキャンをアクセスパス候補として登録する
。
ステップ22123では、パラレルスキャンをアクセスパス候補として登録する。
ステップ22124では、各条件式の選択率が既に設定済みか否かチェックする。設定
済みであればステップ22125に進み、設定済みでなければステップ22126に進む
。
ステップ22125では、各表に関して選択率が最小となる条件式のインデクスをアク
セスパスの最優先度とする。
ステップ22126では、各条件式の選択率の最大値および最小値を取得する。
ステップ22127では、プロセッサ性能,IO性能等システム特性より各アクセスパ
スの選択基準を算出する。
ステップ22128では、単一あるいは複数のインデクスを組合せたアクセスパスでの
選択率が上記選択基準を下回るものだけアクセスパス候補として登録する。
FIG. 15 is a flowchart of
In
In
In
In
In
In
In
In
In
図16は、処理手順候補生成2213のフローチャートである。
ステップ22130では、問合せでアクセス対象となる表が複数ノードに分割格納され
ているかチェックする。分割格納されていなければステップ22131へ進み、分割格納
されていればステップ22135へ進む。
ステップ22131では、処理手順候補にソート処理が含まれているか否かをチェック
する。含まれていなければステップ22132へ進み、含まれていればステップ2213
5へ進む。
ステップ22132では、問合せでアクセス対象となる表のアクセスパスが唯一である
かチェックする。唯一であればステップ22133へ進み、唯一でなければステップ22
134へ進む。
ステップ22133では、単一の処理手順を作成し、終了する。
ステップ22134では、複数の処理手順を作成し、終了する。
ステップ22135では、結合可能な2ウェイ結合へ問合せを分解する。
ステップ22136では、分割格納される表の格納ノード群に対応して、データ読みだ
し/データ分配処理手順とスロットソート処理手順を候補として登録する。
ステップ22137では、結合処理ノード群に対応して、スロットソート処理手順、N
ウェイマージ処理手順および突き合わせ処理手順を候補として登録する。なお、スロット
ソート処理とは、ページ内の各ロウがページ先頭からのオフセットで位置付けされるスロ
ットで管理され、データが格納されるページを対象とするページ内のソート処理を指し、
スロット順に読みだせば昇順にロウがアクセス可能とする。また、Nウェイマージ処理と
は、Nウェイのバッファを用いて、各マージ段でN本のソート連を入力にしてトーナメン
ト法で最終的に1本のソート連を作成する処理をいう。
ステップ22138では、要求データ出力ノードに要求データ出力処理手順を登録する
。
ステップ22139では、分解結果に対して評価がすべて終了したかチェックする。評
価がすべて終了していなければ前記ステップ22136に戻り、評価がすべて終了してい
れば処理を終了する。
FIG. 16 is a flowchart of processing
In
In
Proceed to 5.
In
Go to 134.
In
In
In
In step 22136, the data reading / data distribution processing procedure and the slot sorting processing procedure are registered as candidates corresponding to the storage node group of the table to be divided and stored.
In
The way merge process procedure and the matching process procedure are registered as candidates. Note that the slot sort process refers to a sort process in a page targeted for a page in which each row in the page is managed by a slot positioned with an offset from the top of the page and data is stored,
If read in slot order, rows can be accessed in ascending order. The N-way merge process is a process that uses an N-way buffer to input N sort sequences at each merge stage and finally create one sort sequence by the tournament method.
In
In
図17は、コード生成222のフローチャートである。
ステップ2220では、処理手順候補が唯一か否かをチェックする。唯一でなければス
テップ2221へ進み、唯一であればステップ2223へ進む。
ステップ2221では、カラム値分布情報等からなる最適化情報を処理手順に埋込む。
ステップ2222では、問合せ実行時に代入された定数に基づいて処理手順を選択する
データ構造を作成する。
ステップ2223では、処理手順を実行形式へ展開する。そして、処理を終了する。
FIG. 17 is a flowchart of the
In
In
In step 2222, a data structure for selecting a processing procedure is created based on the constant assigned at the time of executing the query.
In
図18は、問合せ実行処理410のフローチャートである。
まず、動的実行時最適化223により、代入された定数に基づき、各ノード群で実行す
る処理手順を決定する。
次に、コード解釈実行224により、当処理手順を解釈し、実行する。そして、処理を
終了する。
FIG. 18 is a flowchart of the
First, the dynamic
Next, the
図19は、動的最適化処理223のフローチャートである。
ステップ22300では、動的負荷制御処理を実行する(22300)。
ステップ22301では、作成されている処理手順が単一か否かをチェックする。単一
であれば、処理を終了する。単一でなければ、ステップ22302へ進む。
ステップ22302では、代入された定数を基に選択率を算出する。
ステップ22303では、処理手順候補に並列な処理手順が含まれるか否かチェックす
る。含まれていればステップ22304に進み、含まれていなければステップ22308
に進む。
ステップ22304では、ディクショナリから最適化情報(結合カラムのカラム値分布
情報,アクセス対象となる表のロウ数,ページ数等)を入力する。
ステップ22305では、データ取り出し/データ分配のための処理時間を各システム
特性を考慮し、算出する。
ステップ22306では、当処理時間から結合処理に割当てるノード数pを決定する。
ステップ22307では、データ分配情報を最適化情報を基に作成する。
ステップ22308では、アクセスパスの選択基準に従って処理手順を選択し、終了す
る。
FIG. 19 is a flowchart of the
In
In
In
In
Proceed to
In
In
In
In
In step 22308, a processing procedure is selected according to the access path selection criteria, and the process ends.
図20は、コード解釈実行224のフローチャートである。
ステップ22400では、データ取り出し/データ分配処理か否かチェックする。デー
タ取り出し/データ分配処理であればステップ22401に進み、データ取り出し/デー
タ分配処理でなければステップ22405に進む。
ステップ22401では、データベースをアクセスし条件式を評価する。
ステップ22402では、データ分配情報を基に、各ノード毎のバッファへデータを設
定する。
ステップ22403では、当該ノードのバッファが満杯か否かチェックする。
満杯であればステップ22404へ進み、満杯でなければステップ22420へ進む。
ステップ22404では、ページ形式で対応するノードへデータを転送し、ステップ2
2420へ進む。
ステップ22405では、スロットソート処理か否かチェックする。スロットソート処
理であればステップ22406へ進み、スロットソート処理でなければステップ2240
9へ進む。
ステップ22406では、他ノードからのページ形式データの受け取りを行う。
ステップ22407では、スロットソート処理を実行する。
ステップ22408では、スロットソート処理結果を一時的に保存し、ステップ224
20へ進む。
ステップ22409では、Nウェイマージ処理か否かチェックする。Nウェイマージ処
理であればステップ22410へ進み、Nウェイマージ処理でなければステップ2241
2へ進む。
FIG. 20 is a flowchart of the
In
In
In
In
If it is full, the process proceeds to step 22404. If it is not full, the process proceeds to step 22420.
In
Proceed to 2420.
In
Proceed to step 9.
In step 22406, page format data is received from another node.
In
In step 22408, the slot sort processing result is temporarily stored, and in
Proceed to 20.
In
Go to step 2.
ステップ22410では、Nウェイマージ処理を実行する。
ステップ22411では、Nウェイマージ処理結果を一時的に保存し、ステップ224
20へ進む。
ステップ22412では、突き合わせ処理か否かチェックする。突き合わせ処理であれ
ばステップ22413へ進み、突き合わせ処理でなければステップ22416へ進む。
ステップ22413では、両ソートリストを突き合わせ、出力用バッファへデータを設
定する。
ステップ22414では、出力用バッファが満杯か否かチェックする。満杯であれば、
ステップ22415へ進む。満杯でなければ、ステップ22420へ進む。
ステップ22415では、ページ形式で要求データ出力ノードへデータを転送し、ステ
ップ22420へ進む。
ステップ22416では、要求データ出力処理か否かチェックする。要求データ出力処
理であればステップ22417へ進み、要求データ出力処理でなければステップ2242
0へ進む。
ステップ22417では、他ノードからページ形式データの転送があるか否かチェック
する。転送があればステップ22418へ進み、転送がなければステップ22419へ進
む。
ステップ22418では、他ノードからページ形式データを受け取る。
ステップ22419では、アプリケーションプログラムへ問合せ処理結果を出力する。
ステップ22420では、BESで実行中か否かチェックする。BESで実行中ならス
テップ22421へ進み、BESで実行中でないなら終了する。
ステップ22421では、アクセスページ数,ヒットロウ数,通信回数等の処理負荷を
推定するための情報をFESへ通知し、終了する。
In
In step 22411, the N-way merge processing result is temporarily saved, and in
Proceed to 20.
In
In
In
Proceed to step 22415. If not full,
In
In
Go to 0.
In step 22417, it is checked whether there is transfer of page format data from another node. If there is a transfer, the process proceeds to step 22418, and if there is no transfer, the process proceeds to step 22419.
In
In step 22419, the query processing result is output to the application program.
In
In
図21は、データロード処理210のフローチャートである。
各ステップを説明する前に概念を説明する。
データロード方法には、表全体のスキャンに必要な時間を一定時間内に抑える目標応答
時間重視データ配置と、mページアクセスに最適化した期待並列度重視データ配置と、ボ
リューム分割を完全にユーザが指定したユーザ制御によるユーザ指定データ配置とがある
。
目標応答時間重視データ配置では、まず、表全体のロウを格納するのに必要なページ数
を求める。次に、並列アクセス可能な各分割のディスクに格納するページ数の上限を決め
る。アクセスには、必要となれば一括入力(例えば、10ページ)を前提にする。ディス
ク台数,IOS台数,BES台数の組み合わせに応じて負荷配分を決める。キーレンジ分
割がある場合、上限ページ数でキーレンジ分割区間を再分割し、各分割のディスクへ各々
格納する。このキーレンジ分割については、図23を参照して後で詳述する。
期待並列度重視データ配置では、mのサイズに依存するが、かなり大であることな望ま
しい。キーレンジ分割がある場合、mのサイズと期待並列度pから各キーレンジ分割単位
のサブキーレンジ格納ページ数s(=m/p)を決定し、sページ単位で各分割のディス
クへ各々格納する。
FIG. 21 is a flowchart of the
Before explaining each step, the concept will be explained.
Data loading methods include target response time-oriented data placement that reduces the time required to scan the entire table within a fixed time, expected parallelism-oriented data placement optimized for m-page access, and volume partitioning completely by the user. There is user-specified data arrangement by specified user control.
In the target response time emphasis data arrangement, first, the number of pages necessary for storing the rows of the entire table is obtained. Next, the upper limit of the number of pages stored in each of the divided disks that can be accessed in parallel is determined. Access is premised on batch input (for example, 10 pages) if necessary. Load distribution is determined according to the combination of the number of disks, the number of IOS, and the number of BES. When there is a key range division, the key range division section is subdivided by the upper limit number of pages, and stored in each divided disk. This key range division will be described in detail later with reference to FIG.
In the data arrangement in which the expected parallelism is emphasized, it is desirable that the data arrangement is considerably large although it depends on the size of m. When there is a key range division, the number of sub key range storage pages s (= m / p) for each key range division unit is determined from the size of m and the expected parallelism p, and each s page is stored in each division disk. .
期待並列度pの算出方法は、応答時間をノード毎のオーバヘッドで割った比の平方根で
算出する。この比が、10で期待並列度3、100で期待並列度10、1000で期待並
列度32、10000で期待並列度100となる。算出された期待並列度pが、既分割数
を上回る場合、既分割数を採用する(既分割数で処理できる最大ディスク数が決まるため
)。逆の場合は、既分割数を上限に期待並列度pを分割数として採用する。
具体的に、100ページアクセスに最適化したデータ配置を試算する。前提として、一
括入力は10ページとする。1回のI/O時間(10ページアクセス)に300m秒、1
回のI/Oオーバヘッドに5.6m秒(10MIPS性能で56ksが必要)であるので
、期待並列度pが約7(=√{300/5.6})となる。従って、s=14(=100
/7)ページ毎にサブキーレンジ分割を行う。
ユーザ指定データ配置は、従来のデータベース管理システムと同様のデータ配置であり
、設定パラメタ通りに管理する。
The expected parallelism p is calculated by the square root of the ratio obtained by dividing the response time by the overhead for each node. This ratio is 10 when the expected parallelism is 3, 100 when the expected parallelism is 10, 1000 when the expected parallelism is 32, and 10000 when the expected parallelism is 100. When the calculated expected degree of parallelism p exceeds the number of divisions, the number of divisions is adopted (because the maximum number of disks that can be processed with the number of divisions is determined). In the opposite case, the expected parallelism p is adopted as the number of divisions with the number of already divided numbers as the upper limit.
Specifically, a data arrangement optimized for 100 page access is estimated. As a premise, the batch input is 10 pages. One I / O time (10 page access) is 300 ms, 1
Since the number of I / O overheads is 5.6 msec (56 ks is required for 10 MIPS performance), the expected parallelism p is about 7 (= √ {300 / 5.6}). Therefore, s = 14 (= 100
/ 7) Divide the sub key range for each page.
The user-specified data arrangement is the same data arrangement as the conventional database management system, and is managed according to the setting parameters.
さて、ステップ21000では、目標応答時間重視データ配置か否かをチェックする。
目標応答時間重視データ配置でなければステップ21001に進み、目標応答時間重視デ
ータ配置であればステップ21003に進む。
ステップ21001では、期待並列度重視データ配置か否かチェックする。期待並列度
重視データ配置でなければステップ21002に進み、期待並列度重視データ配置であれ
ばステップ21010に進む。
ステップ21002では、ユーザ指定があるか否かをチェックする。ユーザ指定があれ
ばステップ21016に進み、ユーザ指定がなければ終了する。
ステップ21003では、表全体のロウを格納するのに必要なページ数を求める。
ステップ21004では、表のスキャンに必要な時間を一定とする並列アクセス可能な
ディスクに格納するページ数の上限を決める。
ステップ21005では、上記要件を満たすBES,IOS,ディスク群を決定する。
ステップ21006では、キーレンジ分割があるか否かチェックする。キーレンジ分割
があるならステップ21007へ進み、キーレンジ分割がないならステップ21009へ
進む。
ステップ21007では、ある上限ページ数でキーレンジ分割区間を再分割する。
ステップ21008では、キーレンジ分割区間に対応してデータ挿入を行い、終了する
。
ステップ21009では、上限ページ数で区切ってデータ挿入を行い、終了する。
ステップ21010では、推定ワークロードにより最適ページアクセス数mを算出する
。
ステップ21011では、期待並列度pを算出し、その期待並列度pに応じて、BES
,IOS,ディスク群を決定する。
ステップ21012では、キーレンジ分割があるか否かチェックする。キーレンジ分割
があるならステップ21013へ進み、キーレンジ分割がないならステップ21015へ
進む。
ステップ21013では、サブキーレンジ単位の格納ページ数s(=m/p)を算出す
る。
ステップ21014では、sページ単位でサブキーレンジ分割し、各ディスクへデータ
挿入を行い、終了する。
ステップ21015では、sページ数で区切ってデータ挿入を行い、終了する。
ステップ21016では、ユーザ指定のIOSの管理するディスクへデータ挿入を行い
、終了する。
In
If it is not the target response time emphasis data arrangement, the process proceeds to step 21001, and if it is the target response time emphasis data arrangement, the process proceeds to step 21003.
In
In
In
In step 21004, an upper limit of the number of pages to be stored in a disk that can be accessed in parallel with a fixed time required for table scanning is determined.
In step 21005, a BES, IOS, and disk group satisfying the above requirements are determined.
In step 21006, it is checked whether there is a key range division. If there is a key range division, the process proceeds to step 21007, and if there is no key range division, the process proceeds to step 21009.
In
In step 21008, data insertion is performed corresponding to the key range division section, and the process ends.
In
In
In
, IOS, and disk group are determined.
In
In
In
In
In
図22は、動的負荷制御処理211のフローチャートである。
ステップ21100では、負荷アンバランス(アクセス集中化/離散化)の有無を検出
する。すなわち、ノード毎単位時間当たりに実行されたDB処理負荷(処理ステップ数(
DB処理分,I/O処理分,通信処理分)、プロセッサ性能(処理時間に換算する)、I
/O回数(入出力時間に換算する))の分布からネックとなる資源(プロセッサ(BES
,IOS)、ディスク)を検出し、DB処理をSQL文に展開し、各資源へのアクセス状
況を表単位に分類する。負荷アンバランスが検出されたらステップ21101へ進み、負
荷アンバランスが検出されなかったら処理を終了する。
FIG. 22 is a flowchart of the dynamic
In step 21100, the presence / absence of load imbalance (access concentration / discretization) is detected. That is, the DB processing load executed per unit time per node (number of processing steps (
DB processing, I / O processing, communication processing), processor performance (converted to processing time), I
/ O count (converted to I / O time)) resource that becomes a bottleneck (processor (BES)
, IOS) and disk), the DB process is expanded into an SQL statement, and the access status to each resource is classified in a table unit. If a load imbalance is detected, the process proceeds to step 21101. If a load imbalance is not detected, the process ends.
ステップ21101では、アクセス分布情報から、BESを追加あるいは削除するか、
IOS,ディスク対を追加あるいは削除するかを判断する。追加または削除が必要ならス
テップ21102に進み、必要ないなら終了する。
ステップ21102では、追加か否かをチェックする。追加ならステップ21103へ
進み、追加でないならステップ2112へ進む。
ステップ21103では、オンライン中かチェックする。オンライン中なら、ステップ
21104へ進む。オンライン中でないなら、ステップ21105へ進む。
ステップ21104では、対象となるBES群で管理される表のキーレンジ範囲を閉塞
する。
ステップ21105では、新たにBESを割り当る。
ステップ21106では、ロック情報およびディレクトリ情報の引き継ぎを行う。
ステップ21107では、ノード振り分け制御に必要なディクショナリ情報の書き換え
をDS71に指示する。
ステップ21108では、IOSが存在するか否かをチェックする。存在しなければス
テップ21109へ進み、存在すればステップ21110へ進む。なお、このステップは
、IOSが存在するシステム構成とIOSが存在しないシステム構成の両方に同じソフト
ウエアで対応するために挿入されている。
ステップ21109では、対象となるBES群から新たなBES群へデータを移動する
。
ステップ21110では、オンライン中かチェックする。オンライン中なら、ステップ
21111へ進む。オンライン中でないなら、処理を終了する。
ステップ21111では、対象となるBES群で管理される表のキーレンジ範囲の閉塞
を解除し、終了する。
ステップ21112では、オンライン中かチェックする。オンライン中なら、ステップ
21113へ進む。オンライン中でないなら、ステップ21114へ進む。
ステップ21113では、対象となるBES群で管理される表のキーレンジ範囲を閉塞
する。
ステップ21114では、縮退するBESを決定する。
ステップ21115では、ロック情報およびディレクトリ情報の引き継ぎを行う。
ステップ21116では、ノード振り分け制御に必要なディクショナリ情報の書き換え
をDS71に指示する。
ステップ21117では、IOSが存在するか否かをチェックする。存在しなければス
テップ21118へ進み、存在すればステップ21119へ進む。
ステップ21118では、縮退するBES群からデータを追い出す。
ステップ21119では、オンライン中かチェックする。オンライン中なら、ステップ
21120へ進む。オンライン中でないなら、処理を終了する。
ステップ21120では、対象となるBES群で管理される表のキーレンジ範囲の閉塞
を解除し、終了する。
In
It is determined whether IOS or disk pair is added or deleted. If addition or deletion is necessary, the process proceeds to step 21102, and if not necessary, the process ends.
In
In
In step 21104, the key range range of the table managed by the target BES group is blocked.
In step 21105, a new BES is assigned.
In step 21106, lock information and directory information are taken over.
In step 21107, the
In
In
In step 21110, it is checked whether online. If online, go to step 21111. If it is not online, the process is terminated.
In step 21111, the block of the key range of the table managed by the target BES group is released, and the process ends.
In
In step 21113, the key range range of the table managed by the target BES group is blocked.
In step 21114, the BES to be degenerated is determined.
In step 21115, lock information and directory information are taken over.
In step 21116, the
In step 21117, it is checked whether IOS exists. If it does not exist, the process proceeds to step 21118, and if it exists, the process proceeds to step 21119.
In
In
In step 21120, the block of the key range of the table managed by the target BES group is released, and the process ends.
図23は、キーレンジ分割を用いたデータロード処理の概念図である。
既分割数は"4"とする。また、データベースのカラム値v1〜v6は、図11のような
出現頻度を取るものとする。
初期データロード時、必要なBESは、731の1台でよい。格納するべきページ数を
各分割810〜840のディスクにそれぞれページ数の上限まで対応付けると、カラム値
v1〜v2は分割810のディスクに格納され、カラム値v2〜v3は分割820および
830のディスクに格納され、カラム値v3〜v5は分割840のディスクに格納され、
カラム値v5〜v6は他のディスク群に格納される。初期データロード時には、各ディス
クに格納されたページの管理を行うために、ディスク毎のディレクトリ情報を作成する。
データベースアクセス時には、負荷に応じてBES732〜734を用いる場合、各B
ESに対応するディスク毎のディレクトリ情報を利用し、データベースをアクセスする。
上記各処理の実装に当たって、次の実施形態と組合せてもよい。
FIG. 23 is a conceptual diagram of data loading processing using key range division.
The already divided number is “4”. In addition, the column values v1 to v6 in the database are assumed to appear as shown in FIG.
At the time of initial data loading, the required BES may be one of 731 units. When the number of pages to be stored is associated with each partition 810 to 840 disk up to the upper limit of the number of pages, the column values v1 to v2 are stored in the partition 810 disk, and the column values v2 to v3 are stored in the partitions 820 and 830 disks. Stored, the column values v3 to v5 are stored in the partition 840 disk,
Column values v5 to v6 are stored in other disk groups. When initial data is loaded, directory information for each disk is created in order to manage pages stored in each disk.
When accessing the database, if BES732-734 is used according to the load, each B
The database is accessed using directory information for each disk corresponding to the ES.
When implementing each of the above processes, it may be combined with the following embodiment.
ロウのノード間移動を容易にするために、ロウ識別子にBES等の位置情報を含めない
。BESでは、表の分割位置を特定するためのディレクトリ情報とロウ識別子とを組み合
わせて、ロウの物理位置を特定する。ロウ移動に関しては、ディレクトリ情報の書き換え
で対応する。再編成あるいはロウ移動に対応した構造にしておき、BESが動的に追加さ
れても、ディレクトリ情報およびロック情報の引き継ぎで処理の分割を可能とする。
また、データベースをレプリカ管理する場合、2倍の格納領域が必要となる。
1次コピーとバックアップコピーが同一IOS、BESで管理されるか否かにかかわらず
、ディスクへのアクセス負荷はほぼ2倍となるため、既分割数で管理する各分割毎ボリュ
ーム数を1/2とすればよい。
In order to facilitate the movement of a row between nodes, position information such as BES is not included in the row identifier. In BES, a physical position of a row is specified by combining directory information for specifying a table division position and a row identifier. Row movement is handled by rewriting directory information. A structure corresponding to reorganization or row movement is provided, and even if a BES is dynamically added, processing can be divided by taking over directory information and lock information.
In addition, in the case of replica management of a database, twice the storage area is required.
Regardless of whether or not the primary copy and backup copy are managed by the same IOS and BES, the access load to the disk is almost doubled. Therefore, the number of volumes for each division managed by the existing number of divisions is halved. And it is sufficient.
さらに、ディスク、IOS、BES等の障害時、オンライン処理から切り離し、復旧後
オンラインと接続する。各ノードに応じて閉塞管理方式が異なる。ディスク障害時、この
ディスクに格納されるキーレンジ範囲を閉塞する。バックアップコピーが存在すれば(同
一IOS(ミラーディスク)、別IOS(データレプリカ)の管理下でバックアップコピ
ーを取得する必要あり)、処理を振り分ける。IOS障害時、このIOSに格納されるキ
ーレンジ範囲を閉塞する。バックアップコピーが存在すれば(別IOS(データレプリカ
)の管理下でバックアップコピーを取得する必要あり)、処理を振り分ける。BES障害
時、このBESで管理されるキーレンジ範囲を閉塞する。IOSが存在すれば、新たにB
ESを割り当て、ロック情報引き継ぎ、ノード振り分け制御に必要なディクショナリ情報
の書き換え後、処理を続行する。
Furthermore, when a failure occurs in a disk, IOS, BES, etc., it is disconnected from the online processing and connected to online after recovery. The blocking management method differs depending on each node. When a disk failure occurs, the key range range stored on this disk is blocked. If a backup copy exists (the same IOS (mirror disk), it is necessary to acquire a backup copy under the management of another IOS (data replica)), the processing is distributed. When an IOS failure occurs, the key range range stored in the IOS is blocked. If a backup copy exists (the backup copy needs to be acquired under the management of another IOS (data replica)), the process is distributed. When a BES failure occurs, the key range managed by this BES is blocked. If IOS exists, B
After the ES is allocated, the lock information is taken over, and the dictionary information necessary for node allocation control is rewritten, the processing is continued.
本発明は、統計情報を用いた規則とコスト評価との併用に限らず、適当なデータベース
参照特性情報を与える処理手順が得られるものであれば、例えばコスト評価のみ、規則利
用のみ、コスト評価と規則利用の併用等の最適化処理を行うデータベース管理システムに
も適用できる。
本発明は、密結合/疎結合マルチプロセッサシステム大型計算機のソフトウェアシステ
ムを介して実現することも、また各処理部のために専用プロセッサが用意された密結合/
疎結合複合プロセッサシステムを介して実現することも可能である。また、単一プロセッ
サシステムでも、各処理手順のために並列なプロセスを割当てていれば、適用可能である
。
また、複数プロセッサが各々複数のディスクを互いに共用する構成にも適用可能である
。
The present invention is not limited to the combination of the rule using the statistical information and the cost evaluation. For example, the cost evaluation only, the rule use only, the cost evaluation and the like can be used as long as a processing procedure that provides appropriate database reference characteristic information is obtained. It can also be applied to a database management system that performs optimization processing such as combined use of rules.
The present invention can be realized via a tightly coupled / loosely coupled multiprocessor system software system of a large-scale computer, or a tightly coupled /
It can also be realized via a loosely coupled complex processor system. Further, even a single processor system is applicable if a parallel process is assigned for each processing procedure.
The present invention can also be applied to a configuration in which a plurality of processors share a plurality of disks with each other.
1...並列データベースシステム
10、11...アプリケーションプログラム、
20...データベース管理システム
21...システム制御部、
210...データロード処理、 210...動的負荷制御処理
22...論理処理部、
220...問合せ解析、221...静的最適化処理、222...コード生成、
223...動的最適化処理、224...コード解釈実行
30...オペレーティングシステム、 40...データベース
70...IOS、 71...JS
72...DS 73...BES
75...FES、 80、81、82...ディスク
90...相互結合ネットワーク
1 ...
20 ...
210 ... Data load processing, 210 ... Dynamic load control processing, 22 ... Logic processing section,
220 ... query analysis, 221 ... static optimization processing, 222 ... code generation,
223 ... Dynamic optimization processing, 224 ...
72 ...
75 ... FES, 80, 81, 82 ...
Claims (2)
キー値に基づき複数のデータ格納領域に分割する手段と、
前記データ格納領域にデータ処理装置を対応付ける手段と、
前記データ格納領域のディレクトリ情報を作成する手段と、
前記データ処理装置の負荷の変動に応じて前記データ格納領域に対応するディレクトリ情報を、対応する前記データ処理装置間で移動させることで、前記データ処理装置と前記データ格納領域の対応関係を変更する手段とを
有することを特徴とするデータベース分割管理システム。 A database division management system that associates a data storage area of a storage device with a plurality of data processing devices,
Means for dividing into a plurality of data storage areas based on the key value;
Means for associating a data processing device with the data storage area;
Means for creating directory information of the data storage area;
The correspondence between the data processing apparatus and the data storage area is changed by moving directory information corresponding to the data storage area between the corresponding data processing apparatuses in accordance with a change in the load of the data processing apparatus. Means
A database partition management system comprising:
前記データベースシステムは、
キー値に基づき複数のデータ格納領域に分割し、
前記データ格納領域にデータ処理装置を対応付け、
前記データ格納領域のディレクトリ情報を作成し、
前記データ処理装置の負荷の変動に応じて前記データ格納領域に対応するディレクトリ情報を、対応する前記データ処理装置間で移動させることで、前記データ処理装置と前記データ格納領域の対応関係を変更する
ことを特徴とするデータベース分割管理方法。 A database division management method for a database system that associates a data storage area of a storage device with a plurality of data processing devices,
The database system includes:
Divide into multiple data storage areas based on key values,
A data processing device is associated with the data storage area,
Create directory information for the data storage area,
The correspondence between the data processing apparatus and the data storage area is changed by moving directory information corresponding to the data storage area between the corresponding data processing apparatuses in accordance with a change in the load of the data processing apparatus.
A database partition management method characterized by the above .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008055697A JP4349463B2 (en) | 2008-03-06 | 2008-03-06 | Storage device management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008055697A JP4349463B2 (en) | 2008-03-06 | 2008-03-06 | Storage device management method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006159237A Division JP2006302307A (en) | 2006-06-08 | 2006-06-08 | Storage device management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008217797A JP2008217797A (en) | 2008-09-18 |
JP4349463B2 true JP4349463B2 (en) | 2009-10-21 |
Family
ID=39837692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008055697A Expired - Lifetime JP4349463B2 (en) | 2008-03-06 | 2008-03-06 | Storage device management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4349463B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6540110B2 (en) | 2015-03-11 | 2019-07-10 | 富士通株式会社 | Database system, information processing apparatus, and database program |
-
2008
- 2008-03-06 JP JP2008055697A patent/JP4349463B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2008217797A (en) | 2008-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3023441B2 (en) | Database division management method and parallel database system | |
US6510428B2 (en) | Method and system of database divisional management for parallel database system | |
US6192359B1 (en) | Method and system of database divisional management for parallel database system | |
US9672235B2 (en) | Method and system for dynamically partitioning very large database indices on write-once tables | |
JP3266351B2 (en) | Database management system and query processing method | |
KR101806394B1 (en) | A data processing method having a structure of the cache index specified to the transaction in a mobile environment dbms | |
JP2006302307A (en) | Storage device management method | |
JPH06314299A (en) | Data base control method | |
JP3806609B2 (en) | Parallel database system and distributed file system | |
JP4349463B2 (en) | Storage device management method | |
JPH06309284A (en) | Inquiry processing load distributing method | |
JP3838248B2 (en) | Data storage method and data management system | |
CN112000666B (en) | Database management system of facing array | |
JP3599055B2 (en) | Storage device management method and system | |
JP3060225B2 (en) | Database management method and system | |
JP3172793B1 (en) | Database management method | |
JP3236999B2 (en) | Database management method and system | |
JP3156199B2 (en) | Database management method and system | |
JP3060223B2 (en) | Database management method and system | |
JP3060224B2 (en) | Database management method and system | |
JP3060222B2 (en) | Database management method and system | |
JP3538322B2 (en) | Database management system and query processing method | |
US20230376485A1 (en) | Distributed query plan generation | |
JP2000348063A (en) | Method and system for database management | |
CN116975053A (en) | Data processing method, device, equipment, medium and program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090410 |
|
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: 20090630 |
|
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: 20090713 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120731 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130731 Year of fee payment: 4 |
|
EXPY | Cancellation because of completion of term |