SlideShare a Scribd company logo
Founda'ons	
  of	
  Query	
  Processing	
  
R19-­‐4:	
  Dynamic	
  Programming:	
  The	
  Next	
  Step	
  	
  
Takeshi	
  Yamamuro	
  
20150516@ICDE2015study	
  
1	
  
Outline	
  
•  結合演算(join)と集約演算(group-­‐by)で構成される
関係代数式の等価性を包括的に定義	
  
→より効率的な演算順序を探索することが可能に	
  
•  新たな等価性で拡大した探索空間に対して効率的
な演算順序の選択方法を議論	
  
→実験から|R|が7までは全列挙が可能,10までは探索の
枝刈り,それ以上は動的計画法(DP)を前提とした経験的な
アプローチを適用することが妥当	
  
2	
  
Backgrounds	
  
•  結合演算→集約演算は頻出パタン	
  
–  正規化された関係Rを結合後に集計処理する場合など	
  
•  結合前に集約することで効率化の可能性	
  
–  結合選択率(join	
  selec'vity)と組(tuple)の重複度が高い	
  
–  Hyper	
  [9]において100x〜1000xの改善を確認	
  
3	
  
SELECT	
  	
  
	
  	
  	
  	
  a.gid,	
  SUM(b.value),	
  AVG(b.value)	
  
FROM	
  	
  
	
  	
  	
  	
  a	
  LEFT	
  OUTER	
  JOIN	
  b	
  ON	
  (a.id=	
  b.id)	
  	
  
GROUP	
  BY	
  a.gid	
  
Backgrounds	
  
•  90年前半に内部結合演算と集約演算のみに関する
等価性に関する提案 [4][5][6][7][8]	
  
•  本論文では外部結合を含めた5つの結合演算に関
する包括的な等価性を議論	
  
–  le_	
  semijoin	
  
–  le_	
  an'join	
  
–  le_	
  outerjoin	
  
–  full	
  outerjoin	
  
–  groupjoin	
  [11]	
  
4	
  
ex.)	
  外部結合(outerjoin)の等価性	
  
5	
  
•  外部結合の左関係e1に集約演算をpush-­‐down	
  
集約演算Γ	
  →	
  集約する属性Gと集約関数F(SUMやAVGなど) 	
  
関係e1とe2を条件qでfull	
  outerjoin	
  
左関係e1にpush-­‐down	
  
ex.)	
  外部結合(outerjoin)の等価性	
  
6	
  
•  外部結合の左関係e1に集約演算をpush-­‐down	
  
・G+
1はe1の集約属性G1と結合属性J1の和集合	
  
・G+
1と分割されたF1
1○(c1:count(*))を用いて集約処理	
  
*	
  集約関数Fのdecomposability/splimabilityの定義は論文内Ⅱ-­‐A.	
  2)/3)を参照	
  
集約関数F*のdecomposability/splimabilityを考慮して分割	
  
ex.)	
  外部結合(outerjoin)の等価性	
  
7	
  
•  外部結合の左関係e1に集約演算をpush-­‐down	
  
*	
  最上位の集約演算の省略条件はⅢ-­‐B(Elimina'ng	
  the	
  Top	
  Grouping)を参照	
  
外部結合の結果に対して再度集約処理を実施*	
  
包括的な等価性を定義:	
  式(10)〜(41)	
  
8	
  
Not	
  Explained	
  
演算順序最適化と動的計画法	
  
