JPWO2011118427A1 - Query device, query partitioning method, and query partitioning program - Google Patents

Query device, query partitioning method, and query partitioning program Download PDF

Info

Publication number
JPWO2011118427A1
JPWO2011118427A1 JP2012506943A JP2012506943A JPWO2011118427A1 JP WO2011118427 A1 JPWO2011118427 A1 JP WO2011118427A1 JP 2012506943 A JP2012506943 A JP 2012506943A JP 2012506943 A JP2012506943 A JP 2012506943A JP WO2011118427 A1 JPWO2011118427 A1 JP WO2011118427A1
Authority
JP
Japan
Prior art keywords
query
unit
execution
database
distributed storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2012506943A
Other languages
Japanese (ja)
Inventor
伸治 菊地
伸治 菊地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2011118427A1 publication Critical patent/JPWO2011118427A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries

Landscapes

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

Abstract

複数サイト・パーティション群で構成される分散ストレージ群を利用してシェアードナッシング(Shared Nothing:共有なし)並列検索を実行出来るデータベース管理システムにおいて、シェアードナッシング並列検索結果で不具合を発生させることなく、稼働率を最大にさせる運用を実現する。具体的には、シェアードナッシング並列検索結果で不具合が生じない様に検索処理途上でエラーが発生した際に対処する補償処理手法を複数選択する。また、前述分散ストレージ群に関する性能統計情報・信頼性情報から計算した稼働率・故障率等から補償処理を見込んだ総処理コスト期待値を当該補償処理手法の各々で計算し、総処理コスト期待値の小さい補償処理に基づき並列検索のクエリ分割を定める。In a database management system that can perform shared-nothing (Shared Nothing) parallel search using a distributed storage group consisting of multiple sites / partitions, the utilization rate without causing problems in the shared-nothing parallel search results Realize operation that maximizes. Specifically, a plurality of compensation processing methods are selected for dealing with errors that occur during the search process so that no trouble occurs in the shared nothing parallel search result. In addition, the expected total processing cost is calculated for each compensation processing method based on the operating rate and failure rate calculated from the performance statistics and reliability information related to the distributed storage group. The query division of the parallel search is determined based on a small compensation process.

Description

本発明は、クエリ装置に関し、特にシェアードナッシング(Shared Nothing:共有なし)並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置に関する。   The present invention relates to a query device, and more particularly, to a query device that anticipates partitioning-dependent error compensation for shared nothing (Shared Nothing) parallel search.

2009年現在でのシェアードナッシング並列検索のパーティショニング化に関する既存技術の最も先進的な方式は、<非特許文献1>に記載されている方式である。   The most advanced method of the existing technology relating to the partitioning of shared nothing parallel search as of 2009 is the method described in <Non-Patent Document 1>.

<非特許文献1>Yu Xu et al, “Handling Data Skew in Parallel Joins in Shared−Nothing Systems”, Proceedings of SIGMOD’08 Conference, 2008.   <Non-Patent Document 1> Yu Xu et al, “Handling Data Skew in Parallel Joins in Shared-Nothing Systems”, Proceedings of SIGMOD'08 Conference, 2008.

ところが、<非特許文献1>に記載されている方式は、シェアードナッシング並列検索のパーティショニング化に関する既存技術を説明するに留まり、当該検索処理の実行品質が悪化する場合の対策を具体的に記述している訳ではない。   However, the method described in <Non-Patent Document 1> only describes the existing technology related to the partitioning of the shared-nothing parallel search, and specifically describes the countermeasure when the execution quality of the search processing deteriorates. I do not mean.

特許文献では、<特許文献1>が関係を持つが、<非特許文献1>と同様に、当該検索処理の実行品質が悪化する場合の対策を具体的に記述している訳ではない。   In Patent Literature, <Patent Literature 1> is related, but, as in <Non-Patent Literature 1>, a countermeasure when the execution quality of the search process deteriorates is not specifically described.

<特許文献1>特開2004−280528号公報   <Patent Document 1> Japanese Patent Application Laid-Open No. 2004-280528

当該検索処理の実行品質が悪化する場合の対策に直接関係する既存技術は、<特許文献2>にて開示されている。そこで、当該<特許文献2>を基に、既存技術による装置構成を説明したものが、図1A、図1Bであり、既存技術による従来手法の処理手順(従来手順)を記したものが、図2A、図2Bである。   An existing technique directly related to measures when the execution quality of the search process is deteriorated is disclosed in <Patent Document 2>. Therefore, based on the <Patent Document 2>, the apparatus configuration according to the existing technology is illustrated in FIG. 1A and FIG. 1B, and the processing procedure (conventional procedure) of the conventional technique according to the existing technology is illustrated in FIG. 2A and FIG. 2B.

<特許文献2>特願2007−503912号公報   <Patent Document 2> Japanese Patent Application No. 2007-503912

図1A、図1Bの装置構成は、大きく1つ以上のネットワークと、少なくとも3つの機能層を含む。ネットワークとして、LAN(Local Area Network)/WAN(Wide Area Network)/Internet等、各種ネットワーク4001、4002を別のものとして定義しているが、これらと同じものと考えることも可能である。また、その種類に関して、ここでは区別する理由は存在しない。   1A and 1B includes one or more networks and at least three functional layers. As the network, various networks 4001 and 4002 such as LAN (Local Area Network) / WAN (Wide Area Network) / Internet are defined as different ones, but can be considered to be the same as these. Moreover, there is no reason to distinguish here about the kind.

3つの機能層のうち、第1の機能層は、データベースアクセスクライアント部4005が含まれるアプリケーションプログラム1:4003、並びにアプリケーションプログラムL:4004に相当する機能層である。第2の機能層は、データベース・マスタノード部1:4006、データベース・マスタノード部2:4007、データベース・マスタノード部3:4008が含まれる機能層である。第3の機能層は、データベース・スレーブノード部1−1:4009、データベース・スレーブノード部1−2:4010、データベース・スレーブノード部1−3:4011、データベース・スレーブノード部2−1:4012、データベース・スレーブノード部2−2:4013、データベース・スレーブノード部2−3:4014、データベース・スレーブノード部3−1:4015、データベース・スレーブノード部3−2:4016、データベース・スレーブノード部3−3:4017が含まれる機能層である。各々の機能層は、LAN/WAN/Internet等、各種ネットワーク4001、4002を介して相互にアクセスする。   Of the three functional layers, the first functional layer is a functional layer corresponding to the application program 1: 4003 including the database access client unit 4005 and the application program L: 4004. The second functional layer is a functional layer including a database / master node unit 1: 4006, a database / master node unit 2: 4007, and a database / master node unit 3: 4008. The third functional layer includes database / slave node unit 1-1: 4009, database / slave node unit 1-2: 4010, database / slave node unit 1-3: 4011, and database / slave node unit 2-1: 4012. , Database / slave node unit 2-2: 4013, database / slave node unit 2-3: 4014, database / slave node unit 3-1: 4015, database / slave node unit 3-2: 4016, database / slave node unit 3-3: 4017 is a functional layer included. Each functional layer accesses each other via various networks 4001 and 4002 such as LAN / WAN / Internet.

当該データベース・マスタノード部1:4006、当該データベース・マスタノード部2:4007、当該データベース・マスタノード部3:4008、当該データベース・スレーブノード部1−1:4009、当該データベース・スレーブノード部1−2:4010、当該データベース・スレーブノード部1−3:4011、当該データベース・スレーブノード部2−1:4012、当該データベース・スレーブノード部2−2:4013、当該データベース・スレーブノード部2−3:4014、当該データベース・スレーブノード部3−1:4015、当該データベース・スレーブノード部3−2:4016、当該データベース・スレーブノード部3−3:4017は独立の計算機である。   The database / master node unit 1: 4006, the database / master node unit 2: 4007, the database / master node unit 3: 4008, the database / slave node unit 1-1: 4009, the database / slave node unit 1- 2: 4010, database / slave node unit 1-3: 4011, database / slave node unit 2-1: 4012, database / slave node unit 2-2: 4013, database / slave node unit 2-3: The database / slave node unit 3-1: 4015, the database / slave node unit 3-2: 4016, and the database / slave node unit 3-3: 4017 are independent computers.

このため、当該データベース・マスタノード部1:4006は、データ処理部(CPU(Central Processing Unit)処理部)4024と、データキャッシュ管理部4025と、リソース管理/トランザクション処理部4026と、ストレージ4027を含む。   Therefore, the database / master node unit 1: 4006 includes a data processing unit (CPU (Central Processing Unit) processing unit) 4024, a data cache management unit 4025, a resource management / transaction processing unit 4026, and a storage 4027. .

同様に、当該データベース・マスタノード部2:4007は、データ処理部(CPU処理部)4028と、データキャッシュ管理部4029と、リソース管理/トランザクション処理部4030と、ストレージ4031を含む。   Similarly, the database / master node unit 2: 4007 includes a data processing unit (CPU processing unit) 4028, a data cache management unit 4029, a resource management / transaction processing unit 4030, and a storage 4031.

同様に、当該データベース・マスタノード部3:4008は、データ処理部(CPU処理部)4032と、データキャッシュ管理部4033と、リソース管理/トランザクション処理部4034と、ストレージ4035を含む。   Similarly, the database / master node unit 3: 4008 includes a data processing unit (CPU processing unit) 4032, a data cache management unit 4033, a resource management / transaction processing unit 4034, and a storage 4035.

同様に、当該データベース・スレーブノード部1−1:4009は、データ処理部(CPU処理部)4036と、データキャッシュ管理部4037と、リソース管理/トランザクション処理部4038と、ストレージ4039を含む。   Similarly, the database / slave node unit 1-1: 4009 includes a data processing unit (CPU processing unit) 4036, a data cache management unit 4037, a resource management / transaction processing unit 4038, and a storage 4039.

同様に、当該データベース・スレーブノード部1−2:4010は、データ処理部(CPU処理部)4040と、データキャッシュ管理部4041と、リソース管理/トランザクション処理部4042と、ストレージ4043を含む。   Similarly, the database / slave node unit 1-2: 4010 includes a data processing unit (CPU processing unit) 4040, a data cache management unit 4041, a resource management / transaction processing unit 4042, and a storage 4043.

同様に、当該データベース・スレーブノード部1−3:4011は、データ処理部(CPU処理部)4044と、データキャッシュ管理部4045と、リソース管理/トランザクション処理部4046と、ストレージ4047を含む。   Similarly, the database / slave node unit 1-3: 4011 includes a data processing unit (CPU processing unit) 4044, a data cache management unit 4045, a resource management / transaction processing unit 4046, and a storage 4047.

前述のデータベース・マスタノード部1は、主従関係定義4018を通して、前述のデータベース・スレーブノード部1−1:4009と、前述のデータベース・スレーブノード部1−2:4010と、前述のデータベース・スレーブノード部1−3:4011と対応付けられる。   The above-described database / master node unit 1 includes the above-described database / slave node unit 1-1: 4009, the above-described database / slave node unit 1-2: 4010, and the above-described database / slave node through the master-slave relationship definition 4018. Part 1-3: Corresponds to 4011.

同様に、前述のデータベース・マスタノード部2は、主従関係定義4019を通して、前述のデータベース・スレーブノード部2−1:4012と、前述のデータベース・スレーブノード部2−2:4013と、前述のデータベース・スレーブノード部2−3:4014と対応付けられる。   Similarly, the above-described database / master node unit 2 passes through the master-slave relationship definition 4019, the above-described database / slave node unit 2-1: 4012, the above-described database / slave node unit 2-2: 4013, and the above-described database. Slave node section 2-3: Corresponds to 4014.

同様に、前述のデータベース・マスタノード部3は、主従関係定義4020を通して、前述のデータベース・スレーブノード部3−1:4015と、前述のデータベース・スレーブノード部3−2:4016と、前述のデータベース・スレーブノード部3−3:4017と対応付けられる。   Similarly, the above-mentioned database / master node unit 3 passes through the master-slave relationship definition 4020, the above-mentioned database / slave node unit 3-1: 4015, the above-mentioned database / slave node unit 3-2: 4016, and the above-mentioned database. Corresponding to slave node section 3-3: 4017.

また、データベース・スレーブノード部については、故障対策として2重化を実施しており、フェールオーバパートナーが定義される。この場合、同じデータが分散化環境上に2重化して保持されることになる。例えば、データベース・スレーブノード部1−1:4009の一部のファイルは、前述のデータベース・スレーブノード部1−2:4010とフェールオーバパートナー関係定義4021を介して2重化が実施される。   The database / slave node unit is duplicated as a countermeasure against failure, and a failover partner is defined. In this case, the same data is duplicated and held on the distributed environment. For example, some files in the database / slave node unit 1-1: 4009 are duplicated via the database / slave node unit 1-2: 4010 and the failover partner relationship definition 4021 described above.

同様に、前述のデータベース・スレーブノード部1−2:4010の別ファイルは、前述のデータベース・スレーブノード部1−3:4011とフェールオーバパートナー関係定義4022を介して2重化が実施される。   Similarly, another file of the above-described database / slave node unit 1-2: 4010 is duplicated via the above-described database-slave node unit 1-3: 4011 and the failover partner relationship definition 4022.

同様に、前述のデータベース・スレーブノード部1−3:4011の別ファイルは、前述のデータベース・スレーブノード部1−1:4009とフェールオーバパートナー関係定義4023を介して2重化が実施される。   Similarly, another file of the above-described database / slave node unit 1-3: 4011 is duplicated through the above-described database / slave node unit 1-1: 4009 and the failover partner relationship definition 4023.

従来手法の処理手順は、図2A、図2Bに従い、下記の様に実施される。
前述のデータベースアクセスクライアント部4005は、データベース・マスタノード部1:4006をアクセスする場合、要求実行クエリ(query)を当該データベース・マスタノード部1:4006内のクエリ受付部にメッセージs401として送信する。そこにはSQL(Structured Query Language)での記述が記されている。
The processing procedure of the conventional method is performed as follows according to FIGS. 2A and 2B.
When accessing the database / master node unit 1: 4006, the database access client unit 4005 transmits a request execution query (query) to the query reception unit in the database / master node unit 1: 4006 as a message s401. There is a description in SQL (Structured Query Language).

当該データベース・マスタノード部1:4006は、内部のデータ処理部(CPU処理部)4024を用いて、要求実行クエリを並列に実行可能な形式に分解し、サブ要求実行クエリに変形・生成する。その変形方法は、図3を含めた方式によって実施される。   The database master node unit 1: 4006 uses the internal data processing unit (CPU processing unit) 4024 to decompose the request execution query into a form that can be executed in parallel, and transform and generate the sub request execution query. The deformation method is implemented by the method including FIG.

図3は、偏在データと、シェアードナッシング並列検索を実行する単位との関係を記した説明図である。ここで、データベース管理システムが保持するデータは、通常、分散ストレージを含めたストレージのデータベース上の表領域、索引領域上の表Tableとして表現される。ここで、ある任意の2つの表TableであるTable.(n−1)とTable.(n)の結合演算処理を実施する場合を想定する。FIG. 3 is an explanatory diagram showing the relationship between uneven distribution data and units for executing shared nothing parallel search. Here, the data held by the database management system is usually expressed as a table area on the database of the storage including the distributed storage and a table table on the index area. Here, Table 2 which is an arbitrary two table table. (N-1) and Table. Assume that the (n) join calculation process is performed.

表Table内のデータは、そのデータ値に応じて種々の分類により分類することが出来るが、特に結合演算処理を想定する場合、3つの分類を適用することが可能である。   The data in the table Table can be classified according to various classifications according to the data value, but three classifications can be applied particularly when assuming a join operation process.

一番目の分類は偏在データであり、ある結合演算処理の対象データに相当する結合カラムの値に対してある偏在性を持つもので、値の分布に一様性がないものを意味する。これに対して、二番目の分類は被偏在データであり、結合演算処理を行う相手表Tableの結合演算処理の対象データに相当する結合カラムの値に対してある偏在性を持つもので、値の分布に一様性がないものを意味する。最後のものは、一般データであり、上記一番目の分類、二番目の分類のいずれにも属さないものである。   The first classification is uneven distribution data, which means that there is a certain uneven distribution with respect to the value of the join column corresponding to the target data of a certain join operation process, and the value distribution is not uniform. On the other hand, the second classification is unevenly distributed data, which has a certain ubiquity with respect to the value of the join column corresponding to the target data of the join operation process of the partner table Table that performs the join operation process. This means that the distribution of is not uniform. The last one is general data, and does not belong to either the first category or the second category.

この場合、一番目の分類に属する表Table内のデータ集合、並びに二番目の分類に属する表Table内のデータ集合、並びに三番目の分類に属する表Table内のデータ集合の任意の2つの積集合は常に空集合として定義される。   In this case, any two product sets of the data set in the table Table belonging to the first category, the data set in the table Table belonging to the second category, and the data set in the table Table belonging to the third category Is always defined as an empty set.

以上の前述の三つの分類を前述の2つの表TableであるTable.(n−1)とTable.(n)に適用した場合、表Tableデータは、以下の様に分類されることになる。ここで、表Table.(n−1)の偏在データをシンボルTable.(n−1) (s):2001で表現する。また、表Table.(n−1)の被偏在データをシンボルTable.(n−1) (j):2002で表現する。最後に、表Table.(n−1)の一般データをシンボルTable.(n−1) (c):2003で表現する。同様に、表Table.(n)の偏在データをシンボルTable.(n) (s):2004で表現する。また、表Table.(n)の被偏在データをシンボルTable.(n) (j):2005で表現する。最後に、表Table.(n)の一般データをシンボルTable.(n) (c):2006で表現する。The above three classifications are divided into the two table tables, Table. (N-1) and Table. When applied to (n) , the table table data is classified as follows. Here, Table Table. The uneven distribution data of (n−1) is represented by the symbol Table. (N-1) (s) : Expressed in 2001. Also, Table Table. The unevenly distributed data of (n−1) is represented by the symbol Table. (N-1) (j) : Expressed in 2002. Finally, Table Table. The general data of (n-1) is represented by the symbol Table. (N-1) (c) : expressed in 2003 Similarly, Table Table. The uneven distribution data of (n) is represented by the symbol Table. (N) (s) : Expressed in 2004. Also, Table Table. The uneven distribution data of (n) is represented by the symbol Table. (N) (j) : Expressed in 2005. Finally, Table Table. The general data of (n) is converted into the symbol Table. (N) (c) : Expressed in 2006.

当該2つの表TableであるTable.(n−1)とTable.(n)の結合演算処理は、結合演算シンボル2032を用いて、図3の指定クエリ2007の様に表現することが可能である。The two table tables, Table. (N-1) and Table. The join operation process (n) can be expressed like the specified query 2007 in FIG. 3 using the join operation symbol 2032.

ここで、前述の表Table.(n−1)は、表Table.(n−1)の偏在データTable.(n−1) (s):2001と、表Table.(n−1)の被偏在データTable.(n−1) (j):2002と、表Table.(n−1)の一般データTable.(n−1) (c):2003の和集合として計算することが可能である。Here, the table Table. (N-1) is shown in Table Table. (N-1) uneven distribution data Table. (N-1) (s) : 2001, Table Table. (N-1) uneven distribution data Table. (N-1) (j) : 2002, and Table Table. (N-1) general data Table. (N-1) (c) : can be calculated as the union of 2003

同様に、前述の当該表Table.(n)は、表Table.(n)の偏在データTable.(n) (s):2004と、表Table.(n)の被偏在データTable.(n) (j):2005と、表Table.(n)の一般データTable.(n) (c):2006の和集合として計算することが可能である。Similarly, the table Table. (N) shows Table Table. (N) uneven distribution data Table. (N) (s) : 2004 and Table Table. (N) Uneven distribution data Table. (N) (j) : 2005, and Table Table. (N) General data Table. (N) (c) : can be calculated as the union of 2006

当該和集合を用いると、図3の指定クエリ2007を図3の指定クエリ2008の様に変形することが可能になる。ここで、当該和演算と結合演算シンボル2032で表現される結合演算については、偏在データの場合に限り、図3の指定クエリ2009の様に変形出来ることについて、前述の<非特許文献1>にて説明されている。   When the union is used, the specified query 2007 in FIG. 3 can be transformed into the specified query 2008 in FIG. Here, regarding the join operation expressed by the sum operation and the join operation symbol 2032, only in the case of uneven distribution data, it can be modified as in the specified query 2009 in FIG. Explained.

この結果、表Table.(n−1)の偏在データTable.(n−1) (s):2001と、表Table.(n)の被偏在データTable.(n) (j):2005間の結合演算による部分集合2010、並びに表Table.(n)の偏在データTable.(n) (s):2004と、表Table.(n−1)の被偏在データTable.(n−1) (j):2002間の結合演算による部分集合2011、並びに表Table.(n−1)の一般データTable.(n−1) (c):2003と、表Table.(n)の一般データTable.(n) (c):2006間の結合演算による部分集合2012、の和集合として表現されることになる。As a result, Table Table. (N-1) uneven distribution data Table. (N-1) (s) : 2001, Table Table. (N) Uneven distribution data Table. (N) (j) : A subset 2010 by a join operation between 2005, and a table Table. (N) uneven distribution data Table. (N) (s) : 2004 and Table Table. (N-1) uneven distribution data Table. (N-1) (j) : A subset 2011 by a join operation between 2002, and a table Table. (N-1) general data Table. (N-1) (c) : 2003 and Table Table. (N) General data Table. (N) (c) : expressed as a union of a subset 2012 by a join operation between 2006.

この場合、前述の部分集合2010、前述の部分集合2011、前述の部分集合2012は、共有するデータ等の依存性が存在しないため、独立に結合演算を実施することが可能である。そのため、複数の処理実行部にそれぞれの偏在データの任意部分間の結合演算を割り付けることで処理を実施させることが可能となる。   In this case, since the above-described subset 2010, the above-described subset 2011, and the above-described subset 2012 do not have dependency on shared data or the like, it is possible to perform a join operation independently. Therefore, it becomes possible to perform processing by assigning a join operation between arbitrary portions of the uneven distribution data to a plurality of processing execution units.

図3の例では、以下の様に実施される。
処理実行部1−1:2013では、表Table.(n−1)の偏在データTable.(n−1) (s):2001の任意部分2020と、表Table.(n)の被偏在データTable.(n) (j):2005の任意部分2021間の結合演算が割り付けられる。
In the example of FIG. 3, it is implemented as follows.
In the process execution unit 1-1: 2013, the table Table. (N-1) uneven distribution data Table. (N-1) (s) : Arbitrary part 2020 of 2001 and Table Table. (N) Uneven distribution data Table. (N) (j) : Join operation between arbitrary parts 2021 of 2005 is allocated.

処理実行部1−2:2014では、表Table.(n)の偏在データTable.(n) (s):2004の任意部分2023と、表Table.(n−1)の被偏在データTable.(n−1) (j):2002の任意部分2022間の結合演算が割り付けられる。In the process execution unit 1-2: 2014, the table Table. (N) uneven distribution data Table. (N) (s) : Arbitrary part 2023 of 2004 and Table Table. (N-1) uneven distribution data Table. (N-1) (j) : Join operation between arbitrary portions 2022 of 2002 is allocated.

処理実行部1−3:2015では、表Table.(n−1)の一般データTable.(n−1) (c):2003の任意部分2024と、表Table.(n)の一般データTable.(n) (c):2006の任意部分2025間の結合演算が割り付けられる。In the process execution unit 1-3: 2015, the table Table. (N-1) general data Table. (N-1) (c) : Arbitrary part 2024 of 2003 and Table Table. (N) General data Table. (N) (c) : Join operation between arbitrary parts 2025 of 2006 is allocated.

また、別の装置に存在する処理実行部N−1:2016では、表Table.(n−1)の偏在データTable.(n−1) (s):2001の任意部分2026と、表Table.(n)の被偏在データTable.(n) (j):2005の任意部分2027間の結合演算が割り付けられる。In the process execution unit N-1: 2016 existing in another apparatus, the table Table. (N-1) uneven distribution data Table. (N-1) (s) : Arbitrary part 2026 of 2001 and Table Table. (N) Uneven distribution data Table. (N) (j) : Join operation between arbitrary parts 2027 of 2005 is allocated.

処理実行部N−2:2017では、表Table.(n)の偏在データTable.(n) (s):2004の任意部分2029と、表Table.(n−1)の被偏在データTable.(n−1) (j):2002の任意部分2028間の結合演算が割り付けられる。In the process execution unit N-2: 2017, the table Table. (N) uneven distribution data Table. (N) (s) : Arbitrary part 2029 of 2004 and Table Table. (N-1) uneven distribution data Table. (N-1) (j) : Join operation between arbitrary parts 2028 of 2002 is allocated.

処理実行部N−3:2018では、表Table.(n−1)の一般データTable.(n−1) (c):2003の任意部分2030と、表Table.(n)の一般データTable.(n) (c):2006の任意部分2031間の結合演算が割り付けられる。In the process execution unit N-3: 2018, the table Table. (N-1) general data Table. (N-1) (c) : Arbitrary part 2030 of 2003 and Table Table. (N) General data Table. (N) (c) : A join operation between arbitrary parts 2031 of 2006 is allocated.

ここで、前述の処理実行部1−1:2013と前述の処理実行部N−1:2016間の関係、並びに、前述の処理実行部1−2:2014と前述の処理実行部N−2:2017間の関係、並びに、前述の処理実行部1−3:2015と前述の処理実行部N−3:2018間の関係については、複製の場合、若しくは分割の場合が存在する。   Here, the relationship between the processing execution unit 1-1: 2013 and the processing execution unit N-1: 2016, and the processing execution unit 1-2: 2014 and the processing execution unit N-2: Regarding the relationship between 2017 and the relationship between the aforementioned process execution unit 1-3: 2015 and the aforementioned process execution unit N-3: 2018, there are cases of duplication or division.

複製の場合は、前述の処理実行部1−1:2013は、前述の処理実行部N−1:2016と同じ内容のデータが割り付けられる。その場合、前述の処理実行部1−2:2014は、前述の処理実行部N−2:2017と同じ内容のデータが割り付けられる。更に、前述の処理実行部1−3:2015は、前述の処理実行部N−3:2018と同じ内容のデータが割り付けられる。   In the case of duplication, the above-described processing execution unit 1-1: 2013 is assigned data having the same content as the above-described processing execution unit N-1: 2016. In this case, the above-described process execution unit 1-2: 2014 is assigned data having the same content as the above-described process execution unit N-2: 2017. Further, the above-described processing execution unit 1-3: 2015 is assigned data having the same contents as the above-described processing execution unit N-3: 2018.

これに対して、分割の場合は、前述の処理実行部1−1:2013と前述の処理実行部N−1:2016の両者で全体のデータ集合となる様に割付される。同様に、前述の処理実行部1−2:2014と前述の処理実行部N−2:2017の両者で全体のデータ集合となる様に割付される。同様に、前述の処理実行部1−3:2015と前述の処理実行部N−3:2018の両者で全体のデータ集合となる様に割付される。   On the other hand, in the case of division, the above-described process execution unit 1-1: 2013 and the above-described process execution unit N-1: 2016 are all allocated so as to form an entire data set. Similarly, the above-described process execution unit 1-2: 2014 and the above-described process execution unit N-2: 2017 are assigned so as to form an entire data set. Similarly, the above-described processing execution unit 1-3: 2015 and the above-described processing execution unit N-3: 2018 are all assigned so as to form an entire data set.

通常は、当該複製、若しくは当該分割が固定的に選択され、実施されることになる。特に計算結果の信頼性を実現する場合は、複製が選択される場合が一般的である。   Usually, the duplication or the division is fixedly selected and executed. In particular, in order to realize the reliability of the calculation result, it is common that a copy is selected.

前述の処理実行部1−1:2013、並びに前述の処理実行部N−1:2016、並びに前述の処理実行部1−2:2014、並びに前述の処理実行部N−2:2017、並びに、前述の処理実行部1−3:2015、並びに前述の処理実行部N−3:2018は、独立、且つ並列に実施して得られた結果を、集約処理として1箇所に集積し、結果R:2019を生成する。   The aforementioned process execution unit 1-1: 2013, the aforementioned process execution unit N-1: 2016, the aforementioned process execution unit 1-2: 2014, the aforementioned process execution unit N-2: 2017, and the aforementioned The process execution unit 1-3: 2015 and the above-described process execution unit N-3: 2018 accumulate the results obtained by performing the processing independently and in parallel as one aggregation process, and the result R: 2019 Is generated.

当該集約処理では、特に前述の複製で実施した結果を集約した結果、同じ内容のデータを重複して保持する場合は、重複部分から1つのみを選択して、重複を排除することが為される。   In the aggregation process, in particular, as a result of aggregating the results of the above-described duplication, when data having the same content is retained redundantly, it is possible to select only one of the overlapping parts and eliminate the duplication. The

図2A、図2Bに戻り、その後、前述の主従関係定義4018に基づき、配下の前述のデータベース・スレーブノード部1−1:4009に、当該サブ要求実行クエリのSQL記述を含んだメッセージs402を送信する。同様に、前述のデータベース・スレーブノード部1−2:4010に、当該サブ要求実行クエリのSQL記述を含んだメッセージs403を送信する。同様に、前述のデータベース・スレーブノード部1−3:4011に、当該サブ要求実行クエリのSQL記述を含んだメッセージs404を送信する。   Returning to FIGS. 2A and 2B, based on the master-slave relationship definition 4018, a message s402 including the SQL description of the sub-request execution query is transmitted to the subordinate database / slave node unit 1-1: 4009. To do. Similarly, a message s403 including the SQL description of the sub-request execution query is transmitted to the aforementioned database / slave node unit 1-2: 4010. Similarly, a message s404 including the SQL description of the sub-request execution query is transmitted to the above-described database / slave node unit 1-3: 4011.

