Oracle Autonomous Databaseの自動チューニング vs 人間による性能チューニング。どちらが高性能をたたき出せるか実際に比べてみた[PR]
オラクルが提供する「Oracle Autonomous Database」は、その運用がすべて自動化された自律型データベースです。パッチの適用やバックアップなどの運用業務だけでなく、機械学習によって高度なチューニングまで自動化されています。
しかし自動化によるチューニングはどこまで使えるものなのでしょうか。「コンセプトは賛成で、面白いねと。ただ実際に使うとなると話は違います。私は慎重派でした」と話すのは、Oracle Databaseの技術サポートやコンサルティングを得意とするシステムインテグレータとして知られる株式会社アシスト データベース技術本部 課長の関俊洋氏。
「自動で勝手にいじられると困るね、とか、ブラックボックスになってコントロールできないんじゃないかとか、心配する声もありますし」という関氏の言葉は、多くのエンジニアの見方を代表しているといえるでしょう。
自動チューニング機能がどこまで使えるのか検証
そこで関氏は日本オラクルの協力を得て、自律型データベースサービスを提供するOracle Cloud上の「Oracle Autonomous Data Warehouse Cloud Service」(以下ADWC)による自動チューニングと、オンプレミスの「Oracle Exadata Database Machine X5-2」をエンジニアがチューニングした結果を実際に比較。自動チューニング機能が実際のところどこまで使い物になるのかを検証しました。
「(自動チューニングは)なんとなく不安という声も多い。じゃあ実際に試してみて数字を出してみないと、というのが今回の調査の趣旨でした」(関氏)
比較条件として、ADWCとExadataのどちらも8コアCPUに設定。データベースのパラメータもすべて同じにし、1テラバイトのデータをロードしています。
この環境で、若手、中堅、ベテランの3人のエンジニアがExadataをそれぞれチューニング。ADWCによる自動チューニングとの性能比較のためSQLの書き換えはなしで、パラメータなどの設定によるチューニングのみとしました。
第三者による自動チューニングの評価は国内で初めてです。その結果を見ていきましょう。
若手エンジニアのチューニングvs全自動データベース
まず若手DBエンジニアが3日かけてチューニングしたオンプレミスのExadataとADWCとの性能比較。それぞれ13本のSQLを走らせた結果、ADWCの方が圧倒的に速いSQL文があるなど、トータルではADWCの方が速いという結果になりました。
「物理サーバのなかでも高速なExadataと比較してもクラウドの方が速かったというのは、けっこう衝撃的でした」(関氏)
「ADWCのチューニングの手間は本当にゼロです。これほど手軽ですぐに高い性能を実現できるところは高評価ですね」(関氏)
ベテランエンジニアのチューニングvs全自動データベース
若手エンジニアのチューニングではADWCに軍配があがりましたが、ベテランエンジニアとの比較ではどうでしょうか。
今度はベテランエンジニアがExadataに対してさらに深いチューニングを2~3週間かけて行った結果をADWCと比較してみたところ、オンプレミスのExadataがADWCを上回るという結果を得ることができました。
ADWCの自動チューニングの能力は、現時点で若手エンジニアよりも優れているが、ベテランエンジニアによる徹底的な作業には及ばない、というあたりにあるようです。
「ただ、現実にこうしたチューニングの作業をするのはだいたい性能が出ないといった問題が起きたときで、スポット対応になるケースが多い。一方でADWCによる自動チューニングは、(データの増加やスキーマの変更などデータベースの変化に対して)継続的に行われて性能を出せるのが強みだと思います」(関氏)
SQLの実行途中でも無停止でスケールアップが効く
関氏は自動チューニング以外にも、ADWCのスケーラビリティや運用についても調査しています。以下ではそれについても触れておきましょう。
ADWCの大きな特徴のひとつが、スケールアップやスケールダウンが無停止でできることだとされています。これが実際にどのように機能するかについても検証を行いました。
検証の結果、完全に無停止でCPUとメモリだけでなくI/O性能についても向上していくことが確認されました。しかも、実行中のSQLがあったとすると、その実行中でも性能向上が反映されます。
「他のクラウドではスケールアップ時に停止したり瞬断するものがありますが、ADWCは完全に無停止です。これができるのはオラクルぐらいではないかと思っています」と関氏。
そして、いまは手動でスケールアップしている操作も、いずれデータベースへの負荷や処理時間に応じて性能向上も全自動になるのではないかと関氏は予想しています。
オラクルでできる最高レベルのバックアップの仕組み
データベースのシステムを構築するうえで、適切なバックアップの設計と運用、そしてそれに対応したストレージやバックアップデイバイスの調達などは、実は手間と時間のかかる難しいものです。
この点で、ADWCは「バックアップをとるのか、とるとしたら日次か週次かとか、そうした設計をする必要はありません。最初からオラクルでできる最高レベルのバックアップの仕組みが入っていると思います」と関氏は高く評価。
デフォルトで週次フルバックアップ、日次差分バックアップが行われ、それにすぐにデータベースの状態を巻き戻せるFlashbackが設定されています。
トラブル時の対応は
データベースになにか問題が発生した場合、これまではシステムインテグレータなどがログなどを分析し、問題を切り分けたうえでオラクルに調査を依頼することで問題解決をはかるのが一般的な方法でした。
しかしクラウドサービスとしてのADWCでは、そうしたログが見えないように設計されています。基本的に問題解決はオラクルへのサポートリクエストを起点とし、オラクルに依存することになります。
「ADWCはすべての顧客でバージョンもハードも同じはずなので、迅速な問題解決ができると期待しています。今回の検証でも問い合わせは発生しましたが、レスポンスは早かったですね」(関氏)
自動チューニングは将来的に100点に近づいていく
検証結果をまとめましょう。ADWCの検証結果として、関氏は80点から90点の性能を手間なくすぐに得られることが最大の強みだと評します。
さらに他社のデータウェアハウスでは、一定のルールに沿ったスキーマにしなければ高い性能を得にくいケースがあると指摘したうえで、オラクルのADWCはそうした制約はなく、そのままのスキーマで高い性能を発揮できる点も優れているとしました。
さらにこの自律的なパフォーマンスチューニングは、今後も機械学習の精度向上などによって将来的には限りなく100点に近づくことが期待されます。
関氏は、「あとは日本リージョンがあればなおよいですよね」と国内リージョンへの期待を示しつつも、「ADWCの課金は無償枠を全部使いきってもそれ以上の請求はこないため、安心して無償枠でテストができる」とし「北米リージョンでもテストは十分ですから、ぜひご自身で評価されることをおすすめします」と発言。
「ふつうに業務を回せて、手離れしやすいデータベースであれば、間違いなくこのADWCで実現できるでしょう」と、評価をまとめました。
注:本記事はADWCの先行環境を用いて行ったものです。正式版における正確性を保証するものではありません。
(本記事は日本オラクル提供のタイアップ記事です)
あわせて読みたい
マイクロソフトがGitHub買収/Linuxバイナリを最適化して性能向上/「WebDriver」がW3Cの勧告に/GitHubの次期CEOだけど質問ある? ほか。2018年6月の人気記事
≪前の記事
インテルからGoogleに転職したダイアン・ブライアント氏、早くもGoogleを退職との報道。インテルの新CEOに就任か?