データベースのパフォーマンス問題の傾向とチューニング
ディスクI/Oのチューニングにはソフトウエアの力を活用
今回ご紹介するディスクI/Oのチューニング方法は、Oracle Databaseが備える機能のひとつであるAutomatic Storage Management(以下、ASM)を活用したストレージ管理です。ASMについてご存じでない方もいるかもしれませんので、その登場の背景から簡単にお話ししたいと思います。
ディスクI/Oのボトルネック解消で、有効な解決策のひとつが、ディスクの本数を増やすことです。従来行われていたのは、Oracle Databaseのデータごとにアクセス特性などを考えながら、ディスクに分散配置していくという設計でした。ただし、この方法には次の2つの課題があります。
(1)大容量化したディスクに分散配置することの非効率性(ディスク使用量に偏りが生じる)
(2)事前にアクセス特性を予測することの難しさ
こうした課題を解決するために、Oracleが提唱しているのがS.A.M.E.(Stripe And Mirror Everything)というストレージ設計の概念です。この概念は、「すべてのディスクにデータを均等に分散配置し、かつミラーリングも行うことで、効率性・パフォーマンス・可用性を最適化する」というものです。ただ、このS.A.M.E.にも課題があり、ディスクを追加した場合には、全データを再度分散配置する必要があります。この課題をさらに克服したのがASMです。
ディスクの動的追加とデータの自動再配置が可能に
ASM(Automatic Storage Management)は、Oracle Databaseに対してボリューム・マネージャ兼ファイルシステムとして機能します(図2-1)。そして、高性能ストレージと同様のストライピング・ミラーリング機能によってS.A.M.E.の概念を実現すると同時に、独自の自動リバランス(データの再配置)機能によって、Oracle Databaseを稼働させた状態で、ディスクを追加し、さらに自動的にデータの分散配置を行うことができます。
このASMを利用することで、ディスクの管理を大幅に簡素化することができると同時に、ディスクI/Oのボトルネック解消で有効な“ディスク本数の増加”という施策を容易に打つことができるようになります。ASMはさまざまなストレージ機種で利用可能なので、さらにディスクI/Oが必要になれば、ストレージを追加することで対応が可能です。
■ASMを活用するメリット
(1)ストレージの構築・管理工数を削減
ディスク設計が非常にシンプルになることに加え、オンラインでのディスク追加・自動リバランスが可能なことから運用管理についても工数を削減できます。
(2)ストレージコストの削減
ASMと安価なストレージを組み合わせることで、高性能ストレージと同レベルの効率性・パフォーマンス・可用性を実現できます(図2-2)。
■ASMを活用されているお客さまの声
ASMは「Oracle Database 10g」から搭載された機能ですが、全世界では、数多くのデータベースで採用されています。日本でも、先にお話ししたような管理工数の削減、コスト削減のメリットのために採用されるケースが増えています。
楽天トラベルでは、「従来であれば、データベースにかかるI/O負荷をデータベース管理者が常に管理し、チューニングする必要がありましたが、ストレージ管理自動化ツール(ASM)の適用により自動的に負荷分散されるようになったため、管理そのものが不要になりました。これらの取り組みの結果、増強後の約3ヶ月の運用においてデータベースサーバー全体としては、ピーク時でも60%のパフォーマンス改善を確認できました」という効果が出ています。
・楽天トラベル(http://www.oracle.co.jp/showcase/pdf/travel_rakuten.pdf)→パフォーマンス向上と管理工数の削減
・帝京大学医学部附属病院(http://www.oracle.co.jp/showcase/pdf/teikyo-u.pdf)→ストレージコスト削減と管理工数の削減
このASMは、「Oracle Database 10g」以降のすべてのエディションをお使いのOracle Databaseで無償で利用できます。新規システムだけではなく、既存システムからの移行も可能ですので、ぜひご活用ください。
また、詳細は後の連載でお話ししますが、「Oracle Database 11g Release2」のASMでは、データベースに関連するファイルだけではなくシステム全体に存在するファイルを一元的に管理できるようになるなど、大幅な機能拡張が行われ、さらなるコスト削減や管理工数の削減にご活用いただけるようになっています。ご期待ください。
ASMについて理解を深めるには、以下の資料もご活用ください。
・自動ストレージ管理技術(ASM)を徹底解説
(http://www.oracle.co.jp/iSeminars/090618_1330/SS03-165_OW09_for_OrD.pdf)
・データベース・システムのストレージコストを5分の1に抑えろ!
(http://www.oracle.co.jp/iSeminars/090902_1100/DirectSeminar_090902.pdf)
・Oracle GRID Center ホワイトペーパー
(http://www.oracle.co.jp/solutions/grid_center/)
日本オラクルとパートナー各社では各種検証を行っており、その結果をホワイトペーパーとして公開しています。各検証の多くでASMを活用したストレージ管理を採用しており、その検証構成をご覧頂くことで、ASMの活用方法をイメージしていただくことができると思います。
今回は、ディスクI/OのチューニングとしてASMを取り上げました。もちろん他にも数多くの方法があります。良く利用される方法としては、索引やパーティション(表を内部的に分割する機能)、データ圧縮等が挙げられます。これらについては、最後に参考資料を載せましたので、ご覧ください。