前述のデータベース・スレーブノード部1−1:4009は、内部のデータ処理部(CPU処理部)4036を用いて、要求実行クエリを並列に実行可能な形式に分解し、サブ要求実行クエリに変形・生成する。その変形方法は、図3を含めた方式によって実施される。   The above-described database / slave node unit 1-1: 4009 uses the internal data processing unit (CPU processing unit) 4036 to decompose the request execution query into a form that can be executed in parallel and transform it into a sub-request execution query. Generate. The deformation method is implemented by the method including FIG.

その後、前述のデータベース・スレーブノード部1−1:4009は、前述のサブ実行クエリを実施するため、内部のデータ処理部(CPU処理部)4036を用いて、ストレージ4039への読み込みを行う。その際、前述のデータ処理部(CPU処理部)4036は、読み込んだ結果を、データキャッシュ管理部4037に格納し、管理する。前述のデータベース・スレーブノード部1−1:4009は、必要に応じて、リソース管理/トランザクション処理部4038を利用して中間生成表現を作成する。   Thereafter, the database / slave node unit 1-1: 4009 reads data into the storage 4039 using the internal data processing unit (CPU processing unit) 4036 in order to execute the above-described sub-execution query. At this time, the above-described data processing unit (CPU processing unit) 4036 stores and manages the read result in the data cache management unit 4037. The aforementioned database / slave node unit 1-1: 4009 creates an intermediate generation expression using the resource management / transaction processing unit 4038 as necessary.

その後、前述のデータベース・スレーブノード部1−1:4009は、処理でエラーが発生していない場合は、前述のメッセージs402に対する正常応答として、検索結果を含んだメッセージs405を、前述のデータベース・マスタノード部1:4006に送信する。   Thereafter, if no error has occurred in the processing, the database / slave node unit 1-1: 4009 sends the message s405 including the search result to the database master as a normal response to the message s402. Transmit to node unit 1: 4006.

続けて、前述のデータベース・スレーブノード部1−2:4010は、前述のサブ実行クエリを実施するため、内部のデータ処理部(CPU処理部)4040を用いて、ストレージ4043への読み込みを行う。その際、前述のデータ処理部(CPU処理部)4040は、読み込んだ結果を、データキャッシュ管理部4041に格納し、管理する。前述のデータベース・スレーブノード部1−2:4010は、必要に応じて、リソース管理/トランザクション処理部4042を利用して中間生成表現を作成する。   Subsequently, the database / slave node unit 1-2: 4010 reads the storage 4043 using the internal data processing unit (CPU processing unit) 4040 in order to execute the sub-execution query. At that time, the above-described data processing unit (CPU processing unit) 4040 stores and manages the read result in the data cache management unit 4041. The database / slave node unit 1-2: 4010 described above creates an intermediate generation expression using the resource management / transaction processing unit 4042 as necessary.

その後、前述のデータベース・スレーブノード部1−2:4010は、処理でエラーが発生していない場合は、前述のメッセージs403に対する正常応答として、検索結果を含んだメッセージs406を、前述のデータベース・マスタノード部1:4006に送信する。   Thereafter, if no error has occurred in the processing, the database / slave node unit 1-2: 4010 sends the message s406 including the search result as the normal response to the message s403, and the database master. Transmit to node unit 1: 4006.

続けて、前述のデータベース・スレーブノード部1−3:4011は、前述のサブ実行クエリを実施するため、内部のデータ処理部(CPU処理部)4044を用いて、ストレージ4047への読み込みを行う。その際、前述のデータ処理部(CPU処理部)4044は、読み込んだ結果を、データキャッシュ管理部4045に格納し、管理する。前述のデータベース・スレーブノード部1−3:4011は、必要に応じて、リソース管理/トランザクション処理部4046を利用して中間生成表現を作成する。   Subsequently, the database / slave node unit 1-3: 4011 reads into the storage 4047 using the internal data processing unit (CPU processing unit) 4044 in order to execute the sub-execution query. At that time, the above-described data processing unit (CPU processing unit) 4044 stores and manages the read result in the data cache management unit 4045. The database / slave node unit 1-3: 4011 described above creates an intermediate generation expression using the resource management / transaction processing unit 4046 as necessary.

その後、前述のデータベース・スレーブノード部1−3:4011は、処理でエラーが発生していない場合は、前述のメッセージs404に対する正常応答として、検索結果を含んだメッセージs407を、前述のデータベース・マスタノード部1:4006に送信する。   Thereafter, if no error has occurred in the processing, the database / slave node unit 1-3: 4011 sends a message s407 including a search result to the database master as a normal response to the message s404. Transmit to node unit 1: 4006.

前述のデータベース・マスタノード部1:4006は、応答メッセージs405、応答メッセージs406、応答メッセージs407の全てを行うと、図3における集約処理を実施し、結果を統合化した後に、正常応答メッセージs408を生成し、要求元であるデータベースアクセスクライアント部4005に送信する。   When all of the response message s405, the response message s406, and the response message s407 are performed, the database master node unit 1: 4006 described above performs the aggregation processing in FIG. 3 and integrates the results, and then sends the normal response message s408. It is generated and transmitted to the database access client unit 4005 that is the request source.

次に、既存技術による従来手法で故障が発生した場合の処理手順について、簡単に説明する。故障は大きくは、データベース・スレーブノード部で発生する場合とデータベース・マスタノード部で発生した場合に大別され、その各々で処理手順が異なる。   Next, a processing procedure in the case where a failure has occurred by the conventional technique based on the existing technology will be briefly described. A failure is roughly classified into a case where it occurs in the database / slave node unit and a case where it occurs in the database / master node unit.

データベース・スレーブノード部に故障が発生した場合について説明する。例えば、前述のデータベース・スレーブノード部1−1:4009内の処理で問題が発生し、エラーを含んだ応答が前述の応答メッセージs405に含まれる場合、前述のデータベース・マスタノード部1:4006は、送信出来る場合に限り、ロールバック要求を含んだメッセージs409を送信する。送信出来ない場合は、この処理は行わない。   A case where a failure occurs in the database / slave node unit will be described. For example, if a problem occurs in the processing in the database / slave node unit 1-1: 4009 and a response including an error is included in the response message s405, the database / master node unit 1: 4006 Only when transmission is possible, the message s409 including the rollback request is transmitted. This process is not performed when transmission is not possible.

続けて、前述のデータベース・マスタノード部1:4006は、前述のデータベース・スレーブノード部1−2:4010に対して、前述のメッセージs402と同等のSQL記述を含んだメッセージs410を前述のメッセージs402の補償処理として、送信する。   Subsequently, the above-described database master node unit 1: 4006 sends a message s410 including an SQL description equivalent to the above-described message s402 to the above-described database / slave node unit 1-2: 4010. Is transmitted as compensation processing.

前述のデータベース・スレーブノード部1−2:4010は、当該メッセージs410を受信すると、前述のメッセージs403を受信した場合と同等の処理を実施する。この結果、処理でエラーが発生していない場合は、前述のメッセージs410に対する正常応答として、検索結果を含んだメッセージs411を前述のデータベース・マスタノード部1:4006に送信する。   When the database / slave node unit 1-2: 4010 receives the message s410, the database / slave node unit 1-2: 4010 performs the same processing as when the message s403 is received. As a result, if an error does not occur in the processing, a message s411 including the search result is transmitted to the database master node unit 1: 4006 as a normal response to the message s410.

その後、前述のデータベース・マスタノード部1:4006は、通常処理と同様に、図3における集約処理を実施し、結果を統合した後に、正常応答メッセージs408を生成し、要求元であるデータベースアクセスクライアント部4005に送信する。   After that, the database master node unit 1: 4006 performs the aggregation process in FIG. 3 as in the normal process, integrates the results, generates a normal response message s408, and generates the requesting database access client. Unit 4005.

データベース・スレーブノード部が故障した場合は、以上の処理手順で対応する。これに対して、データベース・マスタノード部で故障が発生した場合、実行状況に応じて幾つかの対処方式が存在する。ここでは、代表的な方式である別のデータベース・マスタノード部を選択する方式を説明する。   If the database / slave node section fails, the above processing procedure is used. On the other hand, when a failure occurs in the database / master node unit, there are several countermeasures depending on the execution status. Here, a method of selecting another database / master node unit, which is a typical method, will be described.

この場合、前述のデータベース・マスタノード部1:4006は、一部の処理実施が可能である場合、前述のデータベースアクセスクライアント部4005の要求した前述のメッセージs401の内容を含んだ、異常発生を通知するメッセージs412を、別のデータベース・マスタノード部に送信する。通知先の選択方法を含めて、その方法については、種々の方式があり、ここでは特に説明しない。   In this case, the database master node unit 1: 4006 notifies the occurrence of an abnormality including the content of the message s401 requested by the database access client unit 4005 when a part of processing can be performed. Message s412 to be transmitted to another database / master node unit. There are various methods for selecting the notification destination, including the method for selecting the notification destination, and no particular description will be given here.

異常発生を通知する前述のメッセージs412を別のデータベース・マスタノード部2:4007が受信した場合、当該データベース・マスタノード部2:4007は、その処理を引き継ぐことを宣言するため、他のデータベース・マスタノード部に引継ぎを通知するメッセージs413を送信する。   When another database / master node unit 2: 4007 receives the above-described message s412 for notifying the occurrence of an abnormality, the database / master node unit 2: 4007 declares that it will take over the processing, A message s413 for notifying the master node unit of the takeover is transmitted.

図2A、図2Bにおいては、他のデータベース・マスタノード部はデータベース・マスタノード部3:4008に限定される。そこで、当該データベース・マスタノード部3:4008は、当該メッセージs413を受信すると、引継ぎの是認を行うメッセージs414を送信することで、前述のデータベースアクセスクライアント部4005の要求した前述のメッセージs401に対応するデータベース・マスタノード部が移動したことを確認・是認する。   In FIG. 2A and FIG. 2B, the other database / master node unit is limited to the database / master node unit 3: 4008. Therefore, when the database master node unit 3: 4008 receives the message s413, the database master node unit 3: 4008 responds to the message s401 requested by the database access client unit 4005 by transmitting a message s414 for approving the takeover. Confirm and approve that the database / master node has moved.

その後、当該データベース・マスタノード部2:4007は、他のデータベース・マスタノード部全てから前述のメッセージs414を含む、引継ぎの是認を行うメッセージを受信する。   Thereafter, the database / master node unit 2: 4007 receives a message to approve the takeover including the above-described message s414 from all the other database / master node units.

新たに前述のメッセージs401に対応するデータベース・マスタノード部となった当該データベース・マスタノード部2:4007は、最初に内部のデータ処理部(CPU処理部)4028を用いて、前述のデータベース・マスタノード部1:4006が持つ主従関係定義4018配下のデータベース・スレーブノード部1−1:4009、データベース・スレーブノード部1−2:4010、データベース・スレーブノード部1−3:4011で実施されたサブ要求実行クエリの実行結果を無効にすることを実施する。   The database master node unit 2: 4007, which newly becomes the database master node unit corresponding to the message s401, first uses the internal data processing unit (CPU processing unit) 4028, and uses the database master node unit 2: 4007. The sub-units implemented in the database / slave node unit 1-1: 4009, the database / slave node unit 1-2: 4010, and the database / slave node unit 1-3: 4011 under the master / slave relationship definition 4018 of the node unit 1: 4006 Implement the invalidation of the execution result of the request execution query.

具体的には、当該データベース・マスタノード部2:4007は、前述のデータベース・スレーブノード部1−1:4009に、ロールバック要求を含むメッセージs415を送信する。   Specifically, the database / master node unit 2: 4007 transmits a message s415 including a rollback request to the aforementioned database / slave node unit 1-1: 4009.

同様に、当該データベース・マスタノード部2:4007は、前述のデータベース・スレーブノード部1−2:4010に、ロールバック要求を含むメッセージs416を送信する。   Similarly, the database / master node unit 2: 4007 transmits a message s416 including a rollback request to the aforementioned database / slave node unit 1-2: 4010.

同様に、当該データベース・マスタノード部2:4007は、前述のデータベース・スレーブノード部1−3:4011に、ロールバック要求を含むメッセージs417を送信する。   Similarly, the database / master node unit 2: 4007 transmits a message s417 including a rollback request to the database / slave node unit 1-3: 4011 described above.

その後、当該データベース・マスタノード部2:4007は、内部のデータ処理部(CPU処理部)4028を用いて、指定された前述のメッセージs401に含まれたSQLの記述である実行要求クエリを改めて並列に実行可能な形式に分解し、サブ要求実行クエリに変形・生成する。その変形方法は、図3を含めた方式によって実施される。   Thereafter, the database / master node unit 2: 4007 uses the internal data processing unit (CPU processing unit) 4028 to re-execute the execution request query that is the SQL description included in the specified message s401. Is decomposed into an executable form, and transformed into a sub-request execution query. The deformation method is implemented by the method including FIG.

その後、前述のデータベース・マスタノード部2:4007は、前述の主従関係定義4019に基づき、配下の前述のデータベース・スレーブノード部2−1:4012に、当該サブ要求実行クエリのSQL記述を含んだメッセージs418を送信する。同様に、前述のデータベース・スレーブノード部2−2:4013に、当該サブ要求実行クエリのSQL記述を含んだメッセージs419を送信する。同様に、前述のデータベース・スレーブノード部2−3:4014に、当該サブ要求実行クエリのSQL記述を含んだメッセージs420を送信する。   Thereafter, the database master node unit 2: 4007 includes the SQL description of the sub request execution query in the subordinate database slave node unit 2-1: 4012 under the master-slave relationship definition 4019. Send message s418. Similarly, a message s419 including the SQL description of the sub-request execution query is transmitted to the aforementioned database / slave node unit 2-2: 4013. Similarly, a message s420 including the SQL description of the sub-request execution query is transmitted to the database / slave node unit 2-3: 4014 described above.

前述のデータベース・スレーブノード部2−1:4012は、当該メッセージs418に含まれるサブ要求実行クエリのSQL記述を図3により記載された方法に基づき、並列に実行可能な形式に分解の上で実行する。その処理で、特にエラーが発生していない場合は、前述のメッセージs418に対する正常応答として、検索結果を含んだメッセージs421を、データベース・マスタノード部2:4007に送信する。   The above-mentioned database / slave node unit 2-1: 4012 executes the SQL description of the sub-request execution query included in the message s418 after decomposing it into a form that can be executed in parallel based on the method described in FIG. To do. If no error has occurred in the process, a message s421 including the search result is transmitted to the database master node unit 2: 4007 as a normal response to the message s418.

前述のデータベース・スレーブノード部2−2:4013は、当該メッセージs419に含まれるサブ要求実行クエリのSQL記述を図3により記載された方法に基づき、並列に実行可能な形式に分解の上で実行する。その処理で、特にエラーが発生していない場合は、前述のメッセージs419に対する正常応答として、検索結果を含んだメッセージs422を、データベース・マスタノード部2:4007に送信する。   The database / slave node unit 2-2: 4013 executes the SQL description of the sub-request execution query included in the message s419 after decomposing it into a form that can be executed in parallel based on the method described in FIG. To do. If no error has occurred in the processing, a message s422 including the search result is transmitted to the database master node unit 2: 4007 as a normal response to the message s419.

前述のデータベース・スレーブノード部2−3:4014は、当該メッセージs420に含まれるサブ要求実行クエリのSQL記述を図3により記載された方法に基づき、並列に実行可能な形式に分解の上で実行する。その処理で、特にエラーが発生していない場合は、前述のメッセージs420に対する正常応答として、検索結果を含んだメッセージs423を、データベース・マスタノード部2:4007に送信する。   The above-described database / slave node unit 2-3: 4014 decomposes the SQL description of the sub-request execution query included in the message s420 into a form that can be executed in parallel based on the method described in FIG. To do. In the process, if no error has occurred, a message s423 including the search result is transmitted to the database master node unit 2: 4007 as a normal response to the message s420.

その後、前述のデータベース・マスタノード部2:4007では、通常処理と同様に、図3における集約処理を実施し、結果を統合した後に、応答メッセージs424を生成し、要求元であるデータベースアクセスクライアント部4005に送信することになる。   Thereafter, the database master node unit 2: 4007 performs the aggregation process in FIG. 3 as in the normal process, integrates the results, generates the response message s424, and generates the request source database access client unit 4005 is transmitted.

以上のように、従来のシェアードナッシング並列検索の技術領域では、大きく2系統の関連技術が存在する。   As described above, there are two related technologies in the technical field of conventional shared nothing parallel search.

第一の技術は、<非特許文献1>で言及されている様にシェアードナッシング並列検索を効果的に実行するためパーティショニング化において偏在データを考慮して結合演算処理を行い、最後に統合和演算処理、並びに射影・制限演算処理を行う方法である。   As described in <Non-Patent Document 1>, the first technique performs joint operation processing in consideration of unevenly distributed data in partitioning in order to effectively execute a shared-nothing parallel search. This is a method for performing arithmetic processing and projection / limit arithmetic processing.

第二の技術は、図1A、図1B、図2A、図2Bの様な<特許文献2>で言及されている様な方法であり、データベース・スレーブノード部とデータベース・マスタノード部の、エラー発生時の後処理に関するプロトコルを記したものである。   The second technique is a method such as that described in <Patent Document 2> as shown in FIGS. 1A, 1B, 2A, and 2B, and an error between the database / slave node unit and the database / master node unit. Describes the protocol for post-processing at the time of occurrence.

第一の技術により、効率的に並列検索を実施することが可能となるが、前述の通り、割り付けられた一つの処理実行部でエラーが発生した場合、それを補償しなければシェアードナッシング並列検索結果で不具合が発生する課題が存在する。しかし、<非特許文献1>では、その補償の方法は開示されていない。   The first technology makes it possible to perform parallel search efficiently. As described above, if an error occurs in one assigned processing execution unit, it is necessary to compensate for it. There is a problem that results in failure. However, <Non-Patent Document 1> does not disclose a compensation method.

第二の技術は、分散コミットメント方法に準拠した良く見られる方式であり、且つフェールオーバパートナー関係定義を記すことで、第一の技術で生じる課題について部分的に応じている様にも思われる。   The second technology is a common method that conforms to the distributed commitment method, and it seems that the problem that arises in the first technology is partially responded by describing the failover partner relationship definition.

しかし、第二の技術は、分散コミットメント方法に準拠している故にプロトコル上、不経済な点が2つの点で存在する。   However, since the second technique is based on the distributed commitment method, there are two points that are uneconomical in terms of the protocol.

第一の点として、常にフェールオーバパートナー関係定義を行う必要があるにも関わらず、シェアードナッシング並列検索での明示的な実行関係が定義されていないため、稼働率を最大化した運用について実現出来ない場合が存在する。   First, although it is necessary to always define a failover partner relationship, an operation that maximizes the operating rate cannot be realized because an explicit execution relationship in shared-nothing parallel search is not defined. There are cases.

第二の点として、<非特許文献1>で言及されている様な偏在データを考慮したパーティショニング化を実施した場合、クエリの実行途上でエラーが発生しても、分散コミットメント方法に準拠している故に局所的な対応が不可能となる場合が存在し、完全に当初結果から実行のし直しが必要になる、という可能性も存在する。   Secondly, when partitioning is performed in consideration of uneven distribution data as mentioned in <Non-Patent Document 1>, even if an error occurs during the execution of a query, it conforms to the distributed commitment method. Therefore, there is a case where local correspondence is impossible, and there is a possibility that re-execution from the initial result is required completely.

特開2004−280528号公報JP 2004-280528 A 特願2007−503912号公報Japanese Patent Application No. 2007-503912

Yu Xu et al, “Handling Data Skew in Parallel Joins in Shared−Nothing Systems”, Proceedings of SIGMOD’08 Conference, 2008.Yu Xu et al, “Handling Data Skew in Parallel Joins in Shared Systems”, Proceedings of SIGMOD'08 Conference, 2008.

本発明の目的は、複数サイト(site)・パーティション(partition)群で構成される分散ストレージ群を利用してシェアードナッシング並列検索を実行出来るデータベース管理システムにおいて、シェアードナッシング並列検索結果で不具合が生じない様に検索処理途上でエラーが発生した際に対処する補償処理手法に関し、当該補償処理手法を複数選択し、前述の分散ストレージ群に関する性能統計情報・信頼性情報から計算した稼働率・故障率等から補償処理を見込んだ総処理コスト期待値を当該補償処理手法の各々で計算し、総処理コスト期待値が最も小さい補償処理に基づき並列検索のクエリ分割を定めることで、シェアードナッシング並列検索結果で不具合を発生させることなく、稼働率を最大にさせる運用を実現することである。   An object of the present invention is to provide a shared nothing nothing parallel search result in a database management system capable of executing a shared nothing parallel search using a distributed storage group composed of a plurality of sites and partitions. As for the compensation processing method to deal with when an error occurs during the search process, select multiple compensation processing methods, the operation rate, failure rate, etc. calculated from the performance statistics information and reliability information on the above-mentioned distributed storage group The total processing cost expectation value for which compensation processing is expected from the above is calculated for each compensation processing method, and the query processing for parallel search is determined based on the compensation processing with the smallest total processing cost expectation value. Operation that maximizes the operating rate without causing problems Is Rukoto.

上記目的を達成するため、本発明は第一の態様として補償処理手法を複数選択し、前述分散ストレージ群に関する性能統計情報・信頼性情報から計算した稼働率・故障率等から補償処理を見込んだ総処理コスト期待値を当該補償処理手法の各々で計算し、総処理コスト期待値が最も小さい補償処理に基づき並列検索のクエリ分割を定める機能を提供する。   In order to achieve the above object, the present invention selects a plurality of compensation processing methods as a first aspect, and expects compensation processing from the operation rate, failure rate, etc. calculated from the performance statistical information and reliability information related to the distributed storage group. A total processing cost expected value is calculated by each of the compensation processing methods, and a function for determining query division for parallel search based on the compensation processing having the smallest total processing cost expected value is provided.

上記目的を達成するため、本発明では、第二の態様として第一の態様に加え、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測し、任意時点での稼働率・故障率を予め計算しておき、それを基に総処理コスト期待値を計算する機能を提供する。   In order to achieve the above object, in the present invention, in addition to the first mode as the second mode, performance statistics information / reliability information about the distributed storage group is periodically measured, and the operation rate / failure rate at an arbitrary time point Is provided in advance, and a function of calculating the total processing cost expectation value based on this is provided.

上記目的を達成するため、本発明は第三の態様として第一の態様に加え、クエリを構成する結合演算を複数の要素クエリに分解し、当該要素クエリを実施することで発生する中間成果と、要素クエリを改めて結合するクエリ最適化手法を利用することを前提とし、前述の要素クエリをシェアードナッシング並列検索結果で実施する度に、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果から、その時点での稼働率・故障率を取得し、当該稼働率・故障率を基に処理コスト期待値を計算の上で、最適化内容を変更する最適化部を提供する。   In order to achieve the above object, in addition to the first aspect, the present invention provides an intermediate result generated by decomposing a join operation constituting a query into a plurality of element queries and executing the element query. Assuming that you use a query optimization method that combines element queries anew, every time the above element queries are executed with shared-nothing parallel search results, performance statistics and reliability information on distributed storage groups are periodically Based on the measurement results, an operating rate / failure rate at that time is acquired, and an optimization unit is provided that changes the optimization content after calculating the expected processing cost based on the operating rate / failure rate.

上記目的を達成するため、本発明は第四の態様として第三の態様に加え、クエリ対象とするデータに偏在性があることを確認し、当該データを3種類に分割した上で要素クエリを実施する機能を提供する。   In order to achieve the above object, in addition to the third aspect as a fourth aspect, the present invention confirms that the data to be queried is unevenly distributed, divides the data into three types, and executes an element query. Provide the function to be implemented.

上記目的を達成するため、本発明は第五の態様として第三の態様に加え、クエリを構成する結合演算を複数の要素クエリに分解し、当該要素クエリを実施することで発生する中間成果と、要素クエリを改めて結合するクエリ最適化手法を利用することを前提とし、前述の要素クエリをシェアードナッシング並列検索結果で実施する場合、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果から、その時点から指定期間の推定稼働率・推定故障率を取得し、当該推定稼働率・推定故障率を基に処理コスト期待値を計算の上で、最適化内容を変更する最適化部を提供する。   In order to achieve the above object, in addition to the third aspect as a fifth aspect, the present invention includes an intermediate result generated by decomposing a join operation constituting a query into a plurality of element queries and executing the element query. Assuming that you use a query optimization method that combines element queries again, when you perform the above element queries with shared-nothing parallel search results, regularly measure performance statistics and reliability information about distributed storage groups From the results, obtain the estimated operating rate / estimated failure rate for the specified period from that point in time, calculate the expected processing cost based on the estimated operating rate / estimated failure rate, and change the optimization content Provide department.

上記目的を達成するため、本発明は第六の態様として第五の態様に加え、クエリ対象とするデータに偏在性があることを確認し、当該データを3種類に分割した上で要素クエリを実施する機能を提供する。   In order to achieve the above object, in addition to the fifth aspect as the sixth aspect, the present invention confirms that the data to be queried is unevenly distributed, divides the data into three types, and executes the element query. Provide the function to be implemented.

本発明により、大きくは2つの面で効果が見込める。
第一に、本発明では、予め補償処理が実施されることを前提としているため、従来第一の技術において不備であったエラー時の補償には対応出来る様になる。
第二に、本発明では、クエリを構成する結合演算を複数の要素クエリに分解し、当該要素クエリを実施することで発生する中間成果と、要素クエリを改めて結合するクエリ最適化手法を利用することを前提とし、前述の要素クエリをシェアードナッシング並列検索結果で実施する場合、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果から、その時点から指定期間の推定稼働率・推定故障率を取得し、当該推定稼働率・推定故障率を基に処理コスト期待値を計算の上で、最適化内容を変更するので、従来第二の技術が分散コミットメント方法に準拠している故に局所的な対応が不可能となり、不経済と為る課題に対しては対応出来る様になる。
According to the present invention, effects can be expected from two aspects.
First, since the present invention is premised on that compensation processing is performed in advance, it is possible to cope with compensation at the time of error, which is inadequate in the first conventional technique.
Secondly, in the present invention, a query optimization method is used in which a join operation constituting a query is decomposed into a plurality of element queries, intermediate results generated by executing the element queries, and element queries are combined again. Assuming that the above-mentioned element query is executed with shared-nothing parallel search results, based on the results of periodic measurement of performance statistics and reliability information related to the distributed storage group, the estimated operating rate for the specified period from that point Obtain the estimated failure rate, calculate the processing cost expectation value based on the estimated operation rate / estimated failure rate, and then change the optimization content, so the second technology has been based on the distributed commitment method. Therefore, it becomes impossible to cope locally, and it becomes possible to cope with problems that are uneconomical.

「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」の属する技術領域において、従来手法を実現し得る装置構成を記したブロック図である。It is the block diagram which described the apparatus structure which can implement | achieve a conventional method in the technical field to which the "query apparatus which anticipated the partitioning dependence error compensation of a shared nothing parallel search" belongs. 図1Aに記した構成のうち、第3の機能層の構成の詳細を記したブロック図である。It is the block diagram which described the detail of the structure of the 3rd functional layer among the structures described in FIG. 1A. 従来手法を実現し得る装置構成の上で従来手法の処理内容を記した手順図である。It is the procedure figure which described the processing content of the conventional method on the apparatus structure which can implement | achieve the conventional method. 図2Aに記した処理内容のうち、第3の機能層の処理内容の詳細を記した手順図である。It is the procedure figure which described the detail of the processing content of the 3rd functional layer among the processing content described in FIG. 2A. 本発明の「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」を実現する上で取り扱われる偏在データと、シェアードナッシング並列検索を実行する単位との関係を記した説明図である。It is explanatory drawing which described the relationship between the uneven distribution data handled when implement | achieving the "partitioning dependence error compensation of a shared nothing parallel search" of this invention, and the unit which performs a shared nothing parallel search . 本発明の「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」の内、最も複雑な手順を実現する装置構成を記したブロック図である。It is the block diagram which described the apparatus structure which implement | achieves the most complicated procedure among "the query apparatus which anticipated the partitioning dependence error compensation of a shared nothing parallel search" of this invention. 図4Aに記した構成のうち、第3の機能層の構成の一部の詳細を記したブロック図である。FIG. 4B is a block diagram showing details of a part of the configuration of the third functional layer in the configuration shown in FIG. 4A. 図4Aに記した構成のうち、第3の機能層の構成の残りの詳細を記したブロック図である。FIG. 4B is a block diagram showing the remaining details of the configuration of the third functional layer in the configuration shown in FIG. 4A. 本発明の「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」を実現する装置構成の上で、最も基本的な第一実施例の全体処理内容を記した手順図である。FIG. 3 is a procedure diagram illustrating the entire processing contents of the most basic first embodiment on the device configuration for realizing the “query device that anticipates partitioning-dependent error compensation of shared nothing parallel search” according to the present invention. 図5Aに記した処理内容のうち、第3の機能層の処理内容の一部の詳細を記した手順図である。FIG. 5B is a procedure diagram showing details of a part of the processing contents of the third functional layer among the processing contents shown in FIG. 5A. 図5Aに記した処理内容のうち、第3の機能層の処理内容の残りの詳細を記した手順図である。FIG. 5B is a procedure diagram illustrating the remaining details of the processing contents of the third functional layer among the processing contents described in FIG. 5A. 本発明の「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」を実現する上で取り扱われる評価式について記した説明図である。It is explanatory drawing which described the evaluation formula handled when implement | achieving "the query apparatus which anticipated the partitioning dependence error compensation of a shared nothing parallel search" of this invention. 本発明の「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」を実現する装置構成の上で、第二実施例の全体処理内容を記した手順図である。FIG. 10 is a procedure diagram illustrating the entire processing contents of the second embodiment on the device configuration for realizing the “query device that anticipates partitioning-dependent error compensation for shared nothing parallel search” according to the present invention. 図7Aに記した処理内容のうち、第3の機能層の処理内容の一部の詳細を記した手順図である。FIG. 7B is a procedure diagram showing details of a part of the processing contents of the third functional layer among the processing contents shown in FIG. 7A. 図7Aに記した処理内容のうち、第3の機能層の処理内容の残りの詳細を記した手順図である。FIG. 7B is a procedure diagram showing details of the remaining processing contents of the third functional layer among the processing contents shown in FIG. 7A. 本発明の「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」を実現する装置構成の上で、第三実施例、並びに第四実施例の全体処理内容を記した手順図である。FIG. 5 is a flowchart illustrating the entire processing contents of the third embodiment and the fourth embodiment on the device configuration that implements the “query device that anticipates partitioning-dependent error compensation for shared nothing parallel search” according to the present invention. is there. 図8Aに記した処理内容のうち、第3の機能層の処理内容の一部の詳細を記した手順図である。It is the procedure figure which described the detail of a part of process content of the 3rd functional layer among the process details described in FIG. 8A. 図8Aに記した処理内容のうち、第3の機能層の処理内容の残りの詳細を記した手順図である。It is the procedure figure which described the remaining details of the processing content of a 3rd functional layer among the processing content described in FIG. 8A. 本発明の「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」を実現する装置構成の上で、第五実施例、並びに第六実施例の全体処理内容を記した手順図である。FIG. 5 is a flowchart showing the overall processing contents of the fifth embodiment and the sixth embodiment on the device configuration for realizing the “query device that anticipates partitioning-dependent error compensation for shared nothing parallel search” of the present invention. is there. 図9Aに記した処理内容のうち、第3の機能層の処理内容の一部の詳細を記した手順図である。FIG. 9B is a procedure diagram illustrating details of a part of the processing contents of the third functional layer among the processing contents shown in FIG. 9A. 図9Aに記した処理内容のうち、第3の機能層の処理内容の残りの詳細を記した手順図である。FIG. 9B is a procedure diagram illustrating the remaining details of the processing contents of the third functional layer among the processing contents shown in FIG. 9A.

