JP6823626B2 - データベース管理システム及び方法 - Google Patents
データベース管理システム及び方法 Download PDFInfo
- Publication number
- JP6823626B2 JP6823626B2 JP2018146963A JP2018146963A JP6823626B2 JP 6823626 B2 JP6823626 B2 JP 6823626B2 JP 2018146963 A JP2018146963 A JP 2018146963A JP 2018146963 A JP2018146963 A JP 2018146963A JP 6823626 B2 JP6823626 B2 JP 6823626B2
- Authority
- JP
- Japan
- Prior art keywords
- query
- query plan
- cost
- candidate
- storage device
- 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
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/2452—Query translation
- G06F16/24524—Access plan code generation and invalidation; Reuse of access plans
-
- 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
- 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/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Power Sources (AREA)
Description
・実行時間(例えば[sec])は、一つ以上のデータベース演算子にそれぞれ対応した一つ以上の実行時間の総和である。
・最大電力(例えば[W])は、一つ以上のデータベース演算子にそれぞれ対応した一つ以上の消費電力のうちの最大値である。
・消費電力量(例えば[Wsec])は、一つ以上のデータベース演算子にそれぞれ対応した一つ以上の消費電力量の総和である。
・対象データベース演算子によってアクセスされる(I/Oがされる)表部分のサイズ、及び、当該表部分を格納した記憶領域の容量、の少なくとも一方。表部分のサイズは、例えば、当該表部分を構成するレコードの数と、一つのレコードのサイズとに基づく。表部分を格納した記憶領域の容量は、例えば、当該表部分を格納するページの数と、一つのページのサイズとに基づく。一つ以上の記憶デバイス170に基づく論理的な記憶領域がデータベース領域として提供され、データベース領域が、複数のページで構成され、ページ単位でアクセスがされてよい。
・対象データベース演算子でのスループット、及び、対象データベース演算子でのレイテンシ、のうちの少なくとも一方。対象データベース演算子でのスループットは、例えば、対象データベース演算子に関わる複数の機器(例えば、ストレージシステム110、記憶デバイス170、ネットワーク160及びDBサーバ100のうちの一つ以上の機器)にそれぞれ対応した複数のスループットのうちの最小値でよい。最小のスループットの機器が対象データベース演算子のボトルネックとなり得るからである。対象データベース演算子でのレイテンシも、例えば、対象データベース演算子に関わる複数の機器にそれぞれ対応した複数のレイテンシのうちの最小値でよい。
・対象クエリプラン候補の実行においてアクセスされる一つ以上の記憶デバイス170の消費電力と、当該一つ以上の記憶デバイス170を有する一つ以上の装置の消費電力とのうちの少なくとも一つ。例えば、対象データベース演算子の消費電力は、対象データベース演算子に関わる複数の機器(例えば、ストレージシステム110、記憶デバイス170、ネットワーク160及びDBサーバ100のうちの一つ以上の機器)にそれぞれ対応した複数の消費電力の総和である。
・対象データベース演算子の実行時間と対象データベース演算子の消費電力との積。
Claims (15)
- 複数の関係表を含むデータベースに対するクエリをクエリ発行元から受け付けるクエリ受付部と、
前記受け付けたクエリに基づいて当該クエリを実行するために必要なクエリプランを生成するクエリプラン生成部と、
前記生成されたクエリプランに基づいて前記クエリを実行し前記クエリの実行結果を前記クエリ発行元に返すクエリ実行部と
を有し、
前記クエリが、前記複数の関係表のうちのN個(Nは3以上の整数)の関係表の結合を示している場合、
前記クエリプラン生成部が、
第一、第二及び第三のクエリプラン候補を含む複数のクエリプラン候補を生成し、
前記複数のクエリプラン候補の各々について、当該クエリプラン候補に基づき前記クエリを実行する際のコストであり当該クエリプラン候補に基づくクエリ実行に関わる消費電力量に基づくコストであるクエリコストを算出し、
前記複数のクエリプラン候補から相対的にクエリコストが低いクエリプラン候補を選択し、
前記生成されたクエリプランは、前記選択されたクエリプラン候補であり、
前記第一のクエリプラン候補は、前記N個の関係表のうちのM個(Mは2以上且つN未満の整数)の関係表の結合結果としての一時表を生成し前記一時表を第一のアクセスコストの記憶デバイスユニットに格納することを経て前記N個の関係表の結合結果を得るクエリプランであり、前記第一のアクセスコストが、前記第一のクエリプラン候補のクエリコストに影響し、
前記第二のクエリプラン候補は、前記一時表を生成し前記第一のアクセスコストよりも高い第二のアクセスコストの記憶デバイスユニットに前記一時表を格納することを経て前記N個の関係表の結合結果を得るクエリプランであり、前記第二のアクセスコストが、前記第二のクエリプラン候補のクエリコストに影響し、
前記第三のクエリプラン候補は、前記一時表を生成すること無しに前記N個の関係表の結合結果を得るクエリプランである、
データベース管理システム。 - 前記複数のクエリプラン候補の各々について、前記クエリコストは、当該クエリプラン候補の実行にかかる時間である実行時間に基づく、
請求項1に記載のデータベース管理システム。 - 前記複数のクエリプラン候補の各々について、当該クエリプラン候補に基づくクエリ実行に関わる消費電力量は、当該クエリプラン候補に基づくクエリ実行にかかる実行時間と、当該クエリプラン候補に基づくクエリ実行での消費電力とに基づき、
前記実行時間は、下記のうちの少なくとも一つに基づき、
当該クエリプラン候補の実行における一つ以上のデータベース演算子の各々について、当該データベース演算子においてアクセスされる表部分のサイズ、及び、当該表部分を格納した記憶領域の容量、の少なくとも一方、
当該クエリプラン候補の実行における一つ以上のデータベース演算子の各々について、当該データベース演算子でのスループット、及び、当該データベース演算子でのレイテンシ、のうちの少なくとも一方、
前記消費電力は、当該クエリプラン候補の実行においてアクセスされる一つ以上の記憶デバイスの消費電力と、当該一つ以上の記憶デバイスを有する一つ以上の装置の消費電力とのうちの少なくとも一つに基づく、
請求項1に記載のデータベース管理システム。 - 実行時間の上限があり、
前記クエリプラン生成部は、実行時間が前記上限以下であるクエリプラン候補から相対的にクエリコストが低いクエリプラン候補を選択する、
請求項2又は3に記載のデータベース管理システム。 - 前記クエリプラン生成部は、
実行時間が前記上限以下であるクエリプラン候補が一つ以上ある場合、当該一つ以上のクエリプラン候補から相対的にクエリコストが低いクエリプラン候補を選択し、
実行時間が前記上限以下であるクエリプラン候補が無いが、実行時間が前記上限を超えることを許容することの設定がある場合、実行時間が前記上限を超えるクエリプラン候補から相対的にクエリコストが低いクエリプラン候補を選択する、
請求項4に記載のデータベース管理システム。 - クエリプラン候補の数は、結合結果としての一時表を生成することが可能なデータベース演算子である結合可能箇所の数に依存する、
請求項1乃至5のうちのいずれか1項に記載のデータベース管理システム。 - 前記クエリプラン候補の数は、更に、一時表の格納先の数に依存する、
請求項6に記載のデータベース管理システム。 - 前記第一のアクセスコストの記憶デバイスユニットに関し、当該第一のアクセスコストは、当該記憶デバイスユニットへアクセスする場合のレイテンシ、スループット、及び、当該記憶デバイスユニットの容量、うちの少なくとも一つに基づき、
前記第二のアクセスコストの記憶デバイスユニットに関し、当該第二のアクセスコストは、当該記憶デバイスユニットへアクセスする場合のレイテンシ、スループット、及び、当該記憶デバイスユニットの容量、うちの少なくとも一つに基づき、
前記第一のアクセスコストの基になる前記レイテンシ、前記スループット、及び前記容量のうちの少なくとも一つは、前記第二のアクセスコストの基になる前記レイテンシ、前記スループット、及び前記容量のうちの少なくとも一つよりも優れている、
請求項1乃至6のうちのいずれか1項に記載のデータベース管理システム。 - 前記M個の関係表のうちの少なくとも一個の関係表が、第一の記憶デバイスユニットに格納されており、
前記N個の関係表のうち前記M個の関係表以外のうちの少なくとも一個の関係表が、第二の記憶デバイスユニットに格納されており、
前記選択されたクエリプラン候補が、前記第一のクエリプラン候補と前記第二のクエリプラン候補のうちのいずれかである場合、前記クエリ実行部は、
前記一時表の生成のために前記M個の関係表を参照する間、前記第二の記憶デバイスユニットの状態を、省電力状態に変更し、
前記M個の関係表以外の関係表を参照する間、前記第一の記憶デバイスユニットの状態を、省電力状態に変更する、
請求項1に記載のデータベース管理システム。 - 複数の関係表を含むデータベースに対するクエリをクエリ発行元から受け付け、
前記受け付けたクエリに基づいて当該クエリを実行するために必要なクエリプランを生成し、
前記生成されたクエリプランに基づいて前記クエリを実行し前記クエリの実行結果を前記クエリ発行元に返し、
前記クエリが、前記複数の関係表のうちのN個(Nは3以上の整数)の関係表の結合を示している場合、
前記クエリプランの生成において、
第一、第二及び第三のクエリプラン候補を含む複数のクエリプラン候補を生成し、
前記複数のクエリプラン候補の各々について、当該クエリプラン候補に基づき前記クエリを実行する際のコストであり当該クエリプラン候補に基づくクエリ実行に関わる消費電力量に基づいたコストであるクエリコストを算出し、
前記複数のクエリプラン候補から相対的にクエリコストが低いクエリプラン候補を選択し、
前記生成されたクエリプランは、前記選択されたクエリプラン候補であり、
前記第一のクエリプラン候補は、前記N個の関係表のうちのM個(Mは2以上且つN未満の整数)の関係表の結合結果としての一時表を生成し前記一時表を第一のアクセスコストの記憶デバイスユニットに格納することを経て前記N個の関係表の結合結果を得るクエリプランであり、前記第一のアクセスコストが、前記第一のクエリプラン候補のクエリコストに影響し、
前記第二のクエリプラン候補は、前記一時表を生成し前記第一のアクセスコストよりも高い第二のアクセスコストの記憶デバイスユニットに前記一時表を格納することを経て前記N個の関係表の結合結果を得るクエリプランであり、前記第二のアクセスコストが、前記第二のクエリプラン候補のクエリコストに影響し、
前記第三のクエリプラン候補は、前記一時表を生成すること無しに前記N個の関係表の結合結果を得るクエリプランである、
データベース管理方法。 - 前記複数のクエリプラン候補の各々について、前記クエリコストは、当該クエリプラン候補の実行にかかる時間である実行時間に基づく、
請求項10に記載のデータベース管理方法。 - 実行時間の上限があり、
前記クエリプランの生成では、実行時間が前記上限以下であるクエリプラン候補から相対的にクエリコストが低いクエリプラン候補を選択する、
請求項11に記載のデータベース管理方法。 - クエリプラン候補の数は、結合結果としての一時表を生成することが可能な処理である結合可能箇所の数に依存する、
請求項10乃至12のうちのいずれか1項に記載のデータベース管理方法。 - 前記第一のアクセスコストの記憶デバイスユニットに関し、当該第一のアクセスコストは、当該記憶デバイスユニットへアクセスする場合のレイテンシ、スループット、及び、当該記憶デバイスユニットの容量、うちの少なくとも一つに基づき、
前記第二のアクセスコストの記憶デバイスユニットに関し、当該第二のアクセスコストは、当該記憶デバイスユニットへアクセスする場合のレイテンシ、スループット、及び、当該記憶デバイスユニットの容量、うちの少なくとも一つに基づき、
前記第一のアクセスコストの基になる前記レイテンシ、前記スループット、及び前記容量のうちの少なくとも一つは、前記第二のアクセスコストの基になる前記レイテンシ、前記スループット、及び前記容量のうちの少なくとも一つよりも優れている、
請求項10乃至13のうちのいずれか1項に記載のデータベース管理方法。 - 前記M個の関係表のうちの少なくとも一個の関係表が、第一の記憶デバイスユニットに格納されており、
前記N個の関係表のうち前記M個の関係表以外のうちの少なくとも一個の関係表が、第二の記憶デバイスユニットに格納されており、
前記選択されたクエリプラン候補が、前記第一のクエリプラン候補と前記第二のクエリプラン候補のうちのいずれかである場合、前記クエリの実行の際に、
前記一時表の生成のために前記M個の関係表を参照する間、前記第二の記憶デバイスユニットの状態を、省電力状態に変更し、
前記M個の関係表以外の関係表を参照する間、前記第一の記憶デバイスユニットの状態を、省電力状態に変更する、
請求項10乃至14のうちのいずれか1項に記載のデータベース管理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018146963A JP6823626B2 (ja) | 2018-08-03 | 2018-08-03 | データベース管理システム及び方法 |
US16/282,342 US11061907B2 (en) | 2018-08-03 | 2019-02-22 | Database management system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018146963A JP6823626B2 (ja) | 2018-08-03 | 2018-08-03 | データベース管理システム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020021417A JP2020021417A (ja) | 2020-02-06 |
JP6823626B2 true JP6823626B2 (ja) | 2021-02-03 |
Family
ID=69229649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018146963A Active JP6823626B2 (ja) | 2018-08-03 | 2018-08-03 | データベース管理システム及び方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11061907B2 (ja) |
JP (1) | JP6823626B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10896066B2 (en) * | 2018-12-13 | 2021-01-19 | Shopify Inc. | Rate limiting in query processing based on computation cost |
KR102125010B1 (ko) * | 2020-03-17 | 2020-06-19 | 김명훈 | 데이터베이스 전환 분석 시스템 및 방법 |
US11210288B2 (en) | 2020-05-12 | 2021-12-28 | Coupang Corp. | Systems and methods for reducing database query latency |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001155018A (ja) * | 1999-11-25 | 2001-06-08 | Hitachi Ltd | データベースシステム |
US20030158842A1 (en) * | 2002-02-21 | 2003-08-21 | Eliezer Levy | Adaptive acceleration of retrieval queries |
JP4908260B2 (ja) * | 2007-02-23 | 2012-04-04 | 優 喜連川 | 計算機システム、及び省電力化方法 |
US8312007B2 (en) * | 2008-05-08 | 2012-11-13 | International Business Machines Corporation | Generating database query plans |
US9189047B2 (en) * | 2008-05-08 | 2015-11-17 | International Business Machines Corporation | Organizing databases for energy efficiency |
US7941426B2 (en) * | 2008-05-08 | 2011-05-10 | International Business Machines Corporation | Optimizing database queries |
WO2011118425A1 (ja) * | 2010-03-24 | 2011-09-29 | 日本電気株式会社 | クエリ最適化システム、クエリ最適化装置、及びクエリ最適化方法 |
US8447772B2 (en) * | 2010-06-23 | 2013-05-21 | International Business Machines Corporation | Energy monetary cost aware query optimization |
GB2508223A (en) * | 2012-11-26 | 2014-05-28 | Ibm | Estimating the size of a joined table in a database |
US10242058B2 (en) * | 2015-07-14 | 2019-03-26 | International Business Machines Corporation | Access path optimization through system statistics |
JP6690829B2 (ja) * | 2015-08-28 | 2020-04-28 | 国立大学法人 東京大学 | 計算機システム、省電力化方法及び計算機 |
-
2018
- 2018-08-03 JP JP2018146963A patent/JP6823626B2/ja active Active
-
2019
- 2019-02-22 US US16/282,342 patent/US11061907B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20200042521A1 (en) | 2020-02-06 |
US11061907B2 (en) | 2021-07-13 |
JP2020021417A (ja) | 2020-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5276218B2 (ja) | リアルタイムでlunをファイルに、またはファイルをlunに変換すること | |
US8438282B2 (en) | Information processing system and load sharing method | |
US8601213B2 (en) | System, method, and computer-readable medium for spool cache management | |
JP4571609B2 (ja) | リソース割当方法、リソース割当プログラム、および、管理コンピュータ | |
JP6823626B2 (ja) | データベース管理システム及び方法 | |
KR102236419B1 (ko) | 액세스 요청을 관리하기 위한 방법, 장치, 기기 및 저장 매체 | |
US11030169B1 (en) | Data re-sharding | |
JP4801761B2 (ja) | データベース管理方法およびシステム並びにその処理プログラム | |
JP6707797B2 (ja) | データベース管理システム及びデータベース管理方法 | |
US20170228422A1 (en) | Flexible task scheduler for multiple parallel processing of database data | |
JP6269140B2 (ja) | アクセス制御プログラム、アクセス制御方法、およびアクセス制御装置 | |
JP2005234834A (ja) | 論理ボリュームの再配置方法 | |
WO2017126003A1 (ja) | 複数種類のメモリデバイスを含む計算機システム及び方法 | |
US20160139957A1 (en) | Method and system for scheduling virtual machines in integrated virtual machine clusters | |
US11494383B2 (en) | Database management system and database management method | |
Schall et al. | Dynamic physiological partitioning on a shared-nothing database cluster | |
CN105518664B (zh) | 管理数据库节点 | |
JP6210501B2 (ja) | データベース管理システム、計算機、データベース管理方法 | |
JP6695973B2 (ja) | 計算機システム及びデータベース管理方法 | |
US10747446B2 (en) | Computer system and storage device activation control method | |
US11609909B2 (en) | Zero copy optimization for select * queries | |
Zhou et al. | ApproxSSD: Data layout aware sampling on an array of SSDs | |
양영석 | A Flexible Architecture for Optimizing Distributed Data Processing | |
CN117453735A (zh) | 镜像缩放云数据库 | |
JP5146440B2 (ja) | 無共有型データベース管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201210 |
|
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: 20201215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210108 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6823626 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |