JPWO2022123437A5 - - Google Patents
Download PDFInfo
- 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
Links
- 238000005192 partition Methods 0.000 claims 50
- 238000000034 method Methods 0.000 claims 22
- 230000000295 complement effect Effects 0.000 claims 8
- 230000003213 activating effect Effects 0.000 claims 2
- 238000004590 computer program Methods 0.000 claims 2
Claims (20)
- クエリ実行計画のセットをスケジューリングするためのコンピュータ実装方法であって、前記クエリ実行計画のセットが、少なくとも、リレーショナル・データベース・システム(RDBS)のデータの第1のデータ・セットにアクセスするための第1のクエリを実行するための第1のクエリ実行計画と、前記データの第2のデータ・セットにアクセスするための第2のクエリを実行するための第2のクエリ実行計画とを含み、前記データが、前記データのデータ・セットのデータ・ブロックに分割されており、前記RDBSのメタデータが、前記データ・ブロックの個々のデータ・ブロックの前記データ・セットの少なくとも1つのプロパティについての個々の情報を含み、前記方法が、
前記第1のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第1のパーティションを、前記メタデータと、前記第1のデータ・セットが前記第1のクエリに従って満たさなければならない条件とに基づいて、決定することと、
前記第2のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第2のパーティションを、前記メタデータと、前記第2のデータ・セットが前記第2のクエリに従って満たさなければならない別の条件とに基づいて、決定することと、
前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがあるかどうか検査することと、
検査に基づいて前記RDBSで前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングすることと
を含む、コンピュータ実装方法。 - 前記第1のパーティションを決定することが、前記メタデータと、前記第1のデータ・セットが前記第1のクエリに従って満たさなければならない前記条件とに基づいて前記データ・ブロックの第1のコンプリメンタリ・パーティションを破棄することを含み、前記データ・ブロックの前記第1のコンプリメンタリ・パーティションが、前記第1のクエリ実行計画が前記RDBSで実行される場合にアクセスされていない前記データのデータ・ブロックを表現しており、前記第2のパーティションを前記決定することが、前記メタデータと、前記第2のデータ・セットが前記第2のクエリに従って満たさなければならない前記条件とを使用して前記データ・ブロックの第2のコンプリメンタリ・パーティションを破棄することを含み、前記データ・ブロックの前記第2のコンプリメンタリ・パーティションが、前記第2のクエリ実行計画が前記RDBSで実行される場合にアクセスされていない前記データのデータ・ブロックを表現している、請求項1に記載の方法。
- 前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがない場合、前記第1のクエリ実行計画および前記第2のクエリ実行計画が前記RDBSで並列に実行されるように、前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングすること
をさらに含む、請求項1又は請求項2に記載の方法。 - 前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがある場合、前記第1のクエリ実行計画の結果が、前記第2のクエリ実行計画の利用のために前記RDBSのキャッシュ・メモリ内で利用可能となるように、前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングすること
をさらに含む、請求項1又は請求項2に記載の方法。 - 前記データ・ブロックの前記第1のパーティションおよび前記データ・ブロックの前記第2のパーティションの少なくとも一部をロックするための前記RDBSのロック機構を非アクティブ化することであって、前記ロック機構が、前記データ・ブロックが、ある瞬間に単一のクエリ実行計画の実行によってのみアクセスできるようにし、前記ロック機構が、前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士に共通パーティションがない場合、非アクティブ化される、前記非アクティブ化すること
をさらに含む、請求項1~請求項3のいずれか一項に記載の方法。 - 前記共通パーティションの前記データ・ブロックをロックするための前記RDBSのロック機構を、前記データ・ブロックが、ある瞬間に単一のクエリ実行計画の実行によってのみアクセスされるようにアクティブ化することであって、前記ロック機構が、前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士に共通パーティションがある場合にアクティブ化される、前記アクティブ化すること
をさらに含む、請求項1、請求項2及び請求項4のいずれか一項に記載の方法。 - 前記個々のデータ・ブロックの前記データ・セットの前記プロパティに関する前記個々の情報が、前記個々のデータ・ブロックの前記データ・セットのデータ値が存在する範囲であり、前記範囲が、前記個々のデータ・ブロックにおける最小データ値と、前記個々のデータ・ブロックにおける最大データ値とによって定められる、請求項1~請求項6のいずれか一項に記載の方法。
- 前記RDBSの前記データが、データ・テーブルを使用して前記RDBSに記憶され、前記範囲が、前記個々のデータ・ブロック内の前記データ・テーブルの列にある最小データ値と、前記個々のデータ・ブロック内の前記データ・テーブルの前記列にある最大データ値とによって定められ、前記個々のデータ・ブロックが、前記データ・テーブルの行の個々のブロックを示す、請求項7に記載の方法。
- 前記データ・セットの前記プロパティが、前記個々のデータ・ブロック内の前記データ・セットのデータ値の分布であり、前記個々のデータ・ブロックの前記データ・セットの前記プロパティについての前記個々の情報が、前記データ値の前記分布を説明している、請求項1~請求項8のいずれか一項に記載の方法。
- 前記RDBSの前記データが、データ・テーブルを使用して前記RDBSに記憶され、前記分布が、前記個々のデータ・ブロック内の前記データ・テーブルの列にある前記データ値の分布を指し、前記個々のデータ・ブロックの前記データ・セットの前記プロパティについての前記個々の情報が、前記個々のデータ・ブロック内の前記データ・テーブルの前記列にある前記データ値の前記分布を説明しており、前記個々のデータ・ブロックが、前記データ・テーブルの行の個々のブロックを示す、請求項9に記載の方法。
- 前記分布が密度ベクトルによって表現される、請求項9に記載の方法。
- 前記2つのクエリ実行計画のうちの1つ、すなわち前記第1または前記第2のクエリ実行計画が、実際のある瞬間に実行中であり、前記2つのクエリ実行計画のうちのもう1つが、将来的なある瞬間に開始されるようにスケジュールされる、請求項1~請求項11のいずれか一項に記載の方法。
- 前記第1のクエリ実行計画および前記第2のクエリ実行計画が、互いの直後に実行されるようにスケジュールされる、請求項4に記載の方法。
- 前記方法が、前記RDBSのクエリ・オプティマイザから前記メタデータを受信することをさらに含む、請求項1~請求項13のいずれか一項に記載の方法。
- 前記方法が、前記RDBSのクエリ・オプティマイザから、前記第1のパーティションおよび前記第2のパーティションを指定するための情報を受信することをさらに含む、請求項1~請求項13のいずれか一項に記載の方法。
- 前記方法が、前記共通パーティションがなくなるように、前記RDBSのクエリ・オプティマイザを実行するための境界条件をセットすることをさらに含む、請求項1~請求項15のいずれか一項に記載の方法。
- クエリ実行計画のセットをスケジューリングするためのコンピュータ・プログラムであって、前記クエリ実行計画のセットが、少なくとも、リレーショナル・データベース・システム(RDBS)のデータの第1のデータ・セットにアクセスするための第1のクエリを実行するための第1のクエリ実行計画と、前記データの第2のデータ・セットにアクセスするための第2のクエリを実行するための第2のクエリ実行計画とを含み、前記データが、前記データのデータ・セットのデータ・ブロックに分割されており、前記RDBSのメタデータが、前記データ・ブロックの個々のデータ・ブロックの前記データ・セットの少なくとも1つのプロパティについての個々の情報を含み、
コンピュータに、前記第1のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第1のパーティションを、前記メタデータと、前記第1のデータ・セットが前記第1のクエリに従って満たさなければならない条件とに基づいて、決定するためのプログラム命令と、
前記第2のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第2のパーティションを、前記メタデータと、前記第2のデータ・セットが前記第2のクエリに従って満たさなければならない別の条件とに基づいて、決定するためのプログラム命令と、
前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがあるかどうか検査するためのプログラム命令と、
検査に基づいて前記RDBSで前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングするためのプログラム命令と
を実行させる、コンピュータ・プログラム。 - クエリ実行計画のセットをスケジューリングするためのコンピュータ・システムであって、前記クエリ実行計画のセットが、少なくとも、リレーショナル・データベース・システム(RDBS)のデータの第1のデータ・セットにアクセスするための第1のクエリを実行するための第1のクエリ実行計画と、前記データの第2のデータ・セットにアクセスするための第2のクエリを実行するための第2のクエリ実行計画とを含み、前記データが、前記データのデータ・セットのデータ・ブロックに分割されており、前記RDBSのメタデータが、前記データ・ブロックの個々のデータ・ブロックの前記データ・セットの少なくとも1つのプロパティについての個々の情報を含み、前記コンピュータ・システムが、
前記第1のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第1のパーティションを、前記メタデータと、前記第1のデータ・セットが前記第1のクエリに従って満たさなければならない条件とに基づいて、決定することと、
前記第2のクエリ実行計画が前記RDBSで実行されるとアクセスされる前記データ・ブロックの第2のパーティションを、前記メタデータと、前記第2のデータ・セットが前記第2のクエリに従って満たさなければならない別の条件とに基づいて、決定することと、
前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがあるかどうか検査することと、
検査に基づいて前記RDBSで前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングすることと
のために構成される、コンピュータ・システム。 - 前記第1のパーティションを決定することが、前記メタデータと、前記第1のデータ・セットが前記第1のクエリに従って満たさなければならない前記条件とに基づいて前記データ・ブロックの第1のコンプリメンタリ・パーティションを破棄することを含み、前記データ・ブロックの前記第1のコンプリメンタリ・パーティションが、前記第1のクエリ実行計画が前記RDBSで実行される場合にアクセスされていない前記データのデータ・ブロックを表現しており、前記第2のパーティションを前記決定することが、前記メタデータと、前記第2のデータ・セットが前記第2のクエリに従って満たさなければならない前記条件とを使用して前記データ・ブロックの第2のコンプリメンタリ・パーティションを破棄することを含み、前記データ・ブロックの前記第2のコンプリメンタリ・パーティションが、前記第2のクエリ実行計画が前記RDBSで実行される場合にアクセスされていない前記データのデータ・ブロックを表現している、請求項18に記載のコンピュータ・システム。
- 前記第1のパーティションと前記第2のパーティションのデータ・ブロック同士の共通パーティションがない場合、前記第1のクエリ実行計画および前記第2のクエリ実行計画が前記RDBSで並列に実行されるように、前記第1のクエリ実行計画および前記第2のクエリ実行計画をスケジューリングすること
のためにさらに構成される、請求項18に記載のコンピュータ・システム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116303575B (zh) * | 2023-03-22 | 2023-12-12 | 本原数据(北京)信息技术有限公司 | 数据库数据查询方法、装置及非易失性存储介质 |
Family Cites Families (15)
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 |
-
2020
- 2020-12-08 US US17/114,786 patent/US20220179861A1/en active Pending
-
2021
- 2021-12-07 WO PCT/IB2021/061407 patent/WO2022123437A1/en active Application Filing
- 2021-12-07 DE DE112021006377.4T patent/DE112021006377T5/de active Pending
- 2021-12-07 GB GB2308020.3A patent/GB2615505B/en active Active
- 2021-12-07 JP JP2023534179A patent/JP2024500058A/ja active Pending
- 2021-12-07 CN CN202180082548.3A patent/CN116569163A/zh active Pending
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 |