以下に、本発明の第1実施形態について添付図面を参照して説明する。   Hereinafter, a first embodiment of the present invention will be described with reference to the accompanying drawings.

<基本構成に関する説明>
本発明である「シェアードナッシング(Shared Nothing)並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」は、図4A〜図4C(図4A、図4B、図4C)の様な装置構成を前提とし、その環境において、図3、図5A〜図5C(図5A、図5B、図5C)、図7A〜図7C(図7A、図7B、図7C)、図8A〜図8C(図8A、図8B、図8C)、図9A〜図9C(図9A、図9B、図9C)の様な手順で、図6の記述要素を含むことを前提として実施される。
<Explanation on basic configuration>
The “query device that anticipates partitioning-dependent error compensation for shared nothing parallel search” according to the present invention is based on the device configuration shown in FIGS. 4A to 4C (FIGS. 4A, 4B, and 4C). 3 and 5A-5C (FIGS. 5A, 5B, 5C), 7A-7C (FIGS. 7A, 7B, 7C), 8A-8C (FIG. 8A, 8B and 8C) and FIGS. 9A to 9C (FIGS. 9A, 9B, and 9C) are performed on the assumption that the description elements of FIG. 6 are included.

図4A〜図4Cの装置構成は、最も複雑な手順である実施例を実行する場合に必要となる構成要素を含んでいる。しかし、最も基本的な実施例を実行するに当たっては、その全てが必要となる訳ではない。このため、図5A〜図5Cで定義する第一実施例を実施するに当たって利用していない要素群は省略可能であると伴に、図4A〜図4C記載以外の構成要素を含んでも構わない。   The apparatus configuration of FIGS. 4A to 4C includes components necessary for executing the embodiment which is the most complicated procedure. However, not all of them are necessary to implement the most basic embodiment. For this reason, the element group which is not used in carrying out the first embodiment defined in FIGS. 5A to 5C can be omitted, and may include components other than those shown in FIGS. 4A to 4C.

図4A〜図4Cに示す様に、本発明のクエリ装置は、大きく1つ以上のネットワークと、少なくとも3つの機能層を含む。ネットワークとして、LAN/WAN/Internet等、各種ネットワーク1001、1002を別のものとして定義しているが、これらと同じものと考えることも可能である。また、その種類に関して、ここでは区別する理由は存在しない。なお、各種ネットワーク1001、1002には、ルータやスイッチ等の中継装置も含まれるものとする。   As shown in FIGS. 4A to 4C, the query device of the present invention generally includes one or more networks and at least three functional layers. As the network, various networks 1001 and 1002 such as LAN / WAN / Internet are defined as different ones, but can be considered to be the same as these. Moreover, there is no reason to distinguish here about the kind. The various networks 1001 and 1002 include relay devices such as routers and switches.

3つの機能層のうち、第1の機能層は、アプリケーションプログラムであるデータベースアクセスクライアント部1003が含まれる機能層である。第2の機能層は、データベースアクセス部1004が含まれる機能層である。第3の機能層は、リソース管理/トランザクション制御部1017、1018、1019、1020や分散ストレージ1005、1006、1007、1008、1009、1010、1011、1012等が含まれる機能層である。各々の機能層は、前述のLAN/WAN/Internet等、各種ネットワーク1001、1002を介して相互にアクセスする。なお、各々の機能層は、PC(パソコン)、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機により実現される。   Of the three functional layers, the first functional layer is a functional layer including a database access client unit 1003 that is an application program. The second functional layer is a functional layer including the database access unit 1004. The third functional layer is a functional layer including resource management / transaction control units 1017, 1018, 1019, 1020, distributed storages 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, and the like. Each functional layer accesses each other via various networks 1001 and 1002 such as the above-mentioned LAN / WAN / Internet. Each functional layer is realized by a computer such as a PC (personal computer), a workstation, a main frame, or a supercomputer.

データベースアクセス部1004は、クエリ受付部1021と、実行制御部1022と、クエリ解析部1023と、ディクショナリアクセス部1024と、最適化部1025と、処理実行部1:1027と、処理実行部2:1028と、処理実行部(N−1):1029と、処理実行部N:1030を含む。クエリ受付部1021は、データベースアクセスクライアント部1003からの要求実行クエリを受け付ける。ディクショナリアクセス部1024は、その要求実行クエリに含まれるべき定義情報を管理するディクショナリに対するアクセスを行う。クエリ解析部1023は、当該ディクショナリアクセス部1024の情報を基に要求実行クエリを分析する。最適化部1025は、解析した要求実行クエリの最適化を行う。処理実行部1:1027、処理実行部2:1028、処理実行部(N−1):1029、及び処理実行部N:1030は、当該最適化部1025の結果を受けて、前述の要求実行クエリを分解し、個別の実行単位を実施する。実行制御部1022は、当該処理実行部のグループを制御する。   The database access unit 1004 includes a query reception unit 1021, an execution control unit 1022, a query analysis unit 1023, a dictionary access unit 1024, an optimization unit 1025, a process execution unit 1: 1027, and a process execution unit 2: 1028. And a process execution unit (N-1): 1029 and a process execution unit N: 1030. The query receiving unit 1021 receives a request execution query from the database access client unit 1003. The dictionary access unit 1024 accesses a dictionary that manages definition information to be included in the request execution query. The query analysis unit 1023 analyzes the request execution query based on the information of the dictionary access unit 1024. The optimization unit 1025 optimizes the analyzed request execution query. The process execution unit 1: 1027, the process execution unit 2: 1028, the process execution unit (N-1): 1029, and the process execution unit N: 1030 receive the result of the optimization unit 1025 and receive the request execution query described above. To implement individual execution units. The execution control unit 1022 controls the group of the process execution units.

更に、データベースアクセス部1004は、統計情報管理部エージェント管理部1026と、レプリカ作成管理部1096も含む。統計情報管理部エージェント管理部1026は、実際の要求実行クエリの要素を実施した結果を収集し、前述の最適化部1025の処理に反映する。レプリカ作成管理部1096は、分散ストレージ1005、1006、1007、1008、1009、1010、1011、1012上に同等なレプリカを作成する。   Further, the database access unit 1004 includes a statistical information management unit agent management unit 1026 and a replica creation management unit 1096. The statistical information management unit agent management unit 1026 collects the results of executing the elements of the actual request execution query and reflects them in the processing of the optimization unit 1025 described above. The replica creation management unit 1096 creates an equivalent replica on the distributed storage 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012.

前述のクエリ受付部1021は、実際に要求された要求実行クエリである指定クエリ1031を保持する。前述の処理実行部1:1027、前述の処理実行部2:1028、前述の処理実行部(N−1):1029、並びに前述の処理実行部N:1030の各々は、当該指定クエリ1031を分解した実行単位である1032、1033、1034、並びに1035を含む。   The above-described query reception unit 1021 holds a designated query 1031 that is a request execution query that is actually requested. Each of the aforementioned process execution unit 1: 1027, the aforementioned process execution unit 2: 1028, the aforementioned process execution unit (N-1): 1029, and the aforementioned process execution unit N: 1030 decomposes the designated query 1031. Execution units 1032, 1033, 1034, and 1035 are included.

図4A〜図4Cでは、前述のリソース管理/トランザクション制御部1017や前述の分散ストレージ1005等が含まれる機能層に4つのサイトを記しているが、これに限定される訳ではない。各サイトは、各々、リソース管理/トランザクション制御部1017、1018、1019、1020を含む。   4A to 4C show four sites in the functional layer including the resource management / transaction control unit 1017 described above and the distributed storage 1005 described above, the present invention is not limited to this. Each site includes resource management / transaction control units 1017, 1018, 1019, and 1020, respectively.

更に、通常は、リソース管理/トランザクション制御部1017を持つサイト、リソース管理/トランザクション制御部1018を持つサイト、リソース管理/トランザクション制御部1019を持つサイト、リソース管理/トランザクション制御部1020を持つサイトは、同等レベルのレプリカに相当する。このため、前述のリソース管理/トランザクション制御部1017を持つサイト、リソース管理/トランザクション制御部1018を持つサイト、リソース管理/トランザクション制御部1019を持つサイト、リソース管理/トランザクション制御部1020を持つサイトは、互いに同じ構成を取ることを前提とする。   Further, normally, a site having a resource management / transaction control unit 1017, a site having a resource management / transaction control unit 1018, a site having a resource management / transaction control unit 1019, and a site having a resource management / transaction control unit 1020 are: Corresponds to an equivalent level replica. Therefore, the site having the resource management / transaction control unit 1017, the site having the resource management / transaction control unit 1018, the site having the resource management / transaction control unit 1019, and the site having the resource management / transaction control unit 1020 are: It is assumed that they have the same configuration.

しかし、要求に応じて、リソース管理/トランザクション制御部1017を持つサイト、リソース管理/トランザクション制御部1018を持つサイト、リソース管理/トランザクション制御部1019を持つサイト、リソース管理/トランザクション制御部1020を持つサイトのうち2つは等価である運用でも良い。   However, on request, a site having a resource management / transaction control unit 1017, a site having a resource management / transaction control unit 1018, a site having a resource management / transaction control unit 1019, and a site having a resource management / transaction control unit 1020 Two of them may be equivalent operations.

なお、本発明では、レプリカを維持管理する仕組みについては、言及しない。このため、レプリカの反映時間に遅れが出る方法を含めて、どの様な方法を採用しても良い。   In the present invention, the mechanism for maintaining and managing the replica is not mentioned. For this reason, any method may be adopted including a method in which the reflection time of the replica is delayed.

リソース管理/トランザクション制御部1017を持つサイトには、分散ストレージ1005、並びに1006が関係付けられて配置されている。当該分散ストレージ1005は、データベースの表領域、索引領域を持つ。別の分散ストレージ1006には、Log(ログ),ジャーナル等が配置される。この場合、分散ストレージは2つとは限らず、1つ若しくは3つ以上でも良い。すなわち、分散ストレージは、少なくとも1つ存在する。   At the site having the resource management / transaction control unit 1017, distributed storages 1005 and 1006 are arranged in association with each other. The distributed storage 1005 has a database table area and an index area. In another distributed storage 1006, a log (log), a journal, and the like are arranged. In this case, the number of distributed storages is not limited to two and may be one or three or more. That is, at least one distributed storage exists.

更に、リソース管理/トランザクション制御部1017を持つサイトは、性能/エラー情報/統計情報サービス1013も含む。   Further, the site having the resource management / transaction control unit 1017 includes a performance / error information / statistical information service 1013.

当該分散ストレージ1005内のデータベースの表領域、索引領域には、関係Rに相当し偏在データを扱う表Table. (s):1036と、被偏在データを扱う表Table. (j):1037と、一般データを扱う表Table. (c):1038と、関係Rに相当し偏在データを扱う表Table. (s):1039と、被偏在データを扱う表Table. (j):1040と、一般データを扱う表Table. (c):1041と、関係Rに相当し偏在データを扱う表Table. (s):1042と、被偏在データを扱う表Table. (j):1043と、一般データを扱う表Table. (c):1044が格納される。Database tablespaces in the distributed storage 1005, the index area, the table Table dealing with corresponding localized data in relation R 1. 1 (s) : 1036, and Table Table. 1 (j) : 1037 and a table Table. 1 (c): the 1038, the table Table dealing with corresponding localized data on the relationship R 2. 2 (s) : 1039 and the table Table. 2 (j) : 1040 and table Table. 2 (c) : 1041, and Table Table. Which corresponds to the relation R n and handles unevenly distributed data. n (s) : 1042 and a table Table. n (j) : 1043 and a table Table. n (c) : 1044 is stored.

また、索引領域には、索引1045が格納される。一時領域には、中間成果1:1046、中間成果2:1092が格納される。   An index 1045 is stored in the index area. In the temporary area, intermediate result 1: 1046 and intermediate result 2: 1092 are stored.

前述の分散ストレージ1006は、Log/ジャーナル1047と、性能情報/エラー情報1048と、オブジェクト毎の統計情報1049を含む。性能情報/エラー情報1048は、全般的な性能情報やエラー情報を管理する。なお、情報の管理手法としては、情報の統合/リスト化/グループ化/データベース化等が考えられる。但し、実際には、これらの例に限定されない。オブジェクト毎の統計情報1049は、分散ストレージ1005上の前述の表Table. (s):1036、前述の表Table. (j):1037、前述の表Table. (c):1038、前述の表Table. (s):1039、前述の表Table. (j):1040、前述の表Table. (c):1041、前述の表Table. (s):1042、前述の表Table. (j):1043、前述の表Table. (c):1044、前述の索引1045に対するアクセス性能の統計情報を管理する。The distributed storage 1006 described above includes Log / journal 1047, performance information / error information 1048, and statistical information 1049 for each object. The performance information / error information 1048 manages general performance information and error information. As information management methods, information integration / listing / grouping / databaseing, etc. can be considered. However, actually, it is not limited to these examples. The statistical information 1049 for each object is stored in the table Table. 1 (s) : 1036, the aforementioned Table Table. 1 (j) : 1037, the aforementioned Table Table. 1 (c) : 1038, the aforementioned Table Table. 2 (s) : 1039, the aforementioned Table Table. 2 (j) : 1040, the aforementioned Table Table. 2 (c) : 1041, the aforementioned Table Table. n (s) : 1042, the aforementioned Table Table. n (j) : 1043, the above table Table. n (c) : 1044, managing statistical information of access performance for the index 1045 described above.

リソース管理/トランザクション制御部1018を持つサイトには、分散ストレージ1007、並びに1008が関係付けられて配置されている。当該分散ストレージ1007は、データベースの表領域、索引領域を持つ。別の分散ストレージ1008には、Logやジャーナル等が配置される。この場合、分散ストレージは2つとは限らず、1つ若しくは3つ以上でも良い。すなわち、分散ストレージは、少なくとも1つ存在する。   At the site having the resource management / transaction control unit 1018, distributed storages 1007 and 1008 are arranged in association with each other. The distributed storage 1007 has a database table area and an index area. In another distributed storage 1008, a log, a journal, and the like are arranged. In this case, the number of distributed storages is not limited to two and may be one or three or more. That is, at least one distributed storage exists.

更に、リソース管理/トランザクション制御部1018を持つサイトは、性能/エラー情報/統計情報サービス1014も含む。   Further, the site having the resource management / transaction control unit 1018 also includes a performance / error information / statistical information service 1014.

当該分散ストレージ1007内のデータベースの表領域、索引領域には、関係Rに相当し偏在データを扱う表Table. (s):1050と、被偏在データを扱う表Table. (j):1051と、一般データを扱う表Table. (c):1052と、関係Rに相当し偏在データを扱う表Table. (s):1053と、被偏在データを扱う表Table. (j):1054と、一般データを扱う表Table. (c):1055と、関係Rに相当し偏在データを扱う表Table. (s):1056と、被偏在データを扱う表Table. (j):1057と、一般データを扱う表Table. (c):1058が格納される。Database tablespaces in the distributed storage 1007, the index area, the table Table dealing with corresponding localized data in relation R 1. 1 (s) : 1050, and Table Table. 1 (j) : 1051 and a table Table. 1 (c): the 1052, the table Table dealing with corresponding localized data on the relationship R 2. 2 (s) : 1053, and Table Table. 2 (j) : 1054 and a table Table. 2 (c): the 1055, the table Table dealing with corresponding localized data on the relationship R n. n (s) : 1056 and the table Table. n (j) : 1057 and the table Table. n (c) : 1058 is stored.

また、索引領域には、索引1059が格納される。一時領域には、中間成果1、1060、中間成果2、1093が格納される。   An index 1059 is stored in the index area. Intermediate results 1, 1060, intermediate results 2, 1093 are stored in the temporary area.

前述の分散ストレージ1008には、Log/ジャーナル1061と、オブジェクト毎の統計情報1063と、性能情報/エラー情報1062を含む。性能情報/エラー情報1062は、全般的な性能情報やエラー情報を管理する。オブジェクト毎の統計情報1063は、分散ストレージ1007上の前述の表Table. (s):1050、前述の表Table. (j):1051、前述の表Table. (c):1052、前述の表Table. (s):1053、前述の表Table. (j):1054、前述の表Table. (c):1055、前述の表Table. (s):10562、前述の表Table. (j):1057、前述の表Table. (c):1058、前述の索引1059に対するアクセス性能の統計情報を管理する。The above-mentioned distributed storage 1008 includes Log / journal 1061, statistical information 1063 for each object, and performance information / error information 1062. The performance information / error information 1062 manages general performance information and error information. The statistical information 1063 for each object is stored in the table Table. 1 (s) : 1050, the aforementioned Table Table. 1 (j) : 1051, the table Table. 1 (c) : 1052, the table Table. 2 (s) : 1053, the aforementioned Table Table. 2 (j) : 1054, the table Table. 2 (c) : 1055, the aforementioned Table Table. n (s) : 10562, the table Table. n (j) : 1057, the table Table. n (c) : 1058, managing statistical information of access performance for the index 1059 described above.

リソース管理/トランザクション制御部1019を持つサイトには、分散ストレージ1009、並びに1010が関係付けられて配置されている。当該分散ストレージ1009は、データベースの表領域、索引領域を持つ。別の分散ストレージ1010には、Logやジャーナル等が配置される。この場合、分散ストレージは2つとは限らず、1つ若しくは3つ以上でも良い。すなわち、分散ストレージは、少なくとも1つ存在する。   In a site having the resource management / transaction control unit 1019, distributed storages 1009 and 1010 are associated with each other. The distributed storage 1009 has a database table area and an index area. In another distributed storage 1010, a log, a journal, and the like are arranged. In this case, the number of distributed storages is not limited to two and may be one or three or more. That is, at least one distributed storage exists.

更に、リソース管理/トランザクション制御部1019を持つサイトは、性能/エラー情報/統計情報サービス1015も含む。   Further, the site having the resource management / transaction control unit 1019 also includes a performance / error information / statistical information service 1015.

当該分散ストレージ1009内のデータベースの表領域、索引領域には、関係Rに相当し偏在データを扱う表Table. (s):1064と、被偏在データを扱う表Table. (j):1065と、一般データを扱う表Table. (c):1066と、関係Rに相当し偏在データを扱う表Table. (s):1067と、被偏在データを扱う表Table. (j):1068と、一般データを扱う表Table. (c):1069と、関係Rに相当し偏在データを扱う表Table. (s):1070と、被偏在データを扱う表Table. (j):1071と、一般データを扱う表Table. (c):1072が格納される。Database tablespaces in the distributed storage 1009, the index area, the table Table dealing with corresponding localized data in relation R 1. 1 (s) : 1064 and a table Table. 1 (j) : 1065 and a table Table. 1 (c): the 1066, the table Table dealing with corresponding localized data on the relationship R 2. 2 (s) : 1067, and a table Table. 2 (j) : 1068 and a table Table. 2 (c) : 1069 and Table Table. Which corresponds to the relation R n and handles unevenly distributed data. n (s) : 1070 and the table Table. n (j) : 1071 and the table Table. n (c) : 1072 is stored.

また、索引領域には、索引1073が格納される。一時領域には、中間成果1、1074、中間成果2、1094が格納される。   An index 1073 is stored in the index area. In the temporary area, intermediate results 1, 1074 and intermediate results 2, 1094 are stored.

前述の分散ストレージ1010は、Log/ジャーナル1075と、性能情報/エラー情報1076と、オブジェクト毎の統計情報1077を含む。性能情報/エラー情報1076は、全般的な性能情報やエラー情報を管理する。オブジェクト毎の統計情報1077は、分散ストレージ1009上の前述の表Table. (s):1064、前述の表Table. (j):1065、前述の表Table. (c):1066、前述の表Table. (s):1067、前述の表Table. (j):1068、前述の表Table. (c):1069、前述の表Table. (s):1070、前述の表Table. (j):1071、前述の表Table. (c):1072、前述の索引1073に対するアクセス性能の統計情報を管理する。The distributed storage 1010 described above includes Log / journal 1075, performance information / error information 1076, and statistical information 1077 for each object. The performance information / error information 1076 manages general performance information and error information. The statistical information 1077 for each object is stored in the table Table. 1 (s) : 1064, the table Table. 1 (j) : 1065, the table Table. 1 (c) : 1066, the table Table. 2 (s) : 1067, the aforementioned Table Table. 2 (j) : 1068, the above table Table. 2 (c) : 1069, the aforementioned Table Table. n (s) : 1070, the above table Table. n (j) : 1071, the aforementioned Table Table. n (c) : 1072 and manages the access performance statistical information for the index 1073 described above.

リソース管理/トランザクション制御部1020を持つサイトには、分散ストレージ1011、並びに1012が関係付けられて配置されている。当該分散ストレージ1011は、データベースの表領域、索引領域を持つ。別の分散ストレージ1012には、Logやジャーナル等が配置される。この場合、分散ストレージは2つとは限らず、1つ若しくは3つ以上でも良い。すなわち、分散ストレージは、少なくとも1つ存在する。   At the site having the resource management / transaction control unit 1020, the distributed storage 1011 and 1012 are arranged in association with each other. The distributed storage 1011 has a database table area and an index area. In another distributed storage 1012, a log, a journal, and the like are arranged. In this case, the number of distributed storages is not limited to two and may be one or three or more. That is, at least one distributed storage exists.

更に、リソース管理/トランザクション制御部1020を持つサイトは、性能/エラー情報/統計情報サービス1016も含む。   Further, the site having the resource management / transaction control unit 1020 includes a performance / error information / statistical information service 1016.

当該分散ストレージ1011内のデータベースの表領域、索引領域には、関係Rに相当し偏在データを扱う表Table. (s):1078と、被偏在データを扱う表Table. (j):1079と、一般データを扱う表Table. (c):1080と、関係Rに相当し偏在データを扱う表Table. (s):1081と、被偏在データを扱う表Table. (j):1082と、一般データを扱う表Table. (c):1083と、関係Rに相当し偏在データを扱う表Table. (s):1084と、被偏在データを扱う表Table. (j):1085と、一般データを扱う表Table. (c):1086が格納される。Database tablespaces in the distributed storage 1011, the index area, the table Table dealing with corresponding localized data in relation R 1. 1 (s) : 1078 and the table Table. 1 (j) : 1079 and a table Table. 1 (c): 1080, Table Table dealing with corresponding localized data on the relationship R 2. 2 (s) : 1081 and a table Table. 2 (j) : 1082 and a table Table. 2 (c) : 1083 and Table Table. Which corresponds to the relation R n and handles unevenly distributed data. n (s) : 1084 and the table Table. n (j) : 1085 and the table Table. n (c) : 1086 is stored.

また、索引領域には、索引1087が格納される。一時領域には、中間成果1、1088、中間成果2、1095が格納される。   An index 1087 is stored in the index area. In the temporary area, intermediate results 1, 1088 and intermediate results 2, 1095 are stored.

前述の分散ストレージ1011には、Log/ジャーナル1089と、性能情報/エラー情報1090と、オブジェクト毎の統計情報1091を含む。性能情報/エラー情報1090は、全般的な性能情報やエラー情報を管理する。オブジェクト毎の統計情報1091は、分散ストレージ1012上の前述の表Table. (s):1078、前述の表Table. (j):1079、前述の表Table. (c):1080、前述の表Table. (s):1081、前述の表Table. (j):1082、前述の表Table. (c):1083、前述の表Table. (s):1084、前述の表Table. (j):1085、前述の表Table. (c):1086、前述の索引1087に対するアクセス性能の統計情報を管理する。The aforementioned distributed storage 1011 includes Log / journal 1089, performance information / error information 1090, and statistical information 1091 for each object. The performance information / error information 1090 manages general performance information and error information. The statistical information 1091 for each object is stored in the table Table. 1 (s) : 1078, the aforementioned Table Table. 1 (j) : 1079, the table Table. 1 (c) : 1080, the aforementioned Table Table. 2 (s) : 1081, the table Table. 2 (j) : 1082, the table Table. 2 (c) : 1083, the aforementioned Table Table. n (s) : 1084, the aforementioned Table Table. n (j) : 1085, the above table Table. n (c) : 1086, which manages the access performance statistical information for the index 1087 described above.

<第一実施例>
ここでは、本発明である「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」の第一実施例について図5A〜図5C、図6を用いて、説明する。
<First Example>
Here, a first embodiment of the “query apparatus that anticipates partitioning-dependent error compensation for shared nothing parallel search” according to the present invention will be described with reference to FIGS. 5A to 5C and FIG.

第一実施例の特徴は、分散ストレージに関して別途計測された信頼性情報を基に、指定クエリの分割方針を変更することである。分散ストレージの信頼性が低い場合は、指定クエリの実行単位を多重化して実施し、信頼性が高い場合は、分割して並列に実施する。   The feature of the first embodiment is that the split policy of the designated query is changed based on the reliability information separately measured for the distributed storage. When the reliability of the distributed storage is low, the execution unit of the specified query is multiplexed, and when the reliability is high, it is divided and executed in parallel.

データベースアクセス部1004配下にあるクエリ受付部1021は、データベースアクセスクライアント部1003からSQL記述で表現される要求実行クエリを含んだメッセージs001を受け付けると、指定クエリ1031として保持した後、処理実行部のグループを制御する実行制御部1022に要求実行クエリs002として渡す。   When the query accepting unit 1021 under the database access unit 1004 accepts the message s001 including the request execution query expressed in the SQL description from the database access client unit 1003, the query accepting unit 1021 holds the specified query 1031 and then the group of process execution units Is passed as a request execution query s002 to the execution control unit 1022 that controls

当該実行制御部1022は、当該要求実行クエリs002を分解し、個別の実行単位の実行クエリ群を生成するため、更に、クエリ解析部1023に要求実行クエリs003として渡す。   The execution control unit 1022 further disassembles the request execution query s002 and generates an execution query group for individual execution units, and further passes it to the query analysis unit 1023 as the request execution query s003.

前述のクエリ解析部1023は、要求実行クエリs003を受理すると、要求実行クエリs003の構文解析を実施する。構文解析の際は、ディクショナリアクセス部1024を介してディクショナリから定義情報s004を検索して解析を実施する。   When receiving the request execution query s003, the query analysis unit 1023 described above performs syntax analysis of the request execution query s003. In the syntax analysis, the definition information s004 is searched from the dictionary via the dictionary access unit 1024 and the analysis is performed.

クエリ解析部1023は、その解析結果を中間解析結果s005として一度、前述の実行制御部1022に返信する。その後、当該実行制御部1022は、当該中間解析結果s005の最適化を実施するため、最適化部1025に当該中間解析結果s005を引数で含めた実行要求s006を送信する。   The query analysis unit 1023 returns the analysis result as an intermediate analysis result s005 once to the execution control unit 1022 described above. Thereafter, the execution control unit 1022 transmits an execution request s006 including the intermediate analysis result s005 as an argument to the optimization unit 1025 in order to optimize the intermediate analysis result s005.

最適化部1025は、図3に基づいた方式に基づき、前述の中間解析結果s005の変形を行う。特に、図6の(式1)に基づき、実際の要求実行クエリの要素を実行した結果により得られた性能統計情報・信頼性情報に基づいて評価を行うため、必要に応じて、統計情報管理部エージェント管理部1026から性能統計情報・信頼性情報s007を入手する。   The optimization unit 1025 modifies the above-described intermediate analysis result s005 based on the method based on FIG. In particular, based on (Equation 1) of FIG. 6, evaluation is performed based on performance statistical information / reliability information obtained as a result of executing an actual request execution query element. Performance statistical information / reliability information s007 is obtained from the local agent management unit 1026.

