SlideShare a Scribd company logo
1 of 11
Download to read offline
R24-4: The DBMS - your Big Data Sommelier
(R24: Query Processing 3)
R27-3: A Comparison of Adaptive Radix Trees
and Hash Tables
(R27: Indexing)
Masafumi Oyamada
ICDE’15 勉強会
R24-4: The DBMS - your Big Data Sommelier
Yagiz Kargin , Martin Kersten , Stefan Manegold , Holger Pirk (CWI)
(目的) “インスタント分析” を実現したい
– 課題: DBMS で巨大なデータを分析しようと思うと、データのロー
ド・索引付けに時間がかかって、すぐに分析が開始できない
(発想) メタデータを利用し、ロードするデータを絞り込む
– 科学分野ではデータが複数の “ファイル” からなり、各ファイルが
“メタデータ” を持つ(例: 取得時刻)
– クエリの条件にはメタデータから得られる情報が指定されることが
多い(例: 「昨日取得したデータの平均値を計算して」)
–  まずはメタデータだけをロードしておいて、実際にロードする
データ(ファイル)は条件にマッチするものだけにしよう!
(方式) メタデータを考慮した問合せ最適化 in MonetDB
– “メタデータに対する処理” が最初におこなわれるような問合せプ
ランの書き換えルールを MonetDB のオプティマイザに導入
MonetDB チーム
発想: メタデータをつかってデータのロードを減らす
問合せ例
– place = “Japan” のデータを取得するモノ
– 本来 T_part2.csv のロードは必要ない
• place = “US” なので (メタデータ情報)
従来の DBMS
– メタデータ/実データどちらも全てロード
してから処理する
–  T_part2.csv のロードは無駄に
提案方式
– 方針: メタデータだけ事前にロード
–  T_part2.csv が問合せ対象に入らないこ
とを確認し、ロードを省くことができる
Z
[date] 2015 05/17
[place] Japan
[date] 2014 08/20
[place] US
メタデータ
ロードが楽
実データ
ロードが大変
T_part1.csv
T_part2.csv
SELECT * FROM T
WHERE place = “Japan”
R24-4: The DBMS - your Big Data Sommelier
アプローチ: オプティマイザの拡張
 実データ と メタデータ をプラン内で区別するようオプ
ティマイザを拡張
プランの最適化時には、メタデータに対する処理をできる
だけ最初にやるよう、プランを書き換え
メタデータは既にロードされており、すぐに処理できる
その処理結果をつかって、ロードする実データを pruning する
R24-4: The DBMS - your Big Data Sommelier
評価
データ: 地震波形の実データ (mSEED フォーマット)
– sf27: 4384ファイル, 36GB (DB にロード後は伸張され 627 GB)
問合せ: 集計値の計算
– T_4: 特定期間の波形の平均値の計算
R24-4: The DBMS - your Big Data Sommelier
(データのロードも含めた)
問合せを完了するまでの時間
インデックスを作成して利用するもの
(インデックス作成コストが大きく
フルスキャンよりも遅い)
データをフルスキャンするもの
提案方式
選択率が極めて高い場合を除き
従来方式よりもよい性能
R27-3: A Comparison of Adaptive Radix Trees and
Hash Tables
Victor Alvarez, Stefan Richter, Xiao Chen, Jens Dittrich (Saarland University)
(概要) ART [Leis, ICDE’13] の性能測定を “ちゃんと” やる
– Adaptive Radix-Tree (ART): インメモリDB向けのインデックス
– ART は “ハッシュテーブル並みの性能でレンジクエリもサポートす
る夢の索引” とうたわれているが、実際のところどうなの?
(目的) [Leis, ICDE’13] で欠けていた3つの評価をやる
1. 類似するデータ構造である Judy Array との比較
2. ちゃんとチューニングしたハッシュテーブルとの比較
3. レンジクエリの性能測定
 (結果) ART は銀の弾丸ではない!
– ポイントクエリではハッシュテーブルに勝てず、レンジクエリでは
B+ Tree に勝てない(が、どちらも二番手となる性能)
Radix Tree と ART (Adaptive Radix Tree)
 Radix Tree (中間ノードを圧縮したトライ / パトリシア木)
