高いパフォーマンスと導入の容易性が採用の決め手となったOracle Exadataだが、実際の導入に際してはいくつかの壁を乗り越える必要があった。負荷試験や実現性検証などを通して見えたOracle Exadataの処理性能面の特性について、河合氏は次のように語る。
「Oracle Exadataは納入された状態のままでも高いパフォーマンスを発揮しますが、当社の実機検証を通じて把握した製品固有の挙動や仕様を正しく理解し、システムの業務モデルに最適化することで、その能力を最大限に活用できるようになります」
同社が行った工夫の1つが、ディスクI/Oによるスループット低下への対応だ。Oracle Exadataは、Storage Server側のFlash Cacheにヒットするアクセスでは高い性能を発揮するが、キャッシュ容量には限りがある。特にデータウェアハウス(DWH)系の処理要求がキャッシュを占拠してしまうと、オンライン系やバッチ系の処理に悪影響が生じかねない。また、Storage Server側でディスク破損検知などのメンテナンス処理を行っている間はディスクビジー率が高止まりし、安定した性能が得られない。
そこで、NTTデータはFlash Cacheの有効活用に向けてWrite Back設定などのチューニングを行い、ディスクビジー率が100%になってもOLTP性能に悪影響が及ばないようにした。具体的には、レスポンス要件に応じてキャッシュを活用したり、容量削減を行ったりしている。
「Oracle Exadataには、パフォーマンスを高めるためのさまざまな新機能が導入されていますが、それらにさらに手を加えることで、最大の効果を安定して得ることができます。例えば、系間通信を高速化するInfiniBandについては、どの程度の通信量までなら安定した性能が出るかを見切った上で、それを超える場合はキャッシュフュージョンを発生させないよう処理方式を工夫しました。また、SQLのI/Oやデータ転送を最適化するSmart Scan、Storage Index機能なども同様に、物理ブロック内にどのようなデータ分布で格納され、どのようなアクセス条件であれば有効に活用できるかを正しく把握し、場合によっては業務処理側にチューニングを施すことで、Oracle Exadataの能力を最大限に引き出したのです」(河合氏)
もう1つ、河合氏が挙げた工夫が、可用性に関する要件の充足である。故障検知とサーバ停止時間を短縮化するために、故障監視機能と強制停止機能を作り込んだ。また、Oracle Exadataのクラスタ製品であるOracle Clusterwareのパラメーターを変更し、再構成の高速化も図っている。
「ミッションクリティカルなシステムでは、異常が発生した際の検知/回復速度(可用性)が重要となりますが、Oracle Clusterwareの標準設定では、要件の1.2〜1.3倍の時間が掛かってしまうことが分かりました。そこで、これまでの開発経験も生かしてOracle Clusterwareのチューニングや故障検知を高速化する機能の作り込みなど、さまざまな工夫を凝らした結果、要件の3割以内の時間で完了する仕組みを確立できました」(河合氏)
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本オラクル株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2016年11月19日
驚異的なパフォーマンス、優れた運用効率、最高の可用性とセキュリティ、クラウド対応を実現するOracle Exadataとの統合、クラウド、可用性や運用管理など、次世代データベース基盤構築のために参考になる必見資料をまとめてご紹介いたします。