JPWO2011118427A1 - Query device, query partitioning method, and query partitioning program - Google Patents
Query device, query partitioning method, and query partitioning program Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query 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
<非特許文献1>Yu Xu et al, “Handling Data Skew in Parallel Joins in Shared−Nothing Systems”, Proceedings of SIGMOD’08 Conference, 2008.
<Non-Patent
ところが、<非特許文献1>に記載されている方式は、シェアードナッシング並列検索のパーティショニング化に関する既存技術を説明するに留まり、当該検索処理の実行品質が悪化する場合の対策を具体的に記述している訳ではない。
However, the method described in <Non-Patent
特許文献では、<特許文献1>が関係を持つが、<非特許文献1>と同様に、当該検索処理の実行品質が悪化する場合の対策を具体的に記述している訳ではない。
In Patent Literature, <
<特許文献1>特開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 <
<特許文献2>特願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,
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
当該データベース・マスタノード部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
同様に、当該データベース・マスタノード部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
同様に、当該データベース・マスタノード部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
同様に、当該データベース・スレーブノード部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
同様に、当該データベース・スレーブノード部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
同様に、当該データベース・スレーブノード部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
前述のデータベース・マスタノード部1は、主従関係定義4018を通して、前述のデータベース・スレーブノード部1−1:4009と、前述のデータベース・スレーブノード部1−2:4010と、前述のデータベース・スレーブノード部1−3:4011と対応付けられる。
The above-described database /
同様に、前述のデータベース・マスタノード部2は、主従関係定義4019を通して、前述のデータベース・スレーブノード部2−1:4012と、前述のデータベース・スレーブノード部2−2:4013と、前述のデータベース・スレーブノード部2−3:4014と対応付けられる。
Similarly, the above-described database /
同様に、前述のデータベース・マスタノード部3は、主従関係定義4020を通して、前述のデータベース・スレーブノード部3−1:4015と、前述のデータベース・スレーブノード部3−2:4016と、前述のデータベース・スレーブノード部3−3:4017と対応付けられる。
Similarly, the above-mentioned database /
また、データベース・スレーブノード部については、故障対策として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
当該データベース・マスタノード部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
ここで、前述の表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
この結果、表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
この場合、前述の部分集合2010、前述の部分集合2011、前述の部分集合2012は、共有するデータ等の依存性が存在しないため、独立に結合演算を実施することが可能である。そのため、複数の処理実行部にそれぞれの偏在データの任意部分間の結合演算を割り付けることで処理を実施させることが可能となる。
In this case, since the above-described
図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) :
処理実行部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) :
処理実行部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) :
また、別の装置に存在する処理実行部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) :
処理実行部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) :
処理実行部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) :
ここで、前述の処理実行部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-
前述のデータベース・スレーブノード部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
その後、前述のデータベース・スレーブノード部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
その後、前述のデータベース・スレーブノード部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
その後、前述のデータベース・スレーブノード部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
次に、既存技術による従来手法で故障が発生した場合の処理手順について、簡単に説明する。故障は大きくは、データベース・スレーブノード部で発生する場合とデータベース・マスタノード部で発生した場合に大別され、その各々で処理手順が異なる。 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.
データベース・スレーブノード部が故障した場合は、以上の処理手順で対応する。これに対して、データベース・マスタノード部で故障が発生した場合、実行状況に応じて幾つかの対処方式が存在する。ここでは、代表的な方式である別のデータベース・マスタノード部を選択する方式を説明する。 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
異常発生を通知する前述のメッセージ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
その後、当該データベース・マスタノード部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 /
具体的には、当該データベース・マスタノード部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-
前述のデータベース・スレーブノード部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
以上のように、従来のシェアードナッシング並列検索の技術領域では、大きく2系統の関連技術が存在する。 As described above, there are two related technologies in the technical field of conventional shared nothing parallel search.
第一の技術は、<非特許文献1>で言及されている様にシェアードナッシング並列検索を効果的に実行するためパーティショニング化において偏在データを考慮して結合演算処理を行い、最後に統合和演算処理、並びに射影・制限演算処理を行う方法である。
As described in <
第二の技術は、図1A、図1B、図2A、図2Bの様な<特許文献2>で言及されている様な方法であり、データベース・スレーブノード部とデータベース・マスタノード部の、エラー発生時の後処理に関するプロトコルを記したものである。
The second technique is a method such as that described in <
第一の技術により、効率的に並列検索を実施することが可能となるが、前述の通り、割り付けられた一つの処理実行部でエラーが発生した場合、それを補償しなければシェアードナッシング並列検索結果で不具合が発生する課題が存在する。しかし、<非特許文献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, <
第二の技術は、分散コミットメント方法に準拠した良く見られる方式であり、且つフェールオーバパートナー関係定義を記すことで、第一の技術で生じる課題について部分的に応じている様にも思われる。 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 <
本発明の目的は、複数サイト(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.
以下に、本発明の第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,
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
データベースアクセス部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
更に、データベースアクセス部1004は、統計情報管理部エージェント管理部1026と、レプリカ作成管理部1096も含む。統計情報管理部エージェント管理部1026は、実際の要求実行クエリの要素を実施した結果を収集し、前述の最適化部1025の処理に反映する。レプリカ作成管理部1096は、分散ストレージ1005、1006、1007、1008、1009、1010、1011、1012上に同等なレプリカを作成する。
Further, the
前述のクエリ受付部1021は、実際に要求された要求実行クエリである指定クエリ1031を保持する。前述の処理実行部1:1027、前述の処理実行部2:1028、前述の処理実行部(N−1):1029、並びに前述の処理実行部N:1030の各々は、当該指定クエリ1031を分解した実行単位である1032、1033、1034、並びに1035を含む。
The above-described
図4A〜図4Cでは、前述のリソース管理/トランザクション制御部1017や前述の分散ストレージ1005等が含まれる機能層に4つのサイトを記しているが、これに限定される訳ではない。各サイトは、各々、リソース管理/トランザクション制御部1017、1018、1019、1020を含む。
4A to 4C show four sites in the functional layer including the resource management /
更に、通常は、リソース管理/トランザクション制御部1017を持つサイト、リソース管理/トランザクション制御部1018を持つサイト、リソース管理/トランザクション制御部1019を持つサイト、リソース管理/トランザクション制御部1020を持つサイトは、同等レベルのレプリカに相当する。このため、前述のリソース管理/トランザクション制御部1017を持つサイト、リソース管理/トランザクション制御部1018を持つサイト、リソース管理/トランザクション制御部1019を持つサイト、リソース管理/トランザクション制御部1020を持つサイトは、互いに同じ構成を取ることを前提とする。
Further, normally, a site having a resource management /
しかし、要求に応じて、リソース管理/トランザクション制御部1017を持つサイト、リソース管理/トランザクション制御部1018を持つサイト、リソース管理/トランザクション制御部1019を持つサイト、リソース管理/トランザクション制御部1020を持つサイトのうち2つは等価である運用でも良い。
However, on request, a site having a resource management /
なお、本発明では、レプリカを維持管理する仕組みについては、言及しない。このため、レプリカの反映時間に遅れが出る方法を含めて、どの様な方法を採用しても良い。 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 /
更に、リソース管理/トランザクション制御部1017を持つサイトは、性能/エラー情報/統計情報サービス1013も含む。
Further, the site having the resource management /
当該分散ストレージ1005内のデータベースの表領域、索引領域には、関係R1に相当し偏在データを扱う表Table.1 (s):1036と、被偏在データを扱う表Table.1 (j):1037と、一般データを扱う表Table.1 (c):1038と、関係R2に相当し偏在データを扱う表Table.2 (s):1039と、被偏在データを扱う表Table.2 (j):1040と、一般データを扱う表Table.2 (c):1041と、関係Rnに相当し偏在データを扱う表Table.n (s):1042と、被偏在データを扱う表Table.n (j):1043と、一般データを扱う表Table.n (c):1044が格納される。Database tablespaces in the distributed
また、索引領域には、索引1045が格納される。一時領域には、中間成果1:1046、中間成果2:1092が格納される。
An
前述の分散ストレージ1006は、Log/ジャーナル1047と、性能情報/エラー情報1048と、オブジェクト毎の統計情報1049を含む。性能情報/エラー情報1048は、全般的な性能情報やエラー情報を管理する。なお、情報の管理手法としては、情報の統合/リスト化/グループ化/データベース化等が考えられる。但し、実際には、これらの例に限定されない。オブジェクト毎の統計情報1049は、分散ストレージ1005上の前述の表Table.1 (s):1036、前述の表Table.1 (j):1037、前述の表Table.1 (c):1038、前述の表Table.2 (s):1039、前述の表Table.2 (j):1040、前述の表Table.2 (c):1041、前述の表Table.n (s):1042、前述の表Table.n (j):1043、前述の表Table.n (c):1044、前述の索引1045に対するアクセス性能の統計情報を管理する。The distributed storage 1006 described above includes Log /
リソース管理/トランザクション制御部1018を持つサイトには、分散ストレージ1007、並びに1008が関係付けられて配置されている。当該分散ストレージ1007は、データベースの表領域、索引領域を持つ。別の分散ストレージ1008には、Logやジャーナル等が配置される。この場合、分散ストレージは2つとは限らず、1つ若しくは3つ以上でも良い。すなわち、分散ストレージは、少なくとも1つ存在する。
At the site having the resource management /
更に、リソース管理/トランザクション制御部1018を持つサイトは、性能/エラー情報/統計情報サービス1014も含む。
Further, the site having the resource management /
当該分散ストレージ1007内のデータベースの表領域、索引領域には、関係R1に相当し偏在データを扱う表Table.1 (s):1050と、被偏在データを扱う表Table.1 (j):1051と、一般データを扱う表Table.1 (c):1052と、関係R2に相当し偏在データを扱う表Table.2 (s):1053と、被偏在データを扱う表Table.2 (j):1054と、一般データを扱う表Table.2 (c):1055と、関係Rnに相当し偏在データを扱う表Table.n (s):1056と、被偏在データを扱う表Table.n (j):1057と、一般データを扱う表Table.n (c):1058が格納される。Database tablespaces in the distributed
また、索引領域には、索引1059が格納される。一時領域には、中間成果1、1060、中間成果2、1093が格納される。
An
前述の分散ストレージ1008には、Log/ジャーナル1061と、オブジェクト毎の統計情報1063と、性能情報/エラー情報1062を含む。性能情報/エラー情報1062は、全般的な性能情報やエラー情報を管理する。オブジェクト毎の統計情報1063は、分散ストレージ1007上の前述の表Table.1 (s):1050、前述の表Table.1 (j):1051、前述の表Table.1 (c):1052、前述の表Table.2 (s):1053、前述の表Table.2 (j):1054、前述の表Table.2 (c):1055、前述の表Table.n (s):10562、前述の表Table.n (j):1057、前述の表Table.n (c):1058、前述の索引1059に対するアクセス性能の統計情報を管理する。The above-mentioned distributed
リソース管理/トランザクション制御部1019を持つサイトには、分散ストレージ1009、並びに1010が関係付けられて配置されている。当該分散ストレージ1009は、データベースの表領域、索引領域を持つ。別の分散ストレージ1010には、Logやジャーナル等が配置される。この場合、分散ストレージは2つとは限らず、1つ若しくは3つ以上でも良い。すなわち、分散ストレージは、少なくとも1つ存在する。
In a site having the resource management /
更に、リソース管理/トランザクション制御部1019を持つサイトは、性能/エラー情報/統計情報サービス1015も含む。
Further, the site having the resource management /
当該分散ストレージ1009内のデータベースの表領域、索引領域には、関係R1に相当し偏在データを扱う表Table.1 (s):1064と、被偏在データを扱う表Table.1 (j):1065と、一般データを扱う表Table.1 (c):1066と、関係R2に相当し偏在データを扱う表Table.2 (s):1067と、被偏在データを扱う表Table.2 (j):1068と、一般データを扱う表Table.2 (c):1069と、関係Rnに相当し偏在データを扱う表Table.n (s):1070と、被偏在データを扱う表Table.n (j):1071と、一般データを扱う表Table.n (c):1072が格納される。Database tablespaces in the distributed
また、索引領域には、索引1073が格納される。一時領域には、中間成果1、1074、中間成果2、1094が格納される。
An
前述の分散ストレージ1010は、Log/ジャーナル1075と、性能情報/エラー情報1076と、オブジェクト毎の統計情報1077を含む。性能情報/エラー情報1076は、全般的な性能情報やエラー情報を管理する。オブジェクト毎の統計情報1077は、分散ストレージ1009上の前述の表Table.1 (s):1064、前述の表Table.1 (j):1065、前述の表Table.1 (c):1066、前述の表Table.2 (s):1067、前述の表Table.2 (j):1068、前述の表Table.2 (c):1069、前述の表Table.n (s):1070、前述の表Table.n (j):1071、前述の表Table.n (c):1072、前述の索引1073に対するアクセス性能の統計情報を管理する。The distributed
リソース管理/トランザクション制御部1020を持つサイトには、分散ストレージ1011、並びに1012が関係付けられて配置されている。当該分散ストレージ1011は、データベースの表領域、索引領域を持つ。別の分散ストレージ1012には、Logやジャーナル等が配置される。この場合、分散ストレージは2つとは限らず、1つ若しくは3つ以上でも良い。すなわち、分散ストレージは、少なくとも1つ存在する。
At the site having the resource management /
更に、リソース管理/トランザクション制御部1020を持つサイトは、性能/エラー情報/統計情報サービス1016も含む。
Further, the site having the resource management /
当該分散ストレージ1011内のデータベースの表領域、索引領域には、関係R1に相当し偏在データを扱う表Table.1 (s):1078と、被偏在データを扱う表Table.1 (j):1079と、一般データを扱う表Table.1 (c):1080と、関係R2に相当し偏在データを扱う表Table.2 (s):1081と、被偏在データを扱う表Table.2 (j):1082と、一般データを扱う表Table.2 (c):1083と、関係Rnに相当し偏在データを扱う表Table.n (s):1084と、被偏在データを扱う表Table.n (j):1085と、一般データを扱う表Table.n (c):1086が格納される。Database tablespaces in the distributed
また、索引領域には、索引1087が格納される。一時領域には、中間成果1、1088、中間成果2、1095が格納される。
An
前述の分散ストレージ1011には、Log/ジャーナル1089と、性能情報/エラー情報1090と、オブジェクト毎の統計情報1091を含む。性能情報/エラー情報1090は、全般的な性能情報やエラー情報を管理する。オブジェクト毎の統計情報1091は、分散ストレージ1012上の前述の表Table.1 (s):1078、前述の表Table.1 (j):1079、前述の表Table.1 (c):1080、前述の表Table.2 (s):1081、前述の表Table.2 (j):1082、前述の表Table.2 (c):1083、前述の表Table.n (s):1084、前述の表Table.n (j):1085、前述の表Table.n (c):1086、前述の索引1087に対するアクセス性能の統計情報を管理する。The aforementioned distributed
<第一実施例>
ここでは、本発明である「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」の第一実施例について図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
当該実行制御部1022は、当該要求実行クエリs002を分解し、個別の実行単位の実行クエリ群を生成するため、更に、クエリ解析部1023に要求実行クエリs003として渡す。
The
前述のクエリ解析部1023は、要求実行クエリs003を受理すると、要求実行クエリs003の構文解析を実施する。構文解析の際は、ディクショナリアクセス部1024を介してディクショナリから定義情報s004を検索して解析を実施する。
When receiving the request execution query s003, the
クエリ解析部1023は、その解析結果を中間解析結果s005として一度、前述の実行制御部1022に返信する。その後、当該実行制御部1022は、当該中間解析結果s005の最適化を実施するため、最適化部1025に当該中間解析結果s005を引数で含めた実行要求s006を送信する。
The
最適化部1025は、図3に基づいた方式に基づき、前述の中間解析結果s005の変形を行う。特に、図6の(式1)に基づき、実際の要求実行クエリの要素を実行した結果により得られた性能統計情報・信頼性情報に基づいて評価を行うため、必要に応じて、統計情報管理部エージェント管理部1026から性能統計情報・信頼性情報s007を入手する。
The
第一実施例では、実際の要求実行クエリの要素を実行した結果により得られた性能統計情報・信頼性情報を用いる訳ではなく、事前に別途計測された信頼性情報を用いるため、性能統計情報・信頼性情報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
<シェアードナッシング並列検索のパーティショニング依存のエラー補償手法>
以下に、シェアードナッシング並列検索のパーティショニング依存のエラー補償の手順について示す。<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
その後、前述の最適化部1025は、独立して利用出来るリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合を全て特定する。ここでは、そのサイト(パーティション)群集合をS:{s(1),...,s(N)}で表現する(ステップ.2)。Thereafter, the above-described
その後、前述の最適化部1025は、指定クエリの分割方針を決定するため、図6の(式1)を利用して、「再配分プロトコル」並びに「多重化プロトコル」の評価を実施する。まずは、「再配分プロトコル」に関する評価を実施する(ステップ.3)。
Thereafter, the
前述の最適化部1025は、「再配分プロトコル」として前述のサイト(パーティション)群集合Sから多重化向けに利用するサイト(パーティション)群集合SR:{sr(1),..,sr(m)}を指定する(ステップ.3.1)。その後、前述の最適化部1025は、前述のサイト(パーティション)群から多重化向けに利用しないサイト(パーティション)群集合S−SRを指定する(ステップ.3.2)。The
前述の(ステップ.3.2)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SRの台数nを求める(ステップ.3.3)。
Subsequent to the above-described (Step 3.2), the above-described
続けて、前述の最適化部1025は、実施クエリの想定件数を前述の台数nで均等割りし指定クエリの実行単位をn作成し、多重化向けに利用しないサイト(パーティション)群集合S−SRの各サイト(パーティション)へ割付を行う(ステップ.3.4)。
Subsequently, the
前述の(ステップ.3.4)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SRから1サイト(パーティション)s(k)を順次選択する(ステップ.3.5)。Subsequent to the above (Step 3.4), the
(ステップ.3.5)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。前述の最適化部1025は、joincost関数で計算する際、通常、結合演算コスト値を計算し、単一Tableを扱う場合、その検索コスト値を計算する。その際、前述の最適化部1025は、「再配分プロトコル」と発生するデータ件数を指定する(ステップ.3.5.1)。
(Step 3.5) As a subordinate, the
前述の(ステップ.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
前述の(ステップ.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
前述の(ステップ.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
前述の(ステップ.3.5.4)に続いて、前述の最適化部1025は、多重化に利用しないサイト(パーティション)群集合S−SR−{s(k)}から1サイト(パーティション)s(l)を選択する(ステップ.3.5.5)。Subsequent to the above (Step 3.5.5.4), the
(ステップ.3.5.5)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する(ステップ.3.5.5.1)。
(Step 3.5.5) As a subordinate, the
前述の(ステップ.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
前述の最適化部1025は、次のサイト(パーティション)s(l+1)を選択する。前述の最適化部1025は、これを選択出来なくなるまで繰り返す(ステップ.3.5.5.3)。The
前述の(ステップ.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
前述の最適化部1025は、次のサイト(パーティション)s(k+1)を選択する。前述の最適化部1025は、これを選択出来なくなるまで繰り返す(ステップ.3.5.7)。The
前述の(ステップ.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
前述の(ステップ.3.6)に続いて、前述の最適化部1025は、前述のサイト(パーティション)の組合せ集合SCから1組合せsc(k)(要素をs(k1),s(k2)とする。)を順次選択する(ステップ.3.7)。Subsequent to the above-described (Step 3.6), the above-described
(ステップ.3.7)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数を基に2回呼び出し、組合要素毎に計算する(ステップ.3.7.1)。
(Step 3.7) As a subordinate, the
前述の(ステップ.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
前述の(ステップ.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
前述の(ステップ.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
(ステップ.3.7.4)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する(ステップ.3.7.4.1)。
(Step 3.7.4) As a subordinate, the
前述の(ステップ.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
前述の(ステップ.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
前述の(ステップ.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
前述の(ステップ.3.7.5)に続いて、前述の最適化部1025は、前述のサイト(パーティション)の組合せ集合SCから次の組合せsc(k+1)を選択する(ステップ.3.7.6)。Subsequent to the above-described (Step 3.7.5), the above-described
前述の(ステップ.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
前述の(ステップ.3.8)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合S−SRの全サイト(パーティション)組合せに対する期待joincost4値(s(k))+期待joincost5値(s(k))の合計値を求める(ステップ.3.9)。Subsequent to the above (Step 3.8), the
前述の(ステップ.3.9)に続いて、前述の最適化部1025は、3サイト(パーティション)以上で同時故障を考慮するべきか、否か(同時故障を評価するか、しないか)を判定する(ステップ.3.10)。
Subsequent to the above (Step 3.9), the above-described
「評価する」とした場合、前述の最適化部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
続けて、前述の最適化部1025は、前述の(ステップ.3.7)と同等の処理を行う(ステップ.3.10.2)。
Subsequently, the
「評価しない」とした場合、前述の最適化部1025は、次の(ステップ.3.11)に進む(ステップ.3.10.3)。
When “not evaluated” is determined, the above-described
続けて、前述の最適化部1025は、多重化向けに利用するサイト(パーティション)群集合SRからペアとなる2サイト(パーティション)sr(k1)、sr(k2)を順次選択する(ステップ.3.11)。Subsequently, the
(ステップ.3.11)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。その際、「多重化プロトコル」と発生するデータ件数が指定される(ステップ.3.11.1)。
(Step 3.11) As a subordinate, the
前述の(ステップ.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
前述の(ステップ.3.11.2)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRから次のペアとなる2サイト(パーティション)sr(k1+1)、sr(k2+1)を選択する(ステップ.3.11.3)。Subsequent to the above (Step 3.1.12), the
前述の(ステップ.3.11)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRから全サイト(パーティション)組合せに対する期待joincost6値(s(k))の合計値を求める(ステップ.3.12)。Subsequent to the above (Step 3.11), the
前述の(ステップ.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
前述の(ステップ.3.13)に続いて、前述の最適化部1025は、当該「再配分プロトコル」に対する図6の(式1)のTotalCost1(P=‘再配分プロトコル’,t=constant)値を計算する(ステップ.3.14)。
Subsequent to the above (Step 3.13), the
前述の最適化部1025は、「多重化プロトコル」としてシェアードナッシングによるクエリ実施の分割を想定せずに、全てを多重化する場合の評価を実施する(ステップ.4)。
The
(ステップ.4)配下として、前述の最適化部1025は、前述のリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合S:{s(1),...,s(N)}全てを多重化向けに利用するサイト(パーティション)群集合SRに指定する(ステップ.4.1)。(Step 4) As a subordinate, the
前述の(ステップ.4.1)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRからペアとなる2サイト(パーティション)sr(k1)とsr(k2)を順次選択する(ステップ.4.2)。Subsequent to the above (Step 4.1), the
(ステップ.4.2)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。その際、「多重化プロトコル」と発生するデータ件数が指定される(ステップ.4.2.1)。
(Step 4.2) As a subordinate, the
前述の(ステップ.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
前述の(ステップ.4.2.2)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRから次のペアとなる2サイト(パーティション)sr(k1+1)とsr(k2+1)を選択する(ステップ.4.2.3)。Subsequent to the above (Step 4.2.2), the
前述の(ステップ.4.2)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRの全サイト(パーティション)組合せに対する期待joincost7値(s(k))の合計値を求める(ステップ.4.3)。Subsequent to the above (Step 4.2), the
前述の(ステップ.4.3)に続いて、前述の最適化部1025は、期待joincost7値の対象件数に対する和演算である図6の(式1)中のunitoncost値を計算する。更に、前述の最適化部1025は、射影演算である図6の(式1)中のrestrictioncost値を計算する(ステップ.4.4)。
Subsequent to the above (Step 4.3), the above-described
前述の最適化部1025は、当該「多重化プロトコル」に対する図6の(式1)TotalCost1(P=‘多重化プロトコル’,t=constant)値を計算する(ステップ.4.5)。
The
前述の(ステップ.4)に続いて、前述の最適化部1025は、前述のTotalCost1(P=‘再配分プロトコル’,t=constant)値と、前述のTotalCost1(P=‘多重化プロトコル’,t=constant)値とを比較して、値の小さい方を採用する(ステップ.5)。
Subsequent to the above (Step 4), the
前述の(ステップ.5)に続いて、前述の最適化部1025は、採用されたものにより要求実行要素クエリ群s008を生成する(ステップ.6)。
<付記>Subsequent to the above (Step 5), the above-described
<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
そして、実行制御部1022は、当該制限条件その1を処理実行部1:1027の指定クエリの実行単位1032に割り付けており、当該制限条件その1を2重化したものを処理実行部2:1028の指定クエリの実行単位1033に割り付けている。
Then, the
同様に、実行制御部1022は、当該制限条件その2を処理実行部(N−1):1029の指定クエリの実行単位1034に割り付けており、当該制限条件その2を2重化したものを処理実行部N:1030の指定クエリの実行単位1035に割り付けている。
Similarly, the
具体的な割り付けについては、前述の実行制御部1022から複数の処理実行部に要求実行要素クエリ群が渡されることになる。
For specific allocation, a request execution element query group is passed from the
例えば、前述の処理実行部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
同様に、前述の処理実行部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
同様に、前述の処理実行部(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
同様に、前述の処理実行部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
なお、第一実施例では、実行制御部1022の割り付けは1度のみの実行を想定している訳ではなく、指定クエリの内容に応じて複数回の割り付け〜実行を考慮する。
In the first embodiment, the allocation of the
前述の実行制御部1022は、前述の指定クエリの実行単位1032を実行するため、前述の処理実行部1:1027に割り付いている指定クエリである要求実行要素クエリ1032をリソース管理/トランザクション処理部1017にメッセージs013を介して送信する。
The above-described
その後、前述のリソース管理/トランザクション処理部1017は、分散ストレージ1005等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1017は、検索対象の関係は関係R1のみであるため、関係R1の偏在データを扱う表Table.1 (s):1036、関係R1の被偏在データを扱う表Table.1 (j):1037、関係R1の一般データを扱う表Table.1 (c):1038を含んだ関係R1を扱う表Table.1に対して、前述のメッセージs013に含まれた要求実行要素クエリs017を送信している。Thereafter, the resource management /
その後、前述の分散ストレージ1005は、当該要求実行要素クエリs017に対する検索結果s021を、前述のリソース管理/トランザクション処理部1017に戻す。更に、前述のリソース管理/トランザクション処理部1017は、当該検索結果s021を含んだメッセージs025により、当該検索結果を前述の処理実行部1:1027に送信することになる。
Thereafter, the distributed
更に、前述の処理実行部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
前述の実行制御部1022は、前述の指定クエリの実行単位1033を実行するため、前述の処理実行部2:1028に割り付いている指定クエリである要求実行要素クエリ1033をリソース管理/トランザクション処理部1018にメッセージs014を介して送信する。
The above-described
その後、前述のリソース管理/トランザクション処理部1018は、分散ストレージ1007等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1018は、検索対象の関係は関係R1のみであるため、関係R1の偏在データを扱う表Table.1 (s):1050、関係R1の被偏在データを扱う表Table.1 (j):1051、関係R1の一般データを扱う表Table.1 (c):1052を含んだ関係R1を扱う表Table.1に対して、前述のメッセージs014に含まれた要求実行要素クエリs018を送信している。Thereafter, the resource management /
その後、前述の分散ストレージ1007は、当該要求実行要素クエリs018に対する検索結果s022を、前述のリソース管理/トランザクション処理部1018に戻す。更に、前述のリソース管理/トランザクション処理部1018は、当該検索結果s022を含んだメッセージs026により、当該検索結果を前述の処理実行部2:1028に送信することになる。
Thereafter, the distributed
更に、前述の処理実行部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
前述の実行制御部1022は、前述の指定クエリの実行単位1034を実行するため、前述の処理実行部(N−1):1029に割り付いている指定クエリである要求実行要素クエリ1034をリソース管理/トランザクション処理部1019にメッセージs015を介して送信する。
The
その後、前述のリソース管理/トランザクション処理部1019は、分散ストレージ1009等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1019は、検索対象の関係は関係R1のみであるため、関係R1の偏在データを扱う表Table.1 (s):1064、関係R1の被偏在データを扱う表Table.1 (j):1065、関係R1の一般データを扱う表Table.1 (c):1066を含んだ関係R1を扱う表Table.1に対して、前述のメッセージs015に含まれた要求実行要素クエリs019を送信している。Thereafter, the resource management /
その後、前述の分散ストレージ1009は、当該要求実行要素クエリs019に対する検索結果s023を、前述のリソース管理/トランザクション処理部1019に戻す。更に、前述のリソース管理/トランザクション処理部1019は、当該検索結果s023を含んだメッセージs027により、当該検索結果を前述の処理実行部(N−1):1029に送信することになる。
Thereafter, the distributed
更に、前述の処理実行部(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
前述の実行制御部1022は、前述の指定クエリの実行単位1035を実行するため、前述の処理実行部N:1030に割り付いている指定クエリである要求実行要素クエリ1035をリソース管理/トランザクション処理部1020にメッセージs016を介して送信する。
Since the
その後、前述のリソース管理/トランザクション処理部1020は、分散ストレージ1011等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1020は、検索対象の関係は関係R1のみであるため、関係R1の偏在データを扱う表Table.1 (s):1078、関係R1の被偏在データを扱う表Table.1 (j):1079、関係R1の一般データを扱う表Table.1 (c):1080を含んだ関係R1を扱う表Table.1に対して、前述のメッセージs016に含まれた要求実行要素クエリs020を送信している。Thereafter, the resource management /
その後、分散ストレージ1011は、当該要求実行要素クエリs020に対する検索結果s024を、前述のリソース管理/トランザクション処理部1020に戻す。更に、前述のリソース管理/トランザクション処理部1020は、当該検索結果s024を含んだメッセージs028により、当該検索結果を前述の処理実行部N:1030に送信することになる。
Thereafter, the distributed
更に、前述の処理実行部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
前述の実行制御部1022は、前述の検索結果s029、前述の検索結果s030、前述の検索結果s031、前述の検索結果s032を入手すると、指定クエリの内容に応じて、複数回の割り付け〜実行が無い場合、図3の集約処理に相当する処理を実施し、その結果を生成し、当該結果を含む結果メッセージs033として、起動元であるデータベースアクセスクライアント部1003に返信し、一連の処理を終了する。
When the
<第二実施例>
ここでは、本発明である「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」の第二実施例について、図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
当該実行制御部1022は、当該要求実行クエリs102を分解し、個別の実行単位の実行クエリ群を生成するため、更に、クエリ解析部1023に要求実行クエリs103として渡す。
The
前述のクエリ解析部1023は、要求実行クエリs103を受理すると、要求実行クエリs103の構文解析を実施する。前述のクエリ解析部1023は、構文解析の際、ディクショナリアクセス部1024を介してディクショナリから定義情報s104を検索して解析を実施する。
When receiving the request execution query s103, the
前述のクエリ解析部1023は、その解析結果を中間解析結果s105として一度、前述の実行制御部1022に返信する。その後、当該実行制御部1022は、当該中間解析結果s105の最適化を実施するため、最適化部1025に当該中間解析結果s105を引数で含めた実行要求s106を送信する。
The
最適化部1025は、図3に基づいた方式に基づき、前述の中間解析結果s105の変形を行う。最適化部1025は、特に図6の(式1)に基づき、実際の要求実行クエリの要素を実行した結果により得られた性能統計情報・信頼性情報に基づいて評価を行うため、必要に応じて、統計情報管理部エージェント管理部1026から性能統計情報・信頼性情報s107を入手する。
The
第二実施例では、実際の要求実行クエリの要素を実行した結果により得られた性能統計情報・信頼性情報を用いるため、性能統計情報・信頼性情報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
<要求実行要素クエリ群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
そして、実行制御部1022は、当該制限条件その1を処理実行部1:1027の指定クエリの実行単位1032に割り付けており、当該制限条件その1を2重化したものを処理実行部2:1028の指定クエリの実行単位1033に割り付けている。
Then, the
同様に、実行制御部1022は、当該制限条件その2を処理実行部(N−1):1029の指定クエリの実行単位1034に割り付けており、当該制限条件その2を2重化したものを処理実行部N:1030の指定クエリの実行単位1035に割り付けている。
Similarly, the
具体的な割り付けについては、前述の実行制御部1022から複数の処理実行部に要求実行要素クエリ群が渡されることになる。
For specific allocation, a request execution element query group is passed from the
例えば、前述の処理実行部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
同様に、前述の処理実行部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
同様に、前述の処理実行部(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
同様に、前述の処理実行部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
なお、第二実施例でも、実行制御部1022の割り付けは1度のみの実行を想定している訳ではなく、指定クエリの内容に応じて複数回の割り付け〜実行を考慮する。
Also in the second embodiment, the allocation of the
前述の実行制御部1022は、前述の指定クエリの実行単位1032を実行するため、前述の処理実行部1:1027に割り付いている指定クエリである要求実行要素クエリ1032をリソース管理/トランザクション処理部1017にメッセージs113を介して送信する。
The above-described
その後、前述のリソース管理/トランザクション処理部1017は、分散ストレージ1005等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1017は、検索対象の関係は関係R1のみであるため、関係R1の偏在データを扱う表Table.1 (s):1036、関係R1の被偏在データを扱う表Table.1 (j):1037、関係R1の一般データを扱う表Table.1 (c):1038を含んだ関係R1を扱う表Table.1に対して、前述のメッセージs013に含まれた要求実行要素クエリs117を送信している。Thereafter, the resource management /
その後、前述の分散ストレージ1005は、当該要求実行要素クエリs117に対する検索結果s121を、前述のリソース管理/トランザクション処理部1017に戻す。更に、前述のリソース管理/トランザクション処理部1017は、当該検索結果s121を含んだメッセージs125により、当該検索結果を前述の処理実行部1:1027に送信することになる。
Thereafter, the distributed
更に、前述の処理実行部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
前述の実行制御部1022は、前述の指定クエリの実行単位1033を実行するため、前述の処理実行部2:1028に割り付いている指定クエリである要求実行要素クエリ1033をリソース管理/トランザクション処理部1018にメッセージs114を介して送信する。
The above-described
その後、前述のリソース管理/トランザクション処理部1018は、分散ストレージ1007等に格納されている表Table群に問い合わせを行う。第一実施例では、前述のリソース管理/トランザクション処理部1018は、検索対象の関係は関係R1のみであるため、関係R1の偏在データを扱う表Table.1 (s):1050、関係R1の被偏在データを扱う表Table.1 (j):1051、関係R1の一般データを扱う表Table.1 (c):1052を含んだ関係R1を扱う表Table.1に対して、前述のメッセージs114に含まれた要求実行要素クエリs118を送信している。Thereafter, the resource management /
その後、分散ストレージ1007は、当該要求実行要素クエリs118に対する検索結果s122を、前述のリソース管理/トランザクション処理部1018に戻す。更に、前述のリソース管理/トランザクション処理部1018は、当該検索結果s122を含んだメッセージs126により、当該検索結果を前述の処理実行部2:1028に送信することになる。
Thereafter, the distributed
更に、前述の処理実行部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
前述の実行制御部1022は、前述の指定クエリの実行単位1034を実行するため、前述の処理実行部(N−1):1029に割り付いている指定クエリである要求実行要素クエリ1034をリソース管理/トランザクション処理部1019にメッセージs115を介して送信する。
The
その後、前述のリソース管理/トランザクション処理部1019は、分散ストレージ1009等に格納されている表Table群に問い合わせを行う。第一実施例では、検索対象の関係は関係R1のみであるため、関係R1の偏在データを扱う表Table.1 (s):1064、関係R1の被偏在データを扱う表Table.1 (j):1065、関係R1の一般データを扱う表Table.1 (c):1066を含んだ関係R1を扱う表Table.1に対して、前述のメッセージs115に含まれた要求実行要素クエリs119を送信している。Thereafter, the resource management /
その後、分散ストレージ1009は、当該要求実行要素クエリs119に対する検索結果s123を、前述のリソース管理/トランザクション処理部1019に戻す。更に、前述のリソース管理/トランザクション処理部1019は、当該検索結果s123を含んだメッセージs127により、当該検索結果を前述の処理実行部(N−1):1029に送信することになる。
Thereafter, the distributed
更に、前述の処理実行部(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
前述の実行制御部1022は、前述の指定クエリの実行単位1035を実行するため、前述の処理実行部N:1030に割り付いている指定クエリである要求実行要素クエリ1035をリソース管理/トランザクション処理部1020にメッセージs116を介して送信する。
Since the
その後、前述のリソース管理/トランザクション処理部1020は、分散ストレージ1011等に格納されている表Table群に問い合わせを行う。第二実施例では、検索対象の関係は関係R1のみであるため、関係R1の偏在データを扱う表Table.1 (s):1078、関係R1の被偏在データを扱う表Table.1 (j):1079、関係R1の一般データを扱う表Table.1 (c):1080を含んだ関係R1を扱う表Table.1に対して、前述のメッセージs116に含まれた要求実行要素クエリs120を送信している。Thereafter, the resource management /
その後、分散ストレージ1011は、当該要求実行要素クエリs120に対する検索結果s124を、前述のリソース管理/トランザクション処理部1020に戻す。更に、前述のリソース管理/トランザクション処理部1020は、当該検索結果s124を含んだメッセージs128により、当該検索結果を前述の処理実行部N:1030に送信することになる。
Thereafter, the distributed
更に、前述の処理実行部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
前述の実行制御部1022は、前述の検索結果s129、前述の検索結果s130、前述の検索結果s131、前述の検索結果s132を入手すると、指定クエリの内容に応じて、複数回の割り付け〜実行が無い場合、図3の集約処理に相当する処理を実施し、その結果を生成し、当該結果を含む結果メッセージs133として、起動元であるデータベースアクセスクライアント部1003に返信し、一連の処理を終了する。
When the
第二実施例では、前述の実行制御部1022は、時間に応じて変動する性能統計情報・信頼性情報s107を維持するため、前述の性能/エラー情報/統計情報サービス1013,1014,1015,1016等により各分散ストレージ上の最新の性能統計情報・信頼性情報s150,s151,s152,s153を得る。
In the second embodiment, the above-described
このために、前述の実行制御部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
前述の実行制御部1022は、概ね同時にアクセスしたTable,索引等の分散ストレージ内部のオブジェクト毎のアクセス性能統計を取るため、前述のオブジェクト毎の統計情報1049に時刻印と伴に統計情報s134を書き込む。
The above-described
前述の実行制御部1022は、前述の性能・エラー情報記録s135を、前述の性能/エラー情報/統計情報サービス1013から性能・エラー情報記録s143として取り出す。同様に、前述の実行制御部1022は、前述の統計情報s134を、前述の性能/エラー情報/統計情報サービス1013から統計情報s142として取り出す。その後、前述の実行制御部1022は、当該性能/エラー情報/統計情報サービス1013を、若干の加工処理を施した後、各分散ストレージ上の最新の性能統計情報・信頼性情報s150として、前述の統計情報管理部・エージェント管理部1026に送信する。
The
同様に、前述の実行制御部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
概ね同時にアクセスした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
前述の実行制御部1022は、前述の性能・エラー情報記録s137を、前述の性能/エラー情報/統計情報サービス1014から性能・エラー情報記録s145として取り出す。同様に、前述の実行制御部1022は、前述の統計情報s136を、前述の性能/エラー情報/統計情報サービス1014から統計情報s144として取り出す。その後、前述の実行制御部1022は、当該性能/エラー情報/統計情報サービス1014を、若干の加工処理を施した後、各分散ストレージ上の最新の性能統計情報・信頼性情報s151として、前述の統計情報管理部・エージェント管理部1026に送信する。
The
同様に、前述の実行制御部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
前述の実行制御部1022は、概ね同時にアクセスしたTable,索引等の分散ストレージ内部のオブジェクト毎のアクセス性能統計を取るため、前述のオブジェクト毎の統計情報1077に時刻印と伴に統計情報s138を書き込む。
The above-described
前述の実行制御部1022は、前述の性能・エラー情報記録s139を、前述の性能/エラー情報/統計情報サービス1015から性能・エラー情報記録s147として取り出す。同様に、前述の実行制御部1022は、前述の統計情報s138を、前述の性能/エラー情報/統計情報サービス1015から統計情報s146として取り出す。その後、前述の実行制御部1022は、当該性能/エラー情報/統計情報サービス1015を、若干の加工処理を施した後、各分散ストレージ上の最新の性能統計情報・信頼性情報s152として、前述の統計情報管理部・エージェント管理部1026に送信する。
The
同様に、前述の実行制御部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
前述の実行制御部1022は、概ね同時にアクセスしたTable,索引等の分散ストレージ内部のオブジェクト毎のアクセス性能統計を取るため、前述のオブジェクト毎の統計情報1091に時刻印と伴に統計情報s140を書き込む。
The above-described
前述の実行制御部1022は、前述の性能・エラー情報記録s141を、前述の性能/エラー情報/統計情報サービス1016から性能・エラー情報記録s149として取り出す。同様に、前述の実行制御部1022は、前述の統計情報s140を、前述の性能/エラー情報/統計情報サービス1016から統計情報s148として取り出す。その後、前述の実行制御部1022は、当該性能/エラー情報/統計情報サービス1016を、若干の加工処理を施した後、各分散ストレージ上の最新の性能統計情報・信頼性情報s153として、前述の統計情報管理部・エージェント管理部1026に送信する。
The
<第三実施例、第四実施例>
本発明である「シェアードナッシング並列検索のパーティショニング依存のエラー補償を見込んだクエリ装置」の第三実施例、第四実施例については、図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
このため、本実施例の処理手順では、新たに(ステップ.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
前述の(ステップ.1)に続いて、前述の最適化部1025は、前述の中間解析結果s005で表現されるクエリ内容に応じて部分多重化に対して多重化せず「シェアードナッシング」で処理する範囲を特定する(ステップ.2)。
Subsequent to the above (Step 1), the
その後、前述の最適化部1025は、独立して利用出来るリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合を全て特定する。ここでは、そのサイト(パーティション)群集合をS:{s(1),...,s(N)}で表現する(ステップ.3)。Thereafter, the above-described
その後、前述の最適化部1025は、指定クエリの再分割方針を決定するため「再配分プロトコル」並びに「多重化プロトコル」の評価を図6の(式1)を利用して実施する。まず「再配分プロトコル」に関する評価を実施する(ステップ.4)。
Thereafter, the
前述の最適化部1025は、「再配分プロトコル」として前述のサイト(パーティション)群集合Sから多重化向けに利用するサイト(パーティション)群集合SR:{sr(1),..,sr(m)}を指定する(ステップ.4.1)。その後、前述の最適化部1025は、前述のサイト(パーティション)群から多重化向けに利用しないサイト(パーティション)群集合S−SRを指定する(ステップ.4.2)。The
前述の(ステップ.4.2)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SRの台数nを求める(ステップ.4.3)。
Subsequent to the above-described (Step 4.2), the above-described
続けて、前述の最適化部1025は、実施クエリの想定件数を前述の台数nで均等割りし指定クエリの実行単位をn作成し、多重化向けに利用しないサイト(パーティション)群集合S−SRの各サイト(パーティション)へ割付を行う。その際、前述の最適化部1025は、(ステップ.1)での前段の要求実行要素クエリ群との関係を維持する様に割り付けを実施する(ステップ.4.4)。
Subsequently, the
前述の(ステップ.4.4)に続いて、前述の最適化部1025は、多重化向けに利用しないサイト(パーティション)群集合S−SRから1サイト(パーティション)s(k)を順次選択する(ステップ.4.5)。Subsequent to the above (Step 4.4), the above-described
(ステップ.4.5)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。前述の最適化部1025は、joincost関数で計算する際、通常、結合演算コスト値を計算し、単一Tableを扱う場合、その検索コスト値を計算する。その際、前述の最適化部1025は、「再配分プロトコル」と発生するデータ件数を指定する(ステップ.4.5.1)。
(Step 4.5) As a subordinate, the
前述の(ステップ.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
前述の(ステップ.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
前述の(ステップ.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
前述の(ステップ.4.5.4)に続いて、前述の最適化部1025は、多重化に利用しないサイト(パーティション)群集合S−SR−{s(k)}から1サイト(パーティション)s(l)を選択する(ステップ.4.5.5)。Subsequent to the above (Step 4.5.5.4), the
(ステップ.4.5.5)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する(ステップ.4.5.5.1)。
(Step 4.5.5.5) As a subordinate, the
前述の(ステップ.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
前述の最適化部1025は、次のサイト(パーティション)s(l+1)を選択する。前述の最適化部1025は、これを選択出来なくなるまで繰り返す(ステップ.4.5.5.3)。The
前述の(ステップ.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
前述の最適化部1025は、次のサイト(パーティション)s(k+1)を選択する。前述の最適化部1025は、これを選択出来なくなるまで繰り返す(ステップ.4.5.7)。The
前述の(ステップ.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
前述の(ステップ.4.6)に続いて、前述の最適化部1025は、前述のサイト(パーティション)の組合せ集合SCから1組合せsc(k)(要素をs(k1)、s(k2)とする。)を順次選択する(ステップ.4.7)。Subsequent to the above-described (Step 4.6), the above-described
(ステップ.4.7)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数を基に2回呼び出し、組合要素毎に計算する(ステップ.4.7.1)。
(Step 4.7) As a subordinate, the
前述の(ステップ.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
前述の(ステップ.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
前述の(ステップ.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
(ステップ.4.7.4)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する(ステップ.4.7.4.1)。
(Step 4.7.4) As a subordinate, the
前述の(ステップ.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
前述の(ステップ.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
前述の(ステップ.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
前述の(ステップ.4.7.5)に続いて、前述の最適化部1025は、前述のサイト(パーティション)の組合せ集合SCから次の組合せsc(k+1)を選択する(ステップ.4.7.6)。Subsequent to the above-described (Step 4.7.5), the above-described
前述の(ステップ.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
前述の(ステップ.4.8)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合S−SRの全サイト(パーティション)組合せに対する期待joincost4値(s(k))+期待joincost5値(s(k))の合計値を求める(ステップ.4.9)。Subsequent to the above (Step 4.8), the above-described
前述の(ステップ.4.9)に続いて、前述の最適化部1025は、3サイト(パーティション)以上で同時故障を考慮するべきか、否か(同時故障を評価するか、しないか)を判定する(ステップ.4.10)。
Subsequent to the above (Step 4.9), the above-described
「評価する」とした場合、前述の最適化部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
続けて、前述の最適化部1025は、前述の(ステップ.4.7)と同等の処理を行う(ステップ.4.10.2)。
Subsequently, the
「評価しない」とした場合、前述の最適化部1025は、次の(ステップ.4.11)に進む(ステップ.4.10.3)。
When “not evaluated” is selected, the
続けて、前述の最適化部1025は、多重化向けに利用するサイト(パーティション)群集合SRからペアとなる2サイト(パーティション)sr(k1)、sr(k2)を順次選択する(ステップ.4.11)。Subsequently, the above-described
(ステップ.4.11)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。その際、前述の最適化部1025は、「多重化プロトコル」と発生するデータ件数を指定する(ステップ.4.11.1)。
(Step 4.11) As a subordinate, the
前述の(ステップ.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
前述の(ステップ.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
前述の(ステップ.4.11)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRから全サイト(パーティション)組合せに対する期待joincost6値(s(k))の合計値を求める(ステップ.4.12)。Subsequent to the above (Step 4.11), the
前述の(ステップ.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
前述の(ステップ.4.12)に続いて、前述の最適化部1025は、当該「再配分プロトコル」に対する図6の(式1)TotalCost1(P=‘再配分プロトコル’,t=constant)値を計算する(ステップ.4.14)。
Subsequent to the above (Step 4.12), the
前述の最適化部1025は、「多重化プロトコル」としてシェアードナッシングによるクエリ実施の分割を想定せずに、全てを多重化する「多重化プロトコル実施」に関する評価を実施する(ステップ.5)。
The
(ステップ.5)配下として、前述の最適化部1025は、前述のリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合S:{s(1),...,s(N)}全てを多重化向けに利用するサイト(パーティション)群集合SRに指定する(ステップ.5.1)。(Step 5) As a subordinate, the
前述の(ステップ.5.1)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRからペアとなる2サイト(パーティション)sr(k1)とsr(k2)を順次選択する(ステップ.5.2)。Subsequent to the above (Step 5.1), the
(ステップ.5.2)配下として、前述の最適化部1025は、失敗なしの検索コスト値を図6の(式1)中のjoincost関数で計算する。その際、前述の最適化部1025は、「多重化プロトコル」と発生するデータ件数を指定する(ステップ.5.2.1)。
(Step 5.2) As a subordinate, the
前述の(ステップ.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
前述の(ステップ.5.2.2)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRから次のペアとなる2サイト(パーティション)sr(k1+1)とsr(k2+1)を選択する(ステップ.5.2.3)。Subsequent to the above (Step 5.2.2), the
前述の(ステップ.5.2)に続いて、前述の最適化部1025は、前述のサイト(パーティション)群集合SRの全サイト(パーティション)組合せに対する期待joincost7値(s(k))の合計値を求める(ステップ.5.3)。Subsequent to the above (Step 5.2), the
前述の(ステップ.5.3)に続いて、前述の最適化部1025は、期待joincost7値の対象件数に対する和演算である図6の(式1)中のunitoncost値を計算する。更に、射影演算である図6の(式1)中のrestrictioncost値を計算する(ステップ.5.4)。
Subsequent to the above (Step 5.3), the
前述の最適化部1025は、当該「多重化プロトコル」に対する図6の(式1)TotalCost1(P=‘多重化プロトコル’,t=constant)値を計算する(ステップ.5.5)。
The
前述の(ステップ.5)に続いて、前述の最適化部1025は、前述のTotalCost1(P=‘再配分プロトコル’,t=constant)値に対して前述の(ステップ.1)に関連する評価値を重畳し、拡張TotalCost1(P=‘再配分プロトコル’,t=constant)値を計算する(ステップ.6)。
Subsequent to the above (Step 5), the
前述の(ステップ.6)に続いて、前述の最適化部1025は、前述のTotalCost1(P=‘多重化プロトコル’,t=constant)値に対して前述の(ステップ.1)に関連する評価値を重畳し、拡張TotalCost1(P=‘多重化プロトコル’,t=constant)値を計算する(ステップ.7)。
Subsequent to the above (Step 6), the
前述の(ステップ.7)に続いて、前述の最適化部1025は、拡張TotalCost1(P=‘再配分プロトコル’,t=constant)値と、拡張TotalCost1(P=‘多重化プロトコル’,t=constant)値とを比較して、値の小さい方を採用する(ステップ.8)。
Subsequent to the above (Step 7), the
前述の(ステップ.8)に続いて、前述の最適化部1025は、採用されたものにより要求実行要素クエリ群s008を生成する(ステップ.9)。
Subsequent to the above-described (Step 8), the above-described
前述の(ステップ.9)に続いて、前述の最適化部1025は、失敗したサイト(パーティション)を、独立して利用出来るリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合S:{s(1),...,s(N)}から削除する(ステップ.10)。Subsequent to the above-described (Step 9), the
前述の(ステップ.10)に続いて、前述の最適化部1025は、当段における当該要求実行要素クエリ群、並びにそれらの評価値、独立して利用出来るリソース管理/トランザクション処理部を持つサイト(パーティション)群の集合S:{s(1),...,s(N)}を一時的に保存する(ステップ.11)。Subsequent to the above-mentioned (Step 10), the above-described
上記のシェアードナッシング並列検索のパーティショニング依存のエラー補償手法を応用した手法の処理手順を用いることで、前述の最適化部1025は、実際の実行単位となる複数の要求実行要素クエリ群s108を生成することになる。
The
特に(ステップ.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 /
<第五実施例、第六実施例>
ここでは、図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.
第五実施例の特徴は、第四実施例で偏在データの存在を明示的に扱い、指定クエリで、当該偏在データの対処をした分割を行う方法である。第一実施例〜第四実施例では、検索対象の関係は関係R1のみであるため、関係R1の偏在データを扱う表Table.1 (s):1078、関係R1の被偏在データを扱う表Table.1 (j):1079、関係R1の一般データを扱う表Table.1 (c):1080を含んだ関係R1を扱う表Table.1に対して、前述の処理実行部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
これに対して、第一実施例〜第四実施例では、図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
これに対して、第六実施例では、図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 /
<まとめ>
以上のように、本発明は、データベース管理システムの内、検索処理を複数独立なサイトに分割して並列に実施するシェアードナッシング方式の並列処理に関するもので、当該検索処理を最適化するための最適化部に関連する。特に、単一のシステム内の機能モジュールからネットワーク全体に広く、且つ緩やかに連携する環境に分散し、大規模に展開された結果、当該検索処理の実行品質が悪化することに対して、適性検索品質で最大限に検索処理能力を上げる手法に関するものである。<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)
前記分散ストレージ群に関する性能統計情報・信頼性情報から稼働率・故障率を計算する手段と、
前記計算された稼働率・故障率から補償処理を見込んだ総処理コスト期待値を前記複数の補償処理手法の各々で計算する手段と、
総処理コスト期待値が最も小さい補償処理に基づき並列検索のクエリ分割を定める手段と
を具備する
クエリ装置。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.
前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測する手段と、
任意時点での稼働率・故障率を予め計算しておき、任意時点での稼働率・故障率を基に、総処理コスト期待値を計算する手段と
を更に具備する
クエリ装置。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.
クエリを構成する結合演算を複数の要素クエリに分解する手段と、
前記複数の要素クエリの各々を実施することで発生する中間成果と前記各要素クエリとを改めて結合するクエリ最適化手法を利用する手段と
を更に具備する
クエリ装置。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.
前記各要素クエリをシェアードナッシング並列検索結果で実施する度に、前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果に基づいて、その時点での稼働率・故障率を取得する手段と、
前記稼働率・故障率を基に処理コスト期待値を計算し、最適化内容を変更する手段と
を更に具備する
クエリ装置。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種類に分割した上で要素クエリを実施する手段と
を更に具備する
クエリ装置。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.
前記各要素クエリをシェアードナッシング並列検索結果で実施する場合、前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果に基づいて、その時点から指定期間の推定稼働率・推定故障率を取得する手段と、
前記推定稼働率・推定故障率を基に処理コスト期待値を計算し、最適化内容を変更する手段と
を更に具備する
クエリ装置。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.
前記分散ストレージ群に関する性能統計情報・信頼性情報から稼働率・故障率を計算することと、
前記計算された稼働率・故障率から補償処理を見込んだ総処理コスト期待値を前記複数の補償処理手法の各々で計算することと、
総処理コスト期待値が最も小さい補償処理に基づき並列検索のクエリ分割を定めることと
を含む
クエリ分割方法。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.
前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測することと、
任意時点での稼働率・故障率を予め計算しておき、任意時点での稼働率・故障率を基に総処理コスト期待値を計算することと
を更に含む
クエリ分割方法。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.
クエリを構成する結合演算を複数の要素クエリに分解することと、
前記複数の要素クエリの各々を実施することで発生する中間成果と前記各要素クエリを改めて結合するクエリ最適化手法を利用することと
を更に含む
クエリ分割方法。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.
前記各要素クエリをシェアードナッシング並列検索結果で実施する度に、前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果に基づいて、その時点での稼働率・故障率を取得することと、
前記稼働率・故障率を基に処理コスト期待値を計算し、最適化内容を変更することと
を更に含む
クエリ分割方法。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.
クエリ対象とするデータに偏在性があることを確認することと、
前記データを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.
前記各要素クエリをシェアードナッシング並列検索結果で実施する場合、前記分散ストレージ群に関する性能統計情報・信頼性情報を定期的に計測した結果に基づいて、その時点から指定期間の推定稼働率・推定故障率を取得することと、
前記推定稼働率・推定故障率を基に処理コスト期待値を計算し、最適化内容を変更することと、
を更に含む
クエリ分割方法。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:
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)
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)
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 |
-
2011
- 2011-03-14 WO PCT/JP2011/055891 patent/WO2011118427A1/en active Application Filing
- 2011-03-14 JP JP2012506943A patent/JPWO2011118427A1/en not_active Withdrawn
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 |