TPC-Hベンチマークの100TB - 情報処理学会 データベースシステム研究

DEIM Forum 2014 D8-5
TPC-H ベンチマークの 100TB クラスを用いた商用アウトオブオーダ型
データベースエンジンの評価と同クラスへの世界初登録
藤原 真二†
茂木 和彦†
田中 美智子‡
田中 剛‡
合田 和生¶
喜連川 優¶§
†㈱日立製作所 情報・通信システム社 IT プラットフォーム事業本部
〒244-0817 神奈川県横浜市戸塚区吉田町 292 番地
‡㈱日立製作所 中央研究所 〒244-0817 神奈川県横浜市戸塚区吉田町 292 番地
¶東京大学生産技術研究所 〒153-8503 東京都目黒区駒場 4-6-1
§国立情報学研究所〒101-8430 東京都千代田区一ツ橋 2-1-2
E-mail: †{shinji.fujiwara.yc, kazuhiko.mogi.uv}@hitachi.com,
‡{michiko.tanaka.ry, tsuyoshi.tanaka.vz}@hitachi.com, ¶{kgoda,kitsure}@tkl.iis.u-tokyo.ac.jp
あらまし 多機能情報端末の普及などにより,企業や社会活動で発生するデータが増加しており,ビッグデータ利
活用への期待が高まっている.このような中,我々は内閣府最先端研究開発支援プログラムにおいて,アウトオブ
オーダ型データベースエンジン(OoODE)と称する実行原理に基づく超高速データベースエンジンの研究開発を推進
している.本研究開発の成果を基に日立が製品化した商用アウトオブオーダ型データベースエンジンの大規模環境
における有効性を確認するため,業界標準の TPC-H ベンチマークにおける最大のデータベース規模である 100TB
のクラスを用いて性能評価を実施し,同クラスの性能測定結果リストに世界で初めて登録された.本論文では,こ
の TPC-H ベンチマークの評価結果について報告する.
キーワード OoODE,アウトオブオーダ型,データベースエンジン,TPC-H,ベンチマーク
Shinji FUJIWARA†
Kazuhiko MOGI†
Kazuo GODA¶
and
Michiko TANAKA‡
Tsuyoshi TANAKA‡
Masaru KITSUREGAWA¶§
†IT Platform Division Group, Information & Telecommunication Systems Company, Hitachi, Ltd.
292, Yoshida-cho, Totsuka-ku, Yokohama, 244-0817 Japan
‡Central Research Laboratory, Hitachi, Ltd. 292, Yoshida-cho, Totsuka-ku, Yokohama, 244-0817 Japan
¶Institute of Industrial Science, The University of Tokyo 4-6-1 Komaba, Meguro-ku, Tokyo, 153-8505 Japan
§ National Institute of Infomatics 2-1-2 Hitotsubashi, Chiyoda-ku, Tokyo 101-8430 Japan
E-mail: †{shinji.fujiwara.yc, kazuhiko.mogi.uv}@hitachi.com,
‡{tmichiko.tanaka.ry, tsuyoshi.tanaka.vz}@hitachi.com, ¶{kgoda, kitsure}@tkl.iis.u-tokyo.ac.jp
1.
はじめに
今回,同データベース製品の大規模なデータベース
近年,クラウドコンピューティングの拡大や ,多機
環境における有効性を,公的な基準の下で確認するた
能情報端末の急速な普及などを背景として ,企業や社
め,意思決定支援の業界標準ベンチマークである
会活動で発生するデータが増加している.グローバル
TPC-H ベ ン チ マ ー ク の 最 大 デ ー タ ベ ー ス 規 模 (100TB
での事業拡大や,新事業の創出,より豊かでスマート
ク ラ ス )を 用 い て 性 能 の 検 証 を 実 施 し た .こ の 結 果 ,同
な社会の実現に向けて,ビッグデータ利活用に対する
デ ー タ ベ ー ス 製 品 が 82,678.0QphH@100TB と い う 優 れ
期待が急速に高まっており,データの超高速な検索処
た性能を達成したことが認定され,同クラスにおいて
理を可能にするデータベース製品が求められている.
世 界 で 初 め て 登 録 さ れ た [3].TPC-H ベ ン チ マ ー ク で は ,
我々は,内閣府最先端研究開発支援プログラムにお
従 来 ,30TB ま で の ク ラ ス に の み ベ ン チ マ ー ク 評 価 結 果
いて,アウトオブオーダ型データベースエンジン
が 登 録 さ れ て お り , 100TB の ク ラ ス は 未 到 達 の 領 域 で
(OoODE)と 称 す る 実 行 原 理 に 基 づ く 超 高 速 デ ー タ ベ ー
あった.これにより,大規模なデータベースの検索処
ス エ ン ジ ン の 研 究 開 発 を 進 め て い る [1].本 研 究 開 発 の
理において,我々が開発してきたアウトオブオーダ型
成 果 を 基 に し て ,日 立 は 2012 年 6 月 に 商 用 ア ウ ト オ ブ
の実行原理に基づく超高速データベースエンジンが優
オ ー ダ 型 デ ー タ ベ ー ス エ ン ジ ン Hitachi Advanced Data
れた性能を発揮できることが,国際的な基準の下,公
Binder を 製 品 化 し た [2].
的に証明されたと言えよう.
本 論 文 の 構 成 は 以 下 の 通 り で あ る . 2 章 で は TPC-H
(4) Performance テ ス ト
ベンチマークの概要を説明し,3 章では商用アウトオ
上 記 Test DB に 対 し て ,Power テ ス ト と Throughput
ブオーダ型データベースエンジンの実装方式について
テ ス ト を 2 回 実 施 す る . Power テ ス ト は , 更 新 ク
述 べ る .4 章 で は 100TB ク ラ ス を 用 い た TPC-H ベ ン チ
エ リ RF1/RF2 及 び 検 索 ク エ リ Q1~ Q22 を 規 定 の 順
マーク評価結果を報告し,5 章で本論文を纏める.
序 で 1 つ ず つ 実 行 す る . Throughput テ ス ト は , 規
定された多重度と順序で検索クエリと更新クエリ
2.
を 実 行 す る .100TB の テ ス ト で は 多 重 度 は 11 以 上
TPC-H ベ ン チ マ ー ク 概 要
と規定されている.
TPC-H ベ ン チ マ ー ク は , 非 営 利 団 体 の Transaction
Processing Performance Council が 定 め る デ ー タ ベ ー ス
(5) After-Run Verification テ ス ト
の 業 界 標 準 ベ ン チ マ ー ク の ひ と つ で あ り , Decision
Test DB の 整 合 性 を 確 認 す る た め , Performance テ
Support 向 け の ベ ン チ マ ー ク と し て , 1999 年 に リ リ ー
ス ト 終 了 後 に ,After-Run Verification テ ス ト を 実 施
ス さ れ た .TPC-H ベ ン チ マ ー ク は デ ー タ ベ ー ス の 規 模
す る .さ ら に そ の 後 ,Auditor に よ る リ モ ー ト 監 査
で ク ラ ス が 分 か れ て お り ,2003 年 に 30TB と 100TB の
を実施する.
ク ラ ス が 追 加 さ れ , 現 在 で は , 100GB~ 100TB の 7 つ
のクラスが定義されている.報告者らは,当時,未登
な お ,Query Validation 及 び ACID テ ス ト は TPC の 公
録 で あ っ た 100TB ク ラ ス に ト ッ プ レ ベ ル の 性 能 で 登 録
認 Auditor 立 会 い の 下 ,実 機 確 認 を 含 め て 監 査 を 実 施 .
することを目標に掲げた.性能目標に関しては,当時
Load 及 び Performance テ ス ト は , 結 果 ロ グ に よ る 監 査
の 1TB ク ラ ス 以 上 に 登 録 さ れ て い た ト ッ プ 10 ス コ ア
と Auditor が 指 定 し た Verification ク エ リ に て 実 施 し た .
1
を 参 考 に , 80,000QphH@100TB に 設 定 し た .
TPC-H ベ ン チ マ ー ク は 以 下 の テ ス ト で 構 成 さ れ る .
(1) Query Validation テ ス ト
3.
商 用 OoODE 実 装 方 式
OoODE は ,図 1 に 示 す よ う に 問 合 せ 処 理 を ア ン フ ォ
TPC-H で 規 定 さ れ る 検 索 ク エ リ Q1~ Q22 を ,性 能
ールドすることにより多数のプロセッサコアを活用 す
評価を実施するシステムと同一環境に構築した
る .さ ら に ,複 数 の 非 同 期 I/O を 同 時 に 発 行 す る こ と
1GB の DB(Qualification DB)上 で 実 行 し ,結 果 を 確
で 標 準 的 な デ ィ ス ク ド ラ イ ブ が 有 す る Native
認する.
Command Queuing 機 能 を 効 率 的 に 活 用 す る .こ の よ う
(2) ACID テ ス ト
に OoODE は , サ ー バ と ス ト レ ー ジ の 性 能 を 最 大 限 引
上 記 Qualification DB に 対 し て ACID テ ス ト を 実 施
す る . Atomicity テ ス ト は 更 新 を 伴 う ACID ト ラ ン
き出すことで性能向上を図る.
(a) Conventional Techonology
ザクションを用いて,コミットやロールバックの
基 本 動 作 を 確 認 す る . Consistency テ ス ト は ACID
ト ラ ン ザ ク シ ョ ン を 多 重 で 実 行 し ,一 貫 性 を 確 認 .
Isolation テ ス ト は Read-Write 競 合 , Write-Write 競
合 , 競 合 の な い Read-Write ト ラ ン ザ ク シ ョ ン の
Concurrent Progress な ど 6 種 類 の テ ス ト で ト ラ ン
Server
Search processing (μs)
E
C
Storage
Synchronous I/O processing (ms)
(b) OoODE Technology
A
B
C
D
Storage
A
Task assignment
Server
ト は , ACID ト ラ ン ザ ク シ ョ ン 多 重 実 行 中 に 電 源
D
Search processing
Wait for I/O completion
Disk I/O
ザ ク シ ョ ン 分 離 レ ベ ル を 確 認 す る .Durability テ ス
断などのハード障害を発生させた上で,システム
B
E
Performance
Gain by
Native Command
Queuing
E
B
C
D
A
を再起動して,コミット済みトランザクションが
回復できることを確認する.
図 1 OoODE 実 行 原 理
(3) Load テ ス ト
TPC-H ベ ン チ マ ー ク で 提 供 さ れ る DBGEN ツ ー ル
アンフォールドされた処理であるタスクの数は数
で 生 成 し た 100TB の デ ー タ を ロ ー ド し , Test DB
千以上となるため,タスク管理オーバヘッドの低減が
を作成する.ロード後,必要に応じて統計情報を
課 題 で あ る .商 用 OoODE で は ,OS の ス レ ッ ド ス ケ ジ
収 集 し ,所 定 の Verification ク エ リ を 実 行 す る .デ
ューリングや管理オーバヘッドの影響を低減するため,
ー タ ロ ー ド 開 始 か ら Verification ク エ リ の 完 了 ま で
スレッド内に複数のタスクを動作させるタスク内複数
がロード時間として計測される.
ス レ ッ ド 方 式 を 採 用 し た [4].本 方 式 に よ り ,多 数 の ラ
ン ダ ム I/O を 伴 う ネ ス テ ィ ッ ド ル ー プ 結 合 処 理 に 関 し
1
TPC-H, QphH は Transaction Processing Performance
Council の 商 標 で す .
て,スレッド数に比例した性能を得ることができた.
一 方 ,TPC-H ベ ン チ マ ー ク で は ,ハ ッ シ ュ 結 合 な ど ,
シ ー ケ ン シ ャ ル I/O を 伴 う 処 理 が 検 索 ク エ リ の 9 割 以
上 を 占 め る . 商 用 OoODE で は , ハ ッ シ ュ 結 合 処 理 方
式として,ハイブリッドハッシュ結合方式を実装して
いる.ハイブリッドハッシュ結合は,ハッシュ表がメ
モリに収まる場合にバケット分割を省略する処理方式
で あ り , Build 処 理 と Probe 処 理 で 構 成 さ れ る [5]. 商
用 OoODE で は , 多 表 ハ ッ シ ュ 結 合 に お い て , 各 々 の
Build 処 理 や Probe 処 理 を ア ウ ト オ ブ オ ー ダ 型 で 実 行 す
る.本処理にも,前述のタスク内複数スレッド方式を
適 用 す る こ と で ,ス レ ッ ド 制 御 オ ー バ ヘ ッ ド の 低 減 と ,
ハードウェア資源の効率的な活用を実現し た.
トランザクション制御方式は,参照時にロック競合
が 発 生 し な い
Multi-version Concurrency Control
(MVCC)プ ロ ト コ ル を 実 装 し た [6].MVCC に は ,い く
つ か 実 装 方 式 が あ る が , 商 用 OoODE で は 更 新 ト ラ ン
ザ ク シ ョ ン を 2-phase Lock で , 参 照 ト ラ ン ザ ク シ ョ ン
を Multi-version Timestamp Ordering (MVTO)で 実 現 す
る Read-only Multi-version プ ロ ト コ ル を 採 用 し た . 更
新 処 理 は ,旧 バ ー ジ ョ ン を タ イ ム ス タ ン プ で 無 効 化 し ,
ポートを有しており,サーバ側のファイバチャネルア
新バージョンを追記することで実現した.トランザク
ダプタのポートと 1 対 1 で接続した.
シ ョ ン 分 離 レ ベ ル と し て は ,READ_COMMITTED お よ
OoODE は フ ラ ッ シ ュ ス ト レ ー ジ 環 境 で も 高 い 性 能
を 実 装 し て い る .
を 発 揮 す る が [7],今 回 は ハ ー ド デ ィ ス ク 環 境 で 評 価 し
REPEATABLE_READ で は ,ト ラ ン ザ ク シ ョ ン 開 始 時 に
た .OoODE は ,ス ト レ ー ジ 性 能 を 効 率 よ く 引 き 出 す こ
コミット済みのデータを参照する スナップショット分
とが可能であるため,従来のハードディスク環境の構
離 方 式 を 採 用 し て い る た め ,Phantom Read は 発 生 し な
成 (デ ー タ ベ ー ス 規 模:10TB 以 上 )と 比 較 し て デ ー タ ベ
い . TPC-H の ACID テ ス ト で は , 規 定 に 従 い , 上 記 の
ー ス 規 模 あ た り 1/4 以 下 で あ る 1600 台 の デ ィ ス ク で 構
分離レベルを適用した.
成した.
び
REPEATABLE_READ
4.2
100TB ク ラ ス を 用 い た TPC-H 評 価
4.
本 章 で は TPC-H 評 価 環 境 お よ び 評 価 結 果 に つ い て
であるが,評価環境と同じハードウェア環境で実行す
る 必 要 が あ る .そ の た め , 100TB の 構 成 同 様 ,1GB の
述べる
4.1
Qualification DB の 評 価
Qualification DB は , 性 能 テ ス ト の 1/100,000 の 規 模
デ ー タ を OS が 提 供 す る LVM 機 能 を 用 い て 1600 台 の
評価環境
TPC-H ベ ン チ マ ー ク に お け る 最 大 の デ ー タ ベ ー ス 規
デ ィ ス ク に 分 散 格 納 し た .そ の 上 で ,Validation テ ス ト
模 で あ る 100TB ク ラ ス の 評 価 環 境 を 図 2 に 示 す . サ
と し て ,規 定 さ れ た 22 個 の 検 索 ク エ リ を 実 行 し ,結 果
ー バ は ,10 物 理 コ ア CPU を 8 ソ ケ ッ ト ,主 記 憶 を 2TB
が正しいことを確認した.
2
搭 載 す る Hitachi Blade Symphony BS2000 を 4 台 で 構 成
次 に ACID テ ス ト を 実 施 し た .Atomicity,Consistency,
し た . 各 サ ー バ に は 4 台 の I/O 拡 張 筺 体 を 接 続 し , 合
Isolation の 各 テ ス ト で は , 規 定 の シ ナ リ オ に 沿 っ て 複
計 32 枚 の Dual-port 8Gbps フ ァ イ バ チ ャ ネ ル ア ダ プ タ
数のトランザクションを多重実行させ ,データベース
を 搭 載 し た .一 方 ,DB を 格 納 す る ス ト レ ー ジ は ,100
の 動 作 を Auditor が 確 認 し た . Durability テ ス ト で は ,
台 の 900GB 10Krpm SAS デ ィ ス ク を 搭 載 し た Hitachi
Auditor の 立 会 い の 下 ,以 下 の テ ス ト を 実 機 で 実 施 し た .
Unified Storage 150 を 16 台 で 構 成 し た . 各 ス ト レ ー ジ
コ ン ト ロ ー ラ は 16 ポ ー ト の 8Gbps フ ァ イ バ チ ャ ネ ル
・サーバ障害:
サーバ 1 台電源断
全サーバ電源断
2
Intel Xeonは , 米 国 お よ び そ の 他 の 国 に お け る Intel
Corporationの 商 標 で す .
Linuxは , Linus Torvalds氏 の 日 本 お よ び そ の 他 の 国 に お
ける登録商標または商標です.
Red Hatは , 米 国 お よ び そ の 他 の 国 で Red Hat, Inc. の 登
録商標もしくは商標です.
・ストレージ障害:
HDD1 台 抜 き 取 り
コントローラ片系障害
コントローラ両系電源断
い ず れ も , ACID ト ラ ン ザ ク シ ョ ン を 多 重 で 実 行 中
4.4
考察
に 障 害 を 発 生 さ せ た .そ し て ,シ ス テ ム 再 起 動 後 ,DB
今 回 評 価 し た 22 個 の 検 索 ク エ リ の う ち , 典 型 的 な
を回復させ,コミット済みのトランザクションが回復
多 表 ハ ッ シ ュ 結 合 で あ る Q8 と Q7 の 評 価 結 果 に つ い て
されていることを確認した.
ベンチマーク実施後にサーバ 1 台で評価した結果を報
4.3
Test DB の 評 価
告する.
DBGEN で 生 成 さ れ た 100TB の CSV 形 式 の デ ー タ を
評 価 に 用 い た Q8 と そ の 実 行 プ ラ ン を 図 3 と 図 4 に
Test DB に ロ ー ド 後 ,性 能 テ ス ト と し て ,Power テ ス ト
示 す .Q8 は PART 表 の 選 択 率 が 小 さ い た め ,ハ ッ シ ュ
と Throughput テ ス ト を 2 回 繰 り 返 し て 実 施 し た .Power
表 が メ モ リ に 収 ま り ,バ ケ ッ ト 分 割 処 理 は 発 生 し な い .
テ ス ト は 1 台 の サ ー バ で , Throughput テ ス ト は 4 台 の
図 5 は Q8 実 行 時 の I/O ス ル ー プ ッ ト を 示 す . 実 線
サ ー バ で 実 行 し た . そ の 後 , After-Run Verification を
は Read I/O, 破 線 は Write I/O を 示 す . Q8 の ハ ッ シ ュ
実 行 し , 最 後 に Auditor が シ ス テ ム に ロ グ イ ン し て リ
表 は メ モ リ に 収 ま る た め ,バ ケ ッ ト 分 割 の た め の Write
モ ー ト 監 査 を 実 施 し た .最 終 的 に , 2 回 目 の 測 定 結 果
I/O は 発 生 し な い .フ ェ ー ズ 1 は CUSTOMER 表 と PART
で あ る 82,678.0QphH@100TB が 性 能 数 値 と し て 認 定 さ
表 の 検 索 結 果 を そ れ ぞ れ ハ ッ シ ュ 表 と し て Build す る .
れ ,2013/10/19 に 登 録 さ れ た .TPC-H の 100TB ク ラ ス
フ ェ ー ズ 2 は , LINEITEM 表 を Probe し , そ の 結 果 を
への登録は,世界初である.
ハ ッ シ ュ 表 と し て Build す る . フ ェ ー ズ 3 は ORDERS
表 を Probe し , そ の 結 果 を ハ ッ シ ュ 表 と し て Build す
図 3
る . こ れ 以 外 に も , SUPPLIER 表 の Probe 処 理 な ど が
あるが,それらは短時間で実行が終わっている.図 5
で示すようにフェーズ 1 及びフェーズ 2 はいずれも
10GB と ほ ぼ サ ー バ 1 台 の 性 能 を 使 い き っ て い る . フ
ェ ー ズ 3 は 2 つ の ハ ッ シ ュ 表 の Probe 処 理 と そ の 結 果
の Build 処 理 を 同 時 に 処 理 し て い る た め CPU ネ ッ ク と
なっている.
10
I/Oスループット(GB/s)
select
o_year,
sum(case
when nation = 'SAUDI ARABIA'
then volume
else 0
end) / sum(volume) as mkt_share
from
(
select
extract(year from o_orderdate) as o_year,
l_extendedprice * (1 - l_discount) as volume,
n2.n_name as nation
from
part, supplier, lineitem, orders, customer,
nation n1, nation n2, region
where
p_partkey = l_partkey
and s_suppkey = l_suppkey
and l_orderkey = o_orderkey
and o_custkey = c_custkey
and c_nationkey = n1.n_nationkey
and n1.n_regionkey = r_regionkey
and r_name = 'MIDDLE EAST'
and s_nationkey = n2.n_nationkey
and o_orderdate between date '1995 -01-01'
and date '1996-12-31'
and p_type = 'SMALL PLATED COPPER'
) as all_nations
group by o_year
order by o_year;
8
6
4
Read
2
Write
0
ph1
Q8 ク エ リ
ph2
図 5
Q8 実 行 時 の I/O ス ル ー プ ッ ト
Sorting
Grouping /
Set Func
Hash join
Hash join
Hash join
nation(n2)
Hash join
Hash join
region
Hash join
customer
Hash join
nation(n1)
part
図 4
supplier
orders
lineitem
Q8 実 行 プ ラ ン
図 6
Q8 実 行 時 の CPU 処 理 内 訳
ph3
各 フ ェ ー ズ に お け る CPU 処 理 の 内 訳 を 図 6 に 示 す .
図 9 は Q9 実 行 時 の I/O ス ル ー プ ッ ト を 示 す . フ ェ
本 内 訳 で は ,CPU の idol 時 間 及 び iowait 時 間 は 除 外 し
ー ズ 1 で は CUSTOMER 表 の Build 処 理 を 実 行 す る .
て い る . sys は OS の 処 理 , adb は デ ー タ ベ ー ス 処 理 を
フ ェ ー ズ 1 の 途 中 か ら CUSTOMER 表 の バ ケ ッ ト 分 割
示 す . 商 用 OoODE で は , 各 フ ェ ー ズ の 処 理 を 数 千 の
に 伴 う 1GB/sec 程 度 の Write I/O が 発 生 し て い る .フ ェ
スレッドによりアウトオブオーダ型で実行している.
ー ズ 1 で は SUPPLIER 表 を Probe し , そ の 検 索 結 果 を
し か し な が ら , DB 処 理 に お け る ス レ ッ ド 制 御
ハ ッ シ ュ 表 と し て Build す る 処 理 な ど も 同 時 に 実 行 さ
(adb_cntx)の 占 め る 割 合 は フ ェ ー ズ 1 で 7.1%, フ ェ ー
れているが,短時間で終了している.フェーズ 2 は
ズ 2 で 4.9%, フ ェ ー ズ 3 で 4.1% で あ り , 極 め て 効 率
LINEITEM 表 を Probe し , そ の 結 果 を ハ ッ シ ュ 表 と し
よく制御ができていることが判る.
て Build す る .フ ェ ー ズ 2 の 途 中 か ら Write I/O が 発 生
2 つ め の 評 価 に 用 い た Q7 と そ の 実 行 プ ラ ン を 図 7
しており,バケット分割を実行していることが判る.
と 図 8 に 示 す .Q8 は CUSTOMER 表 お よ び LINEITEM
フ ェ ー ズ 3 は Orders 表 の Probe と バ ケ ッ ト 分 割 処 理 を
表がメモリに収まらず,バケット分割が発生する.
実行する.フェーズ 4 はフェーズ 2 及び 3 で出力され
たバケット毎のハッシュ結合を実行する.フェーズ 2
図 7
Q7 ク エ リ
の結果がバケット分割されているため ,処理の前半で
は,1 段目のハッシュ結合の中間結果のバケット分割
を 実 行 し て い る . 図 9 に 示 す と お り フ ェ ー ズ 1, フ ェ
ー ズ 2,お よ び ,フ ェ ー ズ 3 は Read I/O と Write I/O の
合 計 で サ ー バ 1 台 の I/O 性 能 で あ る 10GB を ほ ぼ 使 い
切っている.フェーズ 4 は 2 段のハッシュ結合と集計
を 同 時 に 実 行 し て い る た め ,CPU ネ ッ ク と な っ て い る .
各 フ ェ ー ズ に お け る CPU 処 理 の 内 訳 を 図 10 に 示 す .
本 内 訳 で は ,CPU の idol 時 間 及 び iowait 時 間 は 除 外 し
て い る .Q8 実 行 時 と 同 様 に ,数 千 の ス レ ッ ド 制 御 の オ
ーバヘッドは,数%以下である.
Read
10
I/Oスループット(GB/s)
select
supp_nation, cust_nation, l_year,
sum(volume) as revenue
from
( select
n1.n_name as supp_nation,
n2.n_name as cust_nation,
extract(year from l_shipdate) as l_year,
l_extendedprice * (1 - l_discount) as volume
from
supplier, lineitem, orders, customer,
nation n1, nation n2
where
s_suppkey = l_suppkey
and o_orderkey = l_orderkey
and c_custkey = o_custkey
and s_nationkey = n1.n_nationkey
and c_nationkey = n2.n_nationkey
and ((n1.n_name = 'UNITED KINGDOM'
and n2.n_name = 'SAUDI ARABIA')
or (n1.n_name = 'SAUDI ARABIA'
and n2.n_name = 'UNITED KINGDOM'))
and l_shipdate between date '1995 -01-01'
and date '1996-12-31'
) as shipping
group by supp_nation, cust_nation, l_year
order by supp_nation, cust_nation, l_year;
Write
8
6
4
2
Sorting
0
ph1
Grouping /
Set Func
図 9
ph2
ph3
ph4
Q7 実 行 時 の I/O ス ル ー プ ッ ト
Hash join
100%
customer
Hash join
Hash join
Nested Loop
join
90%
Hash join
orders
lineitem
supplier
nation(n1)
4.8
80%
70%
5.7
0.04
60%
sys_mem
50%
adb_other
40%
adb_cntx
30%
adb_db
20%
adb_hash
10%
adb_scan
0%
ph1
nation(n2)
図 8
Q7 実 行 プ ラ ン
sys_other
sys_io
5.5
図 10
ph2
ph3
ph4
Q7 実 行 時 の CPU 処 理 内 訳
5. お わ り に
本論文では,著者らが開発を進めている成果を利用
した商用アウトオブオーダ型データベースエンジン
Hitachi Advanced Data Binder の TPC-H ベ ン チ マ ー ク
100TB ク ラ ス へ の 世 界 初 登 録 に つ い て 報 告 し た . 同 デ
ータベースエンジンは,トランザクション制御方式と
し て ,MVCC プ ロ ト コ ル を 実 装 し ,TPC-H ベ ン チ マ ー
ク が 規 定 す る ACID 特 性 を 実 現 し て い る . ま た , 同 デ
ー タ ベ ー ス エ ン ジ ン は ,Build 処 理 や Probe 処 理 を ア ウ
トオブオーダ型で実行するハイブリッドハッシュ結合
方 式 を 実 装 し て い る .本 論 文 で は ,TPC-H ベ ン チ マ ー
クのクエリを用いた性能評価により,同データベース
エ ン ジ ン が シ ス テ ム の I/O 性 能 を 十 分 に 引 き 出 し て い
る こ と と , 数 千 の ス レ ッ ド を 数 %の オ ー バ ヘ ッ ド で 制
御できていることを確認した.
TPC-H は 基 幹 業 務 に お け る 意 思 決 定 支 援 シ ス テ ム を
モデルとして設計されたベンチマークである.近年,
期待が高まっているビッグデータの利活用 では,多種
多様なセンサーや多機能端末などの社会インフラ 基盤
から発生する膨大な時系列情報を扱う応用が拡大する .
そのため,今後は,膨大な時系列情報の分析など社会
インフラ基盤への応用に則した 評価を進めていきたい.
謝
辞
本研究は, 内閣府最先端研究開発支援プログラム
「超巨大データベース時代に向けた最高速データベー
スエンジンの開発と当該エンジンを核とする戦略的社
会サービスの実証・評価」の助成により行われた.
文
献
[1] 喜 連 川 優 ,合 田 和 生 ,ア ウ ト オ ブ オ ー ダ 型 デ ー タ ベ
ー ス エ ン ジ ン OoODE の 構 想 と 初 期 実 験 , 日 本 デ
ー タ ベ ー ス 学 会 論 文 誌 , Vol.8, No.1, pp.131-136,
2009.
[2] 日 立 , 東 京 大 学 と の 超 高 速 デ ー タ ベ ー ス エ ン ジ ン
の共同研究開発成果を製品化,
http://www.hitachi.co.jp/New/cnews/month/2012/05/
0528.html, 2012.
[3] Transaction Processing Performance Council, TPC -H
All Results – Sorted by Performance,
http://www.tpc.org/tpch/results/tpch_results.asp.
[4] 清 水 晃 , 徳 田 晴 介 , 田 中 美 智 子 , 茂 木 和 彦 , 合 田
和生, 喜連川優, アウトオブオーダ型データベー
ス エ ン ジ ン OoODE に お け る タ ス ク 管 理 機 構 の 一
実装方式の評価, 第 5 回データ工学と情報マネジ
メ ン ト に 関 す る フ ォ ー ラ ム , 2013.
[5] D. J. DeWitt, R. H. Katz, F. Olken, L. D. Shapiro, M.
Stonebraker, D. Wood, Implementation Techniques
for Main Memory Database Systems, Proc. ACM
SIGMOD Conference, pp. 1-8, 1984.
[6] Gerhard Weikum, Gottfried Vossen , Transactional
Information Systems: Theory, Algorithms, and the
Practice of Concurrency Control and Recovery,
Morgan Kaufmann Publishers, 2001.
[7] 早 水 悠 登 , 合 田 和 生 , 喜 連 川 優 , フ ラ ッ シ ュ ス ト
レージ環境におけるアウトオブオーダ型データ
ベ ー ス エ ン ジ ン OoODE の 実 験 的 ク エ リ 処 理 性 能
評価, 第 6 回データ工学と情報マネジメントに関
す る フ ォ ー ラ ム , 2014 (to appear).