– Good: 探索時に条件分岐が発生しない (単なる配列アクセス) ため、CPU
キャッシュミスが少ない (↔ 二分木)
– Bad: まだまだメモリ利用効率が悪く、キャッシュ効率も悪い
• データがスパースでも、最大の子供数分の容量を食う
 ART (Adaptive Radix Tree) [Leis, ICDE’13]
– 最適化された 256-way の Radix Tree
– ノードの圧縮: 実際の子供の数に応じて (Adaptive) ノードのデータ構造を
変えることで、ノードを圧縮する
– 探索効率化: 探索処理は SIMD を活用して高速に実行
各ノードは「子ノードへのポインタ」の配列
子ノードが少ない場合でも、最大子共数分の容量を消費
子ノードの数に応じて、ノードを異なるデータ構造で表現
子ノードが多い (Dense)  Radix Tree と同様の表現
子ノードが少ない (Sparse)  圧縮表現
R27-3: A Comparison of Adaptive Radix Trees and Hash Tables
ART: 子ノードの数に応じてノードのデータ構造を変更
If (子ノード数 ≤ 16)
If (子ノード数 ≤ 48)
If (子ノード数 > 48)
(1) 子ノードを持つキーのキー値を N 個並べる (探索時は、線形探索)
(2) 続いて、キーと同じ順で、子ノードへのポインタを N 個並べる
(1)256個の配列を用意し、インデックスの示すキーが子ノードを持つなら、
子ノードへのポインタのポインタを格納 (探索時は、配列アクセス)
(2) 子ノードの数だけ、子ノードへのポインタを並べる
Radix Tree と同様に、子ノードへのポインタをそのまま並べる。イン
デックスがキー値となる
R27-3: A Comparison of Adaptive Radix Trees and Hash Tables
評価
 ポイントクエリ (1Billion のタプルに対する検索)
– 比較対象 (抜粋)
• Judy Array
• Cuckoo hashing (モダンな Open addressing アルゴリズム) をつかった
ハッシュテーブル実装
– 結果
• Judy Array には勝つ (ART は Judy 比 2x の性能だが 2x 容量を食う)
• ハッシュテーブルには負ける (ハッシュテーブルは ART とくらべて数倍の
性能)
 レンジクエリ
– 比較対象
• Judy Array
• Cuckoo hashing をつかったハッシュテーブル実装
• B+-Tree
– 結果
• Judy, ハッシュテーブルには勝つ (2x の性能)
• B+-Tree には負ける
Radix Tree の改良版で ART に類似。細かな違いは論文参照
※ ART には B+-Tree と比べると木の管理がはるかに楽、という利点も
R27-3: A Comparison of Adaptive Radix Trees and Hash Tables
ポイントクエリ (Lookup throughput)
R27-3: A Comparison of Adaptive Radix Trees and Hash Tables
レンジクエリ (Lookup throughput)
R27-3: A Comparison of Adaptive Radix Trees and Hash Tables

More Related Content

What's hot

Hadoop / Elastic MapReduceつまみ食い
Hadoop / Elastic MapReduceつまみ食いHadoop / Elastic MapReduceつまみ食い
Hadoop / Elastic MapReduceつまみ食いRyuji Tamagawa
 
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]Hideo Takagi
 
クラウド時代のデータストア選択"秘伝の書"
クラウド時代のデータストア選択"秘伝の書"クラウド時代のデータストア選択"秘伝の書"
クラウド時代のデータストア選択"秘伝の書"Hiromasa Oka
 
Asakusaではじめるhadoop sparkプログラミング
Asakusaではじめるhadoop sparkプログラミングAsakusaではじめるhadoop sparkプログラミング
Asakusaではじめるhadoop sparkプログラミングTadatoshi Sekiguchi
 
これからはNo sqlの時代って本当ですか
これからはNo sqlの時代って本当ですかこれからはNo sqlの時代って本当ですか
これからはNo sqlの時代って本当ですかyumi_chappy
 
Pivotal Greenplumで実現する次世代データ分析基盤のご紹介
Pivotal Greenplumで実現する次世代データ分析基盤のご紹介Pivotal Greenplumで実現する次世代データ分析基盤のご紹介
Pivotal Greenplumで実現する次世代データ分析基盤のご紹介Masayuki Matsushita
 
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]Hideo Takagi
 
