SIGMOD’12勉強会 -Session 7-
Upcoming SlideShare
Loading in...5
×
 

SIGMOD’12勉強会 -Session 7-

on

  • 1,511 views

 

Statistics

Views

Total Views
1,511
Views on SlideShare
1,502
Embed Views
9

Actions

Likes
2
Downloads
12
Comments
0

3 Embeds 9

https://twitter.com 7
https://si0.twimg.com 1
https://kcw.kddi.ne.jp 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

SIGMOD’12勉強会 -Session 7- SIGMOD’12勉強会 -Session 7- Presentation Transcript

  • 【SIGMOD2012勉強会】 Session 7: Storage Systems, Query Processing and Optimization 担当: 山室健(NTT)1
  • Today Outline 1. bLSM: A General Purpose Log Structured Merge Tree  Russell Sears, Yahoo! Research; Raghu Ramakrishnan, Yahoo! Research 2. NoDB: Efficient Query Execution on Raw Data File  Ioannis Alagiannis, EPFL; Renata Borovica, EPFL; Miguel Branco, EPFL; Stratos Idreos, CWI; Anastasia Ailamaki, EPFL 3. Skeleton Automata for FPGAs: Reconfiguring without Reconstructing  Jens Teubner, ETH Zürich; Louis Woods, ETH Zürich; Chongling Nie, ETH Zürich 2 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree- Russell Sears, Yahoo! Research; Raghu Ramakrishnan, Yahoo! Research 3 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT) View slide
  • 1. bLSM: A General Purpose Log Structured Merge Tree  論文概要  Update/insert-intensiveな環境向けのLSM木(’96年)の改良 であるbLSM木*1を提案、 B木に近いlookup/scan性能と時間 有界保証のあるmerge処理(後述)を実現  技術背景 update -- read&modify values insert – append a new key/value pair  B木の特徴 lookup – read a single key/value pair scan – read a range of key/value pairs  scan/lookup性能はほぼ最適  update/insertの際のシーク回数はやや多い  LSM木の特徴  ならし解析的にupdate/insertのコストが良い  scan/lookupの際のシーク回数が要素数の対数必要  update/insertが内部データのmerge処理に阻害される*1Yahoo!のPNUTS[10]/Walnut[9]のバックエンドとして使用 4 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT) View slide
  • 1. bLSM: A General Purpose Log Structured Merge Tree  論文概要  Update/insert-intensiveな環境向けのLSM木(’96年)の改良 であるbLSM木*1を提案、 B木に近いlookup/scan性能と時間 有界保証のあるmerge処理(後述)を実現  技術背景 update -- read&modify values insert – append a new key/value pair  B木の特徴 lookup – read a single key/value pair scan – read a range of key/value pairs  scan/lookup性能はほぼ最適  update/insertの際のシーク回数はやや多い 目標  LSM木の特徴 bLSM木 継承  ならし解析的にupdate/insertのコストが良い 改善  scan/lookupの際のシーク回数が要素数の対数必要  update/insertが内部データのmerge処理に阻害される*1Yahoo!のPNUTS[10]/Walnut[9]のバックエンドとして使用 5 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree  LSM木[25]の概要  update/insert-intensiveな環境に最適化された索引木  変更内容をメモリ上(図のC0)で遅 延させてバッチ的にディスク上の データ(図でC1*1)にmerge  merge処理は順読み込みのみ  シーク回数を最小化  検索は遅い  分割されている全てのデータ(図の C0とC1 )が検索対象となるため  merge処理がupdate/insertを阻害 参考文献[25]のFigure2.2から引用 (Merge処理の概要) ディスク上のデータは段階的に複数個で構成されていても良い、つまりC1、C2、C3・・・*1 6 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree LSM木の様々な適用例  Google Bigtable  Apache HBase  Cassandra pre1.0  sizeに応じた2段階粒度のmerge処理: major&minor compaction  TokuDB  LevelDB  exponential-sized level、file partitioning、fractional cascading  Riak  LevelDB + customized merge scheduler & bloom filter 7 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree LSM木の課題: merge処理がupdate/insertを阻害  merge処理中のinsertのlatencyが増大(下図) 引用: MySQL vs. LevelDB, https://github.com/m1ch1/mapkeeper/wiki/MySQL-vs.-LevelDB 8 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree bLSMの概要  lookup/scan処理の最適化  C0、C1とC2の3-level固定の構成/bloom filter/file partitioning  Merge処理の最適化  Level Schedulerによるupdate/insertとmerge処理の同期化 本論文内のFigure 1から引用 9 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree  Level(Spring & Gear) Scheduler  update/insertで書き込むデータとmerge量との比率(ギア 比)を調整して、それぞれのスレッドを同期化  APが行うupdate/insertを中断させず継続させることが目的 各スレッドをスケジューラで同期化 本論文内のFigure 1/5から引用※絵で描くのは簡単だが、実装は大変らしいです→https://github.com/sears/bLSM 10 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree  bLSMの性能概要  Update系の処理はLevelDB(LSM木)に対しても有利  R/Wの際のRの処理をBloom-Filterで最適化  Lookup/scan系の処理もB+Treeに近い性能  Bloom FilterとPartitioning  UniformなUpdateは有界時間で完了  ただし、集中したUpdateの場合は保証できない シーク回数本論文内のTable 1から引用 11 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree  bLSMの性能概要  Update系の処理はLevelDB(LSM木)に対しても有利  R/Wの際のRの処理をBloom-Filterで最適化  Lookup/scan系の処理もB+Treeに近い性能  Bloom FilterとPartitioning  UniformなUpdateは有界時間で完了  ただし、集中したUpdateの場合は保証できない シーク回数本論文内のTable 1から引用 12 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree  bLSMの性能概要  Update系の処理はLevelDB(LSM木)に対しても有利  R/Wの際のRの処理をBloom-Filterで最適化  Lookup/scan系の処理もB+Treeに近い性能  Bloom FilterとPartitioning  UniformなUpdateは有界時間で完了  ただし、集中したUpdateの場合は保証できない シーク回数本論文内のTable 1から引用 13 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree bLSMの性能結果  Schedulerの恩恵により、latencyのスパイクが減少 本論文内のFigure 7から引用 左がbLSM木、右がLSM木(LSM木) 14 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree bLSMの性能結果  lookup性能がB木(InnoDB)より良い結果に  未記載だがshort-range scanはInnoDBの性能が良い 本論文内のFigure 8から引用 15 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 1. bLSM: A General Purpose Log Structured Merge Tree bLSMの性能結果  lookup性能がB木(InnoDB)より良い結果に  未記載だがshort-range scanはInnoDBの性能が良い bLSM木は100% writeで 33,000ops/sec. 本論文内のFigure 8から引用 16 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 2. NoDB: Efficient Query Execution on Raw Data File - Ioannis Alagiannis, EPFL; Renata Borovica, EPFL; Miguel Branco, EPFL;Stratos Idreos, CWI; Anastasia Ailamaki, EPFL 17 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 2. NoDB: Efficient Query Execution on Raw Data File 論文概要  データ規模が大きくなるにつれてコストが高くなるDBへのデー タロードの課題に着手、データのロードをなくしつつ既存のDB 機能を利用する新たなシステムデザイン(NoDB)の提案、ま たこれをPostgreSQL上に実装したPostgreRawを提示 研究背景  CIDER’11の”Here are my Data Files. Here are my Queries. Where are my Results?”[15]のAdaptive Loadingが先駆け  ICDE’12でAilamaki先生が「The Future of Scientific Data Bases」パネリストとして参加、NoDBの話題  SIGMOD’12採択←いまここ 18 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 2. NoDB: Efficient Query Execution on Raw Data File NoDBの目標  必要なデータをRawFile(CSVファイル等)から適宜読み込み 解析する(In situ Processing)ことで、ロード時間をなくしロード 済みのDBとほぼ同等の性能を目指す DBMS w external files?  Oracle/PostgreSQL/MySQL等 にはRawFileを内部Relationとし てみせる機能が実装済み 本論文内のFigure 1から引用 ※Q1~Q4は任意のクエリを表している 19 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 2. NoDB: Efficient Query Execution on Raw Data File 「DBMS w external files」との差分機能  1. Selective tokenizing/parsing/tuple formation  RawFileにおける各行の必要カラムのみを変換  2. Adaptive indexing (positional map)  B木のように全ての行の対応関係を保持 するのではなく参照 に応じて適宜記憶  3. Tuple caching 本論文内のFigure 2から引用  一度読み込んだtupleを参照頻度に応じてcaching 20 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 2. NoDB: Efficient Query Execution on Raw Data File 性能評価  PostgresRaw PM + C (Positional Map + Cache enabled)  クエリQ1~Q9の詳細は明記無し・・・  単純なWHERE句を用いたSELECTでselectivity/projectivityを変化 本論文内のFigure 7から引用 21 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 3. Skeleton Automata for FPGAs - Jens Teubner, ETH Zürich; Louis Woods, ETH Zürich; Chongling Nie, ETH Zürich 22 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 3. Skeleton Automata for FPGAs 論文概要  部分的な処理をオフロードする 処理の記述能力を落とさず にFPGAにおけるコンパイルコストを解消したXML Projection (ストリームデータのFiltering処理)を実現 技術背景  処理の高速化を目的に部分的処理を FPGAにオフロード  処理に応じたプログラムの組み替え (コンパイル)に数時間かかることも 引用: wikipediaのFPGA項 ※FPGAはプログラム可能なLSIのこと 23 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 3. Skeleton Automata for FPGAs 余談 引用: http://japan.zdnet.com/development/analysis/35021200/ 24 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 3. Skeleton Automata for FPGAs  XML Projection[14]  クエリに記述された条件に合致する要素を抽出(Filtering)XML Projection処理例: 右図の赤背景部を抽出 本論文内のFigure 1から引用 25 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 3. Skeleton Automata for FPGAs 基本アプローチ  XML ProjectionはNFAに変換可能  [N|D]FAはFPGA上で容易に表現可能  Skeleton Automata: FAの雛型をもちいることでパラメータの変更の みで処理の変更に対応 NFAのイプシロン遷移に対応 本論文内のFigure 3/4から引用 26 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)
  • 3. Skeleton Automata for FPGAs 性能評価  Saxon-EEを用いたFiltering(下図網掛け棒)との比較  in-memory処理向けのXMLプロセッサ  XMark benchmark suite [22].を使用 本論文内のFigure 15から引用 27 Session 7: Storage Systems, Query Processing and Optimization 担当:山室健(NTT)