JPWO2022123437A5 - - Google Patents

Download PDF

Info

Publication number
JPWO2022123437A5
JPWO2022123437A5 JP2023534179A JP2023534179A JPWO2022123437A5 JP WO2022123437 A5 JPWO2022123437 A5 JP WO2022123437A5 JP 2023534179 A JP2023534179 A JP 2023534179A JP 2023534179 A JP2023534179 A JP 2023534179A JP WO2022123437 A5 JPWO2022123437 A5 JP WO2022123437A5
Authority
JP
Japan
Prior art keywords
data
partition
query execution
execution plan
rdbs
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.)
Pending
Application number
JP2023534179A
Other languages
English (en)
Other versions
JP2024500058A (ja
Publication date
Priority claimed from US17/114,786 external-priority patent/US20220179861A1/en
Application filed filed Critical
Publication of JP2024500058A publication Critical patent/JP2024500058A/ja
Publication of JPWO2022123437A5 publication Critical patent/JPWO2022123437A5/ja
Pending legal-status Critical Current

Links

Claims (20)

  1. クエリ実行計画のセットをスケジューリングするためのコンピュータ実装方法であって、前記クエリ実行計画のセットが、少なくとも、リレーショナル・データベース・システム(RDBS)のデータの第1のデータ・セットにアクセスするための第1のクエリを実行するための第1のクエリ実行計画と、前記データの第2のデータ・セットにアクセスするための第2のクエリを実行するための第2のクエリ実行計画とを含み、前記データが、前記データのデータ・セットのデータ・ブロックに分割されており、前記RDBSのメタデータが、前記データ・ブロックの個々のデータ・ブロックの前記データ・セットの少なくとも1つのプロパティについての個々の情報を含み、前記方法が、
    前記第1のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第1のパーティションを、前記メタデータと、前記第1のデータ・セットが前記第1のクエリに従って満たさなければならない条件とに基づいて、決定することと、
    前記第2のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第2のパーティションを、前記メタデータと、前記第2のデータ・セットが前記第2のクエリに従って満たさなければならない別の条件とに基づいて、決定することと、
    前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがあるかどうか検査することと、
    検査に基づいて前記RDBSで前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングすることと
    を含む、コンピュータ実装方法。
  2. 前記第1のパーティションを決定することが、前記メタデータと、前記第1のデータ・セットが前記第1のクエリに従って満たさなければならない前記条件とに基づいて前記データ・ブロックの第1のコンプリメンタリ・パーティションを破棄することを含み、前記データ・ブロックの前記第1のコンプリメンタリ・パーティションが、前記第1のクエリ実行計画が前記RDBSで実行される場合にアクセスされていない前記データのデータ・ブロックを表現しており、前記第2のパーティションを前記決定することが、前記メタデータと、前記第2のデータ・セットが前記第2のクエリに従って満たさなければならない前記条件とを使用して前記データ・ブロックの第2のコンプリメンタリ・パーティションを破棄することを含み、前記データ・ブロックの前記第2のコンプリメンタリ・パーティションが、前記第2のクエリ実行計画が前記RDBSで実行される場合にアクセスされていない前記データのデータ・ブロックを表現している、請求項1に記載の方法。
  3. 前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがない場合、前記第1のクエリ実行計画および前記第2のクエリ実行計画が前記RDBSで並列に実行されるように、前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングすること
    をさらに含む、請求項1又は請求項2に記載の方法。
  4. 前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがある場合、前記第1のクエリ実行計画の結果が、前記第2のクエリ実行計画の利用のために前記RDBSのキャッシュ・メモリ内で利用可能となるように、前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングすること
    をさらに含む、請求項1又は請求項2に記載の方法。
  5. 前記データ・ブロックの前記第1のパーティションおよび前記データ・ブロックの前記第2のパーティションの少なくとも一部をロックするための前記RDBSのロック機構を非アクティブ化することであって、前記ロック機構が、前記データ・ブロックが、ある瞬間に単一のクエリ実行計画の実行によってのみアクセスできるようにし、前記ロック機構が、前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士に共通パーティションがない場合、非アクティブ化される、前記非アクティブ化すること
    をさらに含む、請求項1~請求項3のいずれか一項に記載の方法。
  6. 前記共通パーティションの前記データ・ブロックをロックするための前記RDBSのロック機構を、前記データ・ブロックが、ある瞬間に単一のクエリ実行計画の実行によってのみアクセスされるようにアクティブ化することであって、前記ロック機構が、前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士に共通パーティションがある場合にアクティブ化される、前記アクティブ化すること
    をさらに含む、請求項1、請求項2及び請求項4のいずれか一項に記載の方法。
  7. 前記個々のデータ・ブロックの前記データ・セットの前記プロパティに関する前記個々の情報が、前記個々のデータ・ブロックの前記データ・セットのデータ値が存在する範囲であり、前記範囲が、前記個々のデータ・ブロックにおける最小データ値と、前記個々のデータ・ブロックにおける最大データ値とによって定められる、請求項1~請求項6のいずれか一項に記載の方法。
  8. 前記RDBSの前記データが、データ・テーブルを使用して前記RDBSに記憶され、前記範囲が、前記個々のデータ・ブロック内の前記データ・テーブルの列にある最小データ値と、前記個々のデータ・ブロック内の前記データ・テーブルの前記列にある最大データ値とによって定められ、前記個々のデータ・ブロックが、前記データ・テーブルの行の個々のブロックを示す、請求項7に記載の方法。
  9. 前記データ・セットの前記プロパティが、前記個々のデータ・ブロック内の前記データ・セットのデータ値の分布であり、前記個々のデータ・ブロックの前記データ・セットの前記プロパティについての前記個々の情報が、前記データ値の前記分布を説明している、請求項1~請求項8のいずれか一項に記載の方法。
  10. 前記RDBSの前記データが、データ・テーブルを使用して前記RDBSに記憶され、前記分布が、前記個々のデータ・ブロック内の前記データ・テーブルの列にある前記データ値の分布を指し、前記個々のデータ・ブロックの前記データ・セットの前記プロパティについての前記個々の情報が、前記個々のデータ・ブロック内の前記データ・テーブルの前記列にある前記データ値の前記分布を説明しており、前記個々のデータ・ブロックが、前記データ・テーブルの行の個々のブロックを示す、請求項9に記載の方法。
  11. 前記分布が密度ベクトルによって表現される、請求項9に記載の方法。
  12. 前記2つのクエリ実行計画のうちの1つ、すなわち前記第1または前記第2のクエリ実行計画が、実際のある瞬間に実行中であり、前記2つのクエリ実行計画のうちのもう1つが、将来的なある瞬間に開始されるようにスケジュールされる、請求項1~請求項11のいずれか一項に記載の方法。
  13. 前記第1のクエリ実行計画および前記第2のクエリ実行計画が、互いの直後に実行されるようにスケジュールされる、請求項4に記載の方法。
  14. 前記方法が、前記RDBSのクエリ・オプティマイザから前記メタデータを受信することをさらに含む、請求項1~請求項13のいずれか一項に記載の方法。
  15. 前記方法が、前記RDBSのクエリ・オプティマイザから、前記第1のパーティションおよび前記第2のパーティションを指定するための情報を受信することをさらに含む、請求項1~請求項13のいずれか一項に記載の方法。
  16. 前記方法が、前記共通パーティションがなくなるように、前記RDBSのクエリ・オプティマイザを実行するための境界条件をセットすることをさらに含む、請求項1~請求項15のいずれか一項に記載の方法。
  17. クエリ実行計画のセットをスケジューリングするためのコンピュータ・プログラムであって、前記クエリ実行計画のセットが、少なくとも、リレーショナル・データベース・システム(RDBS)のデータの第1のデータ・セットにアクセスするための第1のクエリを実行するための第1のクエリ実行計画と、前記データの第2のデータ・セットにアクセスするための第2のクエリを実行するための第2のクエリ実行計画とを含み、前記データが、前記データのデータ・セットのデータ・ブロックに分割されており、前記RDBSのメタデータが、前記データ・ブロックの個々のデータ・ブロックの前記データ・セットの少なくとも1つのプロパティについての個々の情報を含み、

    コンピュータに、前記第1のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第1のパーティションを、前記メタデータと、前記第1のデータ・セットが前記第1のクエリに従って満たさなければならない条件とに基づいて、決定するためのプログラム命令と、
    前記第2のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第2のパーティションを、前記メタデータと、前記第2のデータ・セットが前記第2のクエリに従って満たさなければならない別の条件とに基づいて、決定するためのプログラム命令と、
    前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがあるかどうか検査するためのプログラム命令と、
    検査に基づいて前記RDBSで前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングするためのプログラム命令と
    実行させる、コンピュータ・プログラム。
  18. クエリ実行計画のセットをスケジューリングするためのコンピュータ・システムであって、前記クエリ実行計画のセットが、少なくとも、リレーショナル・データベース・システム(RDBS)のデータの第1のデータ・セットにアクセスするための第1のクエリを実行するための第1のクエリ実行計画と、前記データの第2のデータ・セットにアクセスするための第2のクエリを実行するための第2のクエリ実行計画とを含み、前記データが、前記データのデータ・セットのデータ・ブロックに分割されており、前記RDBSのメタデータが、前記データ・ブロックの個々のデータ・ブロックの前記データ・セットの少なくとも1つのプロパティについての個々の情報を含み、前記コンピュータ・システムが、
    前記第1のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第1のパーティションを、前記メタデータと、前記第1のデータ・セットが前記第1のクエリに従って満たさなければならない条件とに基づいて、決定することと、
    前記第2のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第2のパーティションを、前記メタデータと、前記第2のデータ・セットが前記第2のクエリに従って満たさなければならない別の条件とに基づいて、決定することと、
    前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがあるかどうか検査することと、
    検査に基づいて前記RDBSで前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングすることと
    のために構成される、コンピュータ・システム。
  19. 前記第1のパーティションを決定することが、前記メタデータと、前記第1のデータ・セットが前記第1のクエリに従って満たさなければならない前記条件とに基づいて前記データ・ブロックの第1のコンプリメンタリ・パーティションを破棄することを含み、前記データ・ブロックの前記第1のコンプリメンタリ・パーティションが、前記第1のクエリ実行計画が前記RDBSで実行される場合にアクセスされていない前記データのデータ・ブロックを表現しており、前記第2のパーティションを前記決定することが、前記メタデータと、前記第2のデータ・セットが前記第2のクエリに従って満たさなければならない前記条件とを使用して前記データ・ブロックの第2のコンプリメンタリ・パーティションを破棄することを含み、前記データ・ブロックの前記第2のコンプリメンタリ・パーティションが、前記第2のクエリ実行計画が前記RDBSで実行される場合にアクセスされていない前記データのデータ・ブロックを表現している、請求項18に記載のコンピュータ・システム。
  20. 前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがない場合、前記第1のクエリ実行計画および前記第2のクエリ実行計画が前記RDBSで並列に実行されるように、前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングすること
    のためにさらに構成される、請求項18に記載のコンピュータ・システム。
JP2023534179A 2020-12-08 2021-12-07 リレーショナル・データベースにおけるクエリ実行計画のスケジューリング Pending JP2024500058A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/114,786 US20220179861A1 (en) 2020-12-08 2020-12-08 Scheduling query execution plans on a relational database
US17/114,786 2020-12-08
PCT/IB2021/061407 WO2022123437A1 (en) 2020-12-08 2021-12-07 Scheduling query execution plans on a relational database

Publications (2)

Publication Number Publication Date
JP2024500058A JP2024500058A (ja) 2024-01-04
JPWO2022123437A5 true JPWO2022123437A5 (ja) 2024-01-12

Family

ID=81850509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023534179A Pending JP2024500058A (ja) 2020-12-08 2021-12-07 リレーショナル・データベースにおけるクエリ実行計画のスケジューリング

Country Status (6)

Country Link
US (1) US20220179861A1 (ja)
JP (1) JP2024500058A (ja)
CN (1) CN116569163A (ja)
DE (1) DE112021006377T5 (ja)
GB (1) GB2615505B (ja)
WO (1) WO2022123437A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116303575B (zh) * 2023-03-22 2023-12-12 本原数据(北京)信息技术有限公司 数据库数据查询方法、装置及非易失性存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014655A (en) * 1996-03-13 2000-01-11 Hitachi, Ltd. Method of retrieving database
CA2306968C (en) * 2000-04-28 2004-11-30 Ibm Canada Limited-Ibm Canada Limitee Efficient index-data fetch via callback for a table data
US20070226176A1 (en) * 2006-03-23 2007-09-27 International Business Machines Corporation Apparatus and method for optimizing a query to a partitioned database table using a virtual maintained temporary index that spans multiple database partitions
AU2007294516A1 (en) * 2006-09-08 2008-03-13 Fortiusone, Inc. System and method for web enabled geo-analytics and image processing
US20080104008A1 (en) * 2006-10-31 2008-05-01 Brantley David L Common data broker method, system, and program product
US9251207B2 (en) * 2007-11-29 2016-02-02 Microsoft Technology Licensing, Llc Partitioning and repartitioning for data parallel operations
US20090235356A1 (en) * 2008-03-14 2009-09-17 Clear Blue Security, Llc Multi virtual expert system and method for network management
US8386508B2 (en) * 2008-04-28 2013-02-26 Infosys Technologies Limited System and method for parallel query evaluation
CN102262636B (zh) * 2010-05-25 2012-10-10 中国移动通信集团浙江有限公司 生成数据库分区执行计划的方法及装置
US8918793B2 (en) * 2011-12-07 2014-12-23 Sap Se Resolving resource contentions
US9495411B2 (en) * 2012-09-24 2016-11-15 Salesforce.Com, Inc. Increased parallelism performance of batch requests
CN104216893B (zh) * 2013-05-31 2018-01-16 中国电信股份有限公司 多租户共享数据表的分区管理方法、服务器与系统
US20160371329A1 (en) * 2015-06-22 2016-12-22 Sap Se Prepared execution plans for joins with partitioned tables
WO2018001495A1 (en) * 2016-06-30 2018-01-04 Huawei Technologies Co., Ltd. Systems and methods for managing databases
US11468060B2 (en) * 2018-06-25 2022-10-11 Oracle International Corporation Automatic query offloading to a standby database

Similar Documents

Publication Publication Date Title
US11899666B2 (en) System and method for dynamic database split generation in a massively parallel or distributed database environment
US10380114B2 (en) System and method for generating rowid range-based splits in a massively parallel or distributed database environment
US10180973B2 (en) System and method for efficient connection management in a massively parallel or distributed database environment
US10528596B2 (en) System and method for consistent reads between tasks in a massively parallel or distributed database environment
US11544268B2 (en) System and method for generating size-based splits in a massively parallel or distributed database environment
US20160092524A1 (en) System and method for data transfer from jdbc to a data warehouse layer in a massively parallel or distributed database environment
US7113957B1 (en) Row hash match scan join using summary contexts for a partitioned database system
US9195701B2 (en) System and method for flexible distributed massively parallel processing (MPP) database
US20160092545A1 (en) System and method for generating partition-based splits in a massively parallel or distributed database environment
US20160092546A1 (en) System and method for query processing with table-level predicate pushdown in a massively parallel or distributed database environment
EP2641195A1 (en) Parallel repartitioning index scan
US7080072B1 (en) Row hash match scan in a partitioned database system
GB2519761A (en) A method and a system for distributed processing of data records
US6944633B1 (en) Performing a join in a partitioned database system
US9002903B2 (en) Database system with data organization providing improved bit parallel processing
CN107766478A (zh) 一种面向高竞争情景的并发索引结构的设计方法
US7188334B1 (en) Value-ordered primary index and row hash match scan
GB2615505A (en) Scheduling query execution plans on a relational database
JPWO2022123437A5 (ja)
US10810219B2 (en) Top-k projection
US7319997B1 (en) Dynamic partition enhanced joining
CN111061759A (zh) 数据查询方法及装置
Costa et al. ONE: A predictable and scalable DW model
Šalgová et al. The Effect of Partitioning and Indexing on Data Access Time
Grigoriev et al. Efficiency Analysis of the access method with the cascading Bloom filter to the data warehouse on the parallel computing platform