NEC、クラスタ型データベースを対象とした性能予測手法を開発
クラスタ型データベースを対象とした性能予測手法を開発
~大規模システムの性能問題の発生を事前に防止~
NECはこのたび、代表的なクラスタ型データベースである「Oracle Real Application Clusters」(注1)を対象とした性能予測手法を開発しました。
このたびの開発は、クラスタ型データベースシステムの処理効率低下の主な要因であるサーバ間のデータコピー量(注2)を理論的に見積もることにより、従来は複数のサーバを用いたデータベースシステムの構築後にしか行えなかった定量的な性能評価を、システム構築前の設計段階で実現可能にします。
このたび開発した性能予測手法の主な特長は以下の通りです。
(1) クラスタ型データベースシステム内でのデータコピー発生を見積るための解析モデルを新たに開発。この解析モデルを用いることで、クラスタ型データベースシステムの性能向上を妨げる主要因となるサーバ間のデータコピー発生量を理論的・解析的に把握できます。
(2) 上記解析モデルは、確率的に振る舞いの変わるデータ参照・更新に対応しています。データベースの動作は、ユーザが発行するSQL(注3)によって指定される検索条件・更新条件により確率的に変化すると考えられており、SQLを発行するアプリケーションの特徴を分析して確率的な特徴を規定するパラメータを抽出することで、複数のサーバを用いたシステム全体の性能予測が可能になります。
(3) 詳細なシステム構成が決定する前の設計フェーズで解析モデルを適用するための手法を整備。システム構築の初期段階で理論的な性能を予測し、システム性能設計及び性能要件定義を支援できます。
近年の基幹業務システムは、ウェブ層、アプリケーション層、データベース層からなる三層アーキテクチャをとることが一般的になりつつあります。多くの場合、最も負荷が高くなるのはデータベース層なので、システム全体の性能はデータベース層の性能に強く依存します。データベースの性能不足に起因する性能問題は、機能問題を解消するよりも困難なことが多い上に、設計、開発、運用とシステム開発工程が進むにつれて問題解決に必要となるコストが大きくなります。こうしたコストを低減するためには、設計フェーズを含むシステム構築前の上流工程でデータベース層の性能設計を行い、性能問題の発生を早期に防止する必要があります。しかし、従来は、こうしたクラスタ型データベースの性能は熟練したエンジニアによって経験的に見積もられており、精度は一部のエンジニアのスキルに依存していたため、性能要件の客観的根拠にはできませんでした。そのため、多くのエンジニアが実施できるように手順化された、理論的な性能設計技術の開発が求められていました。
このたび開発した性能予測手法は、こうしたニーズに応え、理論的な評価に基づくデータベースの性能予測を可能にするものです。本手法を用いて、実験環境下で様々な検索条件と更新条件とでデータベースに対する操作を実行したところ、データコピー量の予測誤差が10%以下になることを確認し、その有効性を実証しました(注4)。
NECでは、本成果が大規模システム開発における性能要件定義・性能目標設定の効率化と性能問題の発生防止に貢献すると考え、今後も研究開発を強化していきます。
以上
(注1) Oracle Real Application Clusters:複数台のサーバで構成されたクラスタシステムを、あたかも一台のデータベースサーバとして動作させるためのOracle社のテクノロジ(製品)。システムの高可用性と、スケーラビリティを両立することができる。
(注2) クラスタ型データベースでは、システム全体でデータの一貫性を保証するために、あるサーバ上で更新されたデータを他のサーバ上の同一データに対して更新結果を反映するためにデータコピーが必要となる。
(注3) データベースの操作と定義を行うための言語。Structured Query Languageの略。
(注4) 「Oracle Real Application Clusters 10g」を4ノードのクラスタ上で実行し、単一のテーブルに対してselect/updateを発行した場合の評価結果。
<本件に関するお客様からのお問い合わせ先>
NEC 研究企画部 企画戦略グループ
http://www.sw.nec.co.jp/contact/