第一実施例では、実際の要求実行クエリの要素を実行した結果により得られた性能統計情報・信頼性情報を用いる訳ではなく、事前に別途計測された信頼性情報を用いるため、性能統計情報・信頼性情報s007は、事前に固定的に定義・登録された値となる。   In the first embodiment, instead of using the performance statistical information / reliability information obtained from the result of executing the actual request execution query element, the performance statistical information is used because the reliability information separately measured in advance is used. The reliability information s007 is a value that is fixedly defined and registered in advance.

当該最適化部1025は、実際の実行単位となる複数の要求実行要素クエリ群s008を生成することになる。その生成手法は、以降に示すエラー補償の手順に基づく。   The optimization unit 1025 generates a plurality of request execution element query groups s008 that are actual execution units. The generation method is based on the error compensation procedure described below.

<シェアードナッシング並列検索のパーティショニング依存のエラー補償手法>
以下に、シェアードナッシング並列検索のパーティショニング依存のエラー補償の手順について示す。
<Partitioning-dependent error compensation method for shared nothing parallel search>
The error compensation procedure depending on partitioning for shared nothing parallel search is shown below.

なお、ここでは記述の制約上サイトのみを記しているが、第五実施例では、図3で説明しているシェアードナッシング並列検索のパーティショニングを実施しており、実際には割付単位はサイトとは限らない。従って、本文説明ではサイト(パーティション)として記載する。   Although only the site is described here due to the limitation of description, in the fifth embodiment, the partitioning of the shared nothing parallel search described in FIG. 3 is performed, and the allocation unit is actually the site. Is not limited. Therefore, it is described as a site (partition) in the text description.

当該補償手法では、シェアードナッシング並列検索のパーティショニングの具体的な方法として、「再配分プロトコル」並びに「多重化プロトコル」が選択的に採用される。   In the compensation method, “redistribution protocol” and “multiplexing protocol” are selectively employed as a specific method for partitioning shared nothing parallel search.

「再配分プロトコル」とは、1つのクエリを分割して、シェアードナッシング並列検索のパーティショニングにおいて実施する際にエラーが発生し、その補償手法としてエラーの発生した要求実行要素クエリ部分の再実行を、エラーの発生したサイト以外の全てのサイトで再度、代替実施するものである。   “Redistribution protocol” means that when a query is divided and an error occurs when it is executed in the partitioning of shared-nothing parallel search, re-execution of the request execution element query part in which the error has occurred is performed as a compensation method. This is to be performed again at all sites other than the site where the error occurred.

これに対して「多重化プロトコル」とは、1つのクエリを分割して、シェアードナッシング並列検索のパーティショニングにおいて実施する際にエラーが発生しても対応出来る様に、同じクエリ内容を完全に多重化して行う方法であり、要求実行要素クエリ部分の再実行は行わない。   On the other hand, the "multiplexing protocol" is to completely multiplex the same query contents so that it can be handled even if an error occurs when partitioning one query and executing it in shared-nothing parallel search partitioning. The request execution element query part is not re-executed.

まず、手順が開始されると、当該最適化部1025は、前述の中間解析結果s005で表現されるクエリ内容に応じて部分多重化に対して多重化せず「シェアードナッシング」で処理する範囲を特定する(ステップ.1)。   First, when the procedure is started, the optimization unit 1025 sets a range to be processed by “shared nothing” without being multiplexed for partial multiplexing according to the query content expressed by the above-described intermediate analysis result s005. Specify (step 1).

その後、前述の最適化部1025は、独立して利用出来るリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合を全て特定する。ここでは、そのサイト(パーティション)群集合をS:{s(1),...,s(N)}で表現する(ステップ.2)。Thereafter, the above-described optimization unit 1025 specifies all sets of sites (partitions) having resource management / transaction processing units that can be used independently. Here, the set of sites (partitions) is denoted by S: {s (1) ,. . . , S (N) } (step 2).

その後、前述の最適化部1025は、指定クエリの分割方針を決定するため、図6の(式1)を利用して、「再配分プロトコル」並びに「多重化プロトコル」の評価を実施する。まずは、「再配分プロトコル」に関する評価を実施する(ステップ.3)。   Thereafter, the optimization unit 1025 described above evaluates the “redistribution protocol” and the “multiplexing protocol” using (Equation 1) in FIG. 6 in order to determine the division policy of the designated query. First, an evaluation regarding the “redistribution protocol” is performed (step 3).

前述の最適化部1025は、「再配分プロトコル」として前述のサイト(パーティション)群集合Sから多重化向けに利用するサイト(パーティション)群集合SR:{sr(1),..,sr(m)}を指定する(ステップ.3.1)。その後、前述の最適化部1025は、前述のサイト(パーティション)群から多重化向けに利用しないサイト(パーティション)群集合S−SRを指定する(ステップ.3.2)。The optimization unit 1025 described above uses a site (partition) group set SR: {sr (1) ,. . , Sr (m) } is specified (step 3.1). Thereafter, the above-described optimization unit 1025 designates a site (partition) group set S-SR that is not used for multiplexing from the above-described site (partition) group (step 3.2).

前述の(ステップ.3.2)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SRの台数nを求める(ステップ.3.3)。   Subsequent to the above-described (Step 3.2), the above-described optimization unit 1025 obtains the number n of site (partition) group sets S-SR that are not used for multiplexing (Step 3.3).

続けて、前述の最適化部1025は、実施クエリの想定件数を前述の台数nで均等割りし指定クエリの実行単位をn作成し、多重化向けに利用しないサイト(パーティション)群集合S−SRの各サイト(パーティション)へ割付を行う(ステップ.3.4)。   Subsequently, the optimization unit 1025 described above equally divides the estimated number of execution queries by the number n described above to create n execution units for the specified query, and sets a site (partition) group set S-SR that is not used for multiplexing. Is assigned to each site (partition) (step 3.4).

前述の(ステップ.3.4)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SRから1サイト(パーティション)s(k)を順次選択する(ステップ.3.5)。Subsequent to the above (Step 3.4), the optimization unit 1025 sequentially selects one site (partition) s (k) from the site (partition) group set S-SR that is not used for multiplexing. (Step 3.5).

(ステップ.3.5)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。前述の最適化部1025は、joincost関数で計算する際、通常、結合演算コスト値を計算し、単一Tableを扱う場合、その検索コスト値を計算する。その際、前述の最適化部1025は、「再配分プロトコル」と発生するデータ件数を指定する(ステップ.3.5.1)。   (Step 3.5) As a subordinate, the optimization unit 1025 described above calculates a search cost value without failure using the joincost function in (Equation 1) in FIG. The above-described optimization unit 1025 normally calculates a joint operation cost value when calculating with the joincost function, and calculates the search cost value when handling a single table. At that time, the optimization unit 1025 described above designates the “redistribution protocol” and the number of data items to be generated (Step 3.5.1).

