1. はじめに
これまでの3回でPHPからMicrosoft SQL Server(以降、SQL Server)を利用する実際の方法論、ビジネス拡大の可能性などについて触れてきました。第4回となる今回は採用をまだ躊躇するかもしれない要素として、将来性について書いていきます。
今のITの潮流からすると間違いなく、多くの人が「クラウド」あるいは「仮想化」というキーワードをお話になるのではないでしょうか。でも「クラウド」という言葉は非常に広範囲な意味を持つということも最近理解が進んでいると思います。「仮想化」は現実的な基盤の進化とクラウドの動的な基盤を支える大事なテクノロジーです。これを踏まえてマイクロソフトのクラウドを活用することになった場合に、この選択肢をどう捉えられるのかという点も考察していきます。
2. 将来への展望
一般的にシステムの将来性を考える時に以下のような様々な要素を考えるのではないでしょうか。
- 製品開発がシステムのライフサイクル上で見た時に継続されるのかどうか
- 継続して機能拡張していってくれるのか
- 企業のお客様向けであればメーカーサポートはどうなのか
- オープンソースであればコミュニティのサポートはどうか
- 性能面で言うとどのくらいのユーザー数が増えるとどうインフラ拡張すればいいのか
- どういう機能を組み合わせて将来的に利用していけるか
完全に独自の実装であれば心配の度合いもより大きいと思いますが、今回ご紹介してきた仕組みはODBCという標準規格で用意されているドライバーの上にソースも公開しているPHP用ドライバー、その環境に関してメーカーであるマイクロソフトの正式なサポート窓口に問合せも可能ですから上記のいくつかの点では安心して利用できます。
性能面や拡張機能面ではこれまでの回でもご紹介しているように、SQL Serverの開発は長年続いており、継続して進化を続けていますし、無償版から大型データセンターで用いることができるエディションまで用意されています。そしてそのまま移行する先としてSQL Azureも利用可能です。SQL Azureはクラウド上で構築されたSQL Serverで、Windows Azureとは独立して利用できるため、自前のデータベースサーバーが負荷で圧迫している状況から移行が非常にスムーズに可能な新しい選択肢と言えます。マシンの発注を待つのではなく、クラウド上のサーバーインスタンスを追加発注するのです。運用はマイクロソフトがしてくれますからアプリケーションと構築しているシステムに開発者は神経を集中できる大きなメリットがあります。
3. SQL Serverのさらなる活用
SQL Serverの機能は出荷のたびに拡張されており、どんどん利便性が向上し、新しいシナリオを生み出しています。第3回で紹介したReporting Servicesを利用した帳票のシナリオもその一例です。Analysis Services(DWHなど分析系の機能)やPowerPivot(セルフで分析型のレポートを作るExcelの大型版のような機能)などを使ってもさらに色々なシナリオが描けますが、ここではもう一つ開発者視点で別の可能性をご紹介しておきます。
データベースの進化に伴う拡張というのは色々ありますが、例えば地図を扱うアプリケーションを想定すると、通常の業務アプリケーションであれば想定しないロケーションを表す経緯度などのデータを扱うことになります。SQL ServerではSpatialデータ型による地理情報システム(GIS)における地図データの格納を想定したような型が存在し、例えばBingマップ(旧Virtual Earth)との連携を行うアプリケーションを強力にサポートしてくれます。
Spatialデータ型は本当に一例であり、SQL Serverを使うことで今まで全部アプリケーションで実装するかどうか悩むようなことがデータベースのエンジン機能をうまく使う、あるいは周辺の標準機能を利用することで容易に実現できるケースがあるわけです。