55
© Hitachi, Ltd. 2013. All rights reserved. 株式会社 日立製作所 ITプラットフォーム事業本部 2013/11/13 フラッシュドライブで挑む Oracle超高速化と信頼性の両立 db tech showcase 東京 2013

[C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

株式会社 日立製作所 ITプラットフォーム事業本部

2013/11/13

フラッシュドライブで挑む Oracle超高速化と信頼性の両立

db tech showcase 東京 2013

Page 2: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

1. 従来のシステムの問題点

2. フラッシュを使った高速化

3. フラッシュのシステムの信頼性

Contents

4. フラッシュドライブの活用

5. SSDとOracleの相性

6. RAC on SSD分析系SQLでの検証

7. 信頼性に関する検証

Page 3: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

データの増加に伴い、処理時間が増加。これに伴い、

処理時間の短縮=DB高速化 が重要になりつつある。

DB担当者

担当者のDB高速化の悩みは尽きない

朝までかかる夜間 バッチは、ハードを

リプレースするだけで、 速くなるだろうか。

既存アプリは、今更 手を入れるなんて

できないから DB自体を速くしないと

DWHで抽出してる データが少な過ぎると

言われているが、 増やせば時間がかかる

0-1. DB高速化需要の高まり

Page 4: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

1.従来のシステムの問題点

Page 5: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

1

10

20

相対性能

2005 2006 2007 2008 2009 2010 2011

5

15

2012

25

10倍

HDD回転数 1倍

CPU性能はコア数の増加と共に劇的に向上している。

CPU性能の伸びに比べ、HDD回転数やFC帯域は伸びていない

システム構成は今でも2005年と同じ作りだが、それで良いのか

※CPU性能はSAP SDベンチマークをベースにした値

4倍 4core

6core

2core

24倍 8core

2005年を1とした時の性能推移

1-1. H/Wの性能進化の不均衡

5

Page 6: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

100

90

80

70

60

50

40

30

20

10

0

(%)

CPU,FC帯域,HDDの使用率の状況は

HDDは常に稼働し続けており、ほぼ100%張りつきの状態。

CPUはあまり稼働率が上がらず、底辺を這っている様な状態。

FCの帯域はまだまだ余裕があるが、CPUよりは使われている状態。

HDDの高速化を行えば、CPUをもっと有効に使えるようになる

HDDの使用率は OSの性能モニタでは

直接表示されない

HDDの使用率が ボトルネックなのが 実は分かりにくい!

パーツ使用率のイメージ

1-2. 2005年と同じ構成のシステムでは

Page 7: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

ストレージ

キャッシュ

円盤に書かれたデータが来るまで待つ

データ

要求

日付 都市 時間 気温

7/8 東京 12:00 28°

7/8 大阪 14:00 32°

7/8 名古屋 14:00 35°

7/9 甲府 13:00 37°

7/9 京都 14:00 36°

HDDは円盤にデータが記録されている。

円盤は1分間に15,000回転している。

目的のデータがヘッドまで来ると読み出せる。

例えば、 7/9の京都の最高気温が知りたい

ヘッドの移動(データのあるトラックまで移動)

回転待ち(最大1回転:1/15,000分=1/250秒)

アプリケーション サーバ

データベース サーバ

要求

データ

要求 要求

データ データ

つまりHDDは1秒間に最悪250件しか読めないから遅い。

1-3. HDDのデータリード処理の問題点

Page 8: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

1-4. HDD I/O性能基本データ

HDDはランダムアクセスが苦手

SAS 15,000回転/s, RAID5:4D+1P

ブロックサイズ:512KB, 多重度:8

1 7.8

リード帯域性能

シーケンシャル

ランダム

1 19

ライト帯域性能

シーケンシャル

ランダム

Page 9: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

昼(オンライン) 夜 夜(バッチ処理)

業務処理の1日のアクセス状況

HDDで構成している限り、目に見える性能改善は難しい!

業務処理では、昼間はIOPSが必要で夜間は帯域が必要となる。

IOPSはまさにHDDの回転数に依存するので、HDDの本数が少ないと厳しい。

HDDはランダムアクセスの帯域が出ない為、バッチがランダムなら性能が出ない。

※グラフはストレージアクセスイメージです。

IOPS必要

1-5. ストレージのアクセス種別について

Page 10: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

2.フラッシュを使った高速化

Page 11: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

容量

年代

これからはFlashメモリー

① 半導体なのでリード/ライトが速い

磁気記憶では無く、メモリーチップを使用して いる為、HDDより桁違いにリード/ライトが速い。

Flashの特徴として、ライトは上書きでは無く、別の場所に書き、元の場所を無効化する。 ブロック内に無効領域が増えたらガーベッジ コレクションしてから消去する。

② 容量がHDD並みとなってきた

HDD互換のSSDでは数100GB~1TB超のデバイスが製品化されてきており、価格はHDDより割高だが性能が必要な状況で採用される様になってきた。

書込み済

空き領域

1ブロック

(消去単位)

SDカード

USBメモリー

コンパクトフラッシュ

CompactFlash

2-1. ストレージI/Oの高速化には

Page 12: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

SLC

0

SLCとMLC

FlashにはSLCとMLCがあり、MLCの方がビッ

ト単価が安く大容量化に向いているが、短寿命等の弱点もある。しかし技術進歩でMLCでも信頼性が上がってきている。

データ保持時間

Flashは不揮発性ではあるが、電源が無い状態

で長期放置を行うと、微量ながらも電荷が減っていく為、データが失われることがある。MLCの場合は、3ヵ月以内には通電することを推奨。

SSDとは

HDD互換インターフェース(SATA/SAS)を装備したFlashメモリー。パソコン用から始まり、今では信頼性の高いエンタープライズ用もある。

1

MLC

11 (3)

01

10 (2)

00

電荷

2-2. SSDの特性

Page 13: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

1

※性能・時間は構成/使用条件により異なる場合があります。

ランダムWRITE (7D+1P, 8KB)のIOPS相対比較

15

ランダムREAD (7D+1P, 8KB)のIOPS相対比較

61

2-3. SSDのパフォーマンス

HDDよりもかなり高速

1

SSD

SAS HDD

SSD

SAS HDD

Page 14: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

ストレージ

サーバ

P

P

今までのシステム構成は

サーバからFCケーブルが2本ストレージに接続されている。

HDDはRAID構成で組まれている。

サーバ1台(またはActive-Standby)の構成

★単純にHDDをSSDに 置き換えただけだと...

コントローラ コントローラ

P P P P P P P P

RAID構成

ストレージの内部バス帯域限界を超える。

コントローラーの処理性能が不足する

FCポートの帯域限界を超える

I/O待ちが無くなりCPUが忙しくなる

せっかくのSSDの高速性が、今までの構成では引き出せない!

2-4. SSDに変えるとどうなるか

Page 15: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

ボトルネックを極力排除する

ストレージ

サーバ

サーバ

10G NIC

10G LANSW

10G LANSW

10G NIC

10G NIC

10G NIC

Bonding Bonding

RAC Interconnect

Ctrl0 Ctrl1 Ctrl2 Ctrl3

8Gbps x 16

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

P P P P P P P P P P P P P P P P

1G NIC

1G NIC

Bonding

1G NIC

1G NIC

Bonding

Public LAN

サーバは2台以上で Oracle RAC構成に 可用性と性能を両立

処理性能ネックを回避 する為にSSD数に

応じたコントローラ数を

処理能力が上がるため、 RACインターコネクトは、 10Gの冗長構成が必要

内部バスがボトルネック にならない様なSSDの

スロット配置を行う

FCはSSDの数に応じ 帯域を確保できる本数 並列性と可用性に効果

これが理想のSSDシステム

2-5. 高速化を実現するハードウェア構成

Page 16: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

ストレージ 使い過ぎ

少な過ぎ

FC 利用率

100%

0%

各LUにアクセスするFCポートを固定化しOSとFCのキューを一致させオーバーヘッドを削減。

しかしLUが複数になると、どのデータをどのLUに割り当てるか検討が必要になる。

検討不十分だとLUのデータ占有量が不揃いになったり、アクセス頻度が偏る。

最悪本番稼働後に配置の見直しや、テーブル分割などを実施しなければならなくなる。

高速化構成の副作用

LU

サーバ

HBA (FCカード)

TableC TableA TableD TableB

2-6. 複数LUへのDB配置

Page 17: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

LU

Oracle ASM

最高のパフォーマンス

複数LUをうまく使うには、 Oracle ASMを使用することで対応が可能。

複数LUがストライピングされ、全てのLUを均等に利用可能。

FC帯域も均等に利用でき、パフォーマンスも向上。

遅いLUが混在していると性能が引きずられ、DB全体が遅くなることがある。

理想構成では全てSSDで統一しており、最高のパフォーマンスを発揮可能。

FC 利用率

100%

0%

HBA (FCカード)

複数LUをまとめて管理

TableA TableB TableC TableD

2-7. サイズやアクセス頻度の偏りの無いASM

Page 18: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

高信頼の日立ハイエンドブレードサーバ 10Gイーサネットファブリックスイッチ搭載可能 APサーバ、バックアップサーバ等も混載可能

サーバ当たり8本のPCI-Eスロットを追加 独立した管理プロセッサが状態を監視 I/Oケーブル断でもサーバが落ちない可用性

SSD搭載前提の高性能コントローラ搭載 帯域ネックになりにくい高速バックエンドパス ShadowImageやTrueCopyバックアップ機能 (筺体内ボリュームコピー) (筺体間コピー)

データリードで 11GB/sの

I/O処理を確認。

8Gb/s×16

BladeSymphony BS2000

I/Oスロット拡張装置(IOドロワ)

200/400/800GB SSD

・・・

Hitachi Unified Storage 100

2-8. そのシステムを実現したのがこの構成!

Page 19: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

3.フラッシュのシステムの信頼性

Page 20: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

SSDの書き込み限界

SSDではRAIDの場合、構成本数と書込み量で寿命が決まる

全容量1.6TBを1日10回全て書き替えても、5年間使えます。

※寿命まで絶対故障しないということではありません

上限値通知や対応も

SSDの書き込み容量が寿命の90%(&95,96,97,98%)に達すると通知を出します。 更に99%になるとスペアへデータをコピーし、書き込みを継続するように備えます。 保守契約されていれば、万一期間内に寿命となったSSDは、無償交換します。

SSDの寿命とは

SSDはデータ書き込み時に電子が移動することで半導体が劣化し、書き込み回数上限を決めている。200GBのSSDの場合3.6PBの書き込みが上限である。

※3.6PBは日立採用のSSDの場合

値 備考

SSD 1本の書き込み上限 3,600TB/5年 5年でこの値に達すると仮定

(2D+1P)*4組での合計書込み上限 28,800TB/5年 200GB×8本分=1.6TB

1日で書き込める容量 15,781GB/日 約16TB/日

1秒で書き込める容量 182MB/s

3-1. SSDの寿命について

Page 21: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

3-2. ネットワークの可用性

忘れがちなネットワークも重要

SSDのシステムでは1Gbpsでは不足。10Gが必要 RACのインターコネクトは1Gでは不足。 1:1通信の場合Bondingでは帯域を増やせない。 直結は禁止なので2台のスイッチ(冗長)で接続

10G LAN

Port数は最低4port。もっと欲しい RACのインターコネクトとPublicで4port。 Active DataGuard専用Portも性能に有効 管理ネットワークも別セグメントで欲しい いくつ?

Public LANの可用性は スパニングツリーで構成するのが良いのか。 リンクアグリゲーション(LA)なら相性問題はまずない。 複数スイッチでのLA機能(vPC, vLAG, MLAG)が旬。

仮想LA

LA(bond)

グループ

Page 22: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

メーカーはどこでも一緒。では無い

障害発生頻度を減らすには

壊れやすい部品を使わない ⇒ 壊れ易いかどうか判別するプロセスが必要。 部品の個体差による不具合品を排除する ⇒ 部品受け入れ時と完成後にも検査する。

万一の障害時の対応は

故障に対しては自動通報で迅速に対応。サービス拠点も日立なら全国至る所にある。 難しい問題切り分けや解析は、国内に技術者がいれば短期間で判明するもの。

3-3. サーバの信頼性

Page 23: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

温度・電圧の組合せによる過酷な環境による試験。

■複合マージン試験

■外観検査 通電検査だけでは判らない異常を検出。

半田飛散

開発検査 量産検査

X線透視 観察装置

元々メインフレームでやっていた処理なんだけど...

3-4. 障害発生頻度を極力減らすには

Page 24: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

遠隔保守有

~ユーザーエリア~

IP-VPN

サポートセンタ

監視通報装置

遠隔保守無

自動通報 復旧

復旧

業務のダウン時間を短縮

ログ解析 保守作業 駆けつけ

部品手配

電話受付&問診 ログ採取/解析 保守作業 部品手配 駆けつけ 障害切分

障害発生

ユーザの負担作業

障害連絡

3-5. 万一の障害発生時に迅速な対応をするには

ファイアウォール

VPN ルータ

遠隔保守支援システムが自動通報を

Page 25: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

4.フラッシュドライブの活用

Page 26: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

PCIフラッシュ フラッシュアレイ装置

PCIフラッシュの次に高速。 従来型ストレージと使い勝手同じ。 フラッシュデバイスのみで構成。 FCやInfiniBandインターフェース 共有ディスクとしても使用可能

フラッシュストレージの中では最も高速。 RAID構成はソフトウェアで実施。 共有ディスクとして使用できない。 稼働中のドライブ交換ができない。

DBにはどのフラッシュが向いているのか

従来型SANストレージ装置

SSDを搭載することで高速化。 DRAMキャッシュによるリード/ライトの高速化。 ストレージ内の各種オプション機能が豊富。 HDDとのハイブリッド構成による大容量化が可能。

4-1. エンタープライズ向けフラッシュストレージ

少~中容量の シングルDBに

最適

中容量の DWHに

最適

中~大容量の OLTP/DWH

に最適

Page 27: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

DBサーバ

正VOL

SSDでもボリュームコピーは必要 ストレージ間でのDR機能

バックアップ サーバ

ストレージ機能による遠隔データ コピーによりDRサイト構築が容易。

フルバックアップならボリュームコピーは必須。 回復時間を重要視するならこれが最適。

副VOL

バックアップ/DRとコストパフォーマンス

ハイブリッド・ドライブ対応

大容量かつコストパフォーマンスを追求するには、 HDD混載が解決策。

ボリュームコピーの副ボリュームにはHDDが最適。

ニアラインドライブを使用すれば、二次バックアップやアーカイブ用途も。

4-2. SANストレージの利点

Page 28: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

4-3. フラッシュの価格は今後どうなるのか

ビットコストの動向 デバイス技術動向調査結果(日立調べ) 各デバイスのビットコスト推移予想

ビッ

トコ

スト($

/G

B) MLC SSDと

SAS HDDが 逆転する

数年後のリプレースにはSAS HDDは時代遅れとなる。

いつSSDを導入するか? 今でしょ!

Page 29: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

仮想ボリューム

サーバから見せるLU。

容量は将来を見据えた大きさに設定可能。

実データはプールの領域が割り当てられる。

HDDとのハイブリッドでも高速アクセス Hitachi Dynamic Tiering

Tier1 Tier2

プール

HDDやSSDからなる物理ボリューム。

優先順位設定可能。

この例ではSSDを高い優先順位に設定。

4-4 日立ストレージのボリューム自動階層制御

Page 30: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

高性能

SSD(Solid State Drive)<他社OEM品>

SATA/ NL-SAS HDD

SAS HDD

キャッシュメモリ レスポンス性能重視

ビットコスト重視

フラッシュドライブ 適用拡大

HAF(Hitachi Accelerated Flash)<日立製>

大容量/スケーラビリティ

コストパフォーマンス

高信頼 高機能 高性能

HAF(Hitachi Accelerated Flash) SANストレージに最適なフラッシュ

日立はストレージシステムとフラッシュドライブの両方を自製

4-5. 日立自製フラッシュドライブ

大容量・超高速アクセス

1.6TBの大容量、高信頼、高性能フラッシュメモリドライブ

Page 31: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

HAF

SSD

SAS HDD 1

※性能・時間は構成/使用条件により異なる場合があります。

HAFはVSPでFlash accelerationを適用した場合の値です。

ランダムWRITE (7D+1P, 8KB)のIOPS相対比較

ランダムREAD (7D+1P, 8KB)のIOPS相対比較

4-6. HAFのパフォーマンス

SSDよりもかなり高速

SSD

SAS HDD 1

HAF

Hitachi Virtual Storage Platform(VSP)

Page 32: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

大容量 DRAM

インターフェース

専用フラッシュ コントローラ

MLC フ

ラッ

シュ

メモ

MLCフラッシュメモリ

MLC フ

ラッ

シュ

メモ

MLCフラッシュメモリ

MLC フ

ラッ

シュ

メモ

MLCフラッシュメモリ

MLC フ

ラッ

シュ

メモ

MLCフラッシュメモリ

MLC フ

ラッ

シュ

メモ

MLCフラッシュメモリ

MLC フ

ラッ

シュ

メモ

MLCフラッシュメモリ

MLC フ

ラッ

シュ

メモ

MLCフラッシュメモリ

MLC フ

ラッ

シュ

メモ

MLCフラッシュメモリ

高速なランダム性能 •高性能マルチコアプロセッサと多重アクセス制御により高いスループット性能を実現

•小さいデータは大容量DRAMに書き込むことで超高速なライト性能を実現

フラッシュメモリの長寿命化 • 高性能プロセッサによる書き込み回数平準化などによりフラッシュメモリの耐久性向上

スケーラビリティ/コストパフォーマンス • 多数のフラッシュメモリの制御を効率化することで、大容量/スケーラビリティを実現し、コストパフォーマンスを向上

高信頼/高機能 • ストレージコントローラと連携した高信頼/高機能(定期データチェック/回復機能、高速LDEVフォーマット機能、ゼロデータ圧縮機能など)

4-7. HAFのしくみ

フラッシュメモリの性能を最大限に引き出す構造

Page 33: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

HAF

数TB以上のDBおよび 超高速性を求める場合 に最適

1.6TB/枚 SSD

数TBまでのDBに最適

200GB/枚~

4-8. HAFとSSD及びHDTとの棲み分け

DB容量とコストパフォーマンスで選択

コストパフォーマンス

DB容量

HDT HDDとのハイブリッド により性能と容量の 最適なバランスを

Page 34: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

5.SSDとOracleの相性

Page 35: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

SSDはランダムI/Oで抜群の効果。 一方でシーケンシャルI/Oでは投資効果が薄い

5-1. SSD対HDDのI/O性能基本データ

34

※性能値は構成/使用条件により異なります。

【READ】 【WRITE】

SSD

HDD

シーケンシャルI/O (RAID5:4D+1P, ブロックサイズ:512KB, 多重度:1)

ランダムI/O(RAID5:4D+1P, ブロックサイズ:4KB, 多重度:32)

SSD

HDD

SSD

HDD

SSD

HDD

【READ】 【WRITE】

※HDDは10000rpm, SASディスク。

性能差はあまり大きくない

Page 36: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

Oracle DBで高速化したい業務は何か?

Oracleから見た I/Oパターン

オンライン バッチ処理 分析系業務

ランダムI/O 多い 普通 少ない

シーケンシャルI/O あまりない 普通 多い

より高速化の要望が強い

シーケンシャルリードのSQLを多く擁するバッチ処理や 分析系業務ではSSDの効果をどう考えればよいか?

35

5-2. 高速化したい業務は何?

Page 37: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

[分]

◆ストレージ側が受け取るI/Oパターン(分析系のSQL22個)

シーケンシャルI/O

◆シーケンシャルリードのSQL発行でストレージ側(SSD)が受け取るI/Oパターンを調べてみた。

約6~7割がランダムI/O

その理由は

Oracle Parallel Query

5-3. 分析系SQLのI/Oパターンは?

36

ランダムI/O

Page 38: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

シリアル実行では、1つのSQLに1つのコアが割り当てられる。

◆オンライン処理の場合 ※多くのSQLが複数端末から発行される

SQL SQL SQL SQL SQL SQL

SQL SQL SQL SQL SQL SQL

SQL

◆分析系処理の場合 ※1本の重いSQLが流れる

Parallel Query

PX PX SQL

PX PX PX PX PX PX

PX PX PX

マルチコアが活用できない。 CPUネック。

マルチコアを有効活用。 CPUネックが解消され ディスク速度に依存。

マルチコアサーバでバッチ処理や分析系処理を行う場合、 Parallel Queryはレスポンス向上に有効。

さて、ランダムvsシーケンシャルの話は・・・

Parallel Queryでは、I/Oも多重化されて発行される。

5-4. パラレルクエリとは

37

PX:Parallel Execution Process

Page 39: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

Parallel Query

ASM

RAID

分割

分割

分割

Drive(HDD/SSD)

1ドライブに対する I/O要求が多重 /並列化し、 ランダムI/Oとなる。

多重

FC

HUS130 #0

LU

Ctrl0

P P P P

LU

Ctrl1

P P P P

FC FC FC

Oracle A

SM

DBサーバ

LU LU

LU LU LU LU

RAID5

RAID5

SQL発行

パラレル化

FC

HUS130 #0

LU

Ctrl0

P P P P

LU

Ctrl1

P P P P

FC FC FC

Oracle A

SM

DBサーバ

LU LU

LU LULU LU

RAID5

RAID5

SQL発行

パラレル化

5-5. パラレルクエリ+ASMでI/Oはどうなる?

38

Page 40: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

Oracle DBが発行するI/Oパターンと SSDは、業務の性質によらず相性が良い。

(もちろん、I/O負荷が高いもの)

ランダムI/OではSSDは抜群の効果

だから

5-6. SSDとOracleの相性はとてもいい。

39

Page 41: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

6.RAC on SSD分析系SQLでの検証

Page 42: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

【サーバ】 Blade数: BS2000 × 2Blade CPU: Xeon X5690 3.46GHz 6core×2 Memory: 96GB

【ストレージ】 台数: HUS130(基本筺体+拡張筺体) × 2台 SSD: 200GB × 28 (6D+1P × 4組)

データベース情報

OS:Redhat Enterprise Linux 6.2

DB:Oracle Database 11g Release2 (11.2.0.3)

DB構成:2ノード RAC構成

DBサイズ:150GB, 及び350GB

DBブロックサイズ:32K

DBキャッシュサイズ:48GB

ハードウェア

8Gb/s×16

200GB SSD

・・・

Oracle RAC on SSDの構成

【ストレージI/O】 インターフェース: FC FCケーブル: 16本 (8本/Blade × 2) FC通信速度: 8Gbps/port

6-1. 検証構成

Page 43: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

■ I/O帯域

※dd性能とは、OSのddコマンドにてI/O性能を測定した結果

■ SQL処理時間

0

2

4

6

8

10

12

HDD(SQL性能) SSD(SQL性能) SSD(dd性能)

0.75

8.44

11.00 (GB/s)

6-2. HDDとSSDでの比較

07:53

01:19

01:30

03:00

04:30

06:00

07:30

09:00

(mm:ss)

HDD SSD(1ノード)

00:41

SSD(2ノード)

I/Oが多く出る分析系DB処理を模擬した SQLを使用

I/Oスループット及びSQLのレスポンスタイムの合計を測定

PCサーバ+HDD搭載ストレージと比較。

【サーバ】 機種:HA8000/RS210-hHM CPU:E5-2690×2 メモリー:96GB I/O: 6Gbps/port 4本(2本/台 × 2) 【ストレージ】 機種:BR1200×2台 HDD: 146GB (15,000rpm) × 16 (7D+1P × 2)

帯域とSQL処理時間を測定 比較機器

I/O帯域、レスポンスとも、10倍以上は想定通り。

Page 44: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved. 43

実行時のI/OとCPUの状況 CPU利用状況 Parallel 20

0102030405060708090

100

0:0

0:0

0

0:0

0:4

5

0:0

1:3

0

0:0

2:1

5

0:0

3:0

0

0:0

3:4

5

0:0

4:3

0

0:0

5:1

5

0:0

6:0

0

0:0

6:4

5

0:0

7:3

0

0:0

8:1

5

0:0

9:0

0

0:0

9:4

5

0:1

0:3

0

0:1

1:1

5

0:1

2:0

0

0:1

2:4

5

0:1

3:3

0

0:1

4:1

5

0:1

5:0

0

0:1

5:4

5

0:1

6:3

0

0:1

7:1

5

時間(hh:mi:ss)

使用

率(%

)

cpuI/O性能(iostat) HDD

0

100

200

300

400

500

600

700

800

900

1000

0:0

0:0

0

0:0

0:4

5

0:0

1:3

0

0:0

2:1

5

0:0

3:0

0

0:0

3:4

5

0:0

4:3

0

0:0

5:1

5

0:0

6:0

0

0:0

6:4

5

0:0

7:3

0

0:0

8:1

5

0:0

9:0

0

0:0

9:4

5

0:1

0:3

0

0:1

1:1

5

0:1

2:0

0

0:1

2:4

5

0:1

3:3

0

0:1

4:1

5

0:1

5:0

0

0:1

5:4

5

0:1

6:3

0

0:1

7:1

5時間(hh:mi:ss)

read

性能

(MB

/se

c)

0

5

10

15

20

25

30

35

40

45

50

write

性能

(MB

/se

c)

read write

I/O性能が頭打ち

・800MB弱でI/Oネックとなる。 ・CPUは余裕がある

※1ノードでSQL実施 ※DBサイズは150GB

CPU利用状況 HDD

6-3. OS統計情報(HDD構成)

Page 45: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved. 44

実行時のI/OとCPUの状況

・ 約 MB/sのI/O性能 ・ I/Oにはまだ余裕がある状況 ・ CPUはほとんど使えている。

※2ノードでSQL実施 ※DBサイズを350Gに拡張。 (150GのままではI/O負荷が少な かったため)

時間(h:mm:ss)

0

100

200

300

400

500

600

700

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

0:0

0:0

0

0:0

0:4

0

0:0

1:2

0

0:0

2:0

0

0:0

2:4

0

0:0

3:2

0

0:0

4:0

0

0:0

4:4

0

0:0

5:2

0

0:0

6:0

0

0:0

6:4

0

0:0

7:2

0

0:0

8:0

0

0:0

8:4

0

0:0

9:2

0

0:1

0:0

0

0:1

0:4

0

0:1

1:2

0

0:1

2:0

0

0:1

2:4

0

write

性能

(MB

/se

c)

read

性能

(MB

/se

c)

時間(hh:mi:ss)

I/O性能(iostat) 「RAC on SSD」

sum(read) sum(write)

0 10 20 30 40 50 60 70 80 90

100

0:0

0:0

0

0:0

0:4

0

0:0

1:2

0

0:0

2:0

0

0:0

2:4

0

0:0

3:2

0

0:0

4:0

0

0:0

4:4

0

0:0

5:2

0

0:0

6:0

0

0:0

6:4

0

0:0

7:2

0

0:0

8:0

0

0:0

8:4

0

0:0

9:2

0

0:1

0:0

0

0:1

0:4

0

0:1

1:2

0

0:1

2:0

0

0:1

2:4

0

使用

率(%

)

時間(hh:mi:ss)

CPU利用状況 「RAC on SSD」

CPU

最大I/O性能

6-4. OS統計情報(RAC on SSD)

Page 46: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

6-5. リプレースが必要な古いUNIX環境との比較

測定ケース 旧UNIX環境 「RAC on SSD」

1ノード 「RAC on SSD」

2ノード

パラレル度 2 24 24

Partition数 16 24 24

圧縮 無効 有効 有効

物理メモリ(搭載) 2GB 96GB 96GB

メモリ(Oracle割当) 1GB 45GB 45GB

SQL実行時間合計

約165倍高速 約318倍高速

2005年頃のシステムと比較してみた

2005年当時のUnixサーバと比較 【サーバ】 機種:HA8500/310 CPU:Itanium 2 1.30GHz 1core×2 メモリー:2GB I/O: FC-2Gbps/port 2本 【ストレージ】 機種:SANRISE9570 HDD: 146GB (15,000rpm) × 12

比較機器

CPU性能の差(24倍)以上の改善があることが分かった。

Page 47: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved. 46

7.信頼性に関する検証

Page 48: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved. 47

I/Oスロット 拡張装置

#1(Blade#0)

日立8GFC

P0 P1

(P0)I/Oスロット拡張装置接続ボード

日立8GFC

P0 P1

Expander(1:4モード)

P1

#11(Blade#1)

日立8GFC

P0

#10(Blade#1)

日立8GFC

P0 P1

Expander(1:4モード)

10

I/Oモジュール#1

Blade #0

#3(Blade#1)

日立8GFC

P1

#2(Blade#1)

日立8GFC

P0 P1 P1

#9(Blade#0)

日立8GFC

P0

#8(Blade#0)

日立8GFC

P0 P1

BS2000 サーバシャーシ

(P1)I/Oスロット拡張装置接続ボード (P2)I/Oスロット拡張装置接続ボード

Blade #1

(P3)I/Oスロット拡張装置接続ボード

#0(Blade#0)

サーバシャーシ 接続ポート#1

サーバシャーシ 接続ポート#0

I/Oモジュール#0 サーバシャーシ 接続ポート#1

サーバシャーシ 接続ポート#0

P0

Ctrl #1

1A 1B 1C 1D

Ctrl #0

0A 0B 0C 0D

Ctrl #1

1A 1B 1C 1D

Ctrl #0

0A 0B 0C 0D

LU1 LU2 LU3 LU4 LU5 LU6 LU7 LU8 LU11 LU12 LU13 LU14 LU15 LU16 LU17 LU18

「RAC on SSD」は、I/Oパスの冗長化により、パス障害やI/O機器障害が発生した場合にも業務を継続できるよう可用性を高めている。

SSD(RAID5)

… SSD(RAID5)

… SSD(RAID5)

… SSD(RAID5)

HUS130 HUS130

7-1. RAC on SSDの可用性

Page 49: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

HUS基本筺体

Ctrl0

A B C D

Ctrl1

A B C D

HUS基本筺体

Ctrl0

A B C D

Ctrl1

A B C D

IOドロワ P

P

P

P

BS

2000

HUS拡張筺体 HUS拡張筺体

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

FC

R3ブレード #0

P

P

R3ブレード #1

P

P

FCケーブル抜線テスト

① FCケーブルを1本抜いた状態 ② IOドロワ片系障害としてドロワケー

ブルを抜いてFC8本分繋がらない状態の確認

テストツール、およびテスト内容

分析系DB処理の一般的なベンチマークからI/O不可の高いSQLを実行。

OS稼働時にケーブルを抜いてから測定を実施。

SQLのレスポンスタイムの合計、及びI/Oスループットを測定。

I/Oケーブルの本数が増えることで障害発生確率は多少なりとも増加。

ケーブル障害でも耐えうる構成であるが、性能に与える影響を調査する。

Blade数: BS2000 × 2Blade CPU: Xeon X5690(6core)×2/Blade Memory: 96GB/Blade

HUS130(基本筺体+拡張筺体) × 2台 SSD: 200GB × 28本 (6D+1P) ×4組)

