the Microsoft Conference 2008に行ってきたよ

4/15,16と都内のザ・プリンス パークタワー東京で開かれていたthe Microsoft Conference 2008(以下MSC2008)に行ってきました。
元々上司が参加する予定だったのですが、急に行けなくなったので代理で出席してきました。行く前は結構面倒だなと思っていたのですが、行ってみたら楽しいセッションが多くてとてもよい刺激になりました。
せっかくたのしいセッションを聞いてきたので、覚えている範囲でまとめます。

keynote session (4/15 10:30-12:30)

受付から会場まで非常に込み合っていまして正直何がなんだかさっぱり分からないまま会場方向へ流されていきました。いやいや。すごい人出。
結局会場の一番奥まで流されてしまいました。


さて。派手なパフォーマンスで始まった最初のセッションは基調講演をベースとしたkeynote session。
当初の予定では日米MSの社長さんがあいさつする予定だったのでそのつもりでいたら、いきなり草野仁さんが出てきて非常に驚かされました。
草野さんは今回のカンファレンスのテーマであるヒーローについて、自らが描くヒーロー像を具現化したような存在として松井秀樹選手を紹介してスピーチをされました。話している内容は非常に平凡(といっては失礼ですが本当にありきたりな事ばかりなのです)で、特筆すべき点などほとんど無いのですが、聞いているだけで惹きつけられるのはさすがだなと感じました。本当に素晴らしいスピーチでした。


そんな草野さんに紹介される形で、MS社長のジェフ レイクスさんが講演をされました。同時通訳用のイヤホンが置いてあったのですがヒアリングの練習をしようと頑張って聞き取ってみたのですが、95%くらいは何を言ってるのか全然分かりませんでした。でも途中から同時通訳を聞くのもしゃくだったし、何より周囲の人に「こいつ結局聞き取れなかったのか」と思われるのが悔しかったので、俺全部わかってるぜみたいな顔して最後まで英語のヒアリングを続けました。いやいや。参った。
Dynamic ITという言葉とUXという言葉を連呼していたのは分かったのですが、まあ、その意図するところはさっぱりでした。


で、その後でMSの日本法人社長の樋口さんが出てきて講演。そして途中なぜかCTCの専務が出てきて自社自慢を展開。
樋口さんはともかく、CTCの専務の話はびっくりするくらいつまらなくてよく暴動が起きなかったと感心しました。あの無駄に過ごしてしまった時間は返して欲しいと思います。


そんなわけでなかなか普段は経験できないような事ばかりを経験出来たのは非常によかったです。
ただ、技術に関するプレゼンテーションを見るつもりで行っているわけですから、派手な演出を見せられても全然うれしくありませんし、時間も押してたわけですからできれば省いて欲しかったです。


Visual Studio 2008 概要 -すぐれたUXの実現-(4/15 13:40-14:30)

最初のsessionはVS.NET2008の概要。
ただ、VS.NET2008に興味があったわけではなくて、UX(User eXperience)という言葉に興味があったのです。最初のkeynote sessionで何度もこの言葉が出てきていたのですが、どうもつかみ所のなくて気になっていました。


セッションの内容としてはVS.NET 2008から利用出来る新機能を含め、どういったものが作れるのかということを主題にプレゼンテーションされていました。
WPFExpression Blendといったデザインに力を入れてるというのも伝わってきましたし、XMLやデータベースから一様なインターフェースでデータを取得出来るLINQは開発する身としてはなかなか魅力的だなと感じました。WCFやWFはよく分からなかったのであとで調べてまとめます。
感想としてはVS.NET2008のもつ魅力は十分に感じられました。


で、大事なUXについてですがけっきょくよく分かりませんでした。
感覚的に使えることを意味しているのかなと思いましたが、Usabilityとどう違うのかが理解出来ませんでした。このセッションを聞いた限りでは、Usabilityと同義かな。

大規模データ ウェアハウスを低コストで実現する SQL Server 2008 の DWH システム構築に有効な新機能(4/15 14:50-15:40)

