正直RACは羨ましいがクラウド化が進むご時世に本当にOracleが必要な場面ってどれだけ残るのだろう
Oracle Database 11g Release 2 の発表会が本日行われている。残念ながら会場にお伺い
することはできなかったが、日本オラクル公式アカウントや谷川氏のつぶやきから
状況をうかがい知ることはできた。twitterの普及に感謝である。西脇氏のブログでの
新機能解説もわかりやすい。
古巣を離れ、競合側にまわってみると、改めてオラクルの存在感やありがたみに
気づかされることも、現時点においては少なくないのだが、今後数年のクラウド化の
動向如何では、その立場も安泰ではなくなるかもしれない、と勝手ながら思っている。
IBMがDB2のOracle移行チーム設立発表を今日のオラクル新製品発表会にあててきているが、
もはやRDBMS技術においてものすごく革新的な技術が出てくることはあまり期待できず
(よく言えば成熟してきており)、もっというと、RDBMSに対する世の中の要求をすでに
満たしてしまっているようにも見受けられる。
例の「都市伝説」騒ぎで Oracle vs SQL Server という構図がビジネスの現場で起こっているのも、
かつてOracleの聖域だった領域に、SQL Serverが技術面で追いつきつつあり、DB2やSQL Serverの
突き上げに対する焦りからだろうと信じたい。
RDBMS同士の切磋琢磨がサチってきている一方、 RDBMS vs KeyValueなどのクラウドストレージ
という対立軸の方が、新しい技術の誘発・発展によほど貢献するはずだ、と、クラウド推進派の
多くの方は考えているのではなかろうか。対立の結果、どちらかが消えてなくなる、
ということではなく、健全な技術競争の結果、使いどころを見極めるベストプラクティスが
社会的に蓄積されてゆくことが、データベース技術全体の進化にとって非常に有意義と思われる。
その点、AmazonにOracle RAC構成を載せる方式は、開発手法や運用管理スキルの観点からすると、
自前のサーバーに構築するのと大差なく、既存技術を無理のない範囲で組み合わせ、クラウド風味に
仕立てているだけにすぎず、周囲がSunをも吸収したオラクルの底力に期待するクラウドのビジョン
(勝手な思い込み)からすると少々霞んで見えてしまうのは私だけではないだろう。
「ではAzureはどうなんだ?完璧なのか?」といわれると、現時点においては進化の途中であるとしか
答えようがない。正直なところ、Key Valueストアを利用した分散トランザクション実装の
ベストプラクティスに関する議論が未成熟であったり、初期リリースの SQL Azure の仕様や挙動を見るに、
経験則的な上限があるとはいえ「RACのような技術がウチにも欲しい」と思わなくもない。
しかし、希望がもてるのは、すでに製品化されている既存技術でWindows Server 2008 R2 における
Hyper-V 2.0 の Live Migration が利用可能になっていたり、Azureでも使える.NETのキャッシュ技術である
Velocityがロードマップにのっていたり、マイクロソフトリサーチでは、Map Reduce的なアプローチ
だけでなく、DryadやDryad LINQの分散コンピューティング研究が進んでいたりするためである。
これらは、いずれもRDBMSという枠組みを離れ、スケールアウト可能で、可用性が高いクラウド環境を
より洗練されたものに仕上げてゆくために必要な要素技術であり、そのための投資を怠っていない
マイクロソフトも、なかなかやるな、と、中にいながら感心してしまう。
マイクロソフトだけでなく、GoogleやAmazonなどでも開発が進んでいるであろう、これらクラウド要素技術が
世に出てくるであろう数年後、しかも、これらが価格破壊的に安く提供されているであろう数年後、
どうしてもオラクルを使わなければならない、RACを構築しなければならないユースケースは、
どの程度残っているのだろうか。
例えば、月次でしか請求書がお客様に発行されないはずの請求管理のロジックが、裏では無駄に?
リアルタイムで行われている場合など、ビジネス制約を緩和して見直すことで、クラウド技術が
適用できるようになり、コストを大幅に削減できる可能性がある。もちろん、一概には言えないが、
ビジネス制約の多くは「(なぜかはよくわからないが)一貫性を保たないといけない」という
思い込みだったりするケースが多いのではなかろうか。
また、ホスト機のダウンサイジングが、実績のある(伝統的な)RDBMSを用いた実装になっているが、
クラウド上でCOBOL資産を使えるようにする動きなどもあり、大規模バッチ処理など限定的な用途では
きなりクラウドに飛び越えるという選択をとる企業もでてくるだろう。
テクノロジーベンダーの雄たるオラクルには、Oracle Databaseの成熟はもちろんのこと、Coherenceや
Timestenあたりの技術革新、Sunのクラウドプラットフォームとの融合の方面に期待したいところだ。
RDBMSの成功体験への固執や周囲への影響とどう折り合いをつけられるか、難しいところだろう。
結果、Azureを推進する我々としてはビジネス的につらい立場になると思うが、その方が世の中オモシロイ。
今回のテーマに関連する下記セッションも行われるPDCの早期申し込みは現地時間明日15日まで。お急ぎあれ。
Scaling out Web Applications with Microsoft SQL Azure Databases
Microsoft SQL Azure and the Windows Azure Platform provide all the necessary building blocks to develop and host rich Internet applications that can service an Internet-scale user population while storing nearly limitless amounts of data. Come learn how to build such applications and see firsthand the power and elasticity of Microsoft SQL Azure and the performance gains seen while using scale-out development patterns.