データベース構造劣化による OLTP性能低下に関する 一考察

Slides:



Advertisements
Similar presentations
演習3 米澤研究室 発表2 山崎孝裕. 主な内容  分散動的サーバモデル(復習)  掲示板システムの問題点と仮定  掲示板システムの大まかな動き(細かい エラー処理は考慮しない)
Advertisements

DB(データベース)のおはなし 作成者:小野正広 DBと言っても、  ドラゴンボール ではないですぞ! 3/1/2017.
ATLAS実験データ解析に向けた、長距離広帯域ネットワークにおけるデータ転送
情報理工学部 情報システム工学科 ラシキアゼミ 3年 H 井奈波 和也
ファイルキャッシュを考慮したディスク監視のオフロード
最新ファイルの提供を保証する代理FTPサーバの開発
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
3-1 MySQLについて 発表者:藤村元彦 自然言語処理研究室.
MySQLに接続するデータベースプログラム
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
全体ミーティング (4/25) 村田雅之.
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
データベースとストレージ の最新動向 12.MAR.2015.
第6章 トランザクション管理 6.1 トランザクションの概念 6.2 同時実行制御 6.3 障害回復.
各種PC クラスタの性能評価 同志社大学 工学部 廣安 知之 三木 光範 谷村 勇輔.
ファイルシステムキャッシュを 考慮した仮想マシン監視機構
OSが乗っ取られた場合にも機能するファイルアクセス制御システム
RDBMSについて 2年7組  小鹿 慎太郎.
INSERTを高速化したPostgreSQL
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
ネストした仮想化を用いた VMの安全な帯域外リモート管理
XML データベース XRel の実装とその評価
 データベースによる並列処理 情報論理工学研究室  三宅健太.
VMマイグレーションを可能にするIDSオフロード機構
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
過負荷時のWebアプリケーションの 性能劣化を改善する Page-level Queue Scheduling
プログラム実行履歴を用いたトランザクションファンクション抽出手法
過負荷時の分散ソフトウェアの 性能劣化を改善する スケジューリングの提案
2009年度卒業論文発表 CDNコンテンツサーバの動的負荷分散
ストレージの最新動向 ITソリューション塾・第20期 2015年11月10日.
VM専用仮想メモリとの連携による VMマイグレーションの高速化
IaaS型クラウドにおける インスタンス構成の動的最適化手法
リモートホストの異常を検知するための GPUとの直接通信機構
ユーザ毎にカスタマイズ可能な Webアプリケーションの 効率の良い実装方法
実行時情報に基づく OSカーネルのコンフィグ最小化
仮想メモリを用いた VMマイグレーションの高速化
複数ホストに分割されたメモリを用いる仮想マシンの監視機構
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
オペレーティングシステムJ/K (仮想記憶管理)
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
J-PARC E16実験におけるDAQ-Middleware を用いたDAQソフトウェアの開発
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
Intel SGXを用いた仮想マシンの 安全な監視機構
複数ホストにまたがって動作する仮想マシンの障害対策
仮想ネットワークを考慮した SoftIRQ制御によるCPU割当ての手法
VMMのソフトウェア若化を考慮した クラスタ性能の比較
リカバリ 東大生研 情報融合研究センタ 喜連川優.
サービス指向ルータ向け 問合せ処理用ハードウェアの検討
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
Peer-to-Peerシステムにおける動的な木構造の生成による検索の高速化
Cell/B.E. のSPE上で動作する 安全なOS監視システム
「マイグレーションを支援する分散集合オブジェクト」
Mondriaan Memory Protection の調査
メソッドの同時更新履歴を用いたクラスの機能別分類法
関係データベースとSQL MZ Platform講習会(上級).
ユビキタスコンピューティングの ための ハンドオーバー機能付きRMIの実装
SQL パフォーマンス チューニング ~ パフォーマンス改善 最初の一歩 ~
クラスタリングを用いた ベイズ学習モデルを動的に更新する ソフトウェア障害検知手法
強制パススルー機構を用いた VMの安全な帯域外リモート管理
エイリアス関係を考慮した Javaプログラム用静的スライシングツール
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
複数ホストにまたがるVMの 高速かつ柔軟な 部分マイグレーション
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
Virtual Machine Introspectionを可能にするVMCryptの拡張 田所秀和 光来健一 (九州工業大学)
強制パススルー機構を用いた VMの安全な帯域外リモート管理
第8章 データベースシステムの発展 8.1 オブジェクトリレーショナルデータベース 8.2 分散データベース 8.3 インターネットとデータベース.
Presentation transcript:

データベース構造劣化による OLTP性能低下に関する 一考察 [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 データベース構造劣化による OLTP性能低下に関する 一考察 東京大学  星野 喬、合田 和生、喜連川 優 2007年2月28日

概要 背景と目的 MySQLにおけるTPC-Cベンチマーク構造劣化分析 アクセスパタンに適応的な構造劣化抑制戦略の検討 まとめ [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 概要 背景と目的 MySQLにおけるTPC-Cベンチマーク構造劣化分析 アクセスパタンに適応的な構造劣化抑制戦略の検討 まとめ

背景と目的 背景 構造劣化に対する2つの補完的なアプローチ 目的 OLTPは基幹系業務で不可欠な処理方式 [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 背景と目的 背景 OLTPは基幹系業務で不可欠な処理方式 データベースシステムの常時運用ニーズの高まり データベース更新データベース構造劣化  アクセス性能低下 B+Tree構造においては 充填率低下、クラスタ化度低下、木の高さ増大、など 構造劣化に対する2つの補完的なアプローチ (従来): 再編成によって性能を回復させるアプローチ (提案): 構造劣化の進行を抑制することで性能低下を遅らせるアプローチ 目的 OLTP性能を低下させる構造劣化の分析 構造劣化の進行を抑制するデータ更新戦略の検討

TPC-Cベンチマーク TPC によるOLTPベンチマークのデファクトスタンダード 卸売会社におけるオンライントランザクションをシミュレート [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 TPC-Cベンチマーク TPC によるOLTPベンチマークのデファクトスタンダード 卸売会社におけるオンライントランザクションをシミュレート New-order(注文) Payment(支払) Delivery(配達) Order-status(注文確認) Stock-level(在庫確認) Entity-Relationshipダイアグラム

TPC-Cトランザクションの表アクセス一覧 [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 TPC-Cトランザクションの表アクセス一覧 Table Trn Ware- house District Custo- mer Order Order- line New- order Item Stock History New- Order Select Select Select Select Select Insert Insert Insert Update Update Payment Select Select Select Insert Update Update Update Order- status Select Select Select Delivery Select Select Select Delete Update Update Update Stock- level Select Select Select

実験設定 使用ソフトウェア設定 データベースシステム TPC-Cデータ OLTP負荷 トランザクション実行比率 [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 実験設定 使用ソフトウェア設定 MySQL ver. 5.0.22-mon Database Engine InnoDB Buffer cache size 16MB OS ver. Redhat Linux WS3.0 Kernel ver. 2.4.21-40.EL.smp Benchmark TPC-C rev.5.6 データベースシステム MySQL InnoDB v5.0 クラスタ表(B+Tree)を用いて表を作成 TPC-Cデータ 4GBの表空間をrawデバイス上に確保 TPC-Cウェアハウス数16 初期ロード後使用空間約1.6GB OLTP負荷 アクティブウェアハウス数16 ウェアハウス辺り5スレッドにて並列実行 各スレッドは確率的に トランザクションを選択 10万トランザクション実行 トランザクション実行比率

実験環境 Fibre Channel Switch (1Gbps) 1 3 2 4 Xeon 3.2GHz x2 2GB Memory [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 実験環境 Xeon 3.2GHz x2 2GB Memory Fibre Channel Switch (1Gbps) 1 3 Emulex LP8000 (1GbpsFC) x2 via two PCI-X 133MHz bus Firmware version: 3.93a0 Driver version: 7.3.6 2 4 Seagate Cheetah Model: ST318203FC Spec: 18GB 10000rpm SoftwareRAID0: 4disks, 64kb chunk

トランザクション応答時間分析 New-order Payment Order-status Delivery Stock-level [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 トランザクション応答時間分析 warehouse, district warehouse, district New-order Payment Order-status 先に実行されるSQL(群) が棒グラフの下 (Deliveryに関しては ループ内の結果を合計) Order表アクセス性能 低下を確認 (Buffer cache 16MB) Delivery Stock-level

充填率低下による性能低下 Order表に対するアクセス 充填率低下によるIO数増加 New-Orderがinsert [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 充填率低下による性能低下 Order表に対するアクセス New-Orderがinsert order id順 Deliveryがselect, update new_order表に存在している分だけNew-Orderよりも遅れて実施 充填率低下によるIO数増加 初期ロード時のOrder表の充填率はほぼ1 New-Orderによるinsertデータは充填率が低下(page splitにより約1/2) 一連のDeliveryはクラスタ鍵順にOrder表にアクセスするため、トランザクションあたりに読み込まなければならないページ数が増大  IOPS増大 Order表のデータページ データ量は同じ、ページ数は倍

Order表の充填率 連番アクセスでIO数2倍 (w_id,d_id)=(1,1) (1,2) … [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 Order表の充填率 連番アクセスでIO数2倍 (w_id,d_id)=(1,1) (1,2) … Order表のクラスタ鍵(w_id, d_id, o_id) 表空間は実験1のloop5直前のもの

実験設定 使用ソフトウェア設定 表、索引毎にIOPSを取得するように MySQLを修正 トランザクション実行比率 データ トランザクション [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 実験設定 使用ソフトウェア設定 MySQL ver. 5.0.22-mon Database Engine InnoDB Buffer cache size 4MB~96MB OS ver. Redhat Linux WS3.0 Kernel ver. 2.4.21-40.EL.smp Benchmark TPC-C rev.5.6 データ 4GBの表空間をrawデバイス上に確保 TPC-Cウェアハウス数16 初期ロード後使用空間約1.6GB トランザクション アクティブウェアハウス数16 ウェアハウス辺り5スレッドにて並列実行 各スレッドは確率的に トランザクションを選択 計10万トランザクション実行 パラメータ データ更新するトランザクションのみ選択 バッファサイズを変化させてIOPSを測定 表、索引毎にIOPSを取得するように MySQLを修正 トランザクション実行比率 実験ID: RES.clst.wi.W16.B*M.trn6.auto4

各表、索引におけるIOPS order表の変化が顕著 :充填率低下によるIO増加 Buffer cache 4MB 8MB 16MB [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 各表、索引におけるIOPS order表の変化が顕著 :充填率低下によるIO増加 Buffer cache 4MB 8MB 16MB 32MB 64MB 96MB

考察 充填率低下によるOrder表アクセスのIOPS増加を確認 構造劣化によるOLTP性能低下 [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 考察 充填率低下によるOrder表アクセスのIOPS増加を確認 バッファキャッシュが小さいときのみIOPS増加を観測 バッファキャッシュが十分大きいときは、New-OrderでinsertされたデータがDeliveryでアクセスされるまでキャッシュから追い出されないため、IOが増えないと思われる 鍵値に対してシーケンシャルアクセス 一連のトランザクションがクラスタ鍵順にデータを挿入、参照、更新 構造劣化によるOLTP性能低下 1トランザクションだけ見ていてもアクセスするデータが少ないケースがほとんどであるため、構造劣化とは関係ないように当初は思われた クラスタ化度低下は起きているが、OLTP性能低下への影響は観測されず 一連のトランザクションがデータ配置と特定の相関を持つとき、構造劣化に起因する性能低下がトランザクション処理においても観測される 特定領域の充填率低下  特定領域にトランザクションが集中 バッファキャッシュが少ない場合、IO増加によりトランザクションあたりのレスポンスタイム増加

B+TreeのPage split における 充填率調整 [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 B+TreeのPage split における 充填率調整 従来(InnoDB)の戦略 検知: ページ内で最大鍵値レコードが連続して起きている場合、シーケンシャルインサートだと判断 戦略: split時にシーケンシャルインサートと見なせるときは15/16:1/16で分割 データロード時に有効 問題点 複合鍵のクラスタ表においては、B+Treeの途中においてもシーケンシャルインサートが起き得る 現在のMySQL InnoDBではそれを検知できずに、通常の1/2:1/2分割を実行してしまう insert 目標充填率94% 目標充填率50%

B+TreeのPage split における 充填率調整 –cont. [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 B+TreeのPage split における 充填率調整 –cont. シーケンシャルインサート中のレコードよりも大きい鍵値を持つレコード集合 シーケンシャルインサート中のレコードよりも小さい鍵値を持つレコード集合 insert 対処法 検知: ページに対して、最後に挿入された鍵値を保持し、次の挿入がページ内で連続した鍵値のレコードだったら、シーケンシャルアクセスであると判断 戦略: split時にシーケンシャルアクセスを検知した場合、挿入行よりも鍵値が大きいレコードは新ページに分配し、そのようなレコードがない場合は任意の充填率で分配 利点 目標充填率をアクセスパタンによって変更することで充填率低下を抑制可能 expected next insert insert

今後の予定 アクセスパタンと構造変化との定量的な関係を評価 アクセスパタンのモデル化と、その観測手法の確立 [20070228-hoshino] DEWS2007 E2-7 データベース構造劣化によるOLTP性能低下に関する一考察 今後の予定 アクセスパタンと構造変化との定量的な関係を評価 シーケンシャルアクセス比率と構造変化量の関係 データ増加量と構造変化量の関係 アクセスパタンのモデル化と、その観測手法の確立 充填率調整手法におけるトレードオフの考察、評価 データ更新(insert, delete, update)時のオーバーヘッド 構造劣化の抑制効果 再編成戦略も含めてどのような戦略が良いかを検討