Oracle Clusterwareは日本企業の中で本当に使いものになるのか。
MySQL冗長化の決定版!“Oracle Clusterware + MySQL”検証レポートのダウンロードはこちら
廣濱 今回、MySQLでOracle Clusterware(以下、Clusterware)を検証しました。その結果をホワイトペーパーとしてまとめまして、ようやく公開にこぎ着けたところです。
梶山 すばらしい。お疲れさまでした。ところで検証やドキュメント公開をしようと思ったのはなぜですか?
廣濱 これまでMySQLで高可用性を実現しようとしたとき、手軽にやるならレプリケーション、データ量が少なく軽いトランザクションが大量に発行されるシステムにはMySQL Clusterがありました。しかし、その中間の決定打がなく、各種ベンダーのツールを組み合わせて提案してきました。そうした中、ClusterwareがMySQLに正式対応したと聞きました。
梶山 2014年8月からです。
廣濱 それなら今後お客様に提案することもあるだろうから、検証しようと考えました。分からないものを提案することはできませんから。実際試す前は「本当に使えるのか」と疑問でした。
梶山 検証結果を公開することで、SCSKがノウハウを持っていると分かりますからね。安心して任せられそうです。
廣濱 クラスタ製品で一定期間後のサポート料金を値上げする製品もあるので、お客様にとってはClusterwareでコストメリットが生じるケースもあります。私たちとしてはMySQLのEnterprise Editionを提案するいい理由付けにもできます。「ただし」です。製品として選択肢の1つとなりましたが、本当に使えるかどうかが定かではありませんでした。事例もまだありませんしね。
梶山 まだ正式対応から1年なので、これからですね。日本国内ですと事例として出せるものはありませんが、引き合いはありますよ。
検証してみてわかったこと――「普通に動く」がとっても大事
廣濱 Clusterwareってね、MySQLしか知らない人にはとっかかりがつかみにくいんですよ。
梶山 と、いいますと?
廣濱 マニュアルは日本語化されており、Clusterwareの要件は記載されていますが、ClusterwareはもとはOracle DatabaseでRACを使うためのツールです。どこからMySQLにつながるかわかりにくいのです。たとえばMySQLしか知らない人が「グリッドインフラストラクチャ」と言われても……。うちはOracle Database、Oracle ExadataのプロフェッショナルがいるのでOKですが。
梶山 ああ、オラクル用語に戸惑うと。
廣濱 ええ。ClusterwareはOracle RACで使われており、安定性は間違いないと想像できます。しかし実際に検証して、今後の提案の裏付けとしたいと思いました。想定しているのはMySQLでInnoDBを使い、高可用性を求めるときです。この条件で標準的な構成を確認したいと思いました。
梶山 確かに、InnoDBを使い続けられるかどうかは重要ですね。MySQL Clusterだと高可用性は抜群ですが、エンジンが異なりますからアプリケーションなどに変更が必要となります。
廣濱 ありそうなケースとしては、MySQLでInnoDBを使い、シングル(1台)で運用していたところ、「そろそろ高可用性がほしいね」となったときです。MySQL Clusterだとアプリに修正を加えなくてはなりません。実際、最近あったんですよ。アメリカではレプリケーションを用いていたけど、日本展開しようとしたところ「データロストは困る」ということでレプリケーションが使えず。しかし落ちてもいけなくて、高可用性もほしいと。
梶山 ほかでもあります。当初はコミュニティ版のMySQLで運用開始したけど、高可用性が求められることになった。しかしOracle Databaseに移行するよりはコスト的にも移行作業的にもそのままMySQLを使いたいというケースです。
廣濱 ニーズはあると思うんですよね。それで検証しようと。
梶山:それで、結果はどうでしたか?
廣濱 想定通り動くことが確認できました。
梶山 困ったこととかは? 問題が起きたときの解決方法とか、知りたい情報にはたどり着きやすかったですか?
廣濱 そこなんですが、技術情報が一元化されていなくて。日本語マニュアルはあるのですが、どこから手を付けたらいいのか分からなくて。初めてMySQLでOracle Clusterwareをやろうとしたら、他の人もきっと戸惑うと思うのです。先述した通り、これがホワイトペーパーを作ろうとした動機でもあります。
梶山 確かにドキュメントはこれから整備が必要なものもあります。そこはぜひ要望を出していただければ。日本からの要望は通るようになってきていますので。ただ、概して問題はなかったのですね。
廣濱 「普通に動くね」という最低限の確証は持てました。クラスタソフトは概して目立つ機能を持たず、基本機能が問題なく動くことが大事です。
梶山 それはそれで使う側にはメリットですよね。
廣濱 そうですね。ただアピールするのが難しいです。「これまでできなかったことがこの機能を使ったらできるようになりました」とかはないので。
梶山 今さらですけど、どういう構成で検証しましたか?
廣濱 今回は、Oracle VMの仮想環境2台、ファイルシステムはACFSで検証しました。ACFSは、Oracle Grid Infrastructureのインストール時に併せてインストールされるので導入しやすいですし、オラクル社のサポート対象になるので便利です。ところで、ファイルシステムもMySQLしか経験がないと戸惑うポイントだと思います。一般的にClusterwareを使うときってファイルシステムは何を使うのですか?
梶山 OCFS2みたいですね。われわれの出しているアーキテクチャの図でもOCFS2が多いです。OVMのテンプレート使った構成だと、OCFS2になるからかと思います。
廣濱 やったことの詳細はホワイトペーパーにまとめたので、ぜひじっくり読んでもらいたいです。
MySQLで高可用性を検討中なら、Oracle Clusterwareを選択してみませんか?
MySQL冗長化の決定版!“Oracle Clusterware + MySQL”検証レポートのダウンロードはこちら
梶山 今回、ホワイトペーパーの読者はどのような人を想定していますか?
廣濱 今MySQLでInnoDBを使っていて高可用性の手段を模索している人たちです。「高可用性=クラスタ」としてMySQL Clusterに目を付けても、MySQL ClusterはMySQLとは特性が違うので「ほしいのはこれじゃない」となったり。情報源もいまはまだ限られているので、これが高可用性検討の資料になればと思ってます。
梶山 技術情報は整備途中ではありますが、MySQLもClusterwareも同じオラクル社の製品なので、複数ベンダーのサポートに問い合わせるよりは楽ではないかと。
廣濱 そうですね。それに、そもそもまだClusterwareがMySQL対応していると気づいていない人もいますので、存在に気づいてもらうのも大事かと。ところで、海外ではMySQLとClusterwareの導入状況ってどうですか?
梶山 海外だとすでに導入を終えたところがいくつかあります。
廣濱 どんな背景で導入されているのでしょう?
梶山 やはり高可用性を求めつつも「レプリケーションでは困る」ケースです。自動フェイルオーバーができる、MySQL Clusterの複雑さを避ける、InnoDBをそのまま使えるなどがメリットとして認識されています。
廣濱 当然ですけど、お客様はMySQLのEnterprise Editionをご購入なさっているんですよね。Clusterware導入前の環境はどういう構成が多いんですか?
梶山 他社製品を組み合わせていたケースが多いです。それでサポートで苦労していたり、ベンダー間の狭間に落ちてしまったり。しかし決定打がなくて……というところにClusterwareならオラクル製品でまとめられてサポート的にも安心というパターンです。
廣濱 なるほど。
梶山 業種、業態、規模感関係なくニーズがあります。「データロストしてもいいからレプリケーションで」と許容できるのは本当にごく一部ですから。
廣濱 あとClusterwareを使うメリットというのはMySQLのエンジニアではなく、Oracle Databaseに慣れたエンジニアにもあると思います。Oracle Databaseとツールが同じなので、とっつきやすい。
梶山 ノウハウがそのままいかせます。Oracle RACをお使いならClusterwareはご存じでしょうし、管理ツールはOracle Enterprise Managerがそのまま使えますし。
廣濱 このClusterwareに限らず、最近Oracle製品が続々MySQL対応していますよね。
梶山 そうなんです。Clusterware、Oracle Enterprise Manager、ほかにもセキュリティで使うOracle Audit Vault and Database Firewallもそうです。これはOracle DatabaseとMySQL、両製品併用している環境が多いからなのです。運用管理の効率化が進んでいます。
廣濱 Clusterwareは、他のオラクル製品との統合も可能ですからね。そういった二次的なメリットもありつつ、MySQLの高可用性を実現する上での選択肢が増えることは喜ばしいことです。システムによってはMySQLではなくOracle Databaseが向いていたり、ClusterwareではなくMySQL Clusterやmysqlfailoverが向いているケースがありますので、我々は適した方をご提案します。導入後にお客様が不幸になる構成にはしません。今回公開したホワイトペーパーはMySQLで高可用性を考えるときの参考にしていただければと思います。
***
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。