JP6998976B2 - クエリ処理方法、クエリ処理システム、サーバ及びコンピュータ可読媒体 - Google Patents
クエリ処理方法、クエリ処理システム、サーバ及びコンピュータ可読媒体 Download PDFInfo
- Publication number
- JP6998976B2 JP6998976B2 JP2020002745A JP2020002745A JP6998976B2 JP 6998976 B2 JP6998976 B2 JP 6998976B2 JP 2020002745 A JP2020002745 A JP 2020002745A JP 2020002745 A JP2020002745 A JP 2020002745A JP 6998976 B2 JP6998976 B2 JP 6998976B2
- Authority
- JP
- Japan
- Prior art keywords
- query
- node
- logical execution
- subplan
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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
-
- 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/2457—Query processing with adaptation to user needs
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/248—Presentation of query results
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Operations Research (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
サーバーノードによって、クエリリクエストを解析して対応する論理実行プランを生成するステップと、
前記サーバーノードによって、前記論理実行プランがOLAPスケールクエリサービスに属するか又はOLTPスケールクエリサービスに属するかを判断するステップと、
前記論理実行プランがOLAPスケールクエリサービスに属すると判定された場合に、前記サーバーノードによって前記論理実行プランを複数の論理実行サブプランに分割して、分割された前記論理実行プランをコーディネーターノードに送信するステップと、
前記コーディネーターノードによって、前記論理実行プランに対応する第1物理実行プランを生成して前記サーバーノードにフィードバックするステップであって、前記第1物理実行プランには各前記論理実行サブプランに対応するワーカーノードのノード情報が記録されているステップと、
前記サーバーノードによって、前記第1物理実行プランに基づいて各前記論理実行サブプランを対応するワーカーノードに割り当てるステップと、
前記ワーカーノードによって、対応する論理実行サブプランを処理して処理サブ結果を得、前記処理サブ結果をレイヤーごとに報告するステップと、
前記サーバーノードによって、受信された処理サブ結果を集計して、最終的なクエリ結果を生成して、前記最終的なクエリ結果をユーザにフィードバックするステップと、を含む。
前記コーディネーターノードによって、前記論理実行プランに対応する第2物理実行プランを生成して前記サーバーノードにフィードバックし、前記第2物理実行プランには前記論理実行プランに対応するワーカーノードのノード情報が記録されており、
前記サーバーノードによって、前記第2物理実行プランに基づいて前記論理実行プランを対応するワーカーノードに割り当て、
前記ワーカーノードによって、対応する前記論理実行プランを処理して最終的なクエリ結果を得、前記最終的なクエリ結果を前記サーバーノードにアップロードし、
前記サーバーノードによって、受信された前記最終的なクエリ結果をユーザにフィードバックする。
前記サーバーノードによって、前記論理実行プランに関連付けられた各データソースのデータ量をストレージノードに照会することと、
前記サーバーノードによって、前記ストレージノードからフィードバックされた、前記論理実行プランに関連付けられた各データソースのデータ量に基づいて、前記論理実行プランに対応するデータクエリ合計量を推定することと、
前記サーバーノードによって、前記データクエリ合計量と予め設定されたクエリ合計量とを比較することと、
比較の結果、前記データクエリ合計量が前記予め設定されたクエリ合計量よりも大きい場合に、前記サーバーノードによって、前記論理実行プランがOLAPスケールクエリサービスに属すると判定し、前記データクエリ合計量が前記予め設定されたクエリ合計量以下である場合に、前記サーバーノードによって、前記論理実行プランがOLTPスケールクエリサービスに属すると判定することと、を含む。
ワーカーノード自体によって受信された論理実行サブプランがクエリプランに属するか又は集合プランに属するかを前記ワーカーノードによって検出することと、
ワーカーノード自体によって受信された論理実行サブプランがクエリプランに属すると検出された場合に、前記ストレージノードによって前記論理実行サブプランについてのデータベースを作成するために、前記ワーカーノードによって前記論理実行サブプランを前記ストレージノードに転送することと、
前記ストレージノードによって作成された前記論理実行サブプランについてのデータベースにおいて、対応するクエリ動作を前記ワーカーノードによって実行して、対応するクエリサブ結果を得ることとを含み、
前記ストレージノードがワーカーノードによって送信された論理実行サブプランを受信した場合に、前記論理実行サブプランについてのデータベースを前記ストレージノードによって作成することをさらに含む。
前記ストレージノードによって、受信された前記論理実行サブプランに基づいて、前記論理実行サブプランに関連付けられたデータソースから提供されたデータテーブルを取得することと、
前記論理実行サブプランに関連付けられたデータソースの数が1よりも大きいか否かを前記ストレージノードによって判断することと、
前記論理実行サブプランに関連付けられたデータソースの数が1よりも大きいと判定された場合に、前記論理実行サブプランに関連付けられた各データソースから提供されたデータテーブルを、前記ストレージノードによってリレーショナルデータベースにマッピングすることと、
前記論理実行サブプランに関連付けられたデータソースの数が1であると判定された場合に、前記論理実行サブプランに関連付けられた1つのデータソースから提供されたデータテーブルをデータベースとすることと、を含む。
前記論理実行サブプランに関連付けられたデータソースを前記ストレージノードによって特定することと、
予め記憶されている対応関係テーブルから、前記論理実行サブプランに関連付けられた各データソースに対応する推奨処理フィールドを、前記ストレージノードによって特定することであって、前記対応関係テーブルには異なるデータソース及びそれらに対応する推奨処理フィールドが記録されていることと、
前記論理実行サブプランに関連付けられたデータソースのそれぞれについて、該データソースに対応する推奨処理フィールドが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドであるか否かを前記ストレージノードによって判断することと、
該データソースに対応する推奨処理フィールドが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドであると判定された場合に、該データソースが受信されたクエリ条件に応じて該データソース自体に記憶されているデータテーブルを選別して選別済みデータテーブルを前記ストレージノードにフィードバックするために、前記論理実行サブプランにおける該データソースに対応する推奨処理フィールドのクエリ条件を、前記ストレージノードによって該データソースに送信することと、
該データソースに対応するのが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドではないと判定された場合に、該データソースがデータソース自体のデータテーブルをフィードバックするために、前記ストレージノードによって該データソースにデータ取得要求を送信することと、を含む。
メタ情報管理ノードによってユーザ識別情報の有効性を検証するステップと、
ユーザ識別情報が有効性検証に成功した場合に、前記サーバーノードによってクエリリクエストを解析して対応する論理実行プランを生成するステップを実行するステップと、
ユーザ識別情報が有効性検証に失敗した場合に、前記メタ情報管理ノードによって識別情報の検証失敗情報をユーザにフィードバックするステップと、をさらに含む。
前記サーバーノードは、解析モジュール、第1判断モジュール、分割モジュール、第1割り当てモジュール、集計モジュール及び第1フィードバックモジュールを含み、
前記コーディネーターノードは、第1生成モジュールを含み、
前記ワーカーノードは、第1処理モジュールを含み、
前記解析モジュールは、クエリリクエストを解析して対応する論理実行プランを生成するように構成され、
前記第1判断モジュールは、前記論理実行プランがOLAPスケールクエリサービスに属するか又はOLTPスケールクエリサービスに属するかを判断するように構成され、
前記分割モジュールは、前記第1判断モジュールによって前記論理実行プランがOLAPスケールクエリサービスに属すると判定された場合に、前記論理実行プランを複数の論理実行サブプランに分割し、分割済みの前記論理実行プランをコーディネーターノードに送信するように構成され、
前記第1生成モジュールは、前記分割モジュールから受信された前記論理実行プランに対応する第1物理実行プランを生成して、前記サーバーノードにフィードバックするように構成され、前記第1物理実行プランには各前記論理実行サブプランに対応するワーカーノードのノード情報が記録されており、
前記第1割り当てモジュールは、前記第1物理実行プランに基づいて、各前記論理実行サブプランを対応するワーカーノードに割り当てるように構成され、
前記第1処理モジュールは、対応する論理実行サブプランを処理して、処理サブ結果を得、前記処理サブ結果をレイヤーごとに報告するように構成され、
前記集計モジュールは、受信された処理サブ結果を集計して、最終的なクエリ結果を生成するように構成され、
前記第1フィードバックモジュールは、前記最終的なクエリ結果をユーザにフィードバックするように構成される。
前記コーディネーターノードは、第2生成モジュールをさらに含み、
前記ワーカーノードは、第2処理モジュールをさらに含み、
前記送信モジュールは、前記第1判断モジュールによって前記論理実行プランがOLTPスケールクエリサービスに属すると判定された場合に、前記論理実行プランをコーディネーターノードに送信するように構成され、
前記第2生成モジュールは、前記送信モジュールから受信された前記論理実行プランに対応する第2物理実行プランを生成して、前記サーバーノードにフィードバックするように構成され、前記第2物理実行プランには前記論理実行プランに対応するワーカーノードのノード情報が記録されており、
前記第2割り当てモジュールは、前記第2物理実行プランに基づいて、前記論理実行プランを対応するワーカーノードに割り当てるように構成され、
前記第2処理モジュールは、対応する前記論理実行プランを処理して、最終的なクエリ結果を得、前記最終的なクエリ結果を前記サーバーノードにアップロードするように構成され、
前記第2フィードバックモジュールは、受信された前記最終的なクエリ結果をユーザにフィードバックするように構成される。
前記第1判断モジュールは、照会ユニット、推定ユニット及び比較ユニットを含み、
前記照会ユニットは、前記論理実行プランに関連付けられた各データソースのデータ量をストレージノードに照会するように構成され、
前記推定ユニットは、前記ストレージノードからフィードバックされた、前記論理実行プランに関連付けられた各データソースのデータ量に基づいて、前記論理実行プランに対応するデータクエリ合計量を推定するように構成され、
前記比較ユニットは、前記データクエリ合計量と予め設定されたクエリ合計量とを比較するように構成され、
前記比較ユニットによる結果、前記データクエリ合計量が前記予め設定されたクエリ合計量よりも大きい場合に、前記第1判断モジュールによって前記論理実行プランがOLAPスケールクエリサービスに属すると判定され、前記データクエリ合計量が前記予め設定されたクエリ合計量以下である場合に、前記第1判断モジュールによって前記論理実行プランがOLTPスケールクエリサービスに属すると判定される。
前記クエリ処理システムは、作成モジュールを含むストレージノードをさらに備え、
前記第1検出ユニットは、前記ワーカーノード自体が受信した論理実行サブプランがクエリプランに属するか又は集合プランに属するかを検出するように構成され、
前記転送ユニットは、前記第1検出ユニットによって前記ワーカーノード自体が受信した論理実行サブプランがクエリプランに属すると検出された場合に、前記ストレージノードが前記論理実行サブプランについてのデータベースを作成するために、前記論理実行サブプランを前記ストレージノードに転送するように構成され、
前記クエリユニットは、前記ストレージノードによって作成された前記論理実行サブプランについてのデータベースにおいて対応するクエリ動作を実行して、対応するクエリサブ結果を得るように構成され、
前記作成モジュールは、前記ストレージノードがワーカーノードから送信された論理実行サブプランを受信した場合に、前記論理実行サブプランについてのデータベースを作成するように構成される。
前記集合ユニットは、前記第1検出ユニットによって前記ワーカーノード自体が受信した論理実行サブプランが集合プランに属すると検出された場合に、下位ワーカーノードから報告されるクエリサブ結果を受信して、集合処理を行うように構成される。
前記取得ユニットは、受信された前記論理実行サブプランに基づいて、前記論理実行サブプランに関連付けられたデータソースから提供されたデータテーブルを取得するように構成され、
前記判断ユニットは、前記論理実行サブプランに関連付けられたデータソースの数が1よりも大きいか否かを判断するように構成され、
前記処理ユニットは、前記判断ユニットによって前記論理実行サブプランに関連付けられたデータソースの数が1よりも大きいと判定された場合に、前記論理実行サブプランに関連付けられた各データソースから提供されるデータテーブルをリレーショナルデータベースにマッピングするように構成されるとともに、前記判断ユニットによって前記論理実行サブプランに関連付けられたデータソースの数が1であると判定された場合に、前記論理実行サブプランに関連付けられた1つのデータソースから提供されたデータテーブルをデータベースとするように構成される。
前記第1特定サブユニットは、前記論理実行サブプランに関連付けられたデータソースを特定するように構成され、
前記第2特定サブユニットは、予め記憶されている対応関係テーブルから前記論理実行サブプランに関連付けられた各データソースに対応する推奨処理フィールドを特定するように構成され、前記対応関係テーブルには異なるデータソース及びそれらに対応する推奨処理フィールドが記録されており、
前記判断サブユニットは、前記論理実行サブプランに関連付けられたデータソースのそれぞれについて、該データソースに対応する推奨処理フィールドが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドであるか否かを判断するように構成され、
前記第1送信サブユニットは、前記判断サブユニットによって該データソースに対応する推奨処理フィールドが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドであると判定された場合に、該データソースが受信されたクエリ条件に基づいて該データソース自体に記憶されているデータテーブルを選別して選別済みデータテーブルを前記ストレージノードにフィードバックするために、前記論理実行サブプランにおける該データソースに対応する推奨処理フィールドのクエリ条件を該データソースに送信するように構成され、
前記第2送信サブユニットは、前記判断サブユニットによって該データソースに対応するのが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドではないと判定された場合に、該データソースが該データソース自体のデータテーブルをフィードバックするために、該データソースにデータ取得要求を送信するように構成される。
前記検証モジュールは、ユーザ識別情報の有効性を検証するように構成され、
前記第3フィードバックモジュールは、ユーザ識別情報が有効性検証に失敗した場合に、前記メタ情報管理ノードによって識別情報の検証失敗情報をユーザにフィードバックするように構成され、
前記解析モジュールは、具体的にユーザ識別情報が有効性検証に成功した場合に、クエリリクエストを解析して対応する論理実行プランを生成するように構成される。
さらに、複数のデータソースにわたるユニオンクエリについて、本開示では、異なるデータソースから提供される異なるデータテーブルをリレーショナルデータベースの形にマッピングすることができるストレージノードを設けることによって、サービス間でユニオンクエリが可能になる。
また、ユーザにとっては、SQL言語を利用するだけで、複数のデータソースにわたってワンストップでデータクエリを行うことができ、ユーザの操作が便利となる。
ステップS602a:論理実行サブプランについてのデータベースをストレージノードによって作成する。
S6021:ストレージノードによって、受信された論理実行サブプランに基づいて、論理実行サブプランに関連付けられたデータソースから提供されたデータテーブルを取得する。
ステップS60211:論理実行サブプランに関連付けられたデータソースをストレージノードによって特定する。
ステップS60212:予め記憶されている対応関係テーブルから、論理実行サブプランに関連付けられた各データソースに対応する推奨処理フィールドを、ストレージノードによって特定する。対応関係テーブルには異なるデータソース及びそれらに対応する推奨処理フィールドが記録されている。
Claims (19)
- サーバーノードによって、クエリリクエストを解析して対応する論理実行プランを生成するステップと、
前記サーバーノードによって、前記論理実行プランがOLAPスケールクエリサービスに属するか又はOLTPスケールクエリサービスに属するかを判断するステップと、
前記論理実行プランがOLAPスケールクエリサービスに属すると判定された場合に、前記サーバーノードによって前記論理実行プランを複数の論理実行サブプランに分割して、分割された前記論理実行プランをコーディネーターノードに送信するステップと、
前記コーディネーターノードによって、前記論理実行プランに対応する第1物理実行プランを生成して前記サーバーノードにフィードバックするステップであって、前記第1物理実行プランには各前記論理実行サブプランに対応するワーカーノードのノード情報が記録されているステップと、
前記サーバーノードによって、前記第1物理実行プランに基づいて各前記論理実行サブプランを対応するワーカーノードに割り当てるステップと、
前記ワーカーノードによって、対応する論理実行サブプランを処理して処理サブ結果を得、前記処理サブ結果をレイヤーごとに報告するステップと、
前記サーバーノードによって、受信された処理サブ結果を集計して、最終的なクエリ結果を生成して、前記最終的なクエリ結果をユーザにフィードバックするステップと、を含むことを特徴とするクエリ処理方法。 - 前記論理実行プランがOLTPスケールクエリサービスに属すると判定された場合に、前記サーバーノードによって前記論理実行プランをコーディネーターノードに送信し、
前記コーディネーターノードによって、前記論理実行プランに対応する第2物理実行プランを生成して前記サーバーノードにフィードバックし、前記第2物理実行プランには前記論理実行プランに対応するワーカーノードのノード情報が記録されており、
前記サーバーノードによって、前記第2物理実行プランに基づいて前記論理実行プランを対応するワーカーノードに割り当て、
前記ワーカーノードによって、対応する前記論理実行プランを処理して最終的なクエリ結果を得、前記最終的なクエリ結果を前記サーバーノードにアップロードし、
前記サーバーノードによって、受信された前記最終的なクエリ結果をユーザにフィードバックすることを特徴とする請求項1に記載のクエリ処理方法。 - サーバーノードによって、前記論理実行プランがOLAPスケールクエリサービスに属するか又はOLTPスケールクエリサービスに属するかを判断するステップは、
前記サーバーノードによって、前記論理実行プランに関連付けられた各データソースのデータ量をストレージノードに照会することと、
前記サーバーノードによって、前記ストレージノードからフィードバックされた、前記論理実行プランに関連付けられた各データソースのデータ量に基づいて、前記論理実行プランに対応するデータクエリ合計量を推定することと、
前記サーバーノードによって、前記データクエリ合計量と予め設定されたクエリ合計量とを比較することと、
比較の結果、前記データクエリ合計量が前記予め設定されたクエリ合計量よりも大きい場合に、前記サーバーノードによって、前記論理実行プランがOLAPスケールクエリサービスに属すると判定し、前記データクエリ合計量が前記予め設定されたクエリ合計量以下である場合に、前記サーバーノードによって、前記論理実行プランがOLTPスケールクエリサービスに属すると判定することと、を含むことを特徴とする請求項1又は2に記載のクエリ処理方法。 - 前記ワーカーノードによって対応する論理実行サブプランを処理するステップは、
ワーカーノード自体によって受信された論理実行サブプランがクエリプランに属するか又は集合プランに属するかを前記ワーカーノードによって検出することと、
ワーカーノード自体によって受信された論理実行サブプランがクエリプランに属すると検出された場合に、ストレージノードによって前記論理実行サブプランについてのデータベースを作成するために、前記ワーカーノードによって前記論理実行サブプランを前記ストレージノードに転送することと、
前記ストレージノードによって作成された前記論理実行サブプランについてのデータベースにおいて、対応するクエリ動作を前記ワーカーノードによって実行して、対応するクエリサブ結果を得ることとを含み、
前記ストレージノードがワーカーノードによって送信された論理実行サブプランを受信した場合に、前記論理実行サブプランについてのデータベースを前記ストレージノードによって作成することをさらに含むことを特徴とする請求項1又は2に記載のクエリ処理方法。 - ワーカーノード自体によって受信された論理実行サブプランが集合プランに属すると検出された場合に、前記ワーカーノードによって下位ワーカーノードから報告されるクエリサブ結果を受信して集合処理を行うことを特徴とする請求項4に記載のクエリ処理方法。
- 前記ストレージノードによって前記論理実行サブプランについてのデータベースを作成するステップは、
前記ストレージノードによって、受信された前記論理実行サブプランに基づいて、前記論理実行サブプランに関連付けられたデータソースから提供されたデータテーブルを取得することと、
前記論理実行サブプランに関連付けられたデータソースの数が1よりも大きいか否かを前記ストレージノードによって判断することと、
前記論理実行サブプランに関連付けられたデータソースの数が1よりも大きいと判定された場合に、前記論理実行サブプランに関連付けられた各データソースから提供されたデータテーブルを、前記ストレージノードによってリレーショナルデータベースにマッピングすることと、
前記論理実行サブプランに関連付けられたデータソースの数が1であると判定された場合に、前記論理実行サブプランに関連付けられた1つのデータソースから提供されたデータテーブルをデータベースとすることと、を含むことを特徴とする請求項4に記載のクエリ処理方法。 - 前記ストレージノードによって、受信された前記論理実行サブプランに基づいて、前記論理実行サブプランに関連付けられたデータソースから提供されたデータテーブルを取得するステップは、
前記論理実行サブプランに関連付けられたデータソースを前記ストレージノードによって特定することと、
予め記憶されている対応関係テーブルから、前記論理実行サブプランに関連付けられた各データソースに対応する推奨処理フィールドを、前記ストレージノードによって特定することであって、前記対応関係テーブルには異なるデータソース及びそれらに対応する推奨処理フィールドが記録されていることと、
前記論理実行サブプランに関連付けられたデータソースのそれぞれについて、該データソースに対応する推奨処理フィールドが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドであるか否かを前記ストレージノードによって判断することと、
該データソースに対応する推奨処理フィールドが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドであると判定された場合に、該データソースが受信されたクエリ条件に応じて該データソース自体に記憶されているデータテーブルを選別して選別済みデータテーブルを前記ストレージノードにフィードバックするために、前記論理実行サブプランにおける該データソースに対応する推奨処理フィールドのクエリ条件を、前記ストレージノードによって該データソースに送信することと、
該データソースに対応するのが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドではないと判定された場合に、該データソースがデータソース自体のデータテーブルをフィードバックするために、前記ストレージノードによって該データソースにデータ取得要求を送信することと、を含むことを特徴とする請求項6に記載のクエリ処理方法。 - 前記サーバーノードによって、クエリリクエストを解析して対応する論理実行プランを生成するステップを実行する前に、
メタ情報管理ノードによってユーザ識別情報の有効性を検証するステップと、
ユーザ識別情報が有効性検証に成功した場合に、前記サーバーノードによってクエリリクエストを解析して対応する論理実行プランを生成するステップを実行するステップと、
ユーザ識別情報が有効性検証に失敗した場合に、前記メタ情報管理ノードによって識別情報の検証失敗情報をユーザにフィードバックするステップと、をさらに含むことを特徴とする請求項1又は2に記載のクエリ処理方法。 - サーバーノードと、コーディネーターノードと、複数のワーカーノードと、を備え、
前記サーバーノードは、解析モジュール、第1判断モジュール、分割モジュール、第1割り当てモジュール、集計モジュール及び第1フィードバックモジュールを含み、
前記コーディネーターノードは、第1生成モジュールを含み、
前記ワーカーノードは、第1処理モジュールを含み、
前記解析モジュールは、クエリリクエストを解析して対応する論理実行プランを生成するように構成され、
前記第1判断モジュールは、前記論理実行プランがOLAPスケールクエリサービスに属するか又はOLTPスケールクエリサービスに属するかを判断するように構成され、
前記分割モジュールは、前記第1判断モジュールによって前記論理実行プランがOLAPスケールクエリサービスに属すると判定された場合に、前記論理実行プランを複数の論理実行サブプランに分割し、分割済みの前記論理実行プランをコーディネーターノードに送信するように構成され、
前記第1生成モジュールは、前記分割モジュールから受信された前記論理実行プランに対応する第1物理実行プランを生成して、前記サーバーノードにフィードバックするように構成され、前記第1物理実行プランには各前記論理実行サブプランに対応するワーカーノードのノード情報が記録されており、
前記第1割り当てモジュールは、前記第1物理実行プランに基づいて、各前記論理実行サブプランを対応するワーカーノードに割り当てるように構成され、
前記第1処理モジュールは、対応する論理実行サブプランを処理して、処理サブ結果を得、前記処理サブ結果をレイヤーごとに報告するように構成され、
前記集計モジュールは、受信された処理サブ結果を集計して、最終的なクエリ結果を生成するように構成され、
前記第1フィードバックモジュールは、前記最終的なクエリ結果をユーザにフィードバックするように構成されることを特徴とするクエリ処理システム。 - 前記サーバーノードは、送信モジュール、第2割り当てモジュール及び第2フィードバックモジュールをさらに含み、
前記コーディネーターノードは、第2生成モジュールをさらに含み、
前記ワーカーノードは、第2処理モジュールをさらに含み、
前記送信モジュールは、前記第1判断モジュールによって前記論理実行プランがOLTPスケールクエリサービスに属すると判定された場合に、前記論理実行プランをコーディネーターノードに送信するように構成され、
前記第2生成モジュールは、前記送信モジュールから受信された前記論理実行プランに対応する第2物理実行プランを生成して、前記サーバーノードにフィードバックするように構成され、前記第2物理実行プランには前記論理実行プランに対応するワーカーノードのノード情報が記録されており、
前記第2割り当てモジュールは、前記第2物理実行プランに基づいて、前記論理実行プランを対応するワーカーノードに割り当てるように構成され、
前記第2処理モジュールは、対応する前記論理実行プランを処理して、最終的なクエリ結果を得、前記最終的なクエリ結果を前記サーバーノードにアップロードするように構成され、
前記第2フィードバックモジュールは、受信された前記最終的なクエリ結果をユーザにフィードバックするように構成されることを特徴とする請求項9に記載のクエリ処理システム。 - 前記クエリ処理システムは、各データソースのデータ量情報が予め記憶されているストレージモジュールを含むストレージノードをさらに備え、
前記第1判断モジュールは、照会ユニット、推定ユニット及び比較ユニットを含み、
前記照会ユニットは、前記論理実行プランに関連付けられた各データソースのデータ量をストレージノードに照会するように構成され、
前記推定ユニットは、前記ストレージノードからフィードバックされた、前記論理実行プランに関連付けられた各データソースのデータ量に基づいて、前記論理実行プランに対応するデータクエリ合計量を推定するように構成され、
前記比較ユニットは、前記データクエリ合計量と予め設定されたクエリ合計量とを比較するように構成され、
前記比較ユニットによる結果、前記データクエリ合計量が前記予め設定されたクエリ合計量よりも大きい場合に、前記第1判断モジュールによって前記論理実行プランがOLAPスケールクエリサービスに属すると判定され、前記データクエリ合計量が前記予め設定されたクエリ合計量以下である場合に、前記第1判断モジュールによって前記論理実行プランがOLTPスケールクエリサービスに属すると判定されることを特徴とする請求項9又は10に記載のクエリ処理システム。 - 前記第1処理モジュールは、第1検出ユニット、転送ユニット及びクエリユニットを含み、
前記クエリ処理システムは、作成モジュールを含むストレージノードをさらに備え、
前記第1検出ユニットは、前記ワーカーノード自体が受信した論理実行サブプランがクエリプランに属するか又は集合プランに属するかを検出するように構成され、
前記転送ユニットは、前記第1検出ユニットによって前記ワーカーノード自体が受信した論理実行サブプランがクエリプランに属すると検出された場合に、前記ストレージノードが前記論理実行サブプランについてのデータベースを作成するために、前記論理実行サブプランを前記ストレージノードに転送するように構成され、
前記クエリユニットは、前記ストレージノードによって作成された前記論理実行サブプランについてのデータベースにおいて対応するクエリ動作を実行して、対応するクエリサブ結果を得るように構成され、
前記作成モジュールは、前記ストレージノードがワーカーノードから送信された論理実行サブプランを受信した場合に、前記論理実行サブプランについてのデータベースを作成するように構成されることを特徴とする請求項9又は10に記載のクエリ処理システム。 - 前記第1処理モジュールは集合ユニットをさらに含み、
前記集合ユニットは、前記第1検出ユニットによって前記ワーカーノード自体が受信した論理実行サブプランが集合プランに属すると検出された場合に、下位ワーカーノードから報告されるクエリサブ結果を受信して、集合処理を行うように構成されることを特徴とする請求項12に記載のクエリ処理システム。 - 前記作成モジュールは、取得ユニット、判断ユニット及び処理ユニットを含み、
前記取得ユニットは、受信された前記論理実行サブプランに基づいて、前記論理実行サブプランに関連付けられたデータソースから提供されたデータテーブルを取得するように構成され、
前記判断ユニットは、前記論理実行サブプランに関連付けられたデータソースの数が1よりも大きいか否かを判断するように構成され、
前記処理ユニットは、前記判断ユニットによって前記論理実行サブプランに関連付けられたデータソースの数が1よりも大きいと判定された場合に、前記論理実行サブプランに関連付けられた各データソースから提供されるデータテーブルをリレーショナルデータベースにマッピングするように構成されるとともに、前記判断ユニットによって前記論理実行サブプランに関連付けられたデータソースの数が1であると判定された場合に、前記論理実行サブプランに関連付けられた1つのデータソースから提供されたデータテーブルをデータベースとするように構成されることを特徴とする請求項12に記載のクエリ処理システム。 - 前記取得ユニットは、第1特定サブユニット、第2特定サブユニット、判断サブユニット、第1送信サブユニット及び第2送信サブユニットを含み、
前記第1特定サブユニットは、前記論理実行サブプランに関連付けられたデータソースを特定するように構成され、
前記第2特定サブユニットは、予め記憶されている対応関係テーブルから前記論理実行サブプランに関連付けられた各データソースに対応する推奨処理フィールドを特定するように構成され、前記対応関係テーブルには異なるデータソース及びそれらに対応する推奨処理フィールドが記録されており、
前記判断サブユニットは、前記論理実行サブプランに関連付けられたデータソースのそれぞれについて、該データソースに対応する推奨処理フィールドが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドであるか否かを判断するように構成され、
前記第1送信サブユニットは、前記判断サブユニットによって該データソースに対応する推奨処理フィールドが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドであると判定された場合に、該データソースが受信されたクエリ条件に基づいて該データソース自体に記憶されているデータテーブルを選別して選別済みデータテーブルを前記ストレージノードにフィードバックするために、前記論理実行サブプランにおける該データソースに対応する推奨処理フィールドのクエリ条件を該データソースに送信するように構成され、
前記第2送信サブユニットは、前記判断サブユニットによって該データソースに対応するのが前記論理実行サブプランに含まれるクエリ条件のクエリフィールドではないと判定された場合に、該データソースが該データソース自体のデータテーブルをフィードバックするために、該データソースにデータ取得要求を送信するように構成されることを特徴とする請求項14に記載のクエリ処理システム。 - 前記クエリ処理システムは、検証モジュール及び第3フィードバックモジュールを含むメタ情報管理ノードをさらに備え、
前記検証モジュールは、ユーザ識別情報の有効性を検証するように構成され、
前記第3フィードバックモジュールは、ユーザ識別情報が有効性検証に失敗した場合に、前記メタ情報管理ノードによって識別情報の検証失敗情報をユーザにフィードバックするように構成され、
前記解析モジュールは、ユーザ識別情報が有効性検証に成功した場合に、クエリリクエストを解析して対応する論理実行プランを生成するように構成されることを特徴とする請求項9又は10に記載のクエリ処理システム。 - 1つ又は複数のプロセッサと、
1つ又は複数のプログラムが格納されている記憶装置と、を含むサーバであって、
前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサによって実行される場合に、前記1つ又は複数のプロセッサに請求項1~8のいずれか1項に記載の方法を実現させるサーバ。 - コンピュータプログラムが格納されているコンピュータ可読媒体であって、
前記プログラムがプロセッサによって実行される場合に、請求項1~8のいずれか1項に記載の方法を実現するコンピュータ可読媒体。 - コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項1~8のいずれか1項に記載の方法を実現する、コンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910426050.9 | 2019-05-21 | ||
CN201910426050.9A CN110263105B (zh) | 2019-05-21 | 2019-05-21 | 查询处理方法、查询处理系统、服务器和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020191067A JP2020191067A (ja) | 2020-11-26 |
JP6998976B2 true JP6998976B2 (ja) | 2022-01-18 |
Family
ID=67915047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020002745A Active JP6998976B2 (ja) | 2019-05-21 | 2020-01-10 | クエリ処理方法、クエリ処理システム、サーバ及びコンピュータ可読媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11194807B2 (ja) |
JP (1) | JP6998976B2 (ja) |
KR (1) | KR102336079B1 (ja) |
CN (1) | CN110263105B (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955701B (zh) * | 2019-11-26 | 2023-04-25 | 中思博安科技(北京)有限公司 | 一种分布式数据的查询方法、装置及分布式系统 |
CN111190924A (zh) * | 2019-12-18 | 2020-05-22 | 中思博安科技(北京)有限公司 | 跨域的数据查询方法及装置 |
US20210303574A1 (en) * | 2020-03-31 | 2021-09-30 | Paul Geoffrey Brown | Matrix-related operations in relational databases systems including massively parallel processing systems |
CN111897891B (zh) * | 2020-06-19 | 2023-06-13 | 阿里云计算有限公司 | 数据处理方法及装置 |
CN111913986B (zh) * | 2020-08-03 | 2024-04-16 | 支付宝(杭州)信息技术有限公司 | 一种查询优化方法及装置 |
CN112052242B (zh) * | 2020-09-02 | 2024-06-04 | 平安科技(深圳)有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN112632053A (zh) * | 2020-12-30 | 2021-04-09 | 第四范式(北京)技术有限公司 | 实现数据拼接的方法和实现数据拼接的系统 |
CN114911728A (zh) * | 2021-02-07 | 2022-08-16 | 华为技术有限公司 | 一种数据查找方法、装置及集成电路 |
CN112965989A (zh) * | 2021-03-04 | 2021-06-15 | 浪潮云信息技术股份公司 | 一种主体分散数据查询及研判方法 |
CN113901078A (zh) * | 2021-11-18 | 2022-01-07 | 平安普惠企业管理有限公司 | 业务订单关联查询方法、装置、设备及存储介质 |
CN114860333A (zh) * | 2022-04-25 | 2022-08-05 | 海信视像科技股份有限公司 | 一种服务编排方法和电子设备 |
WO2023236776A1 (en) * | 2022-06-11 | 2023-12-14 | Huawei Cloud Computing Technologies Co., Ltd. | Method and apparatus for sub-optimal query identification and index optimizations post migration |
CN114756629B (zh) * | 2022-06-16 | 2022-10-21 | 之江实验室 | 基于sql的多源异构数据交互分析引擎及方法 |
CN116680299B (zh) * | 2023-06-05 | 2024-04-09 | 粤港澳大湾区(广东)国创中心 | 数据库查询方法、系统、存储介质以及设备 |
CN117251472B (zh) * | 2023-11-16 | 2024-02-27 | 中邮消费金融有限公司 | 跨源数据处理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004536402A (ja) | 2001-07-17 | 2004-12-02 | ビーイーエイ システムズ, インコーポレイテッド | 同期されたコールバック処理特徴をもったトランザクション処理システム及び方法 |
CN102508834A (zh) | 2011-09-22 | 2012-06-20 | 用友软件股份有限公司 | 基于消息的大型事务应用装置和方法 |
JP2012138082A (ja) | 2010-12-08 | 2012-07-19 | Dassault Systemes Enovia Corp | Oltpデータベース環境とolapデータベース環境を統合するための、コンピュータの方法およびシステム |
JP2014120153A (ja) | 2012-12-14 | 2014-06-30 | Sap Ag | 列ベースのデータベースに対する列スマートな機構 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0778118A (ja) | 1993-06-18 | 1995-03-20 | Hitachi Ltd | 資源競合回避スケジューリング方法 |
CN101566986A (zh) * | 2008-04-21 | 2009-10-28 | 阿里巴巴集团控股有限公司 | 联机事务处理中的数据处理方法和装置 |
CN101697170B (zh) * | 2009-10-27 | 2012-12-05 | 用友软件股份有限公司 | 一种动态选择数据库的方法和装置 |
US9239741B2 (en) * | 2012-10-16 | 2016-01-19 | Futurewei Technologies, Inc. | System and method for flexible distributed massively parallel processing (MPP) |
KR20140098529A (ko) | 2013-01-31 | 2014-08-08 | 한국전자통신연구원 | 데이터에 대한 접근 패턴이 서로 상이한 olap 응용 및 oltp 응용을 동시에 효과적으로 지원하는 장치 및 방법 |
US9770352B2 (en) | 2013-03-14 | 2017-09-26 | W. L. Gore & Associates, Inc. | Inflatable balloon and cover |
CN103324724B (zh) * | 2013-06-26 | 2017-02-08 | 华为技术有限公司 | 数据处理方法及装置 |
CN103942342B (zh) | 2014-05-12 | 2017-02-01 | 中国人民大学 | 一种内存数据库oltp&olap并发查询优化方法 |
KR101562359B1 (ko) | 2014-10-14 | 2015-10-22 | 주식회사 웨어밸리 | Oltp와 olap의 동시 서비스를 위한 데이터 베이스 이중화 시스템 및 그 방법 |
CN105824957B (zh) * | 2016-03-30 | 2019-09-03 | 电子科技大学 | 分布式内存列式数据库的查询引擎系统及查询方法 |
US11068506B2 (en) | 2016-05-10 | 2021-07-20 | Sap Se | Selective dispatching of OLAP requests using execution statistics |
EP3291103B1 (en) * | 2016-09-01 | 2019-11-06 | Huawei Technologies Co., Ltd. | System and method for creating a snapshot of a subset of a database |
KR20180035035A (ko) * | 2016-09-28 | 2018-04-05 | 한국전자통신연구원 | 데이터 엔진에서의 질의 최적화 방법 및 장치 |
CN106649687B (zh) * | 2016-12-16 | 2023-11-21 | 飞狐信息技术(天津)有限公司 | 大数据联机分析处理方法及装置 |
US11036735B2 (en) * | 2018-01-16 | 2021-06-15 | Oracle International Corporation | Dimension context propagation techniques for optimizing SQL query plans |
US10909116B2 (en) * | 2018-02-20 | 2021-02-02 | International Business Machines Corporation | Optimizing query processing and routing in a hybrid workload optimized database system |
US10803061B2 (en) * | 2018-07-31 | 2020-10-13 | Veracode, Inc. | Software vulnerability graph database |
-
2019
- 2019-05-21 CN CN201910426050.9A patent/CN110263105B/zh active Active
- 2019-12-10 US US16/709,591 patent/US11194807B2/en active Active
-
2020
- 2020-01-10 KR KR1020200003869A patent/KR102336079B1/ko active IP Right Grant
- 2020-01-10 JP JP2020002745A patent/JP6998976B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004536402A (ja) | 2001-07-17 | 2004-12-02 | ビーイーエイ システムズ, インコーポレイテッド | 同期されたコールバック処理特徴をもったトランザクション処理システム及び方法 |
JP2012138082A (ja) | 2010-12-08 | 2012-07-19 | Dassault Systemes Enovia Corp | Oltpデータベース環境とolapデータベース環境を統合するための、コンピュータの方法およびシステム |
CN102508834A (zh) | 2011-09-22 | 2012-06-20 | 用友软件股份有限公司 | 基于消息的大型事务应用装置和方法 |
JP2014120153A (ja) | 2012-12-14 | 2014-06-30 | Sap Ag | 列ベースのデータベースに対する列スマートな機構 |
Also Published As
Publication number | Publication date |
---|---|
CN110263105A (zh) | 2019-09-20 |
KR102336079B1 (ko) | 2021-12-06 |
US11194807B2 (en) | 2021-12-07 |
CN110263105B (zh) | 2021-09-10 |
US20200372027A1 (en) | 2020-11-26 |
JP2020191067A (ja) | 2020-11-26 |
KR20200134140A (ko) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6998976B2 (ja) | クエリ処理方法、クエリ処理システム、サーバ及びコンピュータ可読媒体 | |
US11625387B2 (en) | Structuring data | |
US11650854B2 (en) | Executing algorithms in parallel | |
US9990385B2 (en) | Method and system for collecting and analyzing time-series data | |
US10915508B2 (en) | Data linking | |
US8601112B1 (en) | Method and system for collecting and analyzing time-series data | |
US7979439B1 (en) | Method and system for collecting and analyzing time-series data | |
US10469330B1 (en) | Client account versioning metadata manager for cloud computing environments | |
US20110295728A1 (en) | Systems and methods for automatically collection of performance data in a multi-tenant database system environment | |
US20160034379A1 (en) | Information technology testing and testing data management | |
US11153325B1 (en) | Server-based restricted access storage | |
US11669599B2 (en) | Systems and methods for software license management | |
US9684689B2 (en) | Distributed parallel processing system having jobs processed by nodes based on authentication using unique identification of data | |
US10210227B2 (en) | Processing a data set | |
US11698938B2 (en) | System and method for data event management system | |
US20140280274A1 (en) | Probabilistic record linking | |
US11816511B1 (en) | Virtual partitioning of a shared message bus | |
US20150317336A1 (en) | Data reconstruction | |
US9727666B2 (en) | Data store query | |
US10524028B1 (en) | Validating live metering service in a cloud infrastructure | |
WO2017008658A1 (zh) | 一种文本数据的存储校验方法和系统 | |
US11048677B1 (en) | Streamlined transaction and dimension data collection | |
US11500874B2 (en) | Systems and methods for linking metric data to resources | |
CN114328494A (zh) | 数据汇聚方法及装置 | |
US20190347333A1 (en) | Systems and methods for log file ranking and replay |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200305 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200305 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200515 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210720 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6998976 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |