2012年8月13日月曜日

MySQL EE + WSFCってどうなんだろう(価格だけ)

別にこの記事の件でお金貰っているわけではないですが(そもそも貰えない)、日本オラクルとパートナ関係にある会社に勤めてる人間が書いているので、中立かと言うと疑問も残るので、その辺あしからず。

MySQLの高可用性オプションとしてクラスタソフトによるHA構成はよくある話で、RHEL+LifeKeeper(もしくはClusterProなど)+MySQL Standard Editionといった構成は良く聞きます。しかし、最近MySQL Enterprise EditionならWindows Server Failover Clusterがサポートされるって話を知りました。
MySQL Enterprise High Availability http://www-jp.mysql.com/products/enterprise/high_availability.html
だったら、MySQLのエディションをSEからEEにすることによる費用増加がクラスタソフトの値段を超えなければ得なんじゃないかと言う疑問が出てきたので、ちょこっと計算してみたいと思います。

IAサーバ2ソケット2台の構成で概算します。値段は2台分、ライセンス費用は初期費用に、年間サブスクリプション&保守は年間コストにつけています。RHELは3年サブスクリプションがありますがここでは無視して単年サブスクリプションで計算しています。あと定価です(ここ重要)。
 
MySQL SE+LifeKeeperの場合

No 製品 初期費用 年間コスト
1 Red Hat Enterprise Linux Server Standard(最大仮想化ゲスト数:1)
203,280
2 LifeKeeper for Linux & MySQL ARK 1,216,000 304,000
3 My SQL SE
434,782

合計 1,216,000 942,062
 
MySQL EE+WSFCの場合

No 製品 初期費用 年間コスト
1 Windows Server 2008 Enterprise 日本語版(25 CAL付) 1,440,000
2 My SQL EE
1,086,958

合計 1,440,000 1,086,958

というわけで、結論は安くなりませんでした
  • WSFCはWindows ServerのEnterpriseでしか使えないのが結構利いている気もします。
  • RHELでStandardを選んでいることに根拠はないです。Premiumを選ぶと、年間コスト+14万で、前者・後者の年間コストはほぼトントンになります。
  • 初期+20万&年間15万でMySQLをSEからEEに替えられるなら安いと見る向きもあるかもしれません。(個人的にはお客様を納得させるには苦しい言い訳のような気がしますが)
  • あとWindowsに縛られるのが嫌だと言うお客さんだと、そもそも後者は選択肢にないですね。
  • 加えて、ここでは考慮してませんがユーザ数が増えた場合にWindows ServerのCALをどうするかという話が残っています。
  • そもそもでいえば、前者は実績が比較的豊富で安心感があるっていうのも事実かもしれません。
  • 後者を薦める場合は、Windowsによる管理のし易さを何処まで訴求できるかかなぁ。(確かにSQL Server+WSFCは簡単だからなぁ)
何回も言いますが、これらの価格は値段です。製品によっては仕切率が数十%という製品やボリュームライセンスなどあるので、購入する際は必ずベンダーさんから正式な見積を取って判断してください。このページはMySQL EE+WSFCなんてあるんだ程度に捉えてください。
(個人的には定価と実売値の二重価格は何とかならんもんかと思いますが、代理店経由販売とかベンダ間の情報戦などがあり解決はされないのでしょう。)

でも、技術者としてはMySQL + WSFCは一度は組んでみたいなぁ。

最後に今回の価格の情報源は以下です。










2012年8月4日土曜日

ZFS Storage Appliance SimulatorでOracle11gのハイブリッド列圧縮は使えるか?

【前回】は下調べせずに撃沈したが、今回は【こちら】で事前に可能だという情報を得た上でのトライ。
結果としては、以下の通りOK。

SQL> CREATE TABLE sales_qh COMPRESS FOR QUERY HIGH AS SELECT * FROM sh.sales WHERE 1 = 0;

表が作成されました。

経過: 00:00:00.82
SQL> INSERT /* APPEND */ INTO sales_qh SELECT * FROM sh.sales;

918843行が作成されました。

経過: 00:00:12.90
SQL> SELECT compression, compress_for FROM user_tables WHERE table_name = 'SALES_QH';

COMPRESS COMPRESS_FOR
-------- ------------
ENABLED  QUERY HIGH

経過: 00:00:00.05
SQL> SELECT segment_name, sum(bytes) / 1024 / 1024 mb FROM dba_extents
2 WHERE segment_name IN ('SALES', 'SALES_QH')
3 GROUP BY segment_name;

SEGMENT_NAME         MB
--------------- -------
SALES               128
SALES_QH             32

経過: 00:00:46.97
SQL>
圧縮率に関しては、データが少なすぎてあまりHCCの効果が。。。
構築の注意点・問題点をいくつか。
  • Solaris x86-64 Oracle11.2.0.3、ZSA Simulator共にメモリ1GBで動作可能。ただし、DBインストール&作成時や後に述べるパッチ適用時は一時的に2GBに増強することが好ましい。(今回は1GBでパッチ適用してしまいスワップストリームに嵌ることにorz)
  •  ZSA Simulator上のフォルダにno_root_squash設定したかったんだけど、設定箇所が見つからずchownできなかった(単に調査不足)。そのためフォルダ作成時にユーザ、グループにoracleユーザのuid、dbaグループのgidを指定して回避。
  • DBサーバ上のmountオプションは以下。このストレージはnointrなのね。あと、なぜ未だにバージョン3しばり?
rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,vers=3,actimeo=0
  •  11.2.0.3.0でZSAをNFSマウントしてHCC使う場合は、DBソフトにパッチが必要(サポート情報なので詳細はMOSを検索してください)。おそらくPillarをASMグリッドディスクに使う場合は同じパッチをGrid Infrastructureに適用することになると思う。11.2.0.3.1ならパッチは要らないと思う。
  • DirectNFSの設定必要。とはいっても、Oracle停止&NFSアンマウント状態で以下を実行するだけですが。
$ cd $ORACLE_HOME/lib
$ mv libodm11.so libodm11.so_orig
$ ln -s libnfsodm11.so libodm11.so
HCCには関係ないけど、ZSAの管理画面はWebブラウザでリアルタイムでCPU使用率やネットワーク利用状況が表示されて面白い。あのアプリがどんなライブラリを使っているか興味あるなぁ。