前述の(ステップ.3.5.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく稼動率R(s(k))を前述のコスト値に重畳し、失敗なし時の期待joincost1値(s(k))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく稼動率R(s(k))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s007、若しくはs107からその都度、読み込まれた値より求める(ステップ.3.5.2)。Subsequent to the above (Step 3.5.1), the optimization unit 1025 described above calculates the operation rate R (s (k) ) based on the performance statistical information / reliability information of the designated site (partition) as described above. Superimposed on the cost value, the expected joincost1 value (s (k) ) when there is no failure is calculated. The optimization unit 1025 described above obtains the operation rate R (s (k) ) based on the performance statistical information / reliability information from the performance statistical information / reliability information s007 obtained from the statistical information management unit agent management unit 1026. Alternatively, it is obtained from the read value each time from s107 (step 3.5.2).

前述の(ステップ.3.5.2)に続いて、前述の最適化部1025は、当該稼働率に対する故障率F(s(k))を前述のコスト値に重畳し、失敗時の期待joincost2値(s(k))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく故障率F(s(k))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s007、若しくはs107からその都度、読み込まれた値より求める(ステップ.3.5.3)。Subsequent to the above (Step 3.5.2), the above-described optimization unit 1025 superimposes the failure rate F (s (k) ) on the operation rate on the above-described cost value, and the expected joincost 2 at the time of failure. The value (s (k) ) is calculated. The optimization unit 1025 described above obtains the failure rate F (s (k) ) based on the performance statistical information / reliability information from the statistical information management unit agent management unit 1026 and obtains the performance statistical information / reliability information s007. Alternatively, it is obtained from the value read from s107 each time (step 3.5.5.3).

前述の(ステップ.3.5.3)に続いて、前述の最適化部1025は、失敗した指定クエリの実行単位内容を(n−1)分割し、現在選択していないサイト(パーティション)群集合S−SR−{s(k)}の各サイト(パーティション)に割付ける(ステップ.3.5.4)。Subsequent to the above (Step 3.5.5.3), the above-described optimization unit 1025 divides the execution unit contents of the failed designated query into (n−1) and the currently selected site (partition) group. Assign to each site (partition) in the set S-SR- {s (k) } (step 3.5.4).

前述の(ステップ.3.5.4)に続いて、前述の最適化部1025は、多重化に利用しないサイト(パーティション)群集合S−SR−{s(k)}から1サイト(パーティション)s(l)を選択する(ステップ.3.5.5)。Subsequent to the above (Step 3.5.5.4), the optimization unit 1025 described above generates a site (partition) from a site (partition) group set S-SR- {s (k) } that is not used for multiplexing. Select s (l) (step 3.5.5).

(ステップ.3.5.5)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する(ステップ.3.5.5.1)。   (Step 3.5.5) As a subordinate, the optimization unit 1025 described above calculates a search cost value without failure using the joincost function in (Equation 1) in FIG. 6 (Step 3.5.5.5. 1).

前述の(ステップ.3.5.5.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく稼動率R(s(l))、前述の故障率F(s(k))を前述のコスト値に重畳し、期待joincost3値(s(l))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく稼動率R(s(l))、前述の故障率F(s(k))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s007、若しくはs107からその都度、読み込まれた値より求める(ステップ.3.5.5.2)。Subsequent to the above (Step 3.5.5.1), the optimization unit 1025 described above performs the operation rate R (s (l) ) based on the performance statistics information / reliability information of the designated site (partition), The failure rate F (s (k) ) described above is superimposed on the cost value described above, and an expected joincost 3 value (s (l) ) is calculated. The optimization unit 1025 described above calculates the operating rate R (s (l) ) and the failure rate F (s (k) ) based on the performance statistical information / reliability information, and the statistical information management unit agent management unit described above. Each time, it is obtained from the read value from the performance statistical information / reliability information s007 or s107 obtained from 1026 (step 3.5.5.2).

前述の最適化部1025は、次のサイト(パーティション)s(l+1)を選択する。前述の最適化部1025は、これを選択出来なくなるまで繰り返す(ステップ.3.5.5.3)。The optimization unit 1025 described above selects the next site (partition) s (l + 1) . The optimization unit 1025 described above repeats until it cannot be selected (step 3.5.5.3).

前述の(ステップ.3.5.5)に続いて、前述の最適化部1025は、サイト(パーティション)群集合S−SR−{s(k)}の全サイト(パーティション)s(l)に渡る期待joincost3値(s(k))の合計値を求める(ステップ.3.5.6)。Subsequent to the above (Step 3.5.5.5), the optimization unit 1025 described above applies to all sites (partitions) s (l) of the site (partition) group set S-SR- {s (k) }. The total value of the expected expected joincost 3 values (s (k) ) is obtained (step 3.5.5.6).

前述の最適化部1025は、次のサイト(パーティション)s(k+1)を選択する。前述の最適化部1025は、これを選択出来なくなるまで繰り返す(ステップ.3.5.7)。The optimization unit 1025 described above selects the next site (partition) s (k + 1) . The optimization unit 1025 described above repeats until it cannot be selected (step 3.5.5.7).

前述の(ステップ.3.5)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SRから任意サイト(パーティション)の組合せ集合SC:{(s(1),s(2)),…,(s(k),s(k+1))}を定義する(ステップ.3.6)。Subsequent to the above (Step 3.5), the optimization unit 1025 described above sets a combination set SC of site (partition) group set S-SR not used for multiplexing to an arbitrary site (partition): {(s (1) , s (2) ),..., (S (k) , s (k + 1) )} are defined (step 3.6).

前述の(ステップ.3.6)に続いて、前述の最適化部1025は、前述のサイト(パーティション)の組合せ集合SCから1組合せsc(k)(要素をs(k1),s(k2)とする。)を順次選択する(ステップ.3.7)。Subsequent to the above-described (Step 3.6), the above-described optimization unit 1025 extracts one combination sc (k) (elements s (k1) and s (k2) from the combination set SC of the above-described sites (partitions ). Are sequentially selected (step 3.7).

(ステップ.3.7)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数を基に2回呼び出し、組合要素毎に計算する(ステップ.3.7.1)。   (Step 3.7) As a subordinate, the optimization unit 1025 described above calls the search cost value without failure twice based on the joincost function in (Equation 1) of FIG. Step 3.7.1).

前述の(ステップ.3.7.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく故障率F(s(k1)),F(s(k2))を前述のコスト値に重畳し、失敗時の期待joincost4値(s(k1))と期待joincost4値(s(k2))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく故障率F(s(k1)),F(s(k2))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s007、若しくはs107からその都度、読み込まれた値より求める(ステップ.3.7.2)。Subsequent to the above (Step 3.7.1), the optimization unit 1025 described above performs the failure rate F (s (k1) ), F (based on the performance statistics information / reliability information of the designated site (partition). s (k2) ) is superimposed on the above-mentioned cost value, and an expected joincost 4 value (s (k1) ) and an expected joincost 4 value (s (k2) ) at the time of failure are calculated. The optimization unit 1025 obtains the failure rate F (s (k1) ), F (s (k2) ) based on the performance statistical information / reliability information from the statistical information management unit agent management unit 1026. From the performance statistics information / reliability information s007 or s107, it is obtained from the read value each time (step 3.7.2).

前述の(ステップ.3.7.2)に続いて、前述の最適化部1025は、失敗した指定クエリの実行単位内容を(n−2)分割し、現在選択していないサイト(パーティション)群集合S−SR−{sc(k):(s(k1),s(k2))}の各サイト(パーティション)に割付ける(ステップ.3.7.3)。Subsequent to the above (Step 3.7.2), the above-described optimization unit 1025 divides the execution unit contents of the failed designated query into (n−2), and the currently selected site (partition) group Assign to each site (partition) of the set S-SR- {sc (k) :( s (k1) , s (k2) )} (step 3.7.3).

前述の(ステップ.3.7.3)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SR−{sc(k):(s(k1),s(k2))}から1サイト(パーティション)s(l)を選択する(ステップ.3.7.4)。Subsequent to the above (Step 3.7.3), the optimization unit 1025 described above does not use the site (partition) group set S-SR- {sc (k) : (s (k1)) used for multiplexing. , S (k2) )}, select one site (partition) s (l) (step 3.7.4).

(ステップ.3.7.4)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する(ステップ.3.7.4.1)。   (Step 3.7.4) As a subordinate, the optimization unit 1025 described above calculates a search cost value without failure using the joincost function in (Equation 1) in FIG. 6 (Step 3.7.4. 1).

前述の(ステップ.3.7.4.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく稼動率R(s(l))、並びに前述の故障率{F(s(k1))+F(s(k2))}を前述のコスト値に重畳し、期待joincost5値(s(l))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく稼動率R(s(l))、並びに前述の故障率{F(s(k1))+F(s(k2))}を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s007、若しくはs107からその都度、読み込まれた値より求める(ステップ.3.7.4.2)。Subsequent to the above (Step 3.7.4.1), the optimizing unit 1025 described above performs the operation rate R (s (l) ) based on the performance statistics information / reliability information of the designated site (partition), In addition, the expected failure rate {F (s (k1) ) + F (s (k2) )} is superimposed on the above-described cost value to calculate the expected joincost 5 value (s (l) ). The optimization unit 1025 described above calculates the operation rate R (s (l) ) based on the performance statistical information / reliability information and the failure rate {F (s (k1) ) + F (s (k2) )}. From the performance statistics information / reliability information s007 or s107 obtained from the above-described statistical information management unit agent management unit 1026, the value is obtained from the read value each time (step 3.7.4.2).

前述の(ステップ.3.7.4.2)に続いて、前述の最適化部1025は、サイト(パーティション)群集合S−SR−{sc(k):(s(k1),s(k2))}から次のサイト(パーティション)s(l+1)を選択する。前述の最適化部1025は、これを選択出来なくなるまで繰り返す(ステップ.3.7.4.3)。Subsequent to the above (Step 3.7.7.4), the optimization unit 1025 described above performs the site (partition) group set S-SR- {sc (k) : (s (k1) , s (k2 ) )} To select the next site (partition) s (l + 1) . The optimization unit 1025 described above repeats until it cannot be selected (Step 3.7.4.3).

前述の(ステップ.3.7.4)に続いて、前述の最適化部1025は、サイト(パーティション)群集合S−SR−{sc(k):(s(k1),s(k2))}の全サイト(パーティション)s(l)に渡る期待joincost5値(sc(k))の合計値を求める(ステップ.3.7.5)。Subsequent to the above-described (Step 3.7.4), the optimization unit 1025 described above performs the site (partition) group set S-SR- {sc (k) : (s (k1) , s (k2) ) }, The total value of expected joincost 5 values (sc (k) ) over all sites (partitions) s (l) is obtained (step 3.7.5).

前述の(ステップ.3.7.5)に続いて、前述の最適化部1025は、前述のサイト(パーティション)の組合せ集合SCから次の組合せsc(k+1)を選択する(ステップ.3.7.6)。Subsequent to the above-described (Step 3.7.5), the above-described optimization unit 1025 selects the next combination sc (k + 1) from the above-described combination set SC of sites (partitions) (Step. 3.7). .6).

前述の(ステップ.3.7)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合S−SRの全サイト(パーティション)に渡る期待joincost1値(s(k))+期待joincost2値(s(k))+期待joincost3値(s(k))の合計値を求める(ステップ.3.8)。Subsequent to the above (Step 3.7), the above-described optimization unit 1025 determines the expected joincost1 value (s (k) ) + over all the sites (partitions) of the above-described site (partition) group set S-SR. The total value of the expected joincost 2 value (s (k) ) + the expected joincost 3 value (s (k) ) is obtained (step 3.8).

前述の(ステップ.3.8)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合S−SRの全サイト(パーティション)組合せに対する期待joincost4値(s(k))+期待joincost5値(s(k))の合計値を求める(ステップ.3.9)。Subsequent to the above (Step 3.8), the optimization unit 1025 described above obtains an expected joincost4 value (s (k) ) + for all site (partition) combinations of the site (partition) group set S-SR. The total value of the expected joincost 5 values (s (k) ) is obtained (step 3.9).

前述の(ステップ.3.9)に続いて、前述の最適化部1025は、3サイト(パーティション)以上で同時故障を考慮するべきか、否か(同時故障を評価するか、しないか)を判定する(ステップ.3.10)。   Subsequent to the above (Step 3.9), the above-described optimization unit 1025 determines whether or not simultaneous failures should be considered at three sites (partitions) or more (whether or not simultaneous failures are evaluated). Determine (step 3.10).

「評価する」とした場合、前述の最適化部1025は、以下の2つのステップを連続して実施する。前述の最適化部1025は、最初に多重化向けに利用しないサイト(パーティション)群集合S−SRから3以上のNの任意サイト(パーティション)の組合せ集合SC:{(s(1),s(2)…),…,(s(k),s(k+1)…)}を定義し直す(ステップ.3.10.1)。In the case of “evaluate”, the optimization unit 1025 described above performs the following two steps in succession. The optimization unit 1025 described above first combines a set SC of three or more arbitrary sites (partitions) from a site (partition) group set S-SR that is not used for multiplexing: {(s (1) , s ( 2) ...), ..., (s (k) , s (k + 1) ...)} are redefined (step 3.10.1).

続けて、前述の最適化部1025は、前述の(ステップ.3.7)と同等の処理を行う(ステップ.3.10.2)。   Subsequently, the optimization unit 1025 performs the same processing as (Step 3.7) described above (Step 3.10.2).

「評価しない」とした場合、前述の最適化部1025は、次の(ステップ.3.11)に進む(ステップ.3.10.3)。   When “not evaluated” is determined, the above-described optimization unit 1025 proceeds to the next (step 3.11) (step 3.10.3).

続けて、前述の最適化部1025は、多重化向けに利用するサイト(パーティション)群集合SRからペアとなる2サイト(パーティション)sr(k1)、sr(k2)を順次選択する(ステップ.3.11)。Subsequently, the optimization unit 1025 described above sequentially selects two sites (partitions) sr (k1) and sr (k2) to be paired from the site (partition) group set SR used for multiplexing (Step 3). .11).

(ステップ.3.11)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。その際、「多重化プロトコル」と発生するデータ件数が指定される(ステップ.3.11.1)。   (Step 3.11) As a subordinate, the optimization unit 1025 described above calculates a search cost value without failure using the joincost function in (Equation 1) in FIG. At that time, “multiplexing protocol” and the number of generated data are specified (step 3.1.1.1).

前述の(ステップ.3.11.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく稼動率R(sr(k1))、R(sr(k2))を前述のコスト値に重畳し、失敗なし時の期待joincost6値(sr(k1))、joincost6値(sr(k2))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく稼動率R(sr(k1))、R(sr(k2))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s007、若しくはs107からその都度、読み込まれた値より求める(ステップ.3.11.2)。Subsequent to the above (Step 3.11.1), the optimization unit 1025 described above operates the operating rates R (sr (k1) ), R (based on the performance statistics information / reliability information of the designated site (partition). sr (k2) ) is superimposed on the above-mentioned cost value, and the expected joincost6 value (sr (k1) ) and joincost6 value (sr (k2) ) when there is no failure are calculated. The optimization unit 1025 obtains the operation rate R (sr (k1) ) and R (sr (k2) ) based on the performance statistical information / reliability information from the statistical information management unit agent management unit 1026. It is obtained from the value read from the performance statistical information / reliability information s007 or s107 each time (step 3.1.2).

前述の(ステップ.3.11.2)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRから次のペアとなる2サイト(パーティション)sr(k1+1)、sr(k2+1)を選択する(ステップ.3.11.3)。Subsequent to the above (Step 3.1.12), the optimization unit 1025 described above, from the above-described site (partition) group set SR, two sites (partitions) sr (k1 + 1) sr ( k2 + 1) is selected (step 3.11.3).

前述の(ステップ.3.11)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRから全サイト(パーティション)組合せに対する期待joincost6値(s(k))の合計値を求める(ステップ.3.12)。Subsequent to the above (Step 3.11), the optimization unit 1025 described above calculates the total value of the expected joincost 6 values (s (k) ) for all site (partition) combinations from the site (partition) group set SR. Is obtained (step 3.12.).

前述の(ステップ.3.12)に続いて、前述の最適化部1025は、期待joincost1値,期待joincost2値,期待joincost3値,期待joincost4値,期待joincost5値,期待joincost6値の対象件数に対する和演算である図6の(式1)中のunitoncost値を計算する。更に、前述の最適化部1025は、射影演算である図6の(式1)中のrestrictioncost値を計算する(ステップ.3.13)。   Subsequent to the above (Step 3.12.), The optimization unit 1025 calculates the sum of the expected joincost 1 value, the expected join cost 2 value, the expected join cost 3 value, the expected join cost 4 value, the expected join cost 5 value, and the expected join cost 6 value. The unit cost value in (Equation 1) of FIG. 6 is calculated. Further, the optimization unit 1025 described above calculates a restriction cost value in (Equation 1) of FIG. 6 which is a projection operation (step 3.13).

前述の(ステップ.3.13)に続いて、前述の最適化部1025は、当該「再配分プロトコル」に対する図6の(式1)のTotalCost1(P=‘再配分プロトコル’,t=constant)値を計算する(ステップ.3.14)。   Subsequent to the above (Step 3.13), the optimization unit 1025 described above performs the TotalCost1 (P = 'redistribution protocol', t = constant) in FIG. 6 (expression 1) for the “redistribution protocol”. Calculate the value (step 3.14).

前述の最適化部1025は、「多重化プロトコル」としてシェアードナッシングによるクエリ実施の分割を想定せずに、全てを多重化する場合の評価を実施する(ステップ.4)。   The optimization unit 1025 described above performs evaluation when all are multiplexed without assuming the division of query execution by shared nothing as a “multiplexing protocol” (step 4).

(ステップ.4)配下として、前述の最適化部1025は、前述のリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合S:{s(1),...,s(N)}全てを多重化向けに利用するサイト(パーティション)群集合SRに指定する(ステップ.4.1)。(Step 4) As a subordinate, the optimization unit 1025 described above sets the set of site (partition) groups having the resource management / transaction processing unit S: {s (1) ,. . . , S (N) } is designated as a site (partition) group set SR to be used for multiplexing (step 4.1).

前述の(ステップ.4.1)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRからペアとなる2サイト(パーティション)sr(k1)とsr(k2)を順次選択する(ステップ.4.2)。Subsequent to the above (Step 4.1), the optimization unit 1025 sequentially selects the two sites (partitions) sr (k1) and sr (k2) to be paired from the site (partition) group set SR. Select (step 4.2).

(ステップ.4.2)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。その際、「多重化プロトコル」と発生するデータ件数が指定される(ステップ.4.2.1)。   (Step 4.2) As a subordinate, the optimization unit 1025 described above calculates a search cost value without failure using the joincost function in (Equation 1) of FIG. At that time, “multiplexing protocol” and the number of data to be generated are specified (step 4.2.1).

前述の(ステップ.4.2.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく稼動率R(sr(k1))、並びにR(sr(k2))を前述のコスト値に重畳し、失敗なし時の期待joincost7値(sr(k1))、joincost7値(sr(k2))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく稼動率R(sr(k1))、R(sr(k2))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s007、若しくはs107からその都度、読み込まれた値より求める(ステップ.4.2.2)。Subsequent to the above (Step 4.2.1), the optimization unit 1025 described above performs the operation rate R (sr (k1) ) based on the performance statistical information / reliability information of the designated site (partition), and R (Sr (k2) ) is superimposed on the above-mentioned cost value, and the expected joincost7 value (sr (k1) ) and joincost7 value (sr (k2) ) without failure are calculated. The optimization unit 1025 obtains the operation rate R (sr (k1) ) and R (sr (k2) ) based on the performance statistical information / reliability information from the statistical information management unit agent management unit 1026. It is obtained from the value read from the performance statistical information / reliability information s007 or s107 each time (step 4.2.2).

前述の(ステップ.4.2.2)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRから次のペアとなる2サイト(パーティション)sr(k1+1)とsr(k2+1)を選択する(ステップ.4.2.3)。Subsequent to the above (Step 4.2.2), the optimization unit 1025 described above, from the site (partition) group set SR, the two sites (partitions) sr (k1 + 1) and sr ( k2 + 1) is selected (step 4.2.3).

前述の(ステップ.4.2)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRの全サイト(パーティション)組合せに対する期待joincost7値(s(k))の合計値を求める(ステップ.4.3)。Subsequent to the above (Step 4.2), the optimization unit 1025 described above calculates the total value of expected joincost 7 values (s (k) ) for all site (partition) combinations of the site (partition) group set SR. Is obtained (step 4.3).

前述の(ステップ.4.3)に続いて、前述の最適化部1025は、期待joincost7値の対象件数に対する和演算である図6の(式1)中のunitoncost値を計算する。更に、前述の最適化部1025は、射影演算である図6の(式1)中のrestrictioncost値を計算する(ステップ.4.4)。   Subsequent to the above (Step 4.3), the above-described optimization unit 1025 calculates the unitoncost value in (Equation 1) in FIG. 6 that is a sum operation on the number of cases of the expected joincost 7 value. Further, the optimization unit 1025 described above calculates the restriction cost value in (Equation 1) of FIG. 6 that is a projection operation (step 4.4).

前述の最適化部1025は、当該「多重化プロトコル」に対する図6の(式1)TotalCost1(P=‘多重化プロトコル’,t=constant)値を計算する(ステップ.4.5)。   The optimization unit 1025 described above calculates the (Expression 1) TotalCost1 (P = 'multiplexing protocol', t = constant) value of FIG. 6 for the “multiplexing protocol” (step 4.5).

前述の(ステップ.4)に続いて、前述の最適化部1025は、前述のTotalCost1(P=‘再配分プロトコル’,t=constant)値と、前述のTotalCost1(P=‘多重化プロトコル’,t=constant)値とを比較して、値の小さい方を採用する(ステップ.5)。   Subsequent to the above (Step 4), the optimization unit 1025 described above performs the above TotalCost1 (P = 'redistribution protocol', t = constant) value and the above TotalCost1 (P = 'multiplexing protocol', (t = constant) value is compared and the smaller value is adopted (step 5).

前述の(ステップ.5)に続いて、前述の最適化部1025は、採用されたものにより要求実行要素クエリ群s008を生成する(ステップ.6)。
<付記>
Subsequent to the above (Step 5), the above-described optimization unit 1025 generates a request execution element query group s008 according to the adopted one (Step .6).
<Appendix>

ここで、図6の(式1)は、クエリを実施する上での全体のコスト期待値を表現したものであり、当該コスト期待値とは、処理が完了するまでに費やす処理コスト全体の平均期待値を意味する。この場合、主に以下の3つの部分を含む。   Here, (Equation 1) in FIG. 6 expresses an overall cost expectation value for executing a query, and the cost expectation value is an average of the entire processing costs spent until the processing is completed. Means the expected value. In this case, the following three parts are mainly included.

第一の部分は、結合演算のコスト期待値であり、図6では3001で記される項による。これはjoincost関数の和により全体の期待値和が算出される。通常は、当該joincost関数では、複数Tableを結合する結合演算コスト値を計算し、結合が伴わない単一Tableを扱う場合は、その検索コスト値を計算する。従って、対象となるデータ件数により変化し、且つ性能統計情報・信頼性情報を用いて、エラー発生の有無を評価し、エラーの場合は、前述の「再配分プロトコル」、前述の「多重化プロトコル」のいずれか指定された方式で終了するまで計算をする。   The first part is the expected cost value of the join operation, and depends on the term indicated by 3001 in FIG. In this case, the total expected value sum is calculated by the sum of the joincost functions. Usually, in the joincost function, a join operation cost value for joining a plurality of tables is calculated, and when a single table without joining is handled, the search cost value is calculated. Therefore, it varies depending on the number of target data, and the presence / absence of an error is evaluated using performance statistical information / reliability information. In the case of an error, the above-mentioned “Redistribution Protocol”, It will calculate until it finishes with one of the specified methods.

なお、性能統計情報・信頼性情報による稼働率や故障率は、状態を持ち、時間と伴に変化するため、第一は結合演算のコスト期待値では、時刻tにおける稼働率R(k) (t)をパラメータとして保持している。Note that the operating rate and failure rate based on the performance statistical information / reliability information have a state and change with time, so the first is that the operating rate R (k) ( t) is held as a parameter.

第二の部分は、統合和演算のコスト期待値であり、図6では3002で記される項による。これは、個々の結果を統合する処理であり、対象となるデータ件数により変化する。図3では集約処理結果R:2019を求めるため、全ての結合演算結果を統合する。   The second part is an expected cost value of the integrated sum operation, and depends on a term indicated by 3002 in FIG. This is a process of integrating individual results, and varies depending on the number of data items to be processed. In FIG. 3, in order to obtain the aggregation processing result R: 2019, all the join operation results are integrated.

第三の部分は、統合和演算の結果、発生する同一の結果を排除し、適切な形式とする射影・制限演算のコスト期待値であり、図6では3003で記される項による。これは、ソート処理等の後、重複しているものを排除する処理であるため、対象となるデータ件数により変化する。   The third part is an expected cost value of the projection / restriction calculation which eliminates the same result generated as a result of the integration sum operation and makes it an appropriate format, and depends on the term indicated by 3003 in FIG. This is a process of eliminating duplicates after a sort process or the like, and thus changes depending on the number of data items to be processed.

図6の(式2)では、第六実施例で利用出来る様に、状態を持ち時間と伴に変化する稼働率や故障率に関して、ある時刻tの近傍時間Δt:3004における稼働率R(k−1) (t)、R(k) (t)、R(k+1) (t)推定値を明示的に表現しており、連続実数である時刻tの代わりに、量子化された期間(k−1)、(k)、(k+1)で、それぞれR(k−1) (t):3005、R(k) (t):3006、R(k+1) (t):3007で表現している。In (Equation 2) in FIG. 6, as can be used in the sixth embodiment, the operating rate R (k) in the neighborhood time Δt: 3004 at a certain time t with respect to the operating rate and the failure rate that have a state and change with time. -1) (t) , R (k) (t) , R (k + 1) (t) The estimated value is explicitly expressed, and instead of the continuous real number time t, the quantized period (k −1), (k), and (k + 1), R (k−1) (t) : 3005, R (k) (t) : 3006, and R (k + 1) (t) : 3007, respectively. .

以上を受けて、シェアードナッシング並列検索のパーティショニング依存のエラー補償の手順で「再配分プロトコル」の特徴的な事項を記すと、(ステップ.3.5)と(ステップ.3.7)と(ステップ.3.10)になる。   In response to the above, when the characteristic items of the “redistribution protocol” are described in the partitioning-dependent error compensation procedure of shared nothing parallel search, (step .3.5), (step .3.7) and (step 3.7) Step 3.10).

(ステップ.3.5)では、1つのクエリを分割して、シェアードナッシング並列検索のパーティショニングにおいて実施する際に、任意サイト(パーティション)においてエラーが発生しない場合の結合演算コスト値、並びに任意1つのサイト(パーティション)においてエラーが発生した故に「再配分プロトコル」を実施した結果の結合演算コスト値の総和を求めている。   In (Step 3.5), when one query is divided and executed in the partitioning of shared nothing parallel search, the join operation cost value when no error occurs in any site (partition), and any 1 Since an error occurred in one site (partition), the sum of the combined operation cost values as a result of executing the “redistribution protocol” is obtained.

これに対して、(ステップ.3.7)では、1つのクエリを分割して、シェアードナッシング並列検索のパーティショニングにおいて実施する際に、任意2つのサイト(パーティション)の組合せにおいてエラーが発生した故に「再配分プロトコル」を実施した結果の結合演算コスト値の総和を求めている。   On the other hand, in (Step 3.7), when one query is divided and executed in the partitioning of shared nothing parallel search, an error occurs in the combination of any two sites (partitions). The total of the combined operation cost values as a result of executing the “redistribution protocol” is obtained.

また、(ステップ.3.10)では、1つのクエリを分割して、シェアードナッシング並列検索のパーティショニングにおいて実施する際に、任意3つ以上のサイト(パーティション)の組合せにおいてエラーが発生した故に「再配分プロトコル」を実施した結果の結合演算コスト値の総和を求めている。   Further, in (Step 3.10), when one query is divided and executed in the partitioning of the shared nothing parallel search, an error occurs in a combination of any three or more sites (partitions). The sum of the combined operation cost values as a result of executing the “redistribution protocol” is obtained.

以上から、結合演算コスト値の総和を求めることが出来る。これに対して、シェアードナッシング並列検索のパーティショニング依存のエラー補償の手順で「多重化プロトコル」の特徴的な事項を記すと(ステップ.4)になる。この場合、多重化は完全同一のレプリカを1つ以上作成することを前提としており、(ステップ.4)では、レプリカは1つ作成されることとしている。1つ以上の場合でも大きな差異は存在しない。「多重化プロトコル」においては、前述の「再配分プロトコル」と異なり、故障率に関する評価については、不要のため、(ステップ.4)では斯様な評価は行わない。   From the above, it is possible to obtain the total sum of the join operation cost values. On the other hand, a characteristic item of “multiplexing protocol” is described in the partitioning-dependent error compensation procedure of shared nothing parallel search (step 4). In this case, multiplexing is based on the premise that one or more completely identical replicas are created. In (Step 4), one replica is created. There is no significant difference in one or more cases. In the “multiplexing protocol”, unlike the above-described “redistribution protocol”, since the evaluation regarding the failure rate is unnecessary, such an evaluation is not performed in (Step 4).

<要求実行要素クエリ群s008の生成後>
その後、実行制御部1022は、当該要求実行要素クエリ群s008を受理すると、その各々を各処理実行部に割り付けて行くことになる。例えば、図5A〜図5Cでは、要求実行クエリに相当する前述の指定クエリ1031に対して、0より大きく1000より小さい制限条件が付与されている場合、実行制御部1022は、検索の並列度を向上させるため、0より大きく500以下の制限条件その1と500より大きく1000より小さい制限条件その2の2つに分解した上、事前に別途計測された信頼性情報を用いて、それぞれを2重化している。
<After generation of request execution element query group s008>
Thereafter, when receiving the request execution element query group s008, the execution control unit 1022 assigns each request execution element query group s008 to each processing execution unit. For example, in FIGS. 5A to 5C, when a restriction condition greater than 0 and less than 1000 is given to the above-described designated query 1031 corresponding to the request execution query, the execution control unit 1022 sets the parallel degree of the search. In order to improve it, it is divided into two: restriction condition 1 that is greater than 0 and less than or equal to 500 and restriction condition 2 that is greater than 500 and less than 1000, and each is duplicated using reliability information separately measured in advance. It has become.

そして、実行制御部1022は、当該制限条件その1を処理実行部1:1027の指定クエリの実行単位1032に割り付けており、当該制限条件その1を2重化したものを処理実行部2:1028の指定クエリの実行単位1033に割り付けている。   Then, the execution control unit 1022 assigns the restriction condition 1 to the execution unit 1032 of the designated query of the process execution unit 1: 1027, and the duplicate of the restriction condition 1 is processed execution part 2: 1028. Is assigned to the execution unit 1033 of the designated query.

同様に、実行制御部1022は、当該制限条件その2を処理実行部(N−1):1029の指定クエリの実行単位1034に割り付けており、当該制限条件その2を2重化したものを処理実行部N:1030の指定クエリの実行単位1035に割り付けている。   Similarly, the execution control unit 1022 assigns the restriction condition 2 to the execution unit 1034 of the designated query of the process execution unit (N-1): 1029, and processes the duplicate of the restriction condition 2 The execution unit N: 1030 is assigned to the execution unit 1035 of the designated query.

具体的な割り付けについては、前述の実行制御部1022から複数の処理実行部に要求実行要素クエリ群が渡されることになる。   For specific allocation, a request execution element query group is passed from the execution control unit 1022 to a plurality of process execution units.

例えば、前述の処理実行部1:1027には、要求実行要素クエリs009が渡され、指定クエリの実行単位1032を生成することで起動され、割り付けが為される。   For example, the request execution element query s009 is passed to the processing execution unit 1: 1027 described above, and is activated and assigned by generating the execution unit 1032 of the designated query.

同様に、前述の処理実行部2:1028には、要求実行要素クエリs010が渡され、指定クエリの実行単位1033を生成することで起動され、割り付けが為される。   Similarly, the request execution element query s010 is passed to the above-described processing execution unit 2: 1028, and is activated and assigned by generating the execution unit 1033 of the specified query.

同様に、前述の処理実行部(N−1):1029には、要求実行要素クエリs011が渡され、指定クエリの実行単位1034を生成することで起動され、割り付けが為される。   Similarly, the request execution element query s011 is passed to the above-described processing execution unit (N-1): 1029, which is activated and assigned by generating the execution unit 1034 of the specified query.

同様に、前述の処理実行部N:1030には、要求実行要素クエリs012が渡され、指定クエリの実行単位1035を生成することで起動され、割り付けが為される。   Similarly, the request execution element query s012 is delivered to the processing execution unit N: 1030 described above, and is activated and assigned by generating the execution unit 1035 of the designated query.

なお、第一実施例では、実行制御部1022の割り付けは1度のみの実行を想定している訳ではなく、指定クエリの内容に応じて複数回の割り付け〜実行を考慮する。   In the first embodiment, the allocation of the execution control unit 1022 is not assumed to be performed only once, but multiple allocations to executions are considered according to the contents of the specified query.

前述の実行制御部1022は、前述の指定クエリの実行単位1032を実行するため、前述の処理実行部1:1027に割り付いている指定クエリである要求実行要素クエリ1032をリソース管理/トランザクション処理部1017にメッセージs013を介して送信する。   The above-described execution control unit 1022 executes the above-described execution unit 1032 of the specified query, and thus the request execution element query 1032 that is the specified query assigned to the above-described process execution unit 1: 1027 is the resource management / transaction processing unit. 1017 via the message s013.

その後、前述のリソース管理/トランザクション処理部1017は、分散ストレージ1005等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1017は、検索対象の関係は関係Rのみであるため、関係Rの偏在データを扱う表Table. (s):1036、関係Rの被偏在データを扱う表Table. (j):1037、関係Rの一般データを扱う表Table. (c):1038を含んだ関係Rを扱う表Table.に対して、前述のメッセージs013に含まれた要求実行要素クエリs017を送信している。Thereafter, the resource management / transaction processing unit 1017 makes an inquiry to the table table group stored in the distributed storage 1005 or the like. In the first embodiment, resource management / transaction processing unit 1017 described above, because the relationship of the search target is only related R 1, Table Table dealing with uneven distribution data relationships R 1. 1 (s): 1036, deals with the uneven distribution data related R 1 Table Table. 1 (j): 1037, deals with general data relationships R 1 Table Table. 1 (c) : Table Table.1 dealing with relation R 1 including 1038. 1 , the request execution element query s017 included in the message s013 is transmitted.

その後、前述の分散ストレージ1005は、当該要求実行要素クエリs017に対する検索結果s021を、前述のリソース管理/トランザクション処理部1017に戻す。更に、前述のリソース管理/トランザクション処理部1017は、当該検索結果s021を含んだメッセージs025により、当該検索結果を前述の処理実行部1:1027に送信することになる。   Thereafter, the distributed storage 1005 returns the search result s021 for the request execution element query s017 to the resource management / transaction processing unit 1017. Further, the resource management / transaction processing unit 1017 transmits the search result to the process execution unit 1: 1027 using the message s025 including the search result s021.

更に、前述の処理実行部1:1027は、前述の検索結果s021と等価な検索結果s029を前述の実行制御部1022に返信する。その後、前述の様に指定クエリの内容に応じて、複数回の割り付け〜実行があるまで、前述の処理実行部1:1027は、再起動待ちとなる。   Further, the process execution unit 1: 1027 returns a search result s029 equivalent to the search result s021 to the execution control unit 1022. Thereafter, as described above, the above-described process execution unit 1: 1027 waits for restart until a plurality of allocations and executions are performed according to the content of the designated query.

前述の実行制御部1022は、前述の指定クエリの実行単位1033を実行するため、前述の処理実行部2:1028に割り付いている指定クエリである要求実行要素クエリ1033をリソース管理/トランザクション処理部1018にメッセージs014を介して送信する。   The above-described execution control unit 1022 executes the above-described execution unit 1033 of the specified query, so that the request execution element query 1033, which is a specified query assigned to the above-described process execution unit 2: 1028, is a resource management / transaction processing unit. 1018 via the message s014.

その後、前述のリソース管理/トランザクション処理部1018は、分散ストレージ1007等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1018は、検索対象の関係は関係Rのみであるため、関係Rの偏在データを扱う表Table. (s):1050、関係Rの被偏在データを扱う表Table. (j):1051、関係Rの一般データを扱う表Table. (c):1052を含んだ関係Rを扱う表Table.に対して、前述のメッセージs014に含まれた要求実行要素クエリs018を送信している。Thereafter, the resource management / transaction processing unit 1018 makes an inquiry to the table table group stored in the distributed storage 1007 or the like. In the first embodiment, resource management / transaction processing unit 1018 described above, because the relationship of the search target is only related R 1, Table Table dealing with uneven distribution data relationships R 1. 1 (s): 1050, dealing with the uneven distribution data of the relationship between R 1 Table Table. 1 (j): 1051, deals with general data relationships R 1 Table Table. 1 (c): 1052 deals with relationships R 1 containing tables Table. 1 , the request execution element query s018 included in the message s014 is transmitted.

その後、前述の分散ストレージ1007は、当該要求実行要素クエリs018に対する検索結果s022を、前述のリソース管理/トランザクション処理部1018に戻す。更に、前述のリソース管理/トランザクション処理部1018は、当該検索結果s022を含んだメッセージs026により、当該検索結果を前述の処理実行部2:1028に送信することになる。   Thereafter, the distributed storage 1007 returns the search result s022 for the request execution element query s018 to the resource management / transaction processing unit 1018. Further, the resource management / transaction processing unit 1018 transmits the search result to the process execution unit 2: 1028 using the message s026 including the search result s022.

更に、前述の処理実行部2:1028は、前述の検索結果s022と等価な検索結果s030を前述の実行制御部1022に返信する。その後、前述の様に指定クエリの内容に応じて、複数回の割り付け〜実行があるまで、前述の処理実行部2:1028は、再起動待ちとなる。   Further, the process execution unit 2: 1028 returns a search result s030 equivalent to the search result s022 to the execution control unit 1022. Thereafter, as described above, the above-described process execution unit 2: 1028 waits for restart until a plurality of allocations and executions are performed according to the contents of the designated query.

前述の実行制御部1022は、前述の指定クエリの実行単位1034を実行するため、前述の処理実行部(N−1):1029に割り付いている指定クエリである要求実行要素クエリ1034をリソース管理/トランザクション処理部1019にメッセージs015を介して送信する。   The execution control unit 1022 executes resource management for the request execution element query 1034, which is the specified query assigned to the process execution unit (N-1): 1029, in order to execute the execution unit 1034 of the specified query. / Transmit to transaction processor 1019 via message s015.

その後、前述のリソース管理/トランザクション処理部1019は、分散ストレージ1009等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1019は、検索対象の関係は関係Rのみであるため、関係Rの偏在データを扱う表Table. (s):1064、関係Rの被偏在データを扱う表Table. (j):1065、関係Rの一般データを扱う表Table. (c):1066を含んだ関係Rを扱う表Table.に対して、前述のメッセージs015に含まれた要求実行要素クエリs019を送信している。Thereafter, the resource management / transaction processing unit 1019 makes an inquiry to the table table group stored in the distributed storage 1009 or the like. In the first embodiment, resource management / transaction processing unit 1019 described above, because the relationship of the search target is only related R 1, Table Table dealing with uneven distribution data relationships R 1. 1 (s): 1064, deals with the uneven distribution data related R 1 Table Table. 1 (j): 1065, deals with general data relationships R 1 Table Table. 1 (c): Table Table dealing with relationships R 1 containing 1066. 1 , the request execution element query s019 included in the message s015 is transmitted.

その後、前述の分散ストレージ1009は、当該要求実行要素クエリs019に対する検索結果s023を、前述のリソース管理/トランザクション処理部1019に戻す。更に、前述のリソース管理/トランザクション処理部1019は、当該検索結果s023を含んだメッセージs027により、当該検索結果を前述の処理実行部(N−1):1029に送信することになる。   Thereafter, the distributed storage 1009 returns the search result s023 for the request execution element query s019 to the resource management / transaction processing unit 1019. Further, the resource management / transaction processing unit 1019 transmits the search result to the process execution unit (N-1): 1029 by the message s027 including the search result s023.

更に、前述の処理実行部(N−1):1029は、前述の検索結果s023と等価な検索結果s031を前述の実行制御部1022に返信する。その後、前述の様に指定クエリの内容に応じて、複数回の割り付け〜実行があるまで、前述の処理実行部(N−1):1029は、再起動待ちとなる。   Further, the process execution unit (N-1): 1029 returns a search result s031 equivalent to the search result s023 to the execution control unit 1022. Thereafter, the processing execution unit (N-1): 1029 described above waits for restart until there are a plurality of allocations to executions according to the contents of the designated query as described above.

前述の実行制御部1022は、前述の指定クエリの実行単位1035を実行するため、前述の処理実行部N:1030に割り付いている指定クエリである要求実行要素クエリ1035をリソース管理/トランザクション処理部1020にメッセージs016を介して送信する。   Since the execution control unit 1022 executes the execution unit 1035 of the specified query described above, the resource management / transaction processing unit converts the request execution element query 1035 that is the specified query assigned to the process execution unit N: 1030. It is transmitted to the message 1020 via the message s016.

その後、前述のリソース管理/トランザクション処理部1020は、分散ストレージ1011等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1020は、検索対象の関係は関係Rのみであるため、関係Rの偏在データを扱う表Table. (s):1078、関係Rの被偏在データを扱う表Table. (j):1079、関係Rの一般データを扱う表Table. (c):1080を含んだ関係Rを扱う表Table.に対して、前述のメッセージs016に含まれた要求実行要素クエリs020を送信している。Thereafter, the resource management / transaction processing unit 1020 makes an inquiry to the table table group stored in the distributed storage 1011 or the like. In the first embodiment, resource management / transaction processing unit 1020 described above, because the relationship of the search target is only related R 1, Table Table dealing with uneven distribution data relationships R 1. 1 (s): 1078, deals with the uneven distribution data related R 1 Table Table. 1 (j): 1079, deals with general data relationships R 1 Table Table. 1 (c) : Table Table. Dealing with relation R 1 including 1080. 1 , the request execution element query s020 included in the message s016 is transmitted.

その後、分散ストレージ1011は、当該要求実行要素クエリs020に対する検索結果s024を、前述のリソース管理/トランザクション処理部1020に戻す。更に、前述のリソース管理/トランザクション処理部1020は、当該検索結果s024を含んだメッセージs028により、当該検索結果を前述の処理実行部N:1030に送信することになる。   Thereafter, the distributed storage 1011 returns the search result s024 for the request execution element query s020 to the resource management / transaction processing unit 1020 described above. Further, the resource management / transaction processing unit 1020 transmits the search result to the process execution unit N: 1030 by the message s028 including the search result s024.

更に、前述の処理実行部N:1030は、前述の検索結果s024と等価な検索結果s032を前述の実行制御部1022に返信する。その後、前述の様に指定クエリの内容に応じて、複数回の割り付け〜実行があるまで、前述の処理実行部N:1030は、再起動待ちとなる。   Further, the process execution unit N: 1030 returns a search result s032 equivalent to the search result s024 described above to the execution control unit 1022. Thereafter, as described above, the process execution unit N: 1030 waits for restart until there is a plurality of allocations to executions according to the contents of the designated query.

前述の実行制御部1022は、前述の検索結果s029、前述の検索結果s030、前述の検索結果s031、前述の検索結果s032を入手すると、指定クエリの内容に応じて、複数回の割り付け〜実行が無い場合、図3の集約処理に相当する処理を実施し、その結果を生成し、当該結果を含む結果メッセージs033として、起動元であるデータベースアクセスクライアント部1003に返信し、一連の処理を終了する。   When the execution control unit 1022 obtains the search result s029, the search result s030, the search result s031, and the search result s032, the execution control unit 1022 performs a plurality of allocations and executions according to the contents of the designated query. If there is not, the processing corresponding to the aggregation processing of FIG. 3 is performed, the result is generated, the result message s033 including the result is returned to the database access client unit 1003 that is the activation source, and the series of processing ends. .

<第二実施例>
ここでは、本発明である「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」の第二実施例について、図7A〜図7C、図6を用いて、説明する。
<Second Example>
Here, the second embodiment of the “query device that anticipates partitioning-dependent error compensation for shared nothing parallel search” according to the present invention will be described with reference to FIGS. 7A to 7C and FIG.

第二実施例の特徴は、分散ストレージに関して適宜、信頼性情報を計測し、当該計測された信頼性情報を基に、指定クエリの分割方針を変更することである。分散ストレージの信頼性が低い場合は、指定クエリの実行単位を多重化して実施し、信頼性が高い場合は、分割して並列に実施する。   The feature of the second embodiment is that the reliability information is appropriately measured with respect to the distributed storage, and the division policy of the designated query is changed based on the measured reliability information. When the reliability of the distributed storage is low, the execution unit of the specified query is multiplexed, and when the reliability is high, it is divided and executed in parallel.

データベースアクセス部1004配下にあるクエリ受付部1021は、データベースアクセスクライアント部1003からSQL記述で表現される要求実行クエリを含んだメッセージs101を受け付けると、指定クエリ1031として保持した後、処理実行部のグループを制御する実行制御部1022に要求実行クエリs102として渡す。   When the query accepting unit 1021 under the database access unit 1004 accepts the message s101 including the request execution query expressed in the SQL description from the database access client unit 1003, the query accepting unit 1021 retains it as the specified query 1031, and then the group of processing execution units To the execution control unit 1022 that controls the request as a request execution query s102.

当該実行制御部1022は、当該要求実行クエリs102を分解し、個別の実行単位の実行クエリ群を生成するため、更に、クエリ解析部1023に要求実行クエリs103として渡す。   The execution control unit 1022 further passes the request execution query s102 to the query analysis unit 1023 as the request execution query s103 in order to generate an execution query group of individual execution units.

前述のクエリ解析部1023は、要求実行クエリs103を受理すると、要求実行クエリs103の構文解析を実施する。前述のクエリ解析部1023は、構文解析の際、ディクショナリアクセス部1024を介してディクショナリから定義情報s104を検索して解析を実施する。   When receiving the request execution query s103, the query analysis unit 1023 described above performs syntax analysis of the request execution query s103. The above-described query analysis unit 1023 performs the analysis by retrieving the definition information s104 from the dictionary via the dictionary access unit 1024 at the time of syntax analysis.

前述のクエリ解析部1023は、その解析結果を中間解析結果s105として一度、前述の実行制御部1022に返信する。その後、当該実行制御部1022は、当該中間解析結果s105の最適化を実施するため、最適化部1025に当該中間解析結果s105を引数で含めた実行要求s106を送信する。   The query analysis unit 1023 returns the analysis result as the intermediate analysis result s105 once to the execution control unit 1022. Thereafter, the execution control unit 1022 transmits an execution request s106 including the intermediate analysis result s105 as an argument to the optimization unit 1025 in order to optimize the intermediate analysis result s105.

最適化部1025は、図3に基づいた方式に基づき、前述の中間解析結果s105の変形を行う。最適化部1025は、特に図6の(式1)に基づき、実際の要求実行クエリの要素を実行した結果により得られた性能統計情報・信頼性情報に基づいて評価を行うため、必要に応じて、統計情報管理部エージェント管理部1026から性能統計情報・信頼性情報s107を入手する。   The optimization unit 1025 modifies the above-described intermediate analysis result s105 based on the method based on FIG. Since the optimization unit 1025 performs evaluation based on the performance statistical information / reliability information obtained from the result of executing the elements of the actual request execution query, based on (Equation 1) of FIG. Then, the performance statistical information / reliability information s107 is obtained from the statistical information management unit agent management unit 1026.

第二実施例では、実際の要求実行クエリの要素を実行した結果により得られた性能統計情報・信頼性情報を用いるため、性能統計情報・信頼性情報s107は、時間に応じて変動する値となる。   In the second embodiment, since the performance statistical information / reliability information obtained from the result of executing the elements of the actual request execution query is used, the performance statistical information / reliability information s107 has a value that varies with time, Become.

<シェアードナッシング並列検索のパーティショニング依存のエラー補償手法>
当該最適化部1025は、実際の実行単位となる複数の要求実行要素クエリ群s108を生成することになる。その生成手法は、第一実施例と同様、シェアードナッシング並列検索のパーティショニング依存のエラー補償手法で記した手順に基づく。但し、(ステップ.3.5.2)、(ステップ.3.5.3)、(ステップ.3.5.5.2)、(ステップ.3.7.2)、(ステップ.3.7.4.2)、(ステップ.3.11.2)、(ステップ.4.2.2)における稼働率と故障率は、第一実施例とは異なり、予め設定される固定的な値ではなく、時間に応じて変動する値を採用する。
<Partitioning-dependent error compensation method for shared nothing parallel search>
The optimization unit 1025 generates a plurality of request execution element query groups s108 that are actual execution units. The generation method is based on the procedure described in the partitioning-dependent error compensation method of shared nothing parallel search as in the first embodiment. However, (Step.3.5.2), (Step.3.5.3), (Step.3.5.5.2), (Step.3.7.2), (Step.3.7) .4.2), (Step 3.1.2), and (Step 4.2.2), the operation rate and failure rate are different from those in the first embodiment, and are fixed values set in advance. Instead, a value that varies with time is adopted.

<要求実行要素クエリ群s108の生成後>
その後、実行制御部1022は、当該要求実行要素クエリ群s108を受理すると、その各々を各処理実行部に割り付けて行くことになる。例えば、図5A〜図5Cでは、要求実行クエリに相当する前述の指定クエリ1031に対して、0より大きく1000より小さい制限条件が付与されている場合、実行制御部1022は、検索の並列度を向上させるため、0より大きく500以下の制限条件その1と500より大きく1000より小さい制限条件その2の2つに分解した上、事前に別途計測された信頼性情報を用いて、それぞれを2重化している。
<After generation of request execution element query group s108>
Thereafter, upon receiving the request execution element query group s108, the execution control unit 1022 assigns each request execution element query group s108 to each processing execution unit. For example, in FIGS. 5A to 5C, when a restriction condition greater than 0 and less than 1000 is given to the above-described designated query 1031 corresponding to the request execution query, the execution control unit 1022 sets the parallel degree of the search. In order to improve it, it is divided into two: restriction condition 1 that is greater than 0 and less than or equal to 500 and restriction condition 2 that is greater than 500 and less than 1000, and each is duplicated using reliability information separately measured in advance. It has become.

そして、実行制御部1022は、当該制限条件その1を処理実行部1:1027の指定クエリの実行単位1032に割り付けており、当該制限条件その1を2重化したものを処理実行部2:1028の指定クエリの実行単位1033に割り付けている。   Then, the execution control unit 1022 assigns the restriction condition 1 to the execution unit 1032 of the designated query of the process execution unit 1: 1027, and the duplicate of the restriction condition 1 is processed execution part 2: 1028. Is assigned to the execution unit 1033 of the designated query.

同様に、実行制御部1022は、当該制限条件その2を処理実行部(N−1):1029の指定クエリの実行単位1034に割り付けており、当該制限条件その2を2重化したものを処理実行部N:1030の指定クエリの実行単位1035に割り付けている。   Similarly, the execution control unit 1022 assigns the restriction condition 2 to the execution unit 1034 of the designated query of the process execution unit (N-1): 1029, and processes the duplicate of the restriction condition 2 The execution unit N: 1030 is assigned to the execution unit 1035 of the designated query.

具体的な割り付けについては、前述の実行制御部1022から複数の処理実行部に要求実行要素クエリ群が渡されることになる。   For specific allocation, a request execution element query group is passed from the execution control unit 1022 to a plurality of process execution units.

例えば、前述の処理実行部1:1027には、要求実行要素クエリs109が渡され、指定クエリの実行単位1032を生成することで起動され、割り付けが為される。   For example, the request execution element query s109 is passed to the processing execution unit 1: 1027 described above, and is activated and assigned by generating the execution unit 1032 of the designated query.

同様に、前述の処理実行部2:1028には、要求実行要素クエリs110が渡され、指定クエリの実行単位1033を生成することで起動され、割り付けが為される。   Similarly, the request execution element query s110 is passed to the processing execution unit 2: 1028 described above, and is activated and assigned by generating the execution unit 1033 of the specified query.

同様に、前述の処理実行部(N−1):1029には、要求実行要素クエリs111が渡され、指定クエリの実行単位1034を生成することで起動され、割り付けが為される。   Similarly, the request execution element query s111 is passed to the above-described processing execution unit (N-1): 1029, which is activated and assigned by generating the execution unit 1034 of the specified query.

同様に、前述の処理実行部N:1030には、要求実行要素クエリs112が渡され、指定クエリの実行単位1035を生成することで起動され、割り付けが為される。   Similarly, the request execution element query s112 is passed to the processing execution unit N: 1030 described above, and is activated and assigned by generating the execution unit 1035 of the designated query.

なお、第二実施例でも、実行制御部1022の割り付けは1度のみの実行を想定している訳ではなく、指定クエリの内容に応じて複数回の割り付け〜実行を考慮する。   Also in the second embodiment, the allocation of the execution control unit 1022 is not assumed to be executed once, but multiple allocations to executions are considered according to the contents of the specified query.

前述の実行制御部1022は、前述の指定クエリの実行単位1032を実行するため、前述の処理実行部1:1027に割り付いている指定クエリである要求実行要素クエリ1032をリソース管理/トランザクション処理部1017にメッセージs113を介して送信する。   The above-described execution control unit 1022 executes the above-described execution unit 1032 of the specified query, and thus the request execution element query 1032 that is the specified query assigned to the above-described process execution unit 1: 1027 is the resource management / transaction processing unit. 1017 via the message s113.

その後、前述のリソース管理/トランザクション処理部1017は、分散ストレージ1005等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1017は、検索対象の関係は関係Rのみであるため、関係Rの偏在データを扱う表Table. (s):1036、関係Rの被偏在データを扱う表Table. (j):1037、関係Rの一般データを扱う表Table. (c):1038を含んだ関係Rを扱う表Table.に対して、前述のメッセージs013に含まれた要求実行要素クエリs117を送信している。Thereafter, the resource management / transaction processing unit 1017 makes an inquiry to the table table group stored in the distributed storage 1005 or the like. In the first embodiment, resource management / transaction processing unit 1017 described above, because the relationship of the search target is only related R 1, Table Table dealing with uneven distribution data relationships R 1. 1 (s): 1036, deals with the uneven distribution data related R 1 Table Table. 1 (j): 1037, deals with general data relationships R 1 Table Table. 1 (c) : Table Table.1 dealing with relation R 1 including 1038. 1 , the request execution element query s117 included in the message s013 is transmitted.

その後、前述の分散ストレージ1005は、当該要求実行要素クエリs117に対する検索結果s121を、前述のリソース管理/トランザクション処理部1017に戻す。更に、前述のリソース管理/トランザクション処理部1017は、当該検索結果s121を含んだメッセージs125により、当該検索結果を前述の処理実行部1:1027に送信することになる。   Thereafter, the distributed storage 1005 returns the search result s121 for the request execution element query s117 to the resource management / transaction processing unit 1017. Further, the resource management / transaction processing unit 1017 transmits the search result to the process execution unit 1: 1027 using the message s125 including the search result s121.

更に、前述の処理実行部1:1027は、前述の検索結果s121と等価な検索結果s129を前述の実行制御部1022に返信する。その後、前述の様に指定クエリの内容に応じて、複数回の割り付け〜実行があるまで、前述の処理実行部1:1027は、再起動待ちとなる。   Further, the process execution unit 1: 1027 returns a search result s129 equivalent to the search result s121 to the execution control unit 1022. Thereafter, as described above, the above-described process execution unit 1: 1027 waits for restart until a plurality of allocations and executions are performed according to the content of the designated query.

前述の実行制御部1022は、前述の指定クエリの実行単位1033を実行するため、前述の処理実行部2:1028に割り付いている指定クエリである要求実行要素クエリ1033をリソース管理/トランザクション処理部1018にメッセージs114を介して送信する。   The above-described execution control unit 1022 executes the above-described execution unit 1033 of the specified query, so that the request execution element query 1033, which is a specified query assigned to the above-described process execution unit 2: 1028, is a resource management / transaction processing unit. 1018 via message s114.

その後、前述のリソース管理/トランザクション処理部1018は、分散ストレージ1007等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1018は、検索対象の関係は関係Rのみであるため、関係Rの偏在データを扱う表Table. (s):1050、関係Rの被偏在データを扱う表Table. (j):1051、関係Rの一般データを扱う表Table. (c):1052を含んだ関係Rを扱う表Table.に対して、前述のメッセージs114に含まれた要求実行要素クエリs118を送信している。Thereafter, the resource management / transaction processing unit 1018 makes an inquiry to the table table group stored in the distributed storage 1007 or the like. In the first embodiment, resource management / transaction processing unit 1018 described above, because the relationship of the search target is only related R 1, Table Table dealing with uneven distribution data relationships R 1. 1 (s): 1050, dealing with the uneven distribution data of the relationship between R 1 Table Table. 1 (j): 1051, deals with general data relationships R 1 Table Table. 1 (c): 1052 deals with relationships R 1 containing tables Table. 1 , the request execution element query s118 included in the message s114 is transmitted.

その後、分散ストレージ1007は、当該要求実行要素クエリs118に対する検索結果s122を、前述のリソース管理/トランザクション処理部1018に戻す。更に、前述のリソース管理/トランザクション処理部1018は、当該検索結果s122を含んだメッセージs126により、当該検索結果を前述の処理実行部2:1028に送信することになる。   Thereafter, the distributed storage 1007 returns the search result s122 for the request execution element query s118 to the resource management / transaction processing unit 1018 described above. Further, the resource management / transaction processing unit 1018 transmits the search result to the above-described process execution unit 2: 1028 by the message s126 including the search result s122.

更に、前述の処理実行部2:1028は、前述の検索結果s122と等価な検索結果s130を前述の実行制御部1022に返信する。その後、前述の様に指定クエリの内容に応じて、複数回の割り付け〜実行があるまで、前述の処理実行部2:1028は、再起動待ちとなる。   Further, the process execution unit 2: 1028 returns a search result s130 equivalent to the search result s122 to the execution control unit 1022. Thereafter, as described above, the above-described process execution unit 2: 1028 waits for restart until a plurality of allocations and executions are performed according to the contents of the designated query.

前述の実行制御部1022は、前述の指定クエリの実行単位1034を実行するため、前述の処理実行部(N−1):1029に割り付いている指定クエリである要求実行要素クエリ1034をリソース管理/トランザクション処理部1019にメッセージs115を介して送信する。   The execution control unit 1022 executes resource management for the request execution element query 1034, which is the specified query assigned to the process execution unit (N-1): 1029, in order to execute the execution unit 1034 of the specified query. / Transmit to transaction processing unit 1019 via message s115.

その後、前述のリソース管理/トランザクション処理部1019は、分散ストレージ1009等に格納されている表Table群に問い合わせを行う。第一実施例では、検索対象の関係は関係Rのみであるため、関係Rの偏在データを扱う表Table. (s):1064、関係Rの被偏在データを扱う表Table. (j):1065、関係Rの一般データを扱う表Table. (c):1066を含んだ関係Rを扱う表Table.に対して、前述のメッセージs115に含まれた要求実行要素クエリs119を送信している。Thereafter, the resource management / transaction processing unit 1019 makes an inquiry to the table table group stored in the distributed storage 1009 or the like. In the first embodiment, since the relationship of the search target is only related R 1, Table Table dealing with uneven distribution data relationships R 1. 1 (s): 1064, deals with the uneven distribution data related R 1 Table Table. 1 (j): 1065, deals with general data relationships R 1 Table Table. 1 (c): Table Table dealing with relationships R 1 containing 1066. 1 , the request execution element query s119 included in the message s115 is transmitted.

その後、分散ストレージ1009は、当該要求実行要素クエリs119に対する検索結果s123を、前述のリソース管理/トランザクション処理部1019に戻す。更に、前述のリソース管理/トランザクション処理部1019は、当該検索結果s123を含んだメッセージs127により、当該検索結果を前述の処理実行部(N−1):1029に送信することになる。   Thereafter, the distributed storage 1009 returns the search result s123 for the request execution element query s119 to the resource management / transaction processing unit 1019 described above. Further, the resource management / transaction processing unit 1019 transmits the search result to the process execution unit (N-1): 1029 using the message s127 including the search result s123.

更に、前述の処理実行部(N−1):1029は、前述の検索結果s123と等価な検索結果s131を前述の実行制御部1022に返信する。その後、前述の様に指定クエリの内容に応じて、複数回の割り付け〜実行があるまで、前述の処理実行部(N−1):1029は、再起動待ちとなる。   Further, the processing execution unit (N-1): 1029 returns a search result s131 equivalent to the search result s123 described above to the execution control unit 1022. Thereafter, the processing execution unit (N-1): 1029 described above waits for restart until there are a plurality of allocations to executions according to the contents of the designated query as described above.

前述の実行制御部1022は、前述の指定クエリの実行単位1035を実行するため、前述の処理実行部N:1030に割り付いている指定クエリである要求実行要素クエリ1035をリソース管理/トランザクション処理部1020にメッセージs116を介して送信する。   Since the execution control unit 1022 executes the execution unit 1035 of the specified query described above, the resource management / transaction processing unit converts the request execution element query 1035 that is the specified query assigned to the process execution unit N: 1030. 1020 via the message s116.

その後、前述のリソース管理/トランザクション処理部1020は、分散ストレージ1011等に格納されている表Table群に問い合わせを行う。第二実施例では、検索対象の関係は関係Rのみであるため、関係Rの偏在データを扱う表Table. (s):1078、関係Rの被偏在データを扱う表Table. (j):1079、関係Rの一般データを扱う表Table. (c):1080を含んだ関係Rを扱う表Table.に対して、前述のメッセージs116に含まれた要求実行要素クエリs120を送信している。Thereafter, the resource management / transaction processing unit 1020 makes an inquiry to the table table group stored in the distributed storage 1011 or the like. In the second embodiment, since the relationship of the search target is only related R 1, Table Table dealing with uneven distribution data relationships R 1. 1 (s): 1078, deals with the uneven distribution data related R 1 Table Table. 1 (j): 1079, deals with general data relationships R 1 Table Table. 1 (c) : Table Table. Dealing with relation R 1 including 1080. 1 , the request execution element query s120 included in the message s116 is transmitted.

その後、分散ストレージ1011は、当該要求実行要素クエリs120に対する検索結果s124を、前述のリソース管理/トランザクション処理部1020に戻す。更に、前述のリソース管理/トランザクション処理部1020は、当該検索結果s124を含んだメッセージs128により、当該検索結果を前述の処理実行部N:1030に送信することになる。   Thereafter, the distributed storage 1011 returns the search result s124 for the request execution element query s120 to the resource management / transaction processing unit 1020 described above. Further, the resource management / transaction processing unit 1020 transmits the search result to the processing execution unit N: 1030 using the message s128 including the search result s124.

更に、前述の処理実行部N:1030は、前述の検索結果s124と等価な検索結果s132を前述の実行制御部1022に返信する。その後、前述の様に指定クエリの内容に応じて、複数回の割り付け〜実行があるまで、前述の処理実行部N:1030は、再起動待ちとなる。   Further, the process execution unit N: 1030 returns a search result s132 equivalent to the search result s124 to the execution control unit 1022. Thereafter, as described above, the process execution unit N: 1030 waits for restart until there is a plurality of allocations to executions according to the contents of the designated query.

前述の実行制御部1022は、前述の検索結果s129、前述の検索結果s130、前述の検索結果s131、前述の検索結果s132を入手すると、指定クエリの内容に応じて、複数回の割り付け〜実行が無い場合、図3の集約処理に相当する処理を実施し、その結果を生成し、当該結果を含む結果メッセージs133として、起動元であるデータベースアクセスクライアント部1003に返信し、一連の処理を終了する。   When the execution control unit 1022 obtains the search result s129, the search result s130, the search result s131, and the search result s132, the execution control unit 1022 performs a plurality of allocations and executions according to the contents of the designated query. If there is not, a process corresponding to the aggregation process of FIG. 3 is performed, a result thereof is generated, a result message s133 including the result is returned to the database access client unit 1003 that is the activation source, and the series of processes is terminated. .

第二実施例では、前述の実行制御部1022は、時間に応じて変動する性能統計情報・信頼性情報s107を維持するため、前述の性能/エラー情報/統計情報サービス1013,1014,1015,1016等により各分散ストレージ上の最新の性能統計情報・信頼性情報s150,s151,s152,s153を得る。   In the second embodiment, the above-described execution control unit 1022 maintains the above-described performance / error information / statistical information service 1013, 1014, 1015, 1016 in order to maintain the performance statistical information / reliability information s107 that varies with time. Thus, the latest performance statistical information / reliability information s150, s151, s152, s153 on each distributed storage is obtained.

このために、前述の実行制御部1022は、前述の要求実行要素クエリs117に一時的且つ仮更新系処理が含まれる場合は、前述の分散ストレージ1006のLog/ジャーナル1047に対して当該処理を記述すると伴に、前述の検索結果s121に対して性能情報やエラー情報を記録するため、時刻印と伴に性能・エラー情報記録s135を書き込む。   Therefore, when the above-described request execution element query s117 includes temporary and temporary update processing, the above-described execution control unit 1022 describes the processing in the Log / journal 1047 of the above-described distributed storage 1006. At the same time, the performance / error information record s135 is written together with the time stamp in order to record the performance information and error information in the search result s121.

前述の実行制御部1022は、概ね同時にアクセスしたTable,索引等の分散ストレージ内部のオブジェクト毎のアクセス性能統計を取るため、前述のオブジェクト毎の統計情報1049に時刻印と伴に統計情報s134を書き込む。   The above-described execution control unit 1022 writes statistical information s134 with the time stamp in the above-described statistical information 1049 for each object in order to obtain access performance statistics for each object in the distributed storage such as a table and an index accessed almost simultaneously. .

前述の実行制御部1022は、前述の性能・エラー情報記録s135を、前述の性能/エラー情報/統計情報サービス1013から性能・エラー情報記録s143として取り出す。同様に、前述の実行制御部1022は、前述の統計情報s134を、前述の性能/エラー情報/統計情報サービス1013から統計情報s142として取り出す。その後、前述の実行制御部1022は、当該性能/エラー情報/統計情報サービス1013を、若干の加工処理を施した後、各分散ストレージ上の最新の性能統計情報・信頼性情報s150として、前述の統計情報管理部・エージェント管理部1026に送信する。   The execution control unit 1022 extracts the performance / error information record s135 from the performance / error information / statistical information service 1013 as the performance / error information record s143. Similarly, the execution control unit 1022 extracts the statistical information s134 from the performance / error information / statistical information service 1013 as statistical information s142. Thereafter, the execution control unit 1022 performs some processing on the performance / error information / statistical information service 1013, and then uses the performance / error information / statistical information service 1013 as the latest performance statistical information / reliability information s150 on each distributed storage. The data is transmitted to the statistical information management unit / agent management unit 1026.

同様に、前述の実行制御部1022は、前述の要求実行要素クエリs118に一時的且つ仮更新系処理が含まれる場合は、前述の分散ストレージ1008のLog/ジャーナル1061に対して当該処理を記述すると伴に、前述の検索結果s122に対して性能情報やエラー情報を記録するため、時刻印と伴に性能・エラー情報記録s137を書き込む。   Similarly, when the above-described request execution element query s118 includes a temporary and temporary update system process, the execution control unit 1022 describes the process for the log / journal 1061 of the distributed storage 1008 described above. At the same time, in order to record performance information and error information in the above-described search result s122, a performance / error information record s137 is written along with the time stamp.

概ね同時にアクセスしたTable,索引等の分散ストレージ内部のオブジェクト毎のアクセス性能統計を取るため、前述のオブジェクト毎の統計情報1063に時刻印と伴に統計情報s136を書き込む。   In order to obtain access performance statistics for each object in the distributed storage such as the table and index accessed almost simultaneously, statistical information s136 is written in the statistical information 1063 for each object together with the time stamp.

前述の実行制御部1022は、前述の性能・エラー情報記録s137を、前述の性能/エラー情報/統計情報サービス1014から性能・エラー情報記録s145として取り出す。同様に、前述の実行制御部1022は、前述の統計情報s136を、前述の性能/エラー情報/統計情報サービス1014から統計情報s144として取り出す。その後、前述の実行制御部1022は、当該性能/エラー情報/統計情報サービス1014を、若干の加工処理を施した後、各分散ストレージ上の最新の性能統計情報・信頼性情報s151として、前述の統計情報管理部・エージェント管理部1026に送信する。   The execution control unit 1022 extracts the performance / error information record s137 from the performance / error information / statistical information service 1014 as the performance / error information record s145. Similarly, the execution control unit 1022 extracts the statistical information s136 from the performance / error information / statistical information service 1014 as statistical information s144. Thereafter, the execution control unit 1022 performs a slight processing on the performance / error information / statistical information service 1014, and then uses the performance / error information / statistical information service 1014 as the latest performance statistical information / reliability information s151 on each distributed storage. The data is transmitted to the statistical information management unit / agent management unit 1026.

同様に、前述の実行制御部1022は、前述の要求実行要素クエリs119に一時的且つ仮更新系処理が含まれる場合は、前述の分散ストレージ1010のLog/ジャーナル1075に対して当該処理を記述すると伴に、前述の検索結果s123に対して性能情報やエラー情報を記録するため、時刻印と伴に性能・エラー情報記録s139を書き込む。   Similarly, when the above-described request execution element query s119 includes temporary and temporary update processing, the above-described execution control unit 1022 describes the processing for the Log / journal 1075 of the above-described distributed storage 1010. At the same time, in order to record performance information and error information in the search result s123, the performance / error information record s139 is written along with the time stamp.

前述の実行制御部1022は、概ね同時にアクセスしたTable,索引等の分散ストレージ内部のオブジェクト毎のアクセス性能統計を取るため、前述のオブジェクト毎の統計情報1077に時刻印と伴に統計情報s138を書き込む。   The above-described execution control unit 1022 writes statistical information s138 along with a time stamp in the statistical information 1077 for each object in order to obtain access performance statistics for each object in the distributed storage such as a table and an index accessed almost simultaneously. .

前述の実行制御部1022は、前述の性能・エラー情報記録s139を、前述の性能/エラー情報/統計情報サービス1015から性能・エラー情報記録s147として取り出す。同様に、前述の実行制御部1022は、前述の統計情報s138を、前述の性能/エラー情報/統計情報サービス1015から統計情報s146として取り出す。その後、前述の実行制御部1022は、当該性能/エラー情報/統計情報サービス1015を、若干の加工処理を施した後、各分散ストレージ上の最新の性能統計情報・信頼性情報s152として、前述の統計情報管理部・エージェント管理部1026に送信する。   The execution control unit 1022 extracts the performance / error information record s139 from the performance / error information / statistical information service 1015 as the performance / error information record s147. Similarly, the execution control unit 1022 extracts the statistical information s138 from the performance / error information / statistical information service 1015 as statistical information s146. After that, the execution control unit 1022 performs some processing on the performance / error information / statistical information service 1015, and then uses the performance / error information / statistical information service 1015 as the latest performance statistical information / reliability information s152 on each distributed storage. The data is transmitted to the statistical information management unit / agent management unit 1026.

同様に、前述の実行制御部1022は、前述の要求実行要素クエリs120に対して一時的且つ仮更新系処理が含まれる場合は、前述の分散ストレージ1012のLog/ジャーナル1089に対して記述すると伴に、前述の検索結果s124に対して性能情報やエラー情報を記録するため、時刻印と伴に性能・エラー情報記録s141を書き込む。   Similarly, when the above-described request execution element query s120 includes temporary and temporary update processing, the above-described execution control unit 1022 describes the log / journal 1089 of the above-described distributed storage 1012 as a description. In addition, in order to record performance information and error information in the search result s124 described above, a performance / error information record s141 is written along with the time stamp.

前述の実行制御部1022は、概ね同時にアクセスしたTable,索引等の分散ストレージ内部のオブジェクト毎のアクセス性能統計を取るため、前述のオブジェクト毎の統計情報1091に時刻印と伴に統計情報s140を書き込む。   The above-described execution control unit 1022 writes statistical information s140 with a time stamp in the above-described statistical information 1091 for each object in order to obtain access performance statistics for each object in the distributed storage such as a table and an index accessed almost simultaneously. .

前述の実行制御部1022は、前述の性能・エラー情報記録s141を、前述の性能/エラー情報/統計情報サービス1016から性能・エラー情報記録s149として取り出す。同様に、前述の実行制御部1022は、前述の統計情報s140を、前述の性能/エラー情報/統計情報サービス1016から統計情報s148として取り出す。その後、前述の実行制御部1022は、当該性能/エラー情報/統計情報サービス1016を、若干の加工処理を施した後、各分散ストレージ上の最新の性能統計情報・信頼性情報s153として、前述の統計情報管理部・エージェント管理部1026に送信する。   The execution control unit 1022 extracts the performance / error information record s141 from the performance / error information / statistical information service 1016 as the performance / error information record s149. Similarly, the execution control unit 1022 extracts the statistical information s140 from the performance / error information / statistical information service 1016 as statistical information s148. Thereafter, the execution control unit 1022 performs some processing on the performance / error information / statistical information service 1016, and then uses the performance / error information / statistical information service 1016 as the latest performance statistical information / reliability information s153 on each distributed storage. The data is transmitted to the statistical information management unit / agent management unit 1026.

<第三実施例、第四実施例>
本発明である「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」の第三実施例、第四実施例については、図8A〜図8Cに記載している。
<Third Example, Fourth Example>
A third embodiment and a fourth embodiment of the “query device that anticipates partitioning-dependent error compensation for shared nothing parallel search” according to the present invention are described in FIGS. 8A to 8C.

第三実施例の特徴は、第一実施例で一段構成された指定クエリを、複数段構成された指定クエリにまで拡張することである。このため、各段に分割された指定クエリに対して、第一実施例での手法を応用した手法を利用するが、エラーが発生した場合の対応を実行期待値として評価することで最小のコストを想定した実施を実現する。   A feature of the third embodiment is that the designated query configured in one stage in the first embodiment is extended to a specified query configured in a plurality of stages. For this reason, a method that applies the method of the first embodiment is used for the specified query divided into each stage, but the minimum cost is evaluated by evaluating the response when an error occurs as the expected execution value. Implementation that assumes

第四実施例の特徴は、第二実施例で一段構成された指定クエリを、複数段構成された指定クエリにまで拡張したことである。この場合、各段に分割された指定クエリに対して、第一実施例でのシェアードナッシング並列検索のパーティショニング依存のエラー補償手法を応用した手法を利用するが、エラーが発生した場合の対応を実行期待値として評価することで最小のコストを想定した実施を実現する。   A feature of the fourth embodiment is that the designated query configured in one stage in the second embodiment is extended to a specified query configured in a plurality of stages. In this case, a method that applies the partitioning-dependent error compensation method of the shared-nothing parallel search in the first embodiment is used for the specified query divided into each stage. Implementation with the lowest cost is realized by evaluating the expected execution value.

<シェアードナッシング並列検索のパーティショニング依存のエラー補償手法を応用した手法>
以下に、第一実施例でのシェアードナッシング並列検索のパーティショニング依存のエラー補償手法を応用した手法の手順について示す。
<Applied partitioning-dependent error compensation method for shared nothing parallel search>
The procedure of the technique applying the partitioning-dependent error compensation technique of the shared nothing parallel search in the first embodiment will be described below.

なお、第一実施例での手法と同様に、ここでも記述の制約上サイトのみを記しているが、第五実施例では、図3で説明しているシェアードナッシング並列検索のパーティショニングを実施しており、実際には割付単位はサイトとは限らない。従って、本文説明ではサイト(パーティション)として記載する。   As with the method in the first embodiment, only the site is described here due to the restriction of description, but in the fifth embodiment, the shared nothing parallel search partitioning described in FIG. 3 is performed. Actually, the allocation unit is not always a site. Therefore, it is described as a site (partition) in the text description.

ここで、第一実施例での処理手順と比較して、本実施例における処理手順の特徴的な事項を簡単に概説する。一段構成された指定クエリを、複数段構成された指定クエリにまで拡張する場合、実行制御部1022の割り付けは1度のみの実行を想定している訳ではなく、指定クエリの内容に応じて複数回の割り付け〜実行が為される。しかし、当該処理手順は、1回呼び出されるのではなく、前回の結果を記録しながら複数回の割り付け〜実行の度に呼び出されることになる。当該処理手順を呼び出すのは、前述の最適化部1025になる。   Here, as compared with the processing procedure in the first embodiment, the characteristic items of the processing procedure in the present embodiment will be briefly outlined. When a designated query configured in one stage is expanded to a designated query configured in a plurality of stages, the allocation of the execution control unit 1022 is not assumed to be executed only once, but is determined according to the contents of the specified query. Allotment-execution is done. However, the processing procedure is not called once, but is called every time a plurality of times of allocation to execution while recording the previous result. The above-described optimization unit 1025 calls the processing procedure.

このため、本実施例の処理手順では、新たに(ステップ.1)と(ステップ.6)と(ステップ.7)と(ステップ.8)と(ステップ.10)が追加される。これらは、前回の結果を記録しながら複数回の割り付け〜実行の度に呼び出されることに対応し、評価は複数段構成された指定クエリ全体に対して実施することである。   For this reason, in the processing procedure of the present embodiment, (Step 1), (Step 6), (Step 7), (Step 8), and (Step 10) are newly added. These correspond to being called each time a plurality of times of allocation to execution while recording the previous result, and the evaluation is performed for the entire designated query composed of a plurality of stages.

まず、本実施例の手順が開始されると、当該最適化部1025は、前段の要求実行要素クエリ群、並びにそれらの評価値が存在する場合は、読み込んだ上、一時的に保存する(ステップ.1)。   First, when the procedure of the present embodiment is started, the optimization unit 1025 reads and temporarily stores the request execution element query group in the previous stage and the evaluation values thereof, if they exist (step S1). .1).

