Oracle Databaseを例に見るデータベース高速化のポイントとスナップショットを例に探る運用改善のヒント:データベース高速化のいま(3)(2/3 ページ)
今回は、2015年9月11日に開催した@IT編集部主催セミナー「DB高速化道場」から、Oracle Databaseの性能改善を題材にした二つのセッションをリポートする。データベースパフォーマンス改善のトピックではあるが、運用改善にも効果が期待できる内容だ。
Oracle Databaseのスペシャリスト集団による性能改善の実例
同セッションでは杉山氏に続いてキヤノンITソリューションズ 基盤・セキュリティソリューション事業本部 IT保守サービス部 オラクルDBサービス部 城内大輔氏が登壇、「DB診断サービスのご紹介」と題して、同社が提供する「DB診断サービス」を使ったOracle Database高速化ソリューションを紹介した。
同社は日本オラクルSpecialization認定パートナーとして、1994年からオラクル製品サポートサービスを提供している。そこで培ったノウハウを反映させたのが、Oracle Database環境の稼働状況を診断して、問題点を切り出してその解決策を提案する「DB診断サービス」だという。
具体的には、Oracle Database標準の機能であるSTATSPACK(Statistics Package)を利用することで、稼働状況の統計データのスナップショットを時間単位で取得し、詳細を分析するものだ。
これにより、CPUで処理を行う「サービス時間」や応答待ちでプロセスを持ち続ける「待機時間」を分析し、問題点を洗い出す。問題点は、ストレージI/O待ちが原因の場合もあれば、「WHERE句の中で“!=”や“IS NOT NULL”が多用されており、そのたびに全表操作処理が走る」というSQL側が原因の場合もある。講演で示された事例の一つでは、パッケージ製品のSQL実装に問題があったため、SQLの修正ではなくバッファーキャッシュを利用して改善したという。ストレージI/Oだけでなく、データベースの処理を理解した上で全体の挙動から最適な改善策を検討していることが分かる。
Oracle Databaseユーザーであれば、STATSPACKでデータを取得できることは知っていると思うが、日常のデータベース運用ワークフローと並行して統計情報を分析し、ボトルネック発見に至る調査を実施するのは手間が掛かる作業だ。この部分を外注化することで、より効率よくデータベースシステムの改善策を練ることができるという。
なお、データベースパフォーマンスの改善策が決定している場合でも、改善策実施後の成果検証を目的として「DB診断サービス」を利用する企業もあるとのことだった。
「データベースの問題点を解決するには、現状を正確に把握することが重要。弊社のDB診断サービスは、さまざまなOracle Database環境の状況をいろんな切り口から解析し、その問題点を切り分けて解決策を提案してきた実績がある。ぜひOracle Databaseのパフォーマンスに課題をお持ちの企業にご活用いただきたい」(城内氏)
Copyright © ITmedia, Inc. All Rights Reserved.