•  演算順序の解空間O(22|R|-­‐1#ccp)に対して動的計画
法を用いて最適解を探索	
  
– ccp(csg-­‐cmp-­‐pair)*はjoin	
  graphを2つに分割して
構成される部分集合S1とS2	
  
– PostgreSQLの最適化においても|R|<11の条件で
は動的計画法を適用	
  
9	
  *	
  ccpの正確な定義はⅣ-­‐BのDefini'on3を参照	
  
動的計画法と部分問題独立性	
  
•  結合と集約の順序問題は互いの部分問題が依存	
–  最適性原理(Bellman’s	
  Principle	
  of	
  Op'mality)が成り立た
ないため,一般的なDPで最適解が得られる保証はない	
  
10	
  
集約演算をpush-­‐down	
  
動的計画法と部分問題独立性	
  
•  結合と集約の順序問題は互いの部分問題が依存	
–  最適性原理(Bellman’s	
  Principle	
  of	
  Op'mality)が成り立た
ないため,一般的なDPで最適解が得られる保証はない	
  
11	
  
コスト低	
  
コスト高	
  
動的計画法と部分問題独立性	
  
•  結合と集約の順序問題は互いの部分問題が依存	
–  最適性原理(Bellman’s	
  Principle	
  of	
  Op'mality)が成り立た
ないため,一般的なDPで最適解が得られる保証はない	
  
12	
  
コスト低	
  
コスト高	
  
コストが逆転	
  
後続の結合に影響	
  
適用する4つの探索手法	
  
•  最適解を保証するアプローチ	
  
–  EA-­‐All: 全列挙	
  
–  EA-­‐Prune:	
  EA-­‐All	
  +	
  枝刈り	
  
•  経験的なアプローチ	
  
–  H1:	
  部分問題で最適な解を1つメモしてDPを適用	
  
–  H2:	
  H1	
  +	
  集約処理のpush-­‐downの影響を考慮	
  
13	
  
実験結果	
  
•  |R|=3〜20として,10,000パタンのランダムな演算順
序を初期値として探索を実行	
  
14	
  
Fig.16	
  実行時間	
   Fig.17	
  最適解からの乖離	
  

More Related Content

PDF
20150513 legobease
Takeshi Yamamuro
 
PDF
VLDB’11勉強会 -Session 9-
Takeshi Yamamuro
 
PDF
VLDB2013 R1 Emerging Hardware
Takeshi Yamamuro
 
PDF
VLDB'10勉強会 -Session 20-
Takeshi Yamamuro
 
PDF
Introduction to Modern Analytical DB
Takeshi Yamamuro
 
PDF
SIGMOD'10勉強会 -Session 8-
Takeshi Yamamuro
 
PDF
SIGMOD’12勉強会 -Session 7-
Takeshi Yamamuro
 
PDF
Sparkのクエリ処理系と周辺の話題
Takeshi Yamamuro
 
20150513 legobease
Takeshi Yamamuro
 
VLDB’11勉強会 -Session 9-
Takeshi Yamamuro
 
VLDB2013 R1 Emerging Hardware
Takeshi Yamamuro
 
VLDB'10勉強会 -Session 20-
Takeshi Yamamuro
 
Introduction to Modern Analytical DB
Takeshi Yamamuro
 
SIGMOD'10勉強会 -Session 8-
Takeshi Yamamuro
 
SIGMOD’12勉強会 -Session 7-
Takeshi Yamamuro
 
Sparkのクエリ処理系と周辺の話題
Takeshi Yamamuro
 

More from Takeshi Yamamuro (15)

PDF
LT: Spark 3.1 Feature Expectation
Takeshi Yamamuro
 
PDF
Apache Spark + Arrow
Takeshi Yamamuro
 
PPT
Quick Overview of Upcoming Spark 3.0 + α
Takeshi Yamamuro
 
PDF
MLflowによる機械学習モデルのライフサイクルの管理
Takeshi Yamamuro
 
PDF
Taming Distributed/Parallel Query Execution Engine of Apache Spark
Takeshi Yamamuro
 
PPTX
LLJVM: LLVM bitcode to JVM bytecode
Takeshi Yamamuro
 
PDF
20180417 hivemall meetup#4
Takeshi Yamamuro
 
PDF
An Experimental Study of Bitmap Compression vs. Inverted List Compression
Takeshi Yamamuro
 
PDF
20160908 hivemall meetup
Takeshi Yamamuro
 
PDF
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
Takeshi Yamamuro
 
PDF
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
Takeshi Yamamuro
 
PDF
A x86-optimized rank&select dictionary for bit sequences
Takeshi Yamamuro
 
PDF
VAST-Tree, EDBT'12
Takeshi Yamamuro
 
PDF
研究動向から考えるx86/x64最適化手法
Takeshi Yamamuro
 
PDF
VLDB'10勉強会 -Session 2-
Takeshi Yamamuro
 
LT: Spark 3.1 Feature Expectation
Takeshi Yamamuro
 
Apache Spark + Arrow
Takeshi Yamamuro
 
Quick Overview of Upcoming Spark 3.0 + α
Takeshi Yamamuro
 
MLflowによる機械学習モデルのライフサイクルの管理
Takeshi Yamamuro
 
Taming Distributed/Parallel Query Execution Engine of Apache Spark
Takeshi Yamamuro
 
LLJVM: LLVM bitcode to JVM bytecode
Takeshi Yamamuro
 
20180417 hivemall meetup#4
Takeshi Yamamuro
 
An Experimental Study of Bitmap Compression vs. Inverted List Compression
Takeshi Yamamuro
 
20160908 hivemall meetup
Takeshi Yamamuro
 
浮動小数点(IEEE754)を圧縮したい@dsirnlp#4
Takeshi Yamamuro
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
Takeshi Yamamuro
 
A x86-optimized rank&select dictionary for bit sequences
Takeshi Yamamuro
 
VAST-Tree, EDBT'12
Takeshi Yamamuro
 
研究動向から考えるx86/x64最適化手法
Takeshi Yamamuro
 
VLDB'10勉強会 -Session 2-
Takeshi Yamamuro
 
Ad

Recently uploaded (9)

PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
PDF
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
PDF
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
20250729_Devin-for-Enterprise
Masaki Yamakawa
 
20250730_QiitaBash_LT登壇資料_PDC_Kurashina.pdf
pdckurashina
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
Ad

20150516 icde2015 r19-4