前述の(ステップ.1)に続いて、前述の最適化部1025は、前述の中間解析結果s005で表現されるクエリ内容に応じて部分多重化に対して多重化せず「シェアードナッシング」で処理する範囲を特定する(ステップ.2)。   Subsequent to the above (Step 1), the optimization unit 1025 described above does not multiplex the partial multiplexing according to the query content expressed by the intermediate analysis result s005 and performs the process by “shared nothing”. The range to be specified is specified (step 2).

その後、前述の最適化部1025は、独立して利用出来るリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合を全て特定する。ここでは、そのサイト(パーティション)群集合をS:{s(1),...,s(N)}で表現する(ステップ.3)。Thereafter, the above-described optimization unit 1025 specifies all sets of sites (partitions) having resource management / transaction processing units that can be used independently. Here, the set of sites (partitions) is denoted by S: {s (1) ,. . . , S (N) } (step 3).

その後、前述の最適化部1025は、指定クエリの再分割方針を決定するため「再配分プロトコル」並びに「多重化プロトコル」の評価を図6の(式1)を利用して実施する。まず「再配分プロトコル」に関する評価を実施する(ステップ.4)。   Thereafter, the optimization unit 1025 described above evaluates the “redistribution protocol” and the “multiplexing protocol” using (Equation 1) in FIG. 6 in order to determine the re-division policy of the designated query. First, the “redistribution protocol” is evaluated (step 4).

前述の最適化部1025は、「再配分プロトコル」として前述のサイト(パーティション)群集合Sから多重化向けに利用するサイト(パーティション)群集合SR:{sr(1),..,sr(m)}を指定する(ステップ.4.1)。その後、前述の最適化部1025は、前述のサイト(パーティション)群から多重化向けに利用しないサイト(パーティション)群集合S−SRを指定する(ステップ.4.2)。The optimization unit 1025 described above uses a site (partition) group set SR: {sr (1) ,. . , Sr (m) } is designated (step 4.1). Thereafter, the above-described optimization unit 1025 designates a site (partition) group set S-SR that is not used for multiplexing from the above-described site (partition) group (step 4.2).

前述の(ステップ.4.2)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SRの台数nを求める(ステップ.4.3)。   Subsequent to the above-described (Step 4.2), the above-described optimization unit 1025 obtains the number n of site (partition) group sets S-SR that are not used for multiplexing (Step 4.3).

続けて、前述の最適化部1025は、実施クエリの想定件数を前述の台数nで均等割りし指定クエリの実行単位をn作成し、多重化向けに利用しないサイト(パーティション)群集合S−SRの各サイト(パーティション)へ割付を行う。その際、前述の最適化部1025は、(ステップ.1)での前段の要求実行要素クエリ群との関係を維持する様に割り付けを実施する(ステップ.4.4)。   Subsequently, the optimization unit 1025 described above equally divides the estimated number of execution queries by the number n described above to create n execution units for the specified query, and sets a site (partition) group set S-SR that is not used for multiplexing. Assign to each site (partition). At that time, the optimization unit 1025 performs allocation so as to maintain the relationship with the preceding request execution element query group in (Step .1) (Step .4.4).

前述の(ステップ.4.4)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SRから1サイト(パーティション)s(k)を順次選択する(ステップ.4.5)。Subsequent to the above (Step 4.4), the above-described optimization unit 1025 sequentially selects one site (partition) s (k) from the site (partition) group set S-SR that is not used for multiplexing. (Step 4.5).

(ステップ.4.5)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。前述の最適化部1025は、joincost関数で計算する際、通常、結合演算コスト値を計算し、単一Tableを扱う場合、その検索コスト値を計算する。その際、前述の最適化部1025は、「再配分プロトコル」と発生するデータ件数を指定する(ステップ.4.5.1)。   (Step 4.5) As a subordinate, the optimization unit 1025 described above calculates a search cost value without failure by the joincost function in (Equation 1) in FIG. The above-described optimization unit 1025 normally calculates a joint operation cost value when calculating with the joincost function, and calculates the search cost value when handling a single table. At this time, the optimization unit 1025 described above designates the “redistribution protocol” and the number of data items to be generated (Step 4.5.1).