Ca arcserve at cloudian seminar 2013
Ca arcserve at cloudian seminar 2013Ca arcserve at cloudian seminar 2013
Ca arcserve at cloudian seminar 2013CLOUDIAN KK
 
分散処理のすゝめ?
分散処理のすゝめ?分散処理のすゝめ?
分散処理のすゝめ?yoshito oe
 
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]Hideo Takagi
 
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようMicrosoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようHideo Takagi
 
研究支援のためのアカデミッククラウド(CloudWeek2013@Hokkaido University)
研究支援のためのアカデミッククラウド(CloudWeek2013@Hokkaido University)研究支援のためのアカデミッククラウド(CloudWeek2013@Hokkaido University)
研究支援のためのアカデミッククラウド(CloudWeek2013@Hokkaido University)Masaharu Munetomo
 
Hadoopことはじめ
HadoopことはじめHadoopことはじめ
Hadoopことはじめ均 津田
 
データウェアハウス入門 (マーケティングデータ分析基盤技術勉強会)
データウェアハウス入門 (マーケティングデータ分析基盤技術勉強会)データウェアハウス入門 (マーケティングデータ分析基盤技術勉強会)
データウェアハウス入門 (マーケティングデータ分析基盤技術勉強会)Takeshi Mikami
 
NASクラウドの連携3.pdf
NASクラウドの連携3.pdfNASクラウドの連携3.pdf
NASクラウドの連携3.pdfssuser3440151
 
社会ネットワーク分析第7回
社会ネットワーク分析第7回社会ネットワーク分析第7回
社会ネットワーク分析第7回Satoru Mikami
 
第一回IoT関連技術勉強会 分散処理編
第一回IoT関連技術勉強会 分散処理編第一回IoT関連技術勉強会 分散処理編
第一回IoT関連技術勉強会 分散処理編tzm_freedom
 
先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql聡 中川
 

What's hot (20)

Hadoop / Elastic MapReduceつまみ食い
Hadoop / Elastic MapReduceつまみ食いHadoop / Elastic MapReduceつまみ食い
Hadoop / Elastic MapReduceつまみ食い
 
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [概要編]
 
クラウド時代のデータストア選択"秘伝の書"
クラウド時代のデータストア選択"秘伝の書"クラウド時代のデータストア選択"秘伝の書"
クラウド時代のデータストア選択"秘伝の書"
 
Asakusaではじめるhadoop sparkプログラミング
Asakusaではじめるhadoop sparkプログラミングAsakusaではじめるhadoop sparkプログラミング
Asakusaではじめるhadoop sparkプログラミング
 
これからはNo sqlの時代って本当ですか
これからはNo sqlの時代って本当ですかこれからはNo sqlの時代って本当ですか
これからはNo sqlの時代って本当ですか
 
Pivotal Greenplumで実現する次世代データ分析基盤のご紹介
Pivotal Greenplumで実現する次世代データ分析基盤のご紹介Pivotal Greenplumで実現する次世代データ分析基盤のご紹介
Pivotal Greenplumで実現する次世代データ分析基盤のご紹介
 
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
【ウェブ セミナー】AI / アナリティクスを支えるビッグデータ基盤 Azure Data Lake [実践編]
 
Ca arcserve at cloudian seminar 2013
Ca arcserve at cloudian seminar 2013Ca arcserve at cloudian seminar 2013
Ca arcserve at cloudian seminar 2013
 
分散処理のすゝめ?
分散処理のすゝめ?分散処理のすゝめ?
分散処理のすゝめ?
 
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
 
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようMicrosoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
 
研究支援のためのアカデミッククラウド(CloudWeek2013@Hokkaido University)
研究支援のためのアカデミッククラウド(CloudWeek2013@Hokkaido University)研究支援のためのアカデミッククラウド(CloudWeek2013@Hokkaido University)
研究支援のためのアカデミッククラウド(CloudWeek2013@Hokkaido University)
 
Hadoopことはじめ
HadoopことはじめHadoopことはじめ
Hadoopことはじめ
 
データウェアハウス入門 (マーケティングデータ分析基盤技術勉強会)
データウェアハウス入門 (マーケティングデータ分析基盤技術勉強会)データウェアハウス入門 (マーケティングデータ分析基盤技術勉強会)
データウェアハウス入門 (マーケティングデータ分析基盤技術勉強会)
 