本当は別のsessionを見に行くつもりだったのですが、そちらが満席だったので隣でやってたこちらを見てきました。


このsessionのタイトルは長過ぎてよくわからないと思いますが、一言で言えば大量のデータをSQLServerで扱おうというだけです。
そもそも私自身はそれほど大量のデータを扱う機会はないのですが、それでもデータが増えた場合にどうすべきかという事を分かりやすく説明してもらえたので非常に勉強になりました。


ちなみに大量のデータとは5〜6TB以上が基準みたいです。デカイよ...。

データパーティションについて
データベースを特定列の範囲ごとに複数のファイルグループに分割する事をデータパーティションと呼びます(SQLServer2005から実装)

一つのデータベースを複数のファイルに分割することで各データファイルには分割分のデータしか入らないことになり、結果として必要なデータにアクセスするために必要な
データアクセス量が減少します。
データ圧縮について
データファイルを行単位 or ページ単位で圧縮することが出来ます

データファイルを圧縮することで以下のようなメリットがあります(資料から抜粋)
    1. ストレージコストを大幅に削減
    2. クエリパフォーマンスを向上
      • I/O,アクセスページ数の削減
      • 検索時間の短縮
      • 全表走査やレンジ検索に有効
    3. 圧縮データに対する操作は通常のデータに対する操作と一緒


この「データパーティション」と「データ圧縮」の2つの機能を活用して大量のデータ処理を容易にすることができるようです。
圧縮/解凍処理にかかるコストよりもデータが小さくなってI/Oが減ることによるメリットの方が大きいというのは意外でした。
あとデータの行圧縮とページ圧縮の仕組みの説明も分かりやすくてよかったです。



次のsessionは見たいのが見れなかったので展示場見て帰りました。1日目はこれで終わり。


サーバー展開のための留意事項および Server Core の導入シナリオ(4/16 10:00-10:50)

以前Windows Server 2008の研修で見かけて以来、一番気になっていたWindows Server 2008のServer Core導入シナリオについての説明でした。


Server Coreというのは2008から導入されたWindows Server 2008のひとつのインストール形態でして、CUIでの操作しかできないくらい機能が制限されたモードです*1
当初勘違いしていたのですが、Server CoreというエディションがあるわけではなくてServer Coreというインストールモードがあるというのが正しい表現です。
Linuxでいう最小インストールのような感じです。


機能が制限されているとありますが、どのくらい制限されているのかというとまずエクスプローラが起動しません。これだけでGUI派の人はやる気がなくなります。必要な作業をサーバ上で行う場合にはDOSコマンドかWMI(WSH経由)で行う必要があります。ちなみに外部からネットワーク経由で管理ツールを使用するのは可能です。
(このsessionではその時に必要なfirewallの設定についてのお話もされていました)


さて。このServer Coreのメリットは大きく2つ。

1つはOSインストールに必要なディスクが小さくて済む事。Windows Server 2008をフルインストールするとそれだけで6GByteのディスクを使うらしいのですが、Server Coreだと1.5GByte程度で済むみたいです。25%しか使わないとなると、バックアップも容易ですし、ちょっと古いサーバにも入れられます。これはいいです。


もう1つは無駄なサービスが入らないことでセキュリティが強化されるという事。つまり本当に使用するサービスだけを選択してインストール出来るので意図していないサービスが動作する事はありません。


私はもともとCUIが大好きなのでこのServer Coreにはかなり惹かれていて、出来ればこの機能を使ったシステムの提案をしたいと思っているくらいなのですが、このServer Coreには大きな弱点があります。
それは.NET Frameworkをサポートしていないという事です。そして.NET Frameworkがサポートされないということは以下の機能が使えないという事になります。

    1. ASP.NET
    2. SQLServer
    3. Power Shell


正直、これは大き過ぎる欠点だと感じています。ASP.NETを使えないのであればアプリケーションサーバとしては使えませんし、SQLServerが動かないのであればデータベースサーバとしても使えません。
さらにPower Shellが使えないとなると管理だって結局WSH経由で行わないといけません。


MS側の意図としては、ファイルサーバやシンプルなウェブサーバ(htmlやphpのみ動作)として使わせたいのでしょうが、せめてframeworkだけはサポートして欲しいなと思いました。


どうしてもこの気持ちをMSに伝えたかったのでアンケート用紙を8枚くらいもらってきて「Server Coreで.NET Frameworkをサポートしてください」と書いて出しておきました。この願いがいつか届きますように...。

IIS 7.0 と ASP.NET を組み合わせた Web サイト構築手法(4/16 11:10-12:00)

これはタイトルどおり、IIS 7.0環境下でのWebサイトの構築方法についてのsessionです。
個人的にそろそろASP.NETの勉強を始めようかという気分になってきてたので聴講しました。


最初にスピーカーの方が強調されていたのは、IISもOS同様にインストールする機能を細分化できるようになったという点でした。
IIS7.0から機能ごとにDLL分割したらしく、そのために使わない機能分のDLLは入らないのでセキュリティが向上しますと力説していました。OSのServer Coreと一緒ですね。


あとはさまざまなconfigファイルを変更して挙動が変わる様子をデモで見せてくれたのは非常に面白かったです。
リクエストを横取りしてURLを短いURLに書き換えるデモや、ファイル単位でのアクセスを制限をする方法などちょっとやってみたいなと思うデモが多くて非常に参考になりました。


ちなみにIIS 7.0にデフォルトで入っているFTPは6.0時代のFTPなので、FTPサーバを使う際にはFTP7.0をインストールした方がよいみたいです。


IISの管理はかなりやりやすくなっているようですし、config(XMLファイル)を書き換えてサーバの挙動を変えるというのは見ているだけでも楽しそうでした。もらってきた評価版を使ってテストしてみます。


データベース サーバー統合を成功させる SQL Server 2008 のリソース調整機能とその利用シナリオ(4/16 13:20-14:10)

だいぶ飽きてきたので手短に。


SQLServer2008のリソース管理とはリソースガバナのことです。これはリソースプールと呼ばれるものに割り当てられるリソース(CPUとメモリ)の使用率を割り当てるための仕組みです。各リソースプールにリソースの上下限を割り当てる事で、複数の処理が競合した場合にも遅延させたくない処理はなるべく遅延させずに実施する事が可能となります。


具体的にはワークロードと呼ばれる「データベースに対して行われる同様の要求をユーザの視点からグループ化したもの」を定義し、それに対応するリソースプールを決定します。この時にワークロードとリソースプールの関係はN:1の関係です。
またアプリケーションからのさまざまな接続は、その接続条件ごとに適したワークロードに振り分けられます。どのワークロードに振り分けられるのかはユーザ定義関数で決定します。


アプリケーションはデータベースへ接続をし、その接続ごとに使われるワークロードが自動で判断され、そしてリソースプールが決定するという流れになります。こうすることで接続ごとに適したリソースプールが使用され、結果として最適なリソース割り当てが実施されるということになります。


残念なのはリソースガバナはEnterprise Editionのみの機能だという点です。こんなに便利なのにEnterpriseでしか使えないとなるとなかなかお目にかかれない機能となりそうです。もったいない。


SQL Server 2008 の運用管理を効率化させるポリシーベースの管理やバックアップ圧縮等の新機能(4/16 14:30-15:20)

ポリシーを使って複数のデータベースインスタンスを管理する方法を紹介しているsessionです。
テーブル名の規約といった基礎的な部分からオプションの設定内容にいたるまで、細かくポリシーを定められるのは非常に便利だと感じました。さらに適用のタイミングも4つあり、管理者が望んだタイミングで実施できるのはとても使いやすそうです。


ただ、個人的にはデータベースのバックアップ圧縮の方が影響度が大きそうで興味をもてました。



conferenceのサイトはこちら

*1:制限というか機能自体がインストールされていないので使えないのです