前述の(ステップ.4.5.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく稼動率R(s(k))を前述のコスト値に重畳し、失敗なし時の期待joincost1値(s(k))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく稼動率R(s(k))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s107、s207、s307からその都度、読み込まれた値より求める(ステップ.4.5.2)。Subsequent to the above (Step 4.5.1), the optimization unit 1025 described above calculates the operation rate R (s (k) ) based on the performance statistical information / reliability information of the designated site (partition) as described above. Superimposed on the cost value, the expected joincost1 value (s (k) ) when there is no failure is calculated. The optimization unit 1025 described above obtains the operation rate R (s (k) ) based on the performance statistical information / reliability information from the performance statistical information / reliability information s107 obtained from the statistical information management unit agent management unit 1026. , S207, and s307 each time, it is obtained from the read value (step 4.5.5.2).

前述の(ステップ.4.5.2)に続いて、前述の最適化部1025は、当該稼働率に対する故障率F(s(k))を前述のコスト値に重畳し、失敗時の期待joincost2値(s(k))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく故障率F(s(k))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s107、s207、s307からその都度、読み込まれた値より求める(ステップ.4.5.3)。Subsequent to the above (Step 4.5.5.2), the above-described optimization unit 1025 superimposes the failure rate F (s (k) ) on the operating rate on the above-described cost value, and the expected join cost 2 at the time of failure. The value (s (k) ) is calculated. The optimization unit 1025 described above obtains the failure rate F (s (k) ) based on the performance statistical information / reliability information from the statistical information management unit agent management unit 1026 described above. , S207, and s307 each time, it is obtained from the read value (step 4.5.5.3).

前述の(ステップ.4.5.3)に続いて、前述の最適化部1025は、失敗した指定クエリの実行単位内容を(n−1)分割し、現在選択していないサイト(パーティション)群集合S−SR−{s(k)}の各サイト(パーティション)に割付ける(ステップ.4.5.4)。Subsequent to the above (Step 4.5.5.3), the above-described optimization unit 1025 divides the execution unit contents of the failed designated query into (n−1) and the currently selected site (partition) group. Assign to each site (partition) of the set S-SR- {s (k) } (step 4.5.5.4).

前述の(ステップ.4.5.4)に続いて、前述の最適化部1025は、多重化に利用しないサイト(パーティション)群集合S−SR−{s(k)}から1サイト(パーティション)s(l)を選択する(ステップ.4.5.5)。Subsequent to the above (Step 4.5.5.4), the optimization unit 1025 described above generates a site (partition) from a site (partition) group set S-SR- {s (k) } that is not used for multiplexing. Select s (l) (step 4.5.5.5).

(ステップ.4.5.5)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する(ステップ.4.5.5.1)。   (Step 4.5.5.5) As a subordinate, the optimization unit 1025 described above calculates a search cost value without failure using the joincost function in (Equation 1) in FIG. 6 (Step 4.5.5.5. 1).

前述の(ステップ.4.5.5.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく稼動率R(s(l))、前述の故障率F(s(k))を前述のコスト値に重畳、期待joincost3値(s(l))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく稼動率R(s(l))、前述の故障率F(s(k))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s107、s207、s307からその都度、読み込まれた値より求める(ステップ.4.5.5.2)。Subsequent to the above (Step 4.5.5.1), the optimization unit 1025 described above performs the operation rate R (s (l) ) based on the performance statistics information / reliability information of the designated site (partition), The above-mentioned failure rate F (s (k) ) is superimposed on the above-mentioned cost value, and an expected joincost 3 value (s (l) ) is calculated. The optimization unit 1025 described above calculates the operating rate R (s (l) ) and the failure rate F (s (k) ) based on the performance statistical information / reliability information, and the statistical information management unit agent management unit described above. From the performance statistical information / reliability information s107, s207, and s307 obtained from 1026, it is obtained from the read value each time (step 4.5.5.2).

前述の最適化部1025は、次のサイト(パーティション)s(l+1)を選択する。前述の最適化部1025は、これを選択出来なくなるまで繰り返す(ステップ.4.5.5.3)。The optimization unit 1025 described above selects the next site (partition) s (l + 1) . The optimization unit 1025 described above repeats until it cannot be selected (step 4.5.5.3).

前述の(ステップ.4.5.5)に続いて、前述の最適化部1025は、サイト(パーティション)群集合S−SR−{s(k)}の全サイト(パーティション)s(l)に渡る期待joincost3値(s(k))の合計値を求める(ステップ.4.5.6)。Subsequent to the above (Step 4.5.5.5), the optimization unit 1025 described above applies to all sites (partitions) s (l) of the site (partition) group set S-SR- {s (k) }. The total value of the expected expected joincost 3 values (s (k) ) is obtained (step 4.5.5.6).

前述の最適化部1025は、次のサイト(パーティション)s(k+1)を選択する。前述の最適化部1025は、これを選択出来なくなるまで繰り返す(ステップ.4.5.7)。The optimization unit 1025 described above selects the next site (partition) s (k + 1) . The optimization unit 1025 described above repeats until it cannot be selected (step 4.5.5.7).

前述の(ステップ.4.5)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SRから任意サイト(パーティション)の組合せ集合SC:{(s(1),s(2)),…,(s(k),s(k+1))}を定義する(ステップ.4.6)。Subsequent to the above (Step 4.5), the optimization unit 1025 described above sets a combination set SC of sites (partitions) group set S-SR not used for multiplexing to an arbitrary site (partition): {(s (1) , s (2) ),..., (S (k) , s (k + 1) )} are defined (step 4.6).

前述の(ステップ.4.6)に続いて、前述の最適化部1025は、前述のサイト(パーティション)の組合せ集合SCから1組合せsc(k)(要素をs(k1)、s(k2)とする。)を順次選択する(ステップ.4.7)。Subsequent to the above-described (Step 4.6), the above-described optimization unit 1025 selects one combination sc (k) (elements s (k1) and s (k2) from the combination set SC of the sites (partitions ). Are sequentially selected (step 4.7).

(ステップ.4.7)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数を基に2回呼び出し、組合要素毎に計算する(ステップ.4.7.1)。   (Step 4.7) As a subordinate, the optimization unit 1025 described above calls the search cost value without failure twice based on the joincost function in (Equation 1) of FIG. Step 4.7.1).

前述の(ステップ.4.7.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく故障率F(s(k1)),F(s(k2))を前述のコスト値に重畳し、失敗時の期待joincost4値(s(k1))と期待joincost4値(s(k2))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく故障率F(s(k1))、F(s(k2))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s107、s207、s307からその都度、読み込まれた値より求める(ステップ.4.7.2)Subsequent to the above (Step 4.7.1), the optimization unit 1025 described above performs the failure rate F (s (k1) ), F (based on the performance statistics information / reliability information of the designated site (partition). s (k2) ) is superimposed on the above-mentioned cost value, and an expected joincost 4 value (s (k1) ) and an expected joincost 4 value (s (k2) ) at the time of failure are calculated. The optimization unit 1025 obtains the failure rates F (s (k1) ) and F (s (k2) ) based on the performance statistical information / reliability information from the statistical information management unit agent management unit 1026. From the performance statistical information / reliability information s107, s207, and s307, it is obtained from the read value each time (step 4.7.2).

前述の(ステップ.4.7.2)に続いて、前述の最適化部1025は、失敗した指定クエリの実行単位内容を(n−2)分割し、現在選択していないサイト(パーティション)群集合S−SR−{sc(k):(s(k1),s(k2))}の各サイト(パーティション)に割付ける(ステップ.4.7.3)。Subsequent to the above (Step 4.7.7.2), the above-described optimization unit 1025 divides the execution unit contents of the failed designated query into (n−2), and the currently selected site (partition) group Assign to each site (partition) of the set S-SR- {sc (k) : (s (k1) , s (k2) )} (step 4.7.3).

前述の(ステップ.4.7.3)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SR−{sc(k):(s(k1)、s(k2))}から1サイト(パーティション)s(l)を選択する(ステップ.4.7.4)。Subsequent to the above (Step 4.7.3), the optimization unit 1025 described above does not use the site (partition) group set S-SR- {sc (k) : (s (k1)) used for multiplexing. , S (k2) )}, select one site (partition) s (l) (step 4.7.4).

(ステップ.4.7.4)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する(ステップ.4.7.4.1)。   (Step 4.7.4) As a subordinate, the optimization unit 1025 described above calculates a search cost value without failure using the joincost function in (Equation 1) in FIG. 6 (Step 4.7.4. 1).

前述の(ステップ.4.7.4.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく稼動率R(s(l))、並びに前述の故障率{F(s(k1))+F(s(k2))}を前述のコスト値に重畳し、期待joincost5値(s(l))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく稼動率R(s(l))、並びに前述の故障率{F(s(k1))+F(s(k2))}を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s107、s207、s307からその都度、読み込まれた値より求める(ステップ.4.7.4.2)。Subsequent to the above-described (Step 4.7.4.1), the optimization unit 1025 described above performs the operation rate R (s (l) ) based on the performance statistics information / reliability information of the designated site (partition), In addition, the expected failure rate {F (s (k1) ) + F (s (k2) )} is superimposed on the above-described cost value to calculate the expected joincost 5 value (s (l) ). The optimization unit 1025 described above calculates the operation rate R (s (l) ) based on the performance statistical information / reliability information and the failure rate {F (s (k1) ) + F (s (k2) )}. The performance statistical information / reliability information s107, s207, and s307 obtained from the statistical information management unit agent management unit 1026 is obtained from the read value each time (step 4.7.4.2).

前述の(ステップ.4.7.4.2)に続いて、前述の最適化部1025は、サイト(パーティション)群集合S−SR−{sc(k):(s(k1)、s(k2))}から次のサイト(パーティション)s(l+1)を選択する。前述の最適化部1025は、これを選択出来なくなるまで繰り返す(ステップ.4.7.4.3)。Subsequent to the above (Step 4.7.7.4), the optimization unit 1025 described above performs the site (partition) group set S-SR- {sc (k) : (s (k1) , s (k2 ) )} To select the next site (partition) s (l + 1) . The optimization unit 1025 described above repeats until it cannot be selected (Step 4.7.4.3).

前述の(ステップ.4.7.4)に続いて、前述の最適化部1025は、サイト(パーティション)群集合S−SR−{sc(k):(s(k1)、s(k2))}の全サイト(パーティション)s(l)に渡る期待joincost5値(sc(k))の合計値を求める(ステップ.4.7.5)。Subsequent to the above (Step 4.7.4), the optimization unit 1025 described above performs the site (partition) group set S-SR- {sc (k) : (s (k1) , s (k2) ) }, The total value of expected joincost 5 values (sc (k) ) over all sites (partitions) s (l) is obtained (step 4.7.5).

前述の(ステップ.4.7.5)に続いて、前述の最適化部1025は、前述のサイト(パーティション)の組合せ集合SCから次の組合せsc(k+1)を選択する(ステップ.4.7.6)。Subsequent to the above-described (Step 4.7.5), the above-described optimization unit 1025 selects the next combination sc (k + 1) from the above-described combination set SC of sites (partitions) (Step. 4.7). .6).

前述の(ステップ.4.7)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合S−SRの全サイト(パーティション)に渡る期待joincost1値(s(k))+期待joincost2値(s(k))+期待joincost3値(s(k))の合計値を求める(ステップ.4.8)。Subsequent to the above-described (Step 4.7), the above-described optimization unit 1025 performs an expected joincost1 value (s (k) ) + over all sites (partitions) of the above-described site (partition) group set S-SR. The total value of the expected joincost2 value (s (k) ) + the expected joincost3 value (s (k) ) is obtained (step 4.8).

前述の(ステップ.4.8)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合S−SRの全サイト(パーティション)組合せに対する期待joincost4値(s(k))+期待joincost5値(s(k))の合計値を求める(ステップ.4.9)。Subsequent to the above (Step 4.8), the above-described optimization unit 1025 performs the expected joincost4 value (s (k) ) + for all site (partition) combinations of the above-described site (partition) group set S-SR. The total value of the expected joincost 5 values (s (k) ) is obtained (step 4.9).

前述の(ステップ.4.9)に続いて、前述の最適化部1025は、3サイト(パーティション)以上で同時故障を考慮するべきか、否か(同時故障を評価するか、しないか)を判定する(ステップ.4.10)。   Subsequent to the above (Step 4.9), the above-described optimization unit 1025 determines whether or not simultaneous failures should be considered at three sites (partitions) or more (whether or not simultaneous failures are evaluated). Judgment is made (step 4.10.).

「評価する」とした場合、前述の最適化部1025は、以下の2つのステップを連続して実施する。最初に多重化向けに利用しないサイト(パーティション)群集合S−SRから3以上のNの任意サイト(パーティション)の組合せ集合SC:{(s(1),s(2)…),…,(s(k),s(k+1)…)}を定義し直す(ステップ.4.10.1)。In the case of “evaluate”, the optimization unit 1025 described above performs the following two steps in succession. First, a combination set SC of three or more N arbitrary sites (partitions) from a site (partition) group set S-SR that is not used for multiplexing: {(s (1) , s (2) ...), ..., ( s (k) , s (k + 1) ...} are redefined (step 4.10.1).

続けて、前述の最適化部1025は、前述の(ステップ.4.7)と同等の処理を行う(ステップ.4.10.2)。   Subsequently, the optimization unit 1025 performs the same processing as (Step 4.7) described above (Step 4.10.2).

「評価しない」とした場合、前述の最適化部1025は、次の(ステップ.4.11)に進む(ステップ.4.10.3)。   When “not evaluated” is selected, the optimization unit 1025 proceeds to the next (step 4.11) (step 4.10.3).

続けて、前述の最適化部1025は、多重化向けに利用するサイト(パーティション)群集合SRからペアとなる2サイト(パーティション)sr(k1)、sr(k2)を順次選択する(ステップ.4.11)。Subsequently, the above-described optimization unit 1025 sequentially selects two sites (partitions) sr (k1) and sr (k2) to be paired from the site (partition) group set SR used for multiplexing (step 4). .11).

(ステップ.4.11)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。その際、前述の最適化部1025は、「多重化プロトコル」と発生するデータ件数を指定する(ステップ.4.11.1)。   (Step 4.11) As a subordinate, the optimization unit 1025 described above calculates a search cost value without failure using the joincost function in (Equation 1) in FIG. At this time, the optimization unit 1025 described above designates “multiplexing protocol” and the number of data items to be generated (step 4.1.1.1).

前述の(ステップ.4.11.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく稼動率R(sr(k1))、R(sr(k2))を前述のコスト値に重畳し、失敗なし時の期待joincost6値(sr(k1))、 joincost6値(sr(k2))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく稼動率稼動率R(sr(k1))、R(sr(k2))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s107、s207、s307からその都度、読み込まれた値より求める(ステップ.4.11.2)。Subsequent to the above (Step 4.11.1), the optimization unit 1025 described above operates the operating rates R (sr (k1) ), R (based on the performance statistics information / reliability information of the designated site (partition). sr (k2) ) is superimposed on the above-mentioned cost value, and an expected joincost6 value (sr (k1) ) and joincost6 value (sr (k2) ) when there is no failure are calculated. The optimization unit 1025 obtains the operation rate availability R (sr (k1) ) and R (sr (k2) ) based on the performance statistical information / reliability information from the statistical information management unit agent management unit 1026. From the obtained performance statistical information / reliability information s107, s207, s307, it is obtained from the read value each time (step 4.1.2).

前述の(ステップ.4.11.2)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRから次のペアとなる2サイト(パーティション)sr(k1+1)、sr(k2+1)を選択する(ステップ.4.11.3)。Subsequent to the above-described (Step 4.1.11.2), the above-described optimization unit 1025 includes two sites (partitions) sr (k1 + 1) and sr ( next to the next pair from the above-described site (partition) group set SR. k2 + 1) is selected (step 4.11.3).

前述の(ステップ.4.11)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRから全サイト(パーティション)組合せに対する期待joincost6値(s(k))の合計値を求める(ステップ.4.12)。Subsequent to the above (Step 4.11), the optimization unit 1025 described above adds the expected joincost 6 values (s (k) ) for all site (partition) combinations from the site (partition) group set SR described above. Is obtained (step 4.12).

前述の(ステップ.4.12)に続いて、前述の最適化部1025は、期待joincost1値,期待joincost2値,期待joincost3値,期待joincost4値,期待joincost5値,期待joincost6値の対象件数に対する和演算である、図6の(式1)中のunitoncost値を計算する。更に、前述の最適化部1025は、射影演算である図6の(式1)中のrestrictioncost値を計算する(ステップ.4.13)。   Subsequent to the above (Step 4.12), the above-described optimization unit 1025 performs a sum operation on the target number of the expected joincost 1 value, the expected join cost 2 value, the expected join cost 3 value, the expected join cost 4 value, the expected join cost 5 value, and the expected join cost 6 value. The unitoncost value in (Equation 1) of FIG. 6 is calculated. Further, the optimization unit 1025 described above calculates a restriction cost value in (Equation 1) of FIG. 6 that is a projection operation (step 4.13).

前述の(ステップ.4.12)に続いて、前述の最適化部1025は、当該「再配分プロトコル」に対する図6の(式1)TotalCost1(P=‘再配分プロトコル’,t=constant)値を計算する(ステップ.4.14)。   Subsequent to the above (Step 4.12), the optimization unit 1025 described above performs (Equation 1) TotalCost1 (P = 'redistribution protocol', t = constant) value of FIG. Is calculated (step 4.14).

前述の最適化部1025は、「多重化プロトコル」としてシェアードナッシングによるクエリ実施の分割を想定せずに、全てを多重化する「多重化プロトコル実施」に関する評価を実施する(ステップ.5)。   The optimization unit 1025 described above performs an evaluation on “multiplex protocol implementation” in which all are multiplexed without assuming a query execution division by shared nothing as a “multiplex protocol” (step 5).

(ステップ.5)配下として、前述の最適化部1025は、前述のリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合S:{s(1),...,s(N)}全てを多重化向けに利用するサイト(パーティション)群集合SRに指定する(ステップ.5.1)。(Step 5) As a subordinate, the optimization unit 1025 described above sets the set of site (partition) groups having the resource management / transaction processing unit S: {s (1) ,. . . , S (N) } are designated as the site (partition) group set SR that is used for multiplexing (step 5.1.).

前述の(ステップ.5.1)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRからペアとなる2サイト(パーティション)sr(k1)とsr(k2)を順次選択する(ステップ.5.2)。Subsequent to the above (Step 5.1), the optimization unit 1025 sequentially selects two sites (partitions) sr (k1) and sr (k2) that are paired from the site (partition) group set SR. Select (step 5.2).

(ステップ.5.2)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。その際、前述の最適化部1025は、「多重化プロトコル」と発生するデータ件数を指定する(ステップ.5.2.1)。   (Step 5.2) As a subordinate, the optimization unit 1025 described above calculates a search cost value without failure using the joincost function in (Equation 1) in FIG. At this time, the optimization unit 1025 described above designates the “multiplexing protocol” and the number of data items to be generated (step 5.2.1).

前述の(ステップ.5.2.1)に続いて、前述の最適化部1025は、指定サイト(パーティション)の性能統計情報・信頼性情報に基づく稼動率R(sr(k1))、並びにR(sr(k2))を前述のコスト値に重畳し、失敗なし時の期待joincost7値(sr(k1))、joincost7値(sr(k2))を計算する。前述の最適化部1025は、当該性能統計情報・信頼性情報に基づく稼動率R(sr(k1))、並びにR(sr(k2))を、前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s107、s207、s307からその都度、読み込まれた値より求める(ステップ.5.2.2)。Subsequent to the above (Step 5.2.1), the optimization unit 1025 described above performs the operation rate R (sr (k1) ) based on the performance statistical information / reliability information of the designated site (partition), and R (Sr (k2) ) is superimposed on the above-mentioned cost value, and the expected joincost7 value (sr (k1) ) and joincost7 value (sr (k2) ) without failure are calculated. The optimization unit 1025 obtains the operation rate R (sr (k1) ) and R (sr (k2) ) based on the performance statistical information / reliability information from the statistical information management unit agent management unit 1026. From the performance statistics information / reliability information s107, s207, and s307 thus obtained, the value is obtained from the read value each time (step 5.2.2).

前述の(ステップ.5.2.2)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRから次のペアとなる2サイト(パーティション)sr(k1+1)とsr(k2+1)を選択する(ステップ.5.2.3)。Subsequent to the above (Step 5.2.2), the optimization unit 1025 described above, from the site (partition) group set SR described above, two sites (partitions) sr (k1 + 1) and sr ( k2 + 1) is selected (step 5.2.3).

前述の(ステップ.5.2)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRの全サイト(パーティション)組合せに対する期待joincost7値(s(k))の合計値を求める(ステップ.5.3)。Subsequent to the above (Step 5.2), the optimization unit 1025 described above calculates the total value of the expected joincost 7 values (s (k) ) for all site (partition) combinations of the site (partition) group set SR. Is obtained (step 5.3).

前述の(ステップ.5.3)に続いて、前述の最適化部1025は、期待joincost7値の対象件数に対する和演算である図6の(式1)中のunitoncost値を計算する。更に、射影演算である図6の(式1)中のrestrictioncost値を計算する(ステップ.5.4)。   Subsequent to the above (Step 5.3), the optimization unit 1025 described above calculates the unitoncost value in (Equation 1) of FIG. 6 which is the sum operation for the number of subjects of the expected joincost 7 value. Further, a restriction cost value in (Equation 1) of FIG. 6 which is a projection operation is calculated (step 5.4).

前述の最適化部1025は、当該「多重化プロトコル」に対する図6の(式1)TotalCost1(P=‘多重化プロトコル’,t=constant)値を計算する(ステップ.5.5)。   The optimization unit 1025 described above calculates the (Expression 1) TotalCost1 (P = 'multiplexing protocol', t = constant) value of FIG. 6 for the “multiplexing protocol” (step 5.5).

前述の(ステップ.5)に続いて、前述の最適化部1025は、前述のTotalCost1(P=‘再配分プロトコル’,t=constant)値に対して前述の(ステップ.1)に関連する評価値を重畳し、拡張TotalCost1(P=‘再配分プロトコル’,t=constant)値を計算する(ステップ.6)。   Subsequent to the above (Step 5), the optimization unit 1025 described above evaluates the above TotalCost1 (P = 'redistribution protocol', t = constant) value related to the above (Step 1). The values are superimposed, and the extended TotalCost1 (P = 'redistribution protocol', t = constant) value is calculated (step 6).

前述の(ステップ.6)に続いて、前述の最適化部1025は、前述のTotalCost1(P=‘多重化プロトコル’,t=constant)値に対して前述の(ステップ.1)に関連する評価値を重畳し、拡張TotalCost1(P=‘多重化プロトコル’,t=constant)値を計算する(ステップ.7)。   Subsequent to the above (Step 6), the optimization unit 1025 evaluates the above TotalCost1 (P = 'multiplexing protocol', t = constant) value related to the above (Step 1). The values are superimposed, and the extended TotalCost1 (P = 'multiplexing protocol', t = constant) value is calculated (step 7).

前述の(ステップ.7)に続いて、前述の最適化部1025は、拡張TotalCost1(P=‘再配分プロトコル’,t=constant)値と、拡張TotalCost1(P=‘多重化プロトコル’,t=constant)値とを比較して、値の小さい方を採用する(ステップ.8)。   Subsequent to the above (Step 7), the optimization unit 1025 described above performs the extended TotalCost1 (P = 'redistribution protocol', t = constant) value and the extended TotalCost1 (P = 'multiplexing protocol', t = (constant) value is compared and the smaller value is adopted (step 8).

前述の(ステップ.8)に続いて、前述の最適化部1025は、採用されたものにより要求実行要素クエリ群s008を生成する(ステップ.9)。   Subsequent to the above-described (Step 8), the above-described optimization unit 1025 generates a request execution element query group s008 according to the adopted one (Step 9).

前述の(ステップ.9)に続いて、前述の最適化部1025は、失敗したサイト(パーティション)を、独立して利用出来るリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合S:{s(1),...,s(N)}から削除する(ステップ.10)。Subsequent to the above-described (Step 9), the optimization unit 1025 described above sets the set S of sites (partitions) having resource management / transaction processing units that can use the failed sites (partitions) independently: S: { s (1) ,. . . , S (N) } (step 10).

前述の(ステップ.10)に続いて、前述の最適化部1025は、当段における当該要求実行要素クエリ群、並びにそれらの評価値、独立して利用出来るリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合S:{s(1),...,s(N)}を一時的に保存する(ステップ.11)。Subsequent to the above-mentioned (Step 10), the above-described optimization unit 1025 includes the request execution element query group at this stage, the evaluation value thereof, and a site (resource management / transaction processing unit that can be used independently) ( Partition) group set S: {s (1) ,. . . , S (N) } are temporarily stored (step 11).

上記のシェアードナッシング並列検索のパーティショニング依存のエラー補償手法を応用した手法の処理手順を用いることで、前述の最適化部1025は、実際の実行単位となる複数の要求実行要素クエリ群s108を生成することになる。   The optimization unit 1025 generates a plurality of request execution element query groups s108, which are actual execution units, by using the processing procedure of the method applying the partitioning-dependent error compensation method of the shared nothing parallel search described above. Will do.

特に(ステップ.4.5.2)、(ステップ.4.5.3)、(ステップ.4.5.5.2)、(ステップ.4.7.2)、(ステップ.4.7.4.2)、(ステップ.4.11.2)、(ステップ.5.2.2)における稼働率と故障率は、第三実施例では、予め設定される固定的な値となる。これに対して、第四実施例では、前述の性能/エラー情報/統計情報サービス1013,1014,1015,1016等により得た各分散ストレージ上の最新性能統計情報・信頼性情報s285,s286,s287,s288から算出された値を用いる。   In particular, (Step 4.5.2), (Step 4.5.5.3), (Step 4.5.5.2), (Step 4.7.2), (Step .4.7. The operating rate and failure rate in 4.2), (Step 4.1.1.2), and (Step 5.2.2) are fixed values set in advance in the third embodiment. On the other hand, in the fourth embodiment, the latest performance statistical information / reliability information s285, s286, s287 on each distributed storage obtained by the performance / error information / statistical information service 1013, 1014, 1015, 1016, etc. described above. , S288 is used.

<第五実施例、第六実施例>
ここでは、図9A〜図9Cを参照して、本発明である「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」の第五実施例、第六実施例について説明する。
<5th Example, 6th Example>
Here, with reference to FIG. 9A to FIG. 9C, fifth and sixth embodiments of “a query apparatus that anticipates partitioning-dependent error compensation for shared nothing parallel search” according to the present invention will be described.

第五実施例の特徴は、第四実施例で偏在データの存在を明示的に扱い、指定クエリで、当該偏在データの対処をした分割を行う方法である。第一実施例〜第四実施例では、検索対象の関係は関係Rのみであるため、関係Rの偏在データを扱う表Table. (s):1078、関係Rの被偏在データを扱う表Table. (j):1079、関係Rの一般データを扱う表Table. (c):1080を含んだ関係Rを扱う表Table.に対して、前述の処理実行部1:1027、前述の処理実行部2:1028、前述の処理実行部(N−1):1029、前述の処理実行部N,1030の割付では偏在データの存在を考慮しない粗い割付となる。The feature of the fifth embodiment is a method of explicitly handling the existence of unevenly distributed data in the fourth embodiment and performing division by dealing with the unevenly distributed data with a specified query. In the first embodiment to fourth embodiment, since the relationship of the search target is only related R 1, Table Table dealing with uneven distribution data relationships R 1. 1 (s): 1078, deals with the uneven distribution data related R 1 Table Table. 1 (j): 1079, deals with general data relationships R 1 Table Table. 1 (c) : Table Table. Dealing with relation R 1 including 1080. 1 , the above-described process execution unit 1: 1027, the above-described process execution unit 2: 1028, the above-described process execution unit (N-1): 1029, and the above-described process execution units N and 1030 are assigned uneven distribution data. Coarse allocation without considering existence.

これに対して、第一実施例〜第四実施例では、図3の様な偏在データと非偏在データとを考慮するため、図3における前述の処理実行部1−1:2013、前述の処理実行部1−2:2014、前述の処理実行部1−3:2015、前述の処理実行部N−1:2016、前述の処理実行部N−2:2017、前述の処理実行部N−3:2018の様な細かい割付となる。   On the other hand, in the first to fourth embodiments, in order to consider the uneven distribution data and the non-uniform distribution data as shown in FIG. Execution unit 1-2: 2014, the aforementioned process execution unit 1-3: 2015, the aforementioned process execution unit N-1: 2016, the aforementioned process execution unit N-2: 2017, the aforementioned process execution unit N-3: The allocation is as fine as 2018.

更に、シェアードナッシング並列検索のパーティショニング依存のエラー補償手法を応用した手法における処理手順でも、サイト毎の割付単位ではなく、パーティション毎の割付単位を前提とする。   Furthermore, even in the processing procedure in the method that applies the partitioning-dependent error compensation method of the shared nothing parallel search, the allocation unit for each partition is assumed instead of the allocation unit for each site.

第五実施例では、パーティション毎の割付単位とするが、性能統計情報・信頼性情報の計測単位は分散ストレージ全体に対して計測されたものになる。特に、第五実施例では、複数段で構成される指定クエリの実行単位1032,1033,1034,1035に分割し、実行する度に当該性能統計情報・信頼性情報に基づく稼動率R(s(k))、故障率F(s(k))を前述の統計情報管理部エージェント管理部1026から入手した性能統計情報・信頼性情報s107、s207、s307からその都度、読み込まれた値より求めており、実行時点の最新情報に基づき、シェアードナッシング並列検索のパーティショニング依存のエラー補償手法を応用した手法の処理手順で指定クエリの割付処理を実施する。In the fifth embodiment, the allocation unit for each partition is used, but the measurement unit of performance statistical information / reliability information is measured for the entire distributed storage. In particular, in the fifth embodiment, the operation rate R (s ( based on the performance statistical information / reliability information) is divided into execution units 1032, 1033, 1034, and 1035 of a designated query composed of a plurality of stages. k) ), the failure rate F (s (k) ) is obtained from the read values from the performance statistical information / reliability information s107, s207, and s307 obtained from the statistical information management unit agent management unit 1026 described above. Based on the latest information at the time of execution, the allocation process of the specified query is performed by the processing procedure of the method applying the partitioning-dependent error compensation method of the shared nothing parallel search.

これに対して、第六実施例では、図6の(式2)で記されるある時刻tの近傍時間Δt:3004における稼動率R(s(k))、故障率F(s(k))の推定値を利用することを前提とする。そして、ある時刻tの近傍時間Δt:3004の2倍時間以内であれば、当該稼働率と故障率の変動は予め見込めるものとする。この結果、(ステップ.4.5.2)、(ステップ.4.5.3)、(ステップ.4.5.5.2)、(ステップ.4.7.2)、(ステップ.4.7.4.2)、(ステップ.4.11.2)、(ステップ.5.2.2)において、その都度、稼動率R(s(k)(t)、故障率F(s(k)(t)を読み込むのではなく、一度、読み込んだものを利用する。そして、一度、当該稼動率R(s(k)(t)、故障率F(s(k)(t)を読み込み、近傍時間Δt:3004の2倍時間以上を経過した場合は、改めて読み直す様にする。この様にすることで、前述の統計情報管理部・エージェント管理部1026を必要以上にアクセスすることが抑制出来る様になる。On the other hand, in the sixth embodiment, the operation rate R (s (k) ) and the failure rate F (s (k)) in the vicinity time Δt: 3004 at a certain time t indicated by (Equation 2) in FIG. ) Is assumed to be used. And if it is less than twice the time Δt: 3004 in the vicinity of a certain time t, the fluctuations in the operating rate and failure rate can be expected in advance. As a result, (Step.4.5.2), (Step.4.5.3), (Step.4.5.5.2), (Step.4.7.2), (Step.4. 7.4.2), (Step 4.1.2.2), (Step 5.2.2), the operating rate R (s (k) ) (t) and the failure rate F (s ( k) ) Instead of reading (t) , use what has been read once. Then, once the operating rate R (s (k) ) (t) and the failure rate F (s (k) ) (t) are read and the time of the neighborhood time Δt: 3004 or more has passed, Read it again. By doing so, it becomes possible to suppress the above-described access to the statistical information management unit / agent management unit 1026 more than necessary.

<まとめ>
以上のように、本発明は、データベース管理システムの内、検索処理を複数独立なサイトに分割して並列に実施するシェアードナッシング方式の並列処理に関するもので、当該検索処理を最適化するための最適化部に関連する。特に、単一のシステム内の機能モジュールからネットワーク全体に広く、且つ緩やかに連携する環境に分散し、大規模に展開された結果、当該検索処理の実行品質が悪化することに対して、適性検索品質で最大限に検索処理能力を上げる手法に関するものである。
<Summary>
As described above, the present invention relates to a shared-nothing parallel process in which a search process is divided into a plurality of independent sites and executed in parallel in a database management system, and is optimal for optimizing the search process. Related to In particular, it is suitable search against the fact that the execution quality of the search process deteriorates as a result of being distributed on a large scale and widely distributed over the entire network from functional modules in a single system. It relates to a technique for maximizing search processing capability with quality.

本発明のクエリ装置は、複数サイト・パーティション群で構成される分散ストレージ群を利用してシェアードナッシング並列検索を実行出来るデータベース管理システムにおいて、シェアードナッシング並列検索結果で不具合が生じない様に検索処理途上でエラーが発生した際に対処する補償処理手法に関するものである。本発明のクエリ装置は、当該補償処理手法を複数選択し、前述の分散ストレージ群に関する性能統計情報・信頼性情報から計算した稼働率・故障率等から補償処理を見込んだ総処理コスト期待値を当該補償処理手法の各々で計算し、総処理コスト期待値が最も小さい補償処理に基づき並列検索のクエリ分割を定める。   The query device according to the present invention is a database management system capable of executing a shared nothing parallel search using a distributed storage group composed of a plurality of sites and partitions. The present invention relates to a compensation processing method to deal with when an error occurs. The query device of the present invention selects a plurality of compensation processing methods, and calculates the expected total processing cost expected from the operation rate and failure rate calculated from the performance statistical information and reliability information related to the distributed storage group described above. The query division of the parallel search is determined based on the compensation processing which is calculated by each of the compensation processing methods and has the smallest total processing cost expected value.

また、本発明のクエリ装置は、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測し、任意時点での稼働率・故障率を予め計算しておき、それを基に総処理コスト期待値を計算する。   In addition, the query device of the present invention periodically measures performance statistical information / reliability information related to the distributed storage group, pre-calculates the operation rate / failure rate at an arbitrary time point, and based on this, the total processing cost Calculate the expected value.

また、本発明のクエリ装置は、クエリを構成する結合演算を複数の要素クエリに分解し、当該要素クエリを実施することで発生する中間成果と、要素クエリを改めて結合するクエリ最適化手法を利用することを前提とする。   In addition, the query device of the present invention uses a query optimization method that decomposes a join operation constituting a query into a plurality of element queries and combines the intermediate results generated by executing the element queries and the element queries again. Assuming that

また、本発明のクエリ装置は、前述の要素クエリをシェアードナッシング並列検索結果で実施する度に、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果から、その時点での稼働率・故障率を取得し、当該稼働率・故障率を基に処理コスト期待値を計算の上で、最適化内容を変更する最適化部を含むことを特徴とする。   The query device according to the present invention operates at the time from the result of periodically measuring the performance statistical information / reliability information related to the distributed storage group every time the above-described element query is executed with the shared-nothing parallel search result. It includes an optimization unit that acquires a rate / failure rate, calculates an expected processing cost based on the operation rate / failure rate, and changes the optimization content.

また、本発明のクエリ装置は、クエリ対象とするデータに偏在性があることを確認し、当該データを3種類に分割した上で要素クエリを実施することを前提とする。   The query device of the present invention is based on the premise that the query target data is confirmed to be unevenly distributed, and the element query is performed after the data is divided into three types.

また、本発明のクエリ装置は、前述の要素クエリをシェアードナッシング並列検索結果で実施する場合、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果から、その時点から指定期間の推定稼働率・推定故障率を取得し、当該推定稼働率・推定故障率を基に処理コスト期待値を計算の上で、最適化内容を変更する最適化部を含むことで、計算上の効率を向上させることを図る。   Further, the query device of the present invention, when performing the above-described element query with the shared nothing parallel search result, from the result of periodically measuring the performance statistical information / reliability information regarding the distributed storage group, the specified period from that point Calculation efficiency is obtained by acquiring an estimated operation rate / estimated failure rate, calculating an expected processing cost based on the estimated operation rate / estimated failure rate, and then including an optimization unit that changes the optimization content. To improve.

また、本発明のクエリ装置は、前述の要素クエリをシェアードナッシング並列検索結果で実施する場合、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果から、その時点から指定期間の推定稼働率・推定故障率を取得し、当該推定稼働率・推定故障率を基に処理コスト期待値を計算の上で、最適化内容を変更する最適化部を含むことで、計算上の効率を向上させることを図る。   Further, the query device of the present invention, when performing the above-described element query with the shared nothing parallel search result, from the result of periodically measuring the performance statistical information / reliability information regarding the distributed storage group, the specified period from that point Calculation efficiency is obtained by acquiring an estimated operation rate / estimated failure rate, calculating an expected processing cost based on the estimated operation rate / estimated failure rate, and then including an optimization unit that changes the optimization content. To improve.

本発明のクエリ分割方法では、1つのクエリを分割して複数の要求実行要素クエリ(要求実行要素クエリ群)を定義しシェアードナッシング並列検索のパーティショニングにおいて実施する際に任意の要求実行要素クエリでエラーが発生した場合、エラーの発生した要求実行要素クエリの再実行を、エラーの発生したサイト若しくはパーティション以外の全てで再度、代替実施することで補償する再配分プロトコルを選択する。また、シェアードナッシング並列検索のパーティショニングにおいて実施する際に、エラーが発生しても対応出来る様に、同じ要求実行要素クエリを完全多重化して補償し、再度、代替実施することは行わない多重化プロトコルを選択する。また、分散ストレージ群に関する推定稼働率・推定故障率を取得し、当該推定稼働率・推定故障率を基に前述の再配分プロトコル、及び多重化プロトコルの総処理コスト期待値を計算する。また、前述の再配分プロトコルの総処理コスト期待値、及び前述の多重化プロトコルの総処理コスト期待値を比較し小さい方に基づき最適化された並列検索のクエリ分割を決める。   In the query splitting method of the present invention, a single query is split to define a plurality of request execution element queries (request execution element query group), and any request execution element query can be used when executed in shared nothing parallel search partitioning. When an error occurs, a redistribution protocol that compensates by re-executing the re-execution of the request execution element query in which the error has occurred at all other than the site or partition in which the error occurred is selected. Also, when executing in shared nothing parallel search partitioning, the same request execution element query is fully multiplexed and compensated so that it can be handled even if an error occurs. Multiplexing is not performed again. Select a protocol. Further, the estimated operation rate / estimated failure rate for the distributed storage group is acquired, and the total processing cost expectation value of the redistribution protocol and the multiplexing protocol is calculated based on the estimated operation rate / estimated failure rate. Further, the total processing cost expectation value of the redistribution protocol described above and the total processing cost expectation value of the multiplexing protocol described above are compared, and optimized query division for parallel search is determined based on the smaller one.

本発明のクエリ分割用プログラムは、複数サイト・パーティション群で構成される分散ストレージ群を利用してシェアードナッシング並列検索を実行出来るデータベース管理システムにおいて、シェアードナッシング並列検索結果で不具合が生じない様に検索処理途上でエラーが発生した際に対処する補償処理手法に関するものであり、当該補償処理手法を複数選択し、前述の分散ストレージ群に関する性能統計情報・信頼性情報から計算した稼働率・故障率等から補償処理を見込んだ総処理コスト期待値を当該補償処理手法の各々で計算し、総処理コスト期待値が最も小さい補償処理に基づき並列検索のクエリ分割を定める処理をコンピュータに実行させるためのソフトウエアである。なお、本発明のクエリ分割用プログラムは、記憶装置や記憶媒体に格納することが可能である。   The query partitioning program according to the present invention is a database management system capable of executing a shared nothing parallel search using a distributed storage group composed of a plurality of sites / partition groups so that no trouble occurs in the shared nothing parallel search result. This is related to compensation processing methods to deal with when an error occurs during processing. Select multiple compensation processing methods, and calculate the operation rate and failure rate calculated from the performance statistics and reliability information related to the aforementioned distributed storage group. Software for calculating the expected total processing cost from each compensation processing method and causing the computer to execute a process for determining query division for parallel search based on the compensation processing with the smallest total expected processing cost value Wear. The query dividing program of the present invention can be stored in a storage device or a storage medium.

また、本発明のクエリ分割用プログラムは、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測し、任意時点での稼働率・故障率を予め計算しておき、それを基に総処理コスト期待値を計算する処理をコンピュータに実行させるためのソフトウエアである。   In addition, the query partitioning program of the present invention periodically measures performance statistical information and reliability information related to a distributed storage group, calculates the operation rate and failure rate at an arbitrary time point in advance, and based on this, calculates the total. This is software for causing a computer to execute processing for calculating the expected processing cost.

また、本発明のクエリ分割用プログラムでは、クエリを構成する結合演算を複数の要素クエリに分解し、当該要素クエリを実施することで発生する中間成果と、要素クエリを改めて結合するクエリ最適化手法を利用することを前提とする。   Further, in the query partitioning program of the present invention, the query optimization method for recombining the intermediate query and the intermediate result generated by executing the element query by decomposing the join operation constituting the query into a plurality of element queries. It is assumed that is used.

また、本発明のクエリ分割用プログラムは、前述の要素クエリをシェアードナッシング並列検索結果で実施する度に、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果から、その時点での稼働率・故障率を取得し、当該稼働率・故障率を基に処理コスト期待値を計算の上で、最適化内容を変更する処理をコンピュータに実行させるためのソフトウエアである。   In addition, the query partitioning program according to the present invention is based on the result of periodically measuring the performance statistical information / reliability information about the distributed storage group every time the above-described element query is executed with the shared-nothing parallel search result. This is software for obtaining the operating rate / failure rate of the computer, calculating the expected processing cost based on the operating rate / failure rate, and causing the computer to execute processing for changing the optimization content.

また、本発明のクエリ分割用プログラムでは、クエリ対象とするデータに偏在性があることを確認し、当該データを3種類に分割した上で要素クエリを実施することを前提とする。   The query dividing program of the present invention is based on the premise that the query target data is confirmed to be unevenly distributed, and the element query is executed after dividing the data into three types.

また、本発明のクエリ分割用プログラムは、前述の要素クエリをシェアードナッシング並列検索結果で実施する場合、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果から、その時点から指定期間の推定稼働率・推定故障率を取得し、当該推定稼働率・推定故障率を基に処理コスト期待値を計算の上で、最適化内容を変更することで、計算上の効率を向上させるための処理をコンピュータに実行させるためのソフトウエアである。   The query partitioning program of the present invention is specified from the result of periodically measuring the performance statistical information / reliability information related to the distributed storage group when the above-described element query is executed with the shared-nothing parallel search result. Obtain the estimated operating rate and estimated failure rate for the period, calculate the expected processing cost based on the estimated operating rate and estimated failure rate, and change the optimization content to improve the computational efficiency. This is software for causing a computer to execute processing for this purpose.

また、本発明のクエリ分割用プログラムは、前述の要素クエリをシェアードナッシング並列検索結果で実施する場合、分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果から、その時点から指定期間の推定稼働率・推定故障率を取得し、当該推定稼働率・推定故障率を基に処理コスト期待値を計算の上で、最適化内容を変更することで、計算上の効率を向上させるための処理をコンピュータに実行させるためのソフトウエアである。   The query partitioning program of the present invention is specified from the result of periodically measuring the performance statistical information / reliability information related to the distributed storage group when the above-described element query is executed with the shared-nothing parallel search result. Obtain the estimated operating rate and estimated failure rate for the period, calculate the expected processing cost based on the estimated operating rate and estimated failure rate, and change the optimization content to improve the computational efficiency. This is software for causing a computer to execute processing for this purpose.

本発明は、並列処理データベース管理システムの内、特にシェアードナッシングによる検索の高速化を行うものであり、並列処理データベース管理システムの要素技術が、単一のシステム内の機能モジュールからネットワーク全体に広く、且つ緩やかに連携する環境に分散し、大規模に展開された結果、従来の環境を前提としているクエリ並列化の手法も影響を受け、ネットワーク全体に分散した環境を前提とし、且つ当該環境下で最適に実施する手法に進化する際の一形態と考えることが出来る。   The present invention is a parallel processing database management system, particularly for speeding up searches by shared nothing, and the element technology of the parallel processing database management system is widely used from the functional modules in a single system to the entire network, As a result of being distributed in a loosely collaborative environment and being deployed on a large scale, the query parallelization method that assumes the conventional environment is also affected, and the environment is assumed to be distributed throughout the network. It can be considered as a form of evolution to an optimally implemented technique.

以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。   As mentioned above, although embodiment of this invention was explained in full detail, actually, it is not restricted to said embodiment, Even if there is a change of the range which does not deviate from the summary of this invention, it is included in this invention.

<付記>
上記の実施形態の一部又は全部は、以下の付記の様記載することも可能である。但し、実際には、以下の記載例に限定されない。
<Appendix>
Part or all of the above-described embodiment can be described as in the following supplementary notes. However, actually, it is not limited to the following description examples.

(付記1)
1つのクエリを分割して複数の要求実行要素クエリを定義し、シェアードナッシング(Shared Nothing)並列検索のパーテショニングにおいて実施する際に任意の要求実行要素クエリでエラーが発生した場合、エラーの発生した要求実行要素クエリの再実行を、エラーの発生したサイト若しくはパーティション以外の全てで再度、代替実施して補償する再配分プロトコルを選択することと、
シェアードナッシング並列検索のパーテショニングにおいて実施する際に、同じ要求実行要素クエリを完全多重化して補償し、再度、代替実施することは行わない多重化プロトコルを選択することと、
前記分散ストレージ群に関する推定稼働率・推定故障率を取得し、前記推定稼働率・推定故障率を基に前記再配分プロトコル、及び多重化プロトコルの総処理コスト期待値を計算することと、
前記再配分プロトコルの総処理コスト期待値、及び前記多重化プロトコルの総処理コスト期待値を比較し小さい方に基づき最適化された並列検索のクエリ分割を決めることと
を含む
クエリ分割方法。
(Appendix 1)
If an error occurs in an arbitrary request execution element query when a query is divided and multiple request execution element queries are defined and executed in shared-nothing (Shared Nothing) parallel search partitioning, an error has occurred. Selecting a redistribution protocol that compensates for the re-execution of the request execution element query by substituting and recompensating all but the error site or partition;
Selecting a multiplexing protocol that fully multiplexes and compensates for the same request execution element query when implemented in shared nothing parallel search partitioning and does not perform the alternative again;
Obtaining an estimated operating rate / estimated failure rate for the distributed storage group, calculating a total processing cost expectation value of the redistribution protocol and a multiplexing protocol based on the estimated operating rate / estimated failure rate;
Comparing the expected total processing cost value of the redistribution protocol and the expected total processing cost value of the multiplexing protocol, and determining optimized query search for parallel search based on the smaller one.

<備考>
なお、本出願は、日本出願番号2010−068835に基づく優先権を主張するものであり、日本出願番号2010−068835における開示内容は引用により本出願に組み込まれる。
<Remarks>
In addition, this application claims the priority based on the Japanese application number 2010-068835, and the disclosed content in the Japanese application number 2010-068835 is incorporated in this application by reference.

Claims (13)

複数サイト・パーティション群で構成される分散ストレージ群を利用してシェアードナッシング(Shared Nothing)並列検索を実行出来るデータベース管理システムにおいて、シェアードナッシング並列検索処理途上でエラーが発生した際に対処する補償処理手法を複数選択する手段と、
前記分散ストレージ群に関する性能統計情報・信頼性情報から稼働率・故障率を計算する手段と、
前記計算された稼働率・故障率から補償処理を見込んだ総処理コスト期待値を前記複数の補償処理手法の各々で計算する手段と、
総処理コスト期待値が最も小さい補償処理に基づき並列検索のクエリ分割を定める手段と
を具備する
クエリ装置。
Compensation processing method to cope with an error in the process of shared-nothing parallel search in a database management system that can execute shared-nothing parallel search using a distributed storage group composed of multiple sites / partitions Means for selecting a plurality of;
Means for calculating an operation rate / failure rate from performance statistical information / reliability information about the distributed storage group;
Means for calculating a total processing cost expectation value for which compensation processing is expected from the calculated operation rate / failure rate in each of the plurality of compensation processing methods;
A query apparatus comprising: means for determining query division for parallel search based on a compensation process having a minimum total processing cost expectation value.
請求項1に記載のクエリ装置であって、
前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測する手段と、
任意時点での稼働率・故障率を予め計算しておき、任意時点での稼働率・故障率を基に、総処理コスト期待値を計算する手段と
を更に具備する
クエリ装置。
The query device according to claim 1,
Means for periodically measuring performance statistical information and reliability information related to the distributed storage group;
A query apparatus further comprising means for calculating an operation rate / failure rate at an arbitrary time in advance and calculating an expected total processing cost based on the operation rate / failure rate at an arbitrary time.
請求項1又は2に記載のクエリ装置であって、
クエリを構成する結合演算を複数の要素クエリに分解する手段と、
前記複数の要素クエリの各々を実施することで発生する中間成果と前記各要素クエリとを改めて結合するクエリ最適化手法を利用する手段と
を更に具備する
クエリ装置。
The query device according to claim 1 or 2, wherein
Means for decomposing the join operations constituting the query into a plurality of element queries;
A query apparatus further comprising: means for using a query optimization technique that combines intermediate results generated by executing each of the plurality of element queries and the element queries.
請求項3に記載のクエリ装置であって、
前記各要素クエリをシェアードナッシング並列検索結果で実施する度に、前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果に基づいて、その時点での稼働率・故障率を取得する手段と、
前記稼働率・故障率を基に処理コスト期待値を計算し、最適化内容を変更する手段と
を更に具備する
クエリ装置。
The query device according to claim 3, wherein
Each time each element query is executed as a shared-nothing parallel search result, the current operation rate and failure rate are obtained based on the results of periodic measurement of performance statistics and reliability information related to the distributed storage group. Means to
A query device further comprising means for calculating an expected processing cost based on the operating rate / failure rate and changing optimization contents.
請求項3又は4に記載のクエリ装置であって、
クエリ対象とするデータに偏在性があることを確認する手段と、
前記データを3種類に分割した上で要素クエリを実施する手段と
を更に具備する
クエリ装置。
The query device according to claim 3 or 4, wherein
A means of confirming that the data being queried is unevenly distributed,
And a means for executing an element query after dividing the data into three types.
請求項3乃至5のいずれか一項に記載のクエリ装置であって、
前記各要素クエリをシェアードナッシング並列検索結果で実施する場合、前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果に基づいて、その時点から指定期間の推定稼働率・推定故障率を取得する手段と、
前記推定稼働率・推定故障率を基に処理コスト期待値を計算し、最適化内容を変更する手段と
を更に具備する
クエリ装置。
The query device according to any one of claims 3 to 5,
When each element query is executed as a shared-nothing parallel search result, based on a result of periodically measuring performance statistical information / reliability information related to the distributed storage group, an estimated operation rate / estimated failure for a specified period from that point A means of obtaining a rate;
A query device further comprising means for calculating a processing cost expectation value based on the estimated operation rate / estimated failure rate and changing optimization contents.
複数サイト・パーティション群で構成される分散ストレージ群を利用してシェアードナッシング(Shared Nothing)並列検索を実行出来るデータベース管理システムにおいて、シェアードナッシング並列検索処理途上でエラーが発生した際に対処する補償処理手法を複数選択することと、
前記分散ストレージ群に関する性能統計情報・信頼性情報から稼働率・故障率を計算することと、
前記計算された稼働率・故障率から補償処理を見込んだ総処理コスト期待値を前記複数の補償処理手法の各々で計算することと、
総処理コスト期待値が最も小さい補償処理に基づき並列検索のクエリ分割を定めることと
を含む
クエリ分割方法。
Compensation processing method to cope with an error in the process of shared-nothing parallel search in a database management system that can execute shared-nothing parallel search using a distributed storage group composed of multiple sites / partitions Selecting more than one,
Calculating an operation rate / failure rate from performance statistical information / reliability information about the distributed storage group;
Calculating a total processing cost expectation value for which compensation processing is expected from the calculated operation rate and failure rate by each of the plurality of compensation processing methods;
A query partitioning method including determining query partitioning for parallel search based on a compensation process having the smallest expected total processing cost.
請求項7に記載のクエリ分割方法であって、
前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測することと、
任意時点での稼働率・故障率を予め計算しておき、任意時点での稼働率・故障率を基に総処理コスト期待値を計算することと
を更に含む
クエリ分割方法。
The query partitioning method according to claim 7, wherein
Periodically measuring performance statistics and reliability information related to the distributed storage group;
A query division method further comprising: calculating in advance an operation rate / failure rate at an arbitrary time point and calculating an expected total processing cost based on the operation rate / failure rate at an arbitrary time point.
請求項7又は8に記載のクエリ分割方法であって、
クエリを構成する結合演算を複数の要素クエリに分解することと、
前記複数の要素クエリの各々を実施することで発生する中間成果と前記各要素クエリを改めて結合するクエリ最適化手法を利用することと
を更に含む
クエリ分割方法。
The query dividing method according to claim 7 or 8, comprising:
Decomposing the join operations that make up the query into multiple element queries,
A query partitioning method further comprising: using an intermediate result generated by executing each of the plurality of element queries and a query optimization technique for rejoining the element queries.
請求項9に記載のクエリ分割方法であって、
前記各要素クエリをシェアードナッシング並列検索結果で実施する度に、前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果に基づいて、その時点での稼働率・故障率を取得することと、
前記稼働率・故障率を基に処理コスト期待値を計算し、最適化内容を変更することと
を更に含む
クエリ分割方法。
The query partitioning method according to claim 9, wherein
Each time each element query is executed as a shared-nothing parallel search result, the current operation rate and failure rate are obtained based on the results of periodic measurement of performance statistics and reliability information related to the distributed storage group. To do
A query partitioning method further comprising: calculating an expected processing cost based on the operating rate / failure rate and changing the optimization content.
請求項9又は10に記載のクエリ分割方法であって、
クエリ対象とするデータに偏在性があることを確認することと、
前記データを3種類に分割した上で要素クエリを実施することと
を更に含む
クエリ分割方法。
The query dividing method according to claim 9 or 10, wherein:
Make sure that the data you're querying is unevenly distributed,
A query dividing method further comprising: dividing the data into three types and performing an element query.
請求項9乃至11のいずれか一項に記載のクエリ分割方法であって、
前記各要素クエリをシェアードナッシング並列検索結果で実施する場合、前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果に基づいて、その時点から指定期間の推定稼働率・推定故障率を取得することと、
前記推定稼働率・推定故障率を基に処理コスト期待値を計算し、最適化内容を変更することと、
を更に含む
クエリ分割方法。
The query dividing method according to any one of claims 9 to 11,
When each element query is executed as a shared-nothing parallel search result, based on a result of periodically measuring performance statistical information / reliability information related to the distributed storage group, an estimated operation rate / estimated failure for a specified period from that point Getting rates,
Calculate the expected processing cost based on the estimated operating rate and estimated failure rate, and change the optimization content;
The query splitting method further comprising:
請求項9乃至12のいずれか一項に記載のクエリ分割方法を、計算機に実行させるためのプログラム。   The program for making a computer perform the query division | segmentation method as described in any one of Claims 9 thru | or 12.
JP2012506943A 2010-03-24 2011-03-14 Query device, query partitioning method, and query partitioning program Withdrawn JPWO2011118427A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010068835 2010-03-24
JP2010068835 2010-03-24
PCT/JP2011/055891 WO2011118427A1 (en) 2010-03-24 2011-03-14 Query device, query division method, and program for query division

Publications (1)

Publication Number Publication Date
JPWO2011118427A1 true JPWO2011118427A1 (en) 2013-07-04

Family

ID=44672985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012506943A Withdrawn JPWO2011118427A1 (en) 2010-03-24 2011-03-14 Query device, query partitioning method, and query partitioning program

Country Status (2)

Country Link
JP (1) JPWO2011118427A1 (en)
WO (1) WO2011118427A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860563B2 (en) 2012-01-06 2020-12-08 Microsoft Technology Licensing, Llc Distributed database with modular blocks and associated log files
US9507750B2 (en) 2012-10-12 2016-11-29 A9.Com, Inc. Dynamic search partitioning
US9047326B2 (en) 2012-10-12 2015-06-02 A9.Com, Inc. Index configuration for searchable data in network
CA2888116C (en) * 2012-10-12 2018-03-27 A9.Com, Inc. Dynamic search partitioning

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006035931A1 (en) * 2004-09-30 2006-04-06 Toshiba Solutions Corporation Information system reliability evaluation system, reliability evaluation method, and reliability evaluation program
JP2007199804A (en) * 2006-01-24 2007-08-09 Hitachi Ltd Database management method, database management program, database management device, and database management system

Also Published As

Publication number Publication date
WO2011118427A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
US10013456B2 (en) Parallel processing database system with a shared metadata store
US20170337224A1 (en) Targeted Processing of Executable Requests Within A Hierarchically Indexed Distributed Database
EP2831767B1 (en) Method and system for processing data queries
WO2015062444A1 (en) System and method for creating a distributed transaction manager supporting repeatable read isolation level in a mpp database
KR20100113098A (en) Query deployment plan for a distributed shared stream processing system
Essa et al. Mobile agent based new framework for improving big data analysis
US20110307470A1 (en) Distributed database management system and distributed database management method
US11321209B2 (en) Query-attempt assignment in a database environment
JP2007025785A (en) Database processing method, system, and program
US11640347B2 (en) Automated query retry execution in a database system
WO2011118427A1 (en) Query device, query division method, and program for query division
US11216446B2 (en) Identifying software regressions based on query retry attempts in a database environment
Noraziah et al. Bvagq-ar for fragmented database replication management
US20220044144A1 (en) Real time model cascades and derived feature hierarchy
JP2013025425A (en) Distributed data management system, distributed data management method, and distributed data management program
Youssef et al. New framework for improving big data analysis using mobile agent
Cosulschi et al. Implementing bfs-based traversals of rdf graphs over mapreduce efficiently
Ji et al. A fault-tolerant optimization mechanism for spatiotemporal data analysis in flink
WO2014119100A1 (en) Management device and management system
Elango Data replication for the distributed database using decision support systems
Sun Performance optimization for distributed machine learning and graph processing at scale over virtualized infrastructure
Divya et al. A multi-agent based intelligent query processing system for Hadoop with FIPA-OS using cooperating agent in cloud environment
Shen et al. epiCG: A GraphUnit Based Graph Processing Engine on epiC
Lewandowski et al. Multi-partition Distributed Transactions over Cassandra-Like Database with Tunable Contention Control

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140603