SQL Server & Visual Studio .NET 2005

MYCOM PC WEB – レポート

最近の動向がまとまってる感じ。
そんな中で興味がある記事があったので、それについて。

【レポート】SQL Server 2005とVisual Studio 2005で実現される機能とは?

Visual Studio .NET 2005 β1、ダウンロードしたけどインストールするマシンがないので、とりあえず放置しているのが現状。しかし、ちょっと気になることが書いてあったので、触ってみたいなぁっと思ったり。

(1)Visual Studio 2005では何が変わる?

Officeドキュメントの生成についても、従来はクライアントのOffice側での生成しか行えなかったのに対し、サーバ側での生成も可能になるという。

これってあまり知られていないかもしれませんが、サーバサイドでExcelのファイルを生成してダウンロードさせるといった処理をMSは推奨してないんです(今現在)。何でか?というと、Officeは元々クライアント アプリケーションでもあることから、Officeのコンポーネントはシングル スレッドでしか動作しないため、サーバ上でグリグリ動かすとパフォーマンス上の問題となり、最悪サーバがダウンしてしまうことがあるからなんです。なんで、これは有力な更新だとワシは思います。

IISがなくてもWebアプリの開発ができるように、Visual Studioの統合環境の起動中のみ動作し、ローカルからのリクエストのみを処理する「Visual Web Developer Web Server」が搭載される。

ほぅ、これで開発環境におけるセキュリティ上の脅威が、かなり軽減されるでしょうねぇ。

ただいまいちよくわからないのが、Visual Studio 2005に搭載される「MS Build」。従来のMakefileベースのビルド環境を進化させ、XMLベースのフォーマットでビルド環境の定義が可能になるという点までは別に問題ないのだが、謎なのはこのビルドエンジンがLonghornにも標準で搭載され、Visual Studio無しでもビルドが可能になるという点。果たしてLonghornにビルドエンジンを載せる意味は何なのか、これは今後明らかにされると思われる。

macみたいに開発環境がはじめから用意されちゃったりするのでしょうか?まさかねぇ。

(2)SQL Server 2005は可用性や管理性が大きく向上

大きく取り上げたのはデータベースミラーリング。従来SQL Serverではクラスタリングによるフェイルオーバ機能が利用されてきたが「クラスタリングは設定などが面倒で敷居が高いし、管理コストも高い上、メインサーバが落ちてからフェイルオーバされるまでに数十秒かかってしまう」(同氏)という問題があったという。これに対しSQL Server 2005で導入されるデータベースミラーリングでは原則3台のマシンを1組とし、「ウィットネス」と呼ばれる監視サーバが常にメインサーバ(プリンシパル)とミラーサーバの状態を監視することで、プリンシパルが落ちた場合に数秒でミラーサーバに切り替えが行われるとのこと。

ふむふむ。他のDB(OracleやDB2)に関してはワシ自身知識が皆無といってもいいので、「やっとできるようになったの?」といものなのかもしれませんが、これはいいですねぇ。確かに、今まででSQL Serverで耐障害性っていうとクラスタというのがあたりまえだったのですが、機器が高くつく(今はどうなんでしょう?)などの理由により、他にどうにかならないのか?といわれることは多々ありました。そのときはどうするか?というと、レプリケーションやログ配布といったものを無理くりクラスタに見立てて、実装するなんてことも。そのときに問題になるのは、はやりアクティブとパッシブをどうやって切り替えるか?ということになるのですが、切り替えを自動化するとなると面倒な話になって、レプリケーションの場合だとパッシブ側は参照専用などと特定して使ってもらうなんてかたちに落とし込むこともあります。
また、クラスタだとデータおよびログは共有ディスク上に配置するため、この共有ディスクが飛んでしまうとオシマイなわけです。なので、クラスタ&ミラーリングを実装するためにサーバを4台用意して、クラスタを2組作るなんてこともありますねぇ。ま、そんなことをやるには金がかかるので、それなりの企業でないともちろん導入なんてできない。
以上のことを踏まえて、このデータベースミラーリングは耐障害性の新たな選択しとして有効なのではないでしょうか。

クライアント側は、従来のMDACに取って代わるSNAC(SQL Native Client)と呼ばれるドライバが用意されているので、このSNACを使ってSQL Serverに接続すると自動的にプリンシパルとミラーサーバの名前がキャッシュされる。再接続時にはまずプリンシパルに接続しに行き、失敗した場合にはミラーサーバに自動的に接続先が切り替わるという仕組みだ。では最初の接続の時点で既にプリンシパルが落ちていたらどうなるかというと「そのときはミラーサーバをダイレクトに指定するしかない」(同氏)ということで、その点だけは同システムの弱点だ。

ま、この点は考慮しないといけないですね。。まぁ、この程度ならアプリケーション側で吸収してやればいいのではないかと。上記にもあるレプリケーションを利用することを考えれば、まだマシ。

SQL Server 2005では従来OLAPの手法として大きくROLAPとMOLAPの2つが存在したものを統合した「統合ディメンショナルモデル(UDM)」を導入すると語った。またUDMでは複数のデータソースから一つのデータソースビューを作成するといったこともできるようになることから「分析はしたいけれど(SQL Serverの)導入までは至らないというニーズに対し敷居を下げられる」と同氏は述べた。

むむむ。複数のデータソースから1つのデータソースビューを作成することができるようになるとな!

SQL Server & Visual Studio .NET 2005

コメントを残す