NASクラウドの連携3.pdf
NASクラウドの連携3.pdfNASクラウドの連携3.pdf
NASクラウドの連携3.pdf
 
社会ネットワーク分析第7回
社会ネットワーク分析第7回社会ネットワーク分析第7回
社会ネットワーク分析第7回
 
Azure Datalake 大全
Azure Datalake 大全Azure Datalake 大全
Azure Datalake 大全
 
第一回IoT関連技術勉強会 分散処理編
第一回IoT関連技術勉強会 分散処理編第一回IoT関連技術勉強会 分散処理編
第一回IoT関連技術勉強会 分散処理編
 
Dvx update 20180605
Dvx update 20180605Dvx update 20180605
Dvx update 20180605
 
先端技術 No sql
先端技術 No sql先端技術 No sql
先端技術 No sql
 

Similar to ICDE 2015 Study (R24-4, R27-3)

Effective DBMS (2018)
Effective DBMS (2018)Effective DBMS (2018)
Effective DBMS (2018)Kihyun Kim
 
DataStax Enterpriseによる大規模グラフ解析
DataStax Enterpriseによる大規模グラフ解析DataStax Enterpriseによる大規模グラフ解析
DataStax Enterpriseによる大規模グラフ解析Yuki Morishita
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成弘毅 露崎
 
経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめYasushi Hara
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlYutuki r
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎Insight Technology, Inc.
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法Takeshi Yamamuro
 
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案Toshiyuki Shimono
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBmoai kids
 
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較griddb
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoTreasure Data, Inc.
 
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)Insight Technology, Inc.
 
昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴Takuya Utsunomiya
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門Yuki Morishita
 
Panel Discussion@WebDB forum 2014
Panel Discussion@WebDB forum 2014Panel Discussion@WebDB forum 2014
Panel Discussion@WebDB forum 2014Makoto Yui
 
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターンクラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターンAmazon Web Services Japan
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deploymentssmdkk
 
事例で学ぶApache Cassandra
事例で学ぶApache Cassandra事例で学ぶApache Cassandra
事例で学ぶApache CassandraYuki Morishita
 
Bigdata 2012 06-03
Bigdata 2012 06-03Bigdata 2012 06-03
Bigdata 2012 06-03Daisuke Ito
 

Similar to ICDE 2015 Study (R24-4, R27-3) (20)

Effective DBMS (2018)
Effective DBMS (2018)Effective DBMS (2018)
Effective DBMS (2018)
 
DataStax Enterpriseによる大規模グラフ解析
DataStax Enterpriseによる大規模グラフ解析DataStax Enterpriseによる大規模グラフ解析
DataStax Enterpriseによる大規模グラフ解析
 
RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成RとSQLiteで気軽にデータベース作成
RとSQLiteで気軽にデータベース作成
 
経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ経済学のための実践的データ分析 4.SQL ことはじめ
経済学のための実践的データ分析 4.SQL ことはじめ
 
Cassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sqlCassandraとh baseの比較して入門するno sql
Cassandraとh baseの比較して入門するno sql
 
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ  by トレジャーデータ株式会社 斉藤太郎
[db tech showcase Tokyo 2014] D33: Prestoで実現するインタラクティブクエリ by トレジャーデータ株式会社 斉藤太郎
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法
 
企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案企業等に蓄積されたデータを分析するための処理機能の提案
企業等に蓄積されたデータを分析するための処理機能の提案
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
ビッグデータ×IoT時代のデータベースのアーキテクチャとメカニズムの比較
 
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 TokyoPrestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
Prestoで実現するインタラクティブクエリ - dbtech showcase 2014 Tokyo
 
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
 
昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴昨今のストレージ選定のポイントとCephStorageの特徴
昨今のストレージ選定のポイントとCephStorageの特徴
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
 
Panel Discussion@WebDB forum 2014
Panel Discussion@WebDB forum 2014Panel Discussion@WebDB forum 2014
Panel Discussion@WebDB forum 2014
 
クラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターンクラウド上のデータ活用デザインパターン
クラウド上のデータ活用デザインパターン
 
Guide to Cassandra for Production Deployments
Guide to Cassandra for Production DeploymentsGuide to Cassandra for Production Deployments
Guide to Cassandra for Production Deployments
 