FCケーブル 8Gbps×16本

7-2. FCケーブル抜線テスト

Page 50: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

②I/Oドロワ片系障害 FCケーブル8本相当

最大Read帯域: MB/sec SQL 実行時間: 14分31秒

正常時 FCケーブル16本

最大Read帯域: MB/sec SQL 実行時間 : 13分59秒

①FCパス1本抜線 FCケーブル15本

最大Read帯域: MB/sec SQL 実行時間: 14分14秒

それぞれの場合のSQLレスポンスとI/Oスループットの推移

ケーブル抜いても停止すること無く連続稼働

SQL実行時間に殆ど影響無し!帯域確保されているからこそ。

7-3. 稼動確認と性能比較

Page 51: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

まとめ

Page 52: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved. 51

オープンで信頼性の高いプラットフォーム オープンIAサーバを利用した通常のRAC構成。AP移行も安心。 通常のLinux/Windowsサーバ。バックアップ、監視ソフトも問題なし。 高信頼サーバ/ストレージと、あらゆる箇所の冗長構成でサービスを止めない。

実証された構成、でも柔軟な選択 構成選定やH/Wチューニングの手間をかけずに性能と信頼性を両立できる。 サーバCPU、メモリ量、SSD容量を処理内容に応じて調整できる。 Oracleライセンス/サポートを抑えられる様に少ないコア数でも構成できる。

その鍵はSSD HDD⇒SSDだけでは効果薄、通り道のネックを全部排除してSSDを生かす。 OracleDBのI/Oパターンは、SSDと相性がよい。 オンラインのみならず、バッチ、分析処理の大幅な高速化を実現できる

高速化と信頼性を両立するDB高速化ソリューション

まとめ

Page 53: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui

© Hitachi, Ltd. 2013. All rights reserved.

• OracleとJavaは,Oracle Corporation 及びその子会社,関連会社の米国及びその他の国における登録商標です。

• Intel Xeonは,アメリカ合衆国およびその他の国におけるIntel Corporationの商標です。

• Linuxは,Linus Torvalds氏の日本およびその他の国における登録商標または商標です。

• その他、記載の会社名、製品名は、それぞれの会社の商標または登録商標です。

• 製品の改良により予告なく記載されている仕様が変更になることがあります。

他社商品名、商標等の引用に関する表示

52

Page 54: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui
Page 55: [C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui