クラウドDWH性能最適化事例

Cloud DWH Performance Opt.

データベース層でのスキャン量最適化のみによってディスクI/O負荷を低減させ、システムの高速化と安定稼働を実現したアプローチをご紹介します。データウェアハウス(DWH)のデータ量が数十TB規模に達すると、データ参照時の物理ディスクスキャンが増加し、ストレージI/Oがボトルネックとなることがあります。

当社では、クラウドデータベースのインフラ知見とDBA技術を融合し、アプリケーションに改修を加えることなく、データベース層でのスキャン量最適化のみによってディスクI/O負荷を低減させ、システムの高速化と安定稼働を支援しました。

クラウドDWH性能最適化事例_画像①
クラウドDWH性能最適化事例_画像①

50TBを超える大規模なデータベース環境において、非効率なデータ検索処理(フルテーブルスキャンなど)が頻発すると、システム運用に以下のような影響を及ぼすことがあります。
  • アプリケーション改修の制約:性能向上のためにクエリ(SQL)ロジックの修正が必要な場合でも、顧客側の事情(予算や工数などの制約)により、システム本体に手を加えることが難しいケース

  • データ量増加による処理速度の低下:大量のデータを参照する際に、必要以上のデータ読み込みが発生し、データベースの処理速度が低下

  • システムの安定性低下:データ処理の負荷が高まることでデータ同期の遅延が発生し、読み取り用サーバーの再起動が繰り返されるなど、システムの安定稼働への影響が発生

当社では、これらの課題に対し、インフラ層からDB内部の設定までを詳細に分析し、アプリケーションに手を加えない形でのデータベースサーバの中だけで完結できる改善を支援しています。

データベースの内部状況を精査し、アプリケーションのコード修正を最小限に抑えつつ、データベース内部の動作設定やクエリの処理経路(実行計画)を論理的に最適化することによりデータベースの応答速度を向上させます。

- 1 -

お客様の運用方針、パラメータ設定値、移行対象データ、バックアップ取得方針等、細かな部分を確認します。

また、オンプレミスおよびAWS環境(Oracle/Aurora)において、性能測定や負荷状況のモニタリングを実施します。インフラ層からアプリケーション層(SQL)までを俯瞰し、問題の真因を調査します。

- 2 -

既存のAmazon Aurora環境において、どの処理がI/OやCPUリソースを過剰に消費しているかを詳細に測定・診断します。

データベースの実行計画を解析し、適切なインデックスが機能せず全件ディスクスキャンを走らせていた処理を特定します。インデックス設計を見直し最適化を行うことで、不必要なディスク読み込みを排除し、ディスクから必要なデータだけを効率的に読み込む形へと改善します。

- 3 -

DWHのワークロードやアクセス傾向に合わせ、データベースエンジンのパラメータを最適化し、メモリ上のキャッシュ領域を再設計します。

一度読み込んだデータをディスクから再ロードさせず、メモリ内で処理を完結させる割合(キャッシュヒット率)を高めることで、物理ディスクからの再読込を抑えてメモリ内で処理が完結する割合を向上させます。

- 4 -

大規模なデータスキャンを効率化するためのAmazon Aurora特有のオプションや機能を検証し、データベース全体のデータ転送処理やバッファ制御の効率の改善を行います。

格納されているデータ自体(物理データレイヤー)に着目し、クエリが走査する物理的な領域そのものを小さくコントロールすることで、スキャンの負荷を削減します。

- 1 -

過去の古いアクセス履歴や不要ログなど、処理を重くしている原因データを安全に整理することで、肥大化したデータ群から「日常的に検索対象となるアクティブなデータ量」自体を減らし、スキャン領域を圧縮します。

- 2 -

将来のデータ増大による性能低下を防ぐため、頻繁に使用される「最新データ」と、使用頻度の低い「過去データ」を物理的に分離する構造を構築します。また、クエリが探索すべき範囲を特定の領域に限定し、不要な走査が発生しない処理設計を導入します。

データベースの性能管理において、データボリュームの増大に伴う「物理I/O」の急増は、最も盲点になりやすいボトルネックの一つです。50TBを超える大規模なDWH環境では、データ量の増加がそのままストレージアクセス負荷へと直結し、各クエリの応答遅延を通じてシステム全体の可用性に影響を及ぼします。

本事例では、データベース診断に基づく複合的なチューニングを施すことでデータベース層での問題解決に成功し、以下のような成果を実現しました。

  • 過剰なI/O負荷の大幅削減: 不要ログの削除やSQLチューニングにより、ディスクへのI/O発生数を約33%低減
  • ストレージ関連費用の低減: ディスクアクセスの低減に伴い、高騰していたI/O従量課金コストを従来の3分の2(月額で約33%削減)へと適正化
  • サーバーリソースの負荷緩和: CPU使用率を従来の約50%から約30%程度に引き下げ、将来的なデータ蓄積に対しても処理能力に余裕のある状態を構築
  • 安定的な運用環境の確保:同期遅延に起因していた読み込み専用インスタンスの異常停止を解決し、安定したデータ分析業務を継続して行えるようになった


データ蓄積が続く環境でシステムの安定的稼働を維持するためには、データ増大が物理ストレージ層に与える影響を事前に予測したアーキテクチャ設計、および運用設計が必要となります。

また、クラウドインフラが持つ柔軟性やコストメリットを最大限に享受するためには、プラットフォームごとの課金体系やミドルウェアの技術仕様を理解した上で、それらに基づいたシステム設計・パラメータ調整を施すことも必要です。

当社は、その解決に向けた詳細なボトルネック特定から実効性のあるチューニングまでを一貫して対応し、お客様のクラウド最適化と安定運用を支援します。

関連するページ