事例で学ぶApache Cassandra
事例で学ぶApache Cassandra事例で学ぶApache Cassandra
事例で学ぶApache Cassandra
 
Core Data
Core DataCore Data
Core Data
 
Bigdata 2012 06-03
Bigdata 2012 06-03Bigdata 2012 06-03
Bigdata 2012 06-03
 

More from Masafumi Oyamada

More from Masafumi Oyamada (7)

SIGMOD 2019 参加報告
SIGMOD 2019 参加報告SIGMOD 2019 参加報告
SIGMOD 2019 参加報告
 
BlinkDB 紹介
BlinkDB 紹介BlinkDB 紹介
BlinkDB 紹介
 
OSC 2011 KeySnail
OSC 2011 KeySnailOSC 2011 KeySnail
OSC 2011 KeySnail
 
ES.next WeakMap
ES.next WeakMapES.next WeakMap
ES.next WeakMap
 
Rios::Proxy - A framework for CLI
Rios::Proxy - A framework for CLIRios::Proxy - A framework for CLI
Rios::Proxy - A framework for CLI
 
ES Harmony Proxy on Firefox 4
ES Harmony Proxy on Firefox 4ES Harmony Proxy on Firefox 4
ES Harmony Proxy on Firefox 4
 
defjs をひも解く
defjs をひも解くdefjs をひも解く
defjs をひも解く
 

Recently uploaded

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Recently uploaded (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

ICDE 2015 Study (R24-4, R27-3)

  • 1. R24-4: The DBMS - your Big Data Sommelier (R24: Query Processing 3) R27-3: A Comparison of Adaptive Radix Trees and Hash Tables (R27: Indexing) Masafumi Oyamada ICDE’15 勉強会
  • 2. R24-4: The DBMS - your Big Data Sommelier Yagiz Kargin , Martin Kersten , Stefan Manegold , Holger Pirk (CWI) (目的) “インスタント分析” を実現したい – 課題: DBMS で巨大なデータを分析しようと思うと、データのロー ド・索引付けに時間がかかって、すぐに分析が開始できない (発想) メタデータを利用し、ロードするデータを絞り込む – 科学分野ではデータが複数の “ファイル” からなり、各ファイルが “メタデータ” を持つ(例: 取得時刻) – クエリの条件にはメタデータから得られる情報が指定されることが 多い(例: 「昨日取得したデータの平均値を計算して」) –  まずはメタデータだけをロードしておいて、実際にロードする データ(ファイル)は条件にマッチするものだけにしよう! (方式) メタデータを考慮した問合せ最適化 in MonetDB – “メタデータに対する処理” が最初におこなわれるような問合せプ ランの書き換えルールを MonetDB のオプティマイザに導入 MonetDB チーム
  • 3. 発想: メタデータをつかってデータのロードを減らす 問合せ例 – place = “Japan” のデータを取得するモノ – 本来 T_part2.csv のロードは必要ない • place = “US” なので (メタデータ情報) 従来の DBMS – メタデータ/実データどちらも全てロード してから処理する –  T_part2.csv のロードは無駄に 提案方式 – 方針: メタデータだけ事前にロード –  T_part2.csv が問合せ対象に入らないこ とを確認し、ロードを省くことができる Z [date] 2015 05/17 [place] Japan [date] 2014 08/20 [place] US メタデータ ロードが楽 実データ ロードが大変 T_part1.csv T_part2.csv SELECT * FROM T WHERE place = “Japan” R24-4: The DBMS - your Big Data Sommelier
  • 4. アプローチ: オプティマイザの拡張  実データ と メタデータ をプラン内で区別するようオプ ティマイザを拡張 プランの最適化時には、メタデータに対する処理をできる だけ最初にやるよう、プランを書き換え メタデータは既にロードされており、すぐに処理できる その処理結果をつかって、ロードする実データを pruning する R24-4: The DBMS - your Big Data Sommelier
  • 5. 評価 データ: 地震波形の実データ (mSEED フォーマット) – sf27: 4384ファイル, 36GB (DB にロード後は伸張され 627 GB) 問合せ: 集計値の計算 – T_4: 特定期間の波形の平均値の計算 R24-4: The DBMS - your Big Data Sommelier (データのロードも含めた) 問合せを完了するまでの時間 インデックスを作成して利用するもの (インデックス作成コストが大きく フルスキャンよりも遅い) データをフルスキャンするもの 提案方式 選択率が極めて高い場合を除き 従来方式よりもよい性能
  • 6. R27-3: A Comparison of Adaptive Radix Trees and Hash Tables Victor Alvarez, Stefan Richter, Xiao Chen, Jens Dittrich (Saarland University) (概要) ART [Leis, ICDE’13] の性能測定を “ちゃんと” やる – Adaptive Radix-Tree (ART): インメモリDB向けのインデックス – ART は “ハッシュテーブル並みの性能でレンジクエリもサポートす る夢の索引” とうたわれているが、実際のところどうなの? (目的) [Leis, ICDE’13] で欠けていた3つの評価をやる 1. 類似するデータ構造である Judy Array との比較 2. ちゃんとチューニングしたハッシュテーブルとの比較 3. レンジクエリの性能測定  (結果) ART は銀の弾丸ではない! – ポイントクエリではハッシュテーブルに勝てず、レンジクエリでは B+ Tree に勝てない(が、どちらも二番手となる性能)
  • 7. Radix Tree と ART (Adaptive Radix Tree)  Radix Tree (中間ノードを圧縮したトライ / パトリシア木) – Good: 探索時に条件分岐が発生しない (単なる配列アクセス) ため、CPU キャッシュミスが少ない (↔ 二分木) – Bad: まだまだメモリ利用効率が悪く、キャッシュ効率も悪い • データがスパースでも、最大の子供数分の容量を食う  ART (Adaptive Radix Tree) [Leis, ICDE’13] – 最適化された 256-way の Radix Tree – ノードの圧縮: 実際の子供の数に応じて (Adaptive) ノードのデータ構造を 変えることで、ノードを圧縮する – 探索効率化: 探索処理は SIMD を活用して高速に実行 各ノードは「子ノードへのポインタ」の配列 子ノードが少ない場合でも、最大子共数分の容量を消費 子ノードの数に応じて、ノードを異なるデータ構造で表現 子ノードが多い (Dense)  Radix Tree と同様の表現 子ノードが少ない (Sparse)  圧縮表現 R27-3: A Comparison of Adaptive Radix Trees and Hash Tables
  • 8. ART: 子ノードの数に応じてノードのデータ構造を変更 If (子ノード数 ≤ 16) If (子ノード数 ≤ 48) If (子ノード数 > 48) (1) 子ノードを持つキーのキー値を N 個並べる (探索時は、線形探索) (2) 続いて、キーと同じ順で、子ノードへのポインタを N 個並べる (1)256個の配列を用意し、インデックスの示すキーが子ノードを持つなら、 子ノードへのポインタのポインタを格納 (探索時は、配列アクセス) (2) 子ノードの数だけ、子ノードへのポインタを並べる Radix Tree と同様に、子ノードへのポインタをそのまま並べる。イン デックスがキー値となる R27-3: A Comparison of Adaptive Radix Trees and Hash Tables
  • 9. 評価  ポイントクエリ (1Billion のタプルに対する検索) – 比較対象 (抜粋) • Judy Array • Cuckoo hashing (モダンな Open addressing アルゴリズム) をつかった ハッシュテーブル実装 – 結果 • Judy Array には勝つ (ART は Judy 比 2x の性能だが 2x 容量を食う) • ハッシュテーブルには負ける (ハッシュテーブルは ART とくらべて数倍の 性能)  レンジクエリ – 比較対象 • Judy Array • Cuckoo hashing をつかったハッシュテーブル実装 • B+-Tree – 結果 • Judy, ハッシュテーブルには勝つ (2x の性能) • B+-Tree には負ける Radix Tree の改良版で ART に類似。細かな違いは論文参照 ※ ART には B+-Tree と比べると木の管理がはるかに楽、という利点も R27-3: A Comparison of Adaptive Radix Trees and Hash Tables
  • 10. ポイントクエリ (Lookup throughput) R27-3: A Comparison of Adaptive Radix Trees and Hash Tables
  • 11. レンジクエリ (Lookup throughput) R27-3: A Comparison of Adaptive Radix